we are using wget and some functionality to it
- OpenSSL modules must be initilized with OpenSSL_config(NULL), this
enables cryto from OpenSSL modules f.ex GOST
- support for TLS v1.1 and TLS v1.2
diff -ru wget-1.15.orig/src/init.c wget-1.15/src/init.c
--- wget-1.15.orig/src/init.c 2014-01-04 16:49:47.000000000 +0400
+++ wget-1.15/src/init.c 2014-04-11 10:21:40.680401923 +0400
@@ -1496,6 +1496,8 @@
{ "sslv2", secure_protocol_sslv2 },
{ "sslv3", secure_protocol_sslv3 },
{ "tlsv1", secure_protocol_tlsv1 },
+ { "tlsv1_1", secure_protocol_tlsv1_1 },
+ { "tlsv1_2", secure_protocol_tlsv1_2 },
{ "pfs", secure_protocol_pfs },
};
int ok = decode_string (val, choices, countof (choices), place);
diff -ru wget-1.15.orig/src/openssl.c wget-1.15/src/openssl.c
--- wget-1.15.orig/src/openssl.c 2013-10-21 18:50:12.000000000 +0400
+++ wget-1.15/src/openssl.c 2014-04-11 10:23:51.242260226 +0400
@@ -40,6 +40,9 @@
#include <openssl/x509v3.h>
#include <openssl/err.h>
#include <openssl/rand.h>
+#if OPENSSL_VERSION_NUMBER >= 0x00907000
+#include <openssl/conf.h>
+#endif
#include "utils.h"
#include "connect.h"
@@ -176,6 +179,9 @@
goto error;
}
+#if OPENSSL_VERSION_NUMBER >= 0x00907000
+ OPENSSL_config(NULL);
+#endif
SSL_library_init ();
SSL_load_error_strings ();
SSLeay_add_all_algorithms ();
@@ -198,6 +204,12 @@
case secure_protocol_tlsv1:
meth = TLSv1_client_method ();
break;
+ case secure_protocol_tlsv1_1:
+ meth = TLSv1_1_client_method ();
+ break;
+ case secure_protocol_tlsv1_2:
+ meth = TLSv1_2_client_method ();
+ break;
default:
abort ();
}
diff -ru wget-1.15.orig/src/options.h wget-1.15/src/options.h
--- wget-1.15.orig/src/options.h 2014-01-04 16:49:47.000000000 +0400
+++ wget-1.15/src/options.h 2014-04-11 10:24:21.038684323 +0400
@@ -201,6 +201,8 @@
secure_protocol_sslv2,
secure_protocol_sslv3,
secure_protocol_tlsv1,
+ secure_protocol_tlsv1_1,
+ secure_protocol_tlsv1_2,
secure_protocol_pfs
} secure_protocol; /* type of secure protocol to use. */
bool check_cert; /* whether to validate the server's cert */