comparison libpurple/protocols/jabber/jabber.c @ 26657:91b70522776e

merge of '510f4315d6f580dfe97834a04ae726edf736a9d6' and '70280062175f62b2632fae62b02997c8dca832b7'
author Paul Aurich <paul@darkrain42.org>
date Sat, 18 Apr 2009 17:50:52 +0000
parents a8dbbcd069ab e9a8e363d957
children 3912f55a1633
comparison
equal deleted inserted replaced
26656:a8dbbcd069ab 26657:91b70522776e
1293 js->stun_port = 0; 1293 js->stun_port = 0;
1294 js->stun_query = NULL; 1294 js->stun_query = NULL;
1295 1295
1296 jabber_stream_set_state(js, JABBER_STREAM_CONNECTING); 1296 jabber_stream_set_state(js, JABBER_STREAM_CONNECTING);
1297 1297
1298 /* TODO: Just use purple_url_parse? */
1299 if (!g_ascii_strncasecmp(connect_server, "http://", 7) || !g_ascii_strncasecmp(connect_server, "https://", 8)) {
1300 js->use_bosh = TRUE;
1301 js->bosh = jabber_bosh_connection_init(js, connect_server);
1302 if (!js->bosh) {
1303 purple_connection_error_reason (js->gc,
1304 PURPLE_CONNECTION_ERROR_INVALID_SETTINGS,
1305 _("Malformed BOSH Connect Server"));
1306 return;
1307 }
1308 jabber_bosh_connection_connect(js->bosh);
1309 return;
1310 } else {
1311 js->certificate_CN = g_strdup(connect_server[0] ? connect_server : js->user->domain);
1312 }
1313
1298 if(purple_account_get_bool(account, "old_ssl", FALSE)) { 1314 if(purple_account_get_bool(account, "old_ssl", FALSE)) {
1299 if(purple_ssl_is_supported()) { 1315 if(purple_ssl_is_supported()) {
1300 js->gsc = purple_ssl_connect(account, server, 1316 js->gsc = purple_ssl_connect(account, server,
1301 purple_account_get_int(account, "port", 5222), 1317 purple_account_get_int(account, "port", 5222),
1302 jabber_login_callback_ssl, jabber_ssl_connect_failure, gc); 1318 jabber_login_callback_ssl, jabber_ssl_connect_failure, gc);
1319 if (!js->gsc) {
1320 purple_connection_error_reason (js->gc,
1321 PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT,
1322 _("Unable to establish SSL connection"));
1323 }
1303 } else { 1324 } else {
1304 purple_connection_error_reason (gc, 1325 purple_connection_error_reason (gc,
1305 PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT, 1326 PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT,
1306 _("SSL support unavailable")); 1327 _("SSL support unavailable"));
1307 } 1328 }
1308 } 1329
1309 1330 return;
1310 if(!js->gsc) { 1331 }
1311 if (connect_server[0]) { 1332
1312 jabber_login_connect(js, js->user->domain, server, 1333 if (connect_server[0]) {
1313 purple_account_get_int(account, 1334 jabber_login_connect(js, js->user->domain, server,
1314 "port", 5222), TRUE); 1335 purple_account_get_int(account,
1315 } else { 1336 "port", 5222), TRUE);
1316 js->srv_query_data = purple_srv_resolve("xmpp-client", 1337 } else {
1317 "tcp", 1338 js->srv_query_data = purple_srv_resolve("xmpp-client",
1318 js->user->domain, 1339 "tcp",
1319 srv_resolved_cb, 1340 js->user->domain,
1320 js); 1341 srv_resolved_cb,
1321 } 1342 js);
1322 } 1343 }
1323 } 1344 }
1324 1345
1325 static void 1346 static void
1326 jabber_unregister_account_iq_cb(JabberStream *js, const char *from, 1347 jabber_unregister_account_iq_cb(JabberStream *js, const char *from,