aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md12
-rw-r--r--lib/ssl_openssl.c24
2 files changed, 21 insertions, 15 deletions
diff --git a/README.md b/README.md
index 54057077..476bafec 100644
--- a/README.md
+++ b/README.md
@@ -1,17 +1,17 @@
# BitlBee
-![](http://bitlbee.org/style/logo.png)
+![](https://www.bitlbee.org/style/logo.png)
[![Build Status](https://travis-ci.org/bitlbee/bitlbee.svg)](https://travis-ci.org/bitlbee/bitlbee)
[![Coverity Scan Build Status](https://scan.coverity.com/projects/4028/badge.svg)](https://scan.coverity.com/projects/4028)
An IRC to other chat networks gateway
-Main website: http://www.bitlbee.org/
+Main website: https://www.bitlbee.org/
-Bug tracker: http://bugs.bitlbee.org/
+Bug tracker: https://bugs.bitlbee.org/
-Wiki: http://wiki.bitlbee.org/
+Wiki: https://wiki.bitlbee.org/
License: GPLv2
@@ -19,9 +19,9 @@ License: GPLv2
BitlBee is available in the package managers of most distros.
-For debian/ubuntu/etc you may use the nightly APT repository: http://code.bitlbee.org/debian/
+For debian/ubuntu/etc you may use the nightly APT repository: https://code.bitlbee.org/debian/
-You can also use a public server (such as `im.bitlbee.org`) instead of installing it: http://bitlbee.org/main.php/servers.html
+You can also use a public server (such as `im.bitlbee.org`) instead of installing it: https://www.bitlbee.org/main.php/servers.html
## Compiling
diff --git a/lib/ssl_openssl.c b/lib/ssl_openssl.c
index 2f668da2..16e05a94 100644
--- a/lib/ssl_openssl.c
+++ b/lib/ssl_openssl.c
@@ -64,11 +64,17 @@ void ssl_init(void)
{
const SSL_METHOD *meth;
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
SSL_library_init();
meth = SSLv23_client_method();
ssl_ctx = SSL_CTX_new(meth);
SSL_CTX_set_options(ssl_ctx, SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3);
+#else
+ meth = TLS_client_method();
+ ssl_ctx = SSL_CTX_new(meth);
+ SSL_CTX_set_min_proto_version(ssl_ctx, TLS1_VERSION);
+#endif
initialized = TRUE;
}
@@ -300,20 +306,20 @@ size_t ssl_des3_encrypt(const unsigned char *key, size_t key_len, const unsigned
const unsigned char *iv, unsigned char **res)
{
int output_length = 0;
- EVP_CIPHER_CTX ctx;
+ EVP_CIPHER_CTX *ctx;
*res = g_new0(unsigned char, 72);
/* 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);
- EVP_CIPHER_CTX_set_key_length(&ctx, key_len);
- EVP_CIPHER_CTX_set_padding(&ctx, 0);
+ ctx = EVP_CIPHER_CTX_new();
+ EVP_CipherInit_ex(ctx, EVP_des_ede3_cbc(), NULL, NULL, NULL, 1);
+ EVP_CIPHER_CTX_set_key_length(ctx, key_len);
+ EVP_CIPHER_CTX_set_padding(ctx, 0);
/* We finished modifying parameters so now we can set key and IV */
- 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_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_free(ctx);
//EVP_cleanup();
return output_length;