Mercurial > pidgin.yaz
comparison libpurple/plugins/ssl/ssl-gnutls.c @ 20255:07c103ac3795
applied changes from 5252885d793a4d288d92856d511d721bf5bb87ef
through 41f188f15baaa4c23c5c2ec80a04faff63ee1977
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Fri, 28 Sep 2007 16:58:50 +0000 |
parents | 44b4e8bd759b |
children | 62b83cebbb59 |
comparison
equal
deleted
inserted
replaced
20254:f379a2e9e939 | 20255:07c103ac3795 |
---|---|
109 { | 109 { |
110 PurpleSslConnection *gsc = data; | 110 PurpleSslConnection *gsc = data; |
111 PurpleSslGnutlsData *gnutls_data = PURPLE_SSL_GNUTLS_DATA(gsc); | 111 PurpleSslGnutlsData *gnutls_data = PURPLE_SSL_GNUTLS_DATA(gsc); |
112 ssize_t ret; | 112 ssize_t ret; |
113 | 113 |
114 purple_debug_info("gnutls", "Handshaking with %s\n", gsc->host); | 114 /*purple_debug_info("gnutls", "Handshaking with %s\n", gsc->host);*/ |
115 ret = gnutls_handshake(gnutls_data->session); | 115 ret = gnutls_handshake(gnutls_data->session); |
116 | 116 |
117 if(ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED) | 117 if(ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED) |
118 return; | 118 return; |
119 | 119 |
268 | 268 |
269 gnutls_transport_set_ptr(gnutls_data->session, GINT_TO_POINTER(gsc->fd)); | 269 gnutls_transport_set_ptr(gnutls_data->session, GINT_TO_POINTER(gsc->fd)); |
270 | 270 |
271 gnutls_data->handshake_handler = purple_input_add(gsc->fd, | 271 gnutls_data->handshake_handler = purple_input_add(gsc->fd, |
272 PURPLE_INPUT_READ, ssl_gnutls_handshake_cb, gsc); | 272 PURPLE_INPUT_READ, ssl_gnutls_handshake_cb, gsc); |
273 | |
274 purple_debug_info("gnutls", "Starting handshake with %s\n", gsc->host); | |
273 | 275 |
274 /* Orborde asks: Why are we configuring a callback, then | 276 /* Orborde asks: Why are we configuring a callback, then |
275 immediately calling it? | 277 immediately calling it? |
276 | 278 |
277 Answer: gnutls_handshake (up in handshake_cb) needs to be called | 279 Answer: gnutls_handshake (up in handshake_cb) needs to be called |
432 g_critical("Refcount of x509_crtdata_t is %d, which is less " | 434 g_critical("Refcount of x509_crtdata_t is %d, which is less " |
433 "than zero!\n", cd->refcount); | 435 "than zero!\n", cd->refcount); |
434 | 436 |
435 /* If the refcount reaches zero, kill the structure */ | 437 /* If the refcount reaches zero, kill the structure */ |
436 if (cd->refcount <= 0) { | 438 if (cd->refcount <= 0) { |
437 purple_debug_info("gnutls/x509", | |
438 "Freeing unused cert data at %p\n", | |
439 cd); | |
440 /* Kill the internal data */ | 439 /* Kill the internal data */ |
441 gnutls_x509_crt_deinit( cd->crt ); | 440 gnutls_x509_crt_deinit( cd->crt ); |
442 /* And kill the struct */ | 441 /* And kill the struct */ |
443 g_free( cd ); | 442 g_free( cd ); |
444 } | 443 } |