Changes in lib/ssl_openssl.c [9730d72:8a2221a7]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
lib/ssl_openssl.c
r9730d72 r8a2221a7 57 57 58 58 59 void ssl_init( void )60 {61 initialized = TRUE;62 SSLeay_add_ssl_algorithms();63 }64 65 59 void *ssl_connect( char *host, int port, ssl_input_function func, gpointer data ) 66 60 { … … 68 62 69 63 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 }79 73 80 74 return conn; … … 121 115 if( !initialized ) 122 116 { 123 ssl_init(); 117 initialized = TRUE; 118 SSLeay_add_ssl_algorithms(); 124 119 } 125 120 … … 236 231 } 237 232 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-209 235 http://www.openssl.org/docs/ssl/SSL_pending.html 236 237 Required because OpenSSL empties the TCP buffer completely but doesn't 238 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 238 248 void ssl_disconnect( void *conn_ ) 239 249 {
Note: See TracChangeset
for help on using the changeset viewer.