aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2010-08-13 10:12:54 +0100
committerWilmer van der Gaast <wilmer@gaast.net>2010-08-13 10:12:54 +0100
commit50b8978f0662fc83aa2e3db1d40081c315c9e6cf (patch)
tree47c9340836cb392816e70393b83d06598b08639a /lib
parent91d6e9108bce93925a1bad60613d01c5382d003d (diff)
OpenSSL fixes + debugging.
Diffstat (limited to 'lib')
-rw-r--r--lib/ssl_gnutls.c4
-rw-r--r--lib/ssl_openssl.c14
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;
}