Blob Blame History Raw
This patch adds EC_KEY_new_by_curve_name(), EC_KEY_free*() and
SSL_CTX_set_tmp_ecdh().

This is ported from Net-SSLeay-1.56 to version 1.55.

diff -up Net-SSLeay-1.55/SSLeay.xs.orig Net-SSLeay-1.55/SSLeay.xs
--- Net-SSLeay-1.55/SSLeay.xs.orig	2016-03-10 10:42:52.267612772 +0100
+++ Net-SSLeay-1.55/SSLeay.xs	2016-03-10 09:56:18.846933771 +0100
@@ -4127,6 +4127,23 @@ SSL_CTX_set_tmp_rsa(ctx,rsa)
      SSL_CTX *	ctx
      RSA *	rsa
 
+#if OPENSSL_VERSION_NUMBER > 0x10000000L
+
+EC_KEY *
+EC_KEY_new_by_curve_name(nid)
+    int nid
+
+void
+EC_KEY_free(key)
+    EC_KEY * key
+
+long
+SSL_CTX_set_tmp_ecdh(ctx,ecdh);
+     SSL_CTX * ctx
+     EC_KEY  * ecdh
+
+#endif
+
 void *
 SSL_get_app_data(s)
      SSL *	s
diff -up Net-SSLeay-1.55/typemap.orig Net-SSLeay-1.55/typemap
--- Net-SSLeay-1.55/typemap.orig	2016-03-10 10:40:49.886151370 +0100
+++ Net-SSLeay-1.55/typemap	2016-03-10 10:41:37.640941202 +0100
@@ -6,6 +6,7 @@ SSL_SESSION *	T_PTR
 SSL *		T_PTR
 RSA *		T_PTR
 DH *		T_PTR
+EC_KEY *	T_PTR
 const X509 *        T_PTR
 const X509_CRL *    T_PTR
 const X509_REQ *    T_PTR
diff -up Net-SSLeay-1.55/lib/Net/SSLeay.pod.orig Net-SSLeay-1.55/lib/Net/SSLeay.pod
--- Net-SSLeay-1.55/lib/Net/SSLeay.pod.orig	2016-03-10 12:23:38.706870006 +0100
+++ Net-SSLeay-1.55/lib/Net/SSLeay.pod	2016-03-10 12:28:04.280365357 +0100
@@ -7500,6 +7500,25 @@ Enable or disable FIPS mode in a FIPS ca
 
 =back
 
+=head3 Low level API: EC related functions
+ 
+=over 
+ 
+=item * CTX_set_tmp_ecdh
+ 
+TBA
+ 
+=item * EC_KEY_free
+ 
+TBA
+ 
+=item * EC_KEY_new_by_curve_name
+ 
+TBA
+ 
+=back
+
+
 =head2 Constants
 
 There are many openssl constants available in L<Net::SSLeay>. You can use them like this: