Changes in lib/ssl_openssl.c [8a2221a7:9730d72]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
lib/ssl_openssl.c
r8a2221a7 r9730d72 57 57 58 58 59 void ssl_init( void ) 60 { 61 initialized = TRUE; 62 SSLeay_add_ssl_algorithms(); 63 } 64 59 65 void *ssl_connect( char *host, int port, ssl_input_function func, gpointer data ) 60 66 { … … 62 68 63 69 conn->fd = proxy_connect( host, port, ssl_connected, conn ); 64 if( conn->fd < 0 )65 {66 g_free( conn );67 return NULL;68 }69 70 70 conn->func = func; 71 71 conn->data = data; 72 72 conn->inpa = -1; 73 74 if( conn->fd < 0 ) 75 { 76 g_free( conn ); 77 return NULL; 78 } 73 79 74 80 return conn; … … 115 121 if( !initialized ) 116 122 { 117 initialized = TRUE; 118 SSLeay_add_ssl_algorithms(); 123 ssl_init(); 119 124 } 120 125 … … 231 236 } 232 237 233 /* Only OpenSSL *really* needs this (and well, maybe NSS). See for more info:234 http://www.gnu.org/software/gnutls/manual/gnutls.html#index-gnutls_005frecord_005fcheck_005fpending-209235 http://www.openssl.org/docs/ssl/SSL_pending.html236 237 Required because OpenSSL empties the TCP buffer completely but doesn't238 necessarily give us all the unencrypted data.239 240 Returns 0 if there's nothing left or if we don't have to care (GnuTLS),241 1 if there's more data. */242 int ssl_pending( void *conn )243 {244 return ( ((struct scd*)conn) && ((struct scd*)conn)->established ) ?245 SSL_pending( ((struct scd*)conn)->ssl ) > 0 : 0;246 }247 248 238 void ssl_disconnect( void *conn_ ) 249 239 {
Note: See TracChangeset
for help on using the changeset viewer.