diff options
| author | Wilmer van der Gaast <wilmer@gaast.net> | 2010-08-13 10:12:54 +0100 | 
|---|---|---|
| committer | Wilmer van der Gaast <wilmer@gaast.net> | 2010-08-13 10:12:54 +0100 | 
| commit | 50b8978f0662fc83aa2e3db1d40081c315c9e6cf (patch) | |
| tree | 47c9340836cb392816e70393b83d06598b08639a | |
| parent | 91d6e9108bce93925a1bad60613d01c5382d003d (diff) | |
OpenSSL fixes + debugging.
| -rw-r--r-- | lib/ssl_gnutls.c | 4 | ||||
| -rw-r--r-- | lib/ssl_openssl.c | 14 | 
2 files changed, 13 insertions, 5 deletions
| diff --git a/lib/ssl_gnutls.c b/lib/ssl_gnutls.c index 5a14b825..15c23dbb 100644 --- a/lib/ssl_gnutls.c +++ b/lib/ssl_gnutls.c @@ -188,6 +188,8 @@ int ssl_read( void *conn, char *buf, int len )  	if( st == GNUTLS_E_AGAIN || st == GNUTLS_E_INTERRUPTED )  		ssl_errno = SSL_AGAIN; +	if( getenv( "BITLBEE_DEBUG" ) && st > 0 ) write( 1, buf, st ); +	  	return st;  } @@ -207,6 +209,8 @@ int ssl_write( void *conn, const char *buf, int len )  	if( st == GNUTLS_E_AGAIN || st == GNUTLS_E_INTERRUPTED )  		ssl_errno = SSL_AGAIN; +	if( getenv( "BITLBEE_DEBUG" ) && st > 0 ) write( 1, buf, st ); +	  	return st;  } diff --git a/lib/ssl_openssl.c b/lib/ssl_openssl.c index 1c70eb0f..0feed4ca 100644 --- a/lib/ssl_openssl.c +++ b/lib/ssl_openssl.c @@ -115,7 +115,9 @@ static gboolean ssl_connected( gpointer data, gint source, b_input_condition con  	if( !initialized )  	{  		initialized = TRUE; -		SSLeay_add_ssl_algorithms(); +		SSL_library_init(); +		//SSLeay_add_ssl_algorithms(); +		//OpenSSL_add_all_algorithms();  	}  	meth = TLSv1_client_method(); @@ -204,6 +206,8 @@ int ssl_read( void *conn, char *buf, int len )  			ssl_errno = SSL_AGAIN;  	} +	if( getenv( "BITLBEE_DEBUG" ) && st > 0 ) write( 1, buf, st ); +	  	return st;  } @@ -219,6 +223,8 @@ int ssl_write( void *conn, const char *buf, int len )  	st = SSL_write( ((struct scd*)conn)->ssl, buf, len ); +	if( getenv( "BITLBEE_DEBUG" ) && st > 0 ) write( 1, buf, st ); +	  	ssl_errno = SSL_OK;  	if( st <= 0 )  	{ @@ -274,12 +280,11 @@ b_input_condition ssl_getdirection( void *conn )  size_t ssl_des3_encrypt(const unsigned char *key, size_t key_len, const unsigned char *input, size_t input_len, const unsigned char *iv, unsigned char **res)  { -	OpenSSL_add_all_algorithms();  	int output_length = 0;     +	EVP_CIPHER_CTX ctx;  	*res = g_new0(unsigned char, 72); -	EVP_CIPHER_CTX ctx;  	/* Don't set key or IV because we will modify the parameters */  	EVP_CIPHER_CTX_init(&ctx);  	EVP_CipherInit_ex(&ctx, EVP_des_ede3_cbc(), NULL, NULL, NULL, 1); @@ -289,9 +294,8 @@ size_t ssl_des3_encrypt(const unsigned char *key, size_t key_len, const unsigned  	EVP_CipherInit_ex(&ctx, NULL, NULL, key, iv, 1);  	EVP_CipherUpdate(&ctx, *res, &output_length, input, input_len);  	EVP_CipherFinal_ex(&ctx, *res, &output_length); -	  	EVP_CIPHER_CTX_cleanup(&ctx);    -	EVP_cleanup(); +	//EVP_cleanup();  	return output_length;  } | 
