forked from pool/elinks
52 lines
1.8 KiB
Diff
52 lines
1.8 KiB
Diff
|
Index: elinks-0.12pre6/src/network/ssl/socket.c
|
||
|
===================================================================
|
||
|
--- elinks-0.12pre6.orig/src/network/ssl/socket.c
|
||
|
+++ elinks-0.12pre6/src/network/ssl/socket.c
|
||
|
@@ -67,7 +67,7 @@ static void
|
||
|
ssl_set_no_tls(struct socket *socket)
|
||
|
{
|
||
|
#ifdef CONFIG_OPENSSL
|
||
|
- ((ssl_t *) socket->ssl)->options |= SSL_OP_NO_TLSv1;
|
||
|
+//nothing.. wut was that..
|
||
|
#elif defined(CONFIG_GNUTLS)
|
||
|
{
|
||
|
/* GnuTLS does not support SSLv2 because it is "insecure".
|
||
|
@@ -145,7 +145,7 @@ ssl_connect(struct socket *socket)
|
||
|
}
|
||
|
|
||
|
if (client_cert) {
|
||
|
- SSL_CTX *ctx = ((SSL *) socket->ssl)->ctx;
|
||
|
+ SSL_CTX *ctx = SSL_get_SSL_CTX(socket->ssl);
|
||
|
|
||
|
SSL_CTX_use_certificate_chain_file(ctx, client_cert);
|
||
|
SSL_CTX_use_PrivateKey_file(ctx, client_cert,
|
||
|
Index: elinks-0.12pre6/src/network/ssl/ssl.c
|
||
|
===================================================================
|
||
|
--- elinks-0.12pre6.orig/src/network/ssl/ssl.c
|
||
|
+++ elinks-0.12pre6/src/network/ssl/ssl.c
|
||
|
@@ -44,19 +44,13 @@ SSL_CTX *context = NULL;
|
||
|
static void
|
||
|
init_openssl(struct module *module)
|
||
|
{
|
||
|
- unsigned char f_randfile[PATH_MAX];
|
||
|
|
||
|
- /* In a nutshell, on OS's without a /dev/urandom, the OpenSSL library
|
||
|
- * cannot initialize the PRNG and so every attempt to use SSL fails.
|
||
|
- * It's actually an OpenSSL FAQ, and according to them, it's up to the
|
||
|
- * application coders to seed the RNG. -- William Yodlowsky */
|
||
|
- if (RAND_egd(RAND_file_name(f_randfile, sizeof(f_randfile))) < 0) {
|
||
|
- /* Not an EGD, so read and write to it */
|
||
|
- if (RAND_load_file(f_randfile, -1))
|
||
|
- RAND_write_file(f_randfile);
|
||
|
- }
|
||
|
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||
|
+ SSL_library_init();
|
||
|
+#else
|
||
|
+ OPENSSL_init_ssl(0, NULL);
|
||
|
+#endif
|
||
|
|
||
|
- SSLeay_add_ssl_algorithms();
|
||
|
context = SSL_CTX_new(SSLv23_client_method());
|
||
|
SSL_CTX_set_options(context, SSL_OP_ALL);
|
||
|
SSL_CTX_set_default_verify_paths(context);
|