libpurple/protocols/jabber/jabber.c

branch
soc.2007.certmgr
changeset 18999
bc305ecee099
parent 18986
5542a465de12
parent 18497
2e34a3fc1559
child 19341
2a00e275b66b
equal deleted inserted replaced
18998:075149534705 18999:bc305ecee099
492 return; 492 return;
493 493
494 js = gc->proto_data; 494 js = gc->proto_data;
495 js->gsc = NULL; 495 js->gsc = NULL;
496 496
497 switch(error) { 497 purple_connection_error(gc, purple_ssl_strerror(error));
498 case PURPLE_SSL_CONNECT_FAILED:
499 purple_connection_error(gc, _("Connection Failed"));
500 break;
501 case PURPLE_SSL_HANDSHAKE_FAILED:
502 purple_connection_error(gc, _("SSL Handshake Failed"));
503 break;
504 }
505 } 498 }
506 499
507 static void tls_init(JabberStream *js) 500 static void tls_init(JabberStream *js)
508 { 501 {
509 purple_input_remove(js->gc->inpa); 502 purple_input_remove(js->gc->inpa);
510 js->gc->inpa = 0; 503 js->gc->inpa = 0;
511 js->gsc = purple_ssl_connect_fd(js->gc->account, js->fd, 504 js->gsc = purple_ssl_connect_with_host_fd(js->gc->account, js->fd,
512 jabber_login_callback_ssl, jabber_ssl_connect_failure, js->gc); 505 jabber_login_callback_ssl, jabber_ssl_connect_failure, js->serverFQDN, js->gc);
513 } 506 }
514 507
515 static void jabber_login_connect(JabberStream *js, const char *fqdn, const char *host, int port) 508 static void jabber_login_connect(JabberStream *js, const char *fqdn, const char *host, int port)
516 { 509 {
517 #ifdef HAVE_CYRUS_SASL
518 js->serverFQDN = g_strdup(fqdn); 510 js->serverFQDN = g_strdup(fqdn);
519 #endif
520 511
521 if (purple_proxy_connect(js->gc, js->gc->account, host, 512 if (purple_proxy_connect(js->gc, js->gc->account, host,
522 port, jabber_login_callback, js->gc) == NULL) 513 port, jabber_login_callback, js->gc) == NULL)
523 purple_connection_error(js->gc, _("Unable to create socket")); 514 purple_connection_error(js->gc, _("Unable to create socket"));
524 } 515 }
1023 sasl_dispose(&js->sasl); 1014 sasl_dispose(&js->sasl);
1024 if(js->sasl_mechs) 1015 if(js->sasl_mechs)
1025 g_string_free(js->sasl_mechs, TRUE); 1016 g_string_free(js->sasl_mechs, TRUE);
1026 if(js->sasl_cb) 1017 if(js->sasl_cb)
1027 g_free(js->sasl_cb); 1018 g_free(js->sasl_cb);
1019 #endif
1028 if(js->serverFQDN) 1020 if(js->serverFQDN)
1029 g_free(js->serverFQDN); 1021 g_free(js->serverFQDN);
1030 #endif
1031 g_free(js->server_name); 1022 g_free(js->server_name);
1032 g_free(js->gmail_last_time); 1023 g_free(js->gmail_last_time);
1033 g_free(js->gmail_last_tid); 1024 g_free(js->gmail_last_tid);
1034 g_free(js); 1025 g_free(js);
1035 1026

mercurial