libpurple/protocols/jabber/jabber.c

branch
vv
changeset 26286
443041606e32
parent 26269
cacc598079e4
child 26292
14fa95350f0c
equal deleted inserted replaced
26285:da0d636d494a 26286:443041606e32
733 js->certificate_CN = g_strdup(connect_server[0] ? connect_server : js->user ? js->user->domain : NULL); 733 js->certificate_CN = g_strdup(connect_server[0] ? connect_server : js->user ? js->user->domain : NULL);
734 #ifdef USE_VV 734 #ifdef USE_VV
735 js->sessions = NULL; 735 js->sessions = NULL;
736 #endif 736 #endif
737 737
738 js->stun_ip = NULL;
739 js->stun_port = 0;
740 js->stun_query = NULL;
741
738 if(!js->user) { 742 if(!js->user) {
739 purple_connection_error_reason (gc, 743 purple_connection_error_reason (gc,
740 PURPLE_CONNECTION_ERROR_INVALID_SETTINGS, 744 PURPLE_CONNECTION_ERROR_INVALID_SETTINGS,
741 _("Invalid XMPP ID")); 745 _("Invalid XMPP ID"));
742 return; 746 return;
743 } 747 }
744 748
745 if (!js->user->domain || *(js->user->domain) == '\0') { 749 if (!js->user->domain || *(js->user->domain) == '\0') {
746 purple_connection_error_reason (gc, 750 purple_connection_error_reason (gc,
747 PURPLE_CONNECTION_ERROR_INVALID_SETTINGS, 751 PURPLE_CONNECTION_ERROR_INVALID_SETTINGS,
748 _("Invalid XMPP ID. Domain must be set.")); 752 _("Invalid XMPP ID. Domain must be set."));
749 return; 753 return;
750 } 754 }
751 755
752 if((my_jb = jabber_buddy_find(js, purple_account_get_username(account), TRUE))) 756 if((my_jb = jabber_buddy_find(js, purple_account_get_username(account), TRUE)))
753 my_jb->subscription |= JABBER_SUB_BOTH; 757 my_jb->subscription |= JABBER_SUB_BOTH;
754 758
755 jabber_stream_set_state(js, JABBER_STREAM_CONNECTING); 759 jabber_stream_set_state(js, JABBER_STREAM_CONNECTING);
756 760
1220 my_jb->subscription |= JABBER_SUB_BOTH; 1224 my_jb->subscription |= JABBER_SUB_BOTH;
1221 1225
1222 server = connect_server[0] ? connect_server : js->user->domain; 1226 server = connect_server[0] ? connect_server : js->user->domain;
1223 js->certificate_CN = g_strdup(server); 1227 js->certificate_CN = g_strdup(server);
1224 1228
1229 js->stun_ip = NULL;
1230 js->stun_port = 0;
1231 js->stun_query = NULL;
1232
1225 jabber_stream_set_state(js, JABBER_STREAM_CONNECTING); 1233 jabber_stream_set_state(js, JABBER_STREAM_CONNECTING);
1226 1234
1227 if(purple_account_get_bool(account, "old_ssl", FALSE)) { 1235 if(purple_account_get_bool(account, "old_ssl", FALSE)) {
1228 if(purple_ssl_is_supported()) { 1236 if(purple_ssl_is_supported()) {
1229 js->gsc = purple_ssl_connect(account, server, 1237 js->gsc = purple_ssl_connect(account, server,
1423 purple_timeout_remove(js->keepalive_timeout); 1431 purple_timeout_remove(js->keepalive_timeout);
1424 1432
1425 g_free(js->srv_rec); 1433 g_free(js->srv_rec);
1426 js->srv_rec = NULL; 1434 js->srv_rec = NULL;
1427 1435
1436 g_free(js->stun_ip);
1437 js->stun_ip = NULL;
1438
1439 /* cancel DNS query for STUN, if one is ongoing */
1440 if (js->stun_query) {
1441 purple_dnsquery_destroy(js->stun_query);
1442 js->stun_query = NULL;
1443 }
1444
1428 g_free(js); 1445 g_free(js);
1429 1446
1430 gc->proto_data = NULL; 1447 gc->proto_data = NULL;
1431 } 1448 }
1432 1449

mercurial