--- a/src/context.c
|
|
+++ b/src/context.c
|
|
@@ -17,6 +17,7 @@
|
|
#include <openssl/err.h>
|
|
#include <openssl/x509.h>
|
|
#include <openssl/x509v3.h>
|
|
+#include <openssl/dh.h>
|
|
|
|
#include <lua.h>
|
|
#include <lauxlib.h>
|
|
@@ -819,7 +820,9 @@ LSEC_API int luaopen_ssl_context(lua_State *L)
|
|
luaL_newlib(L, meta_index);
|
|
lua_setfield(L, -2, "__index");
|
|
|
|
+#ifndef OPENSSL_NO_EC
|
|
lsec_load_curves(L);
|
|
+#endif
|
|
|
|
/* Return the module */
|
|
luaL_newlib(L, funcs);
|
|
--- a/src/ssl.c
|
|
+++ b/src/ssl.c
|
|
@@ -857,6 +857,7 @@ static luaL_Reg funcs[] = {
|
|
*/
|
|
LSEC_API int luaopen_ssl_core(lua_State *L)
|
|
{
|
|
+#if OPENSSL_VERSION_NUMBER<0x10100000L
|
|
/* Initialize SSL */
|
|
if (!SSL_library_init()) {
|
|
lua_pushstring(L, "unable to initialize SSL library");
|
|
@@ -864,6 +865,7 @@ LSEC_API int luaopen_ssl_core(lua_State *L)
|
|
}
|
|
OpenSSL_add_all_algorithms();
|
|
SSL_load_error_strings();
|
|
+#endif
|
|
|
|
#if defined(WITH_LUASOCKET)
|
|
/* Initialize internal library */
|
|
--- a/src/x509.c
|
|
+++ b/src/x509.c
|
|
@@ -42,6 +42,10 @@
|
|
#define LSEC_ASN1_STRING_data(x) ASN1_STRING_data(x)
|
|
#endif
|
|
|
|
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
|
+#define X509_get0_notBefore X509_get_notBefore
|
|
+#define X509_get0_notAfter X509_get_notAfter
|
|
+#endif
|
|
|
|
static const char* hex_tab = "0123456789abcdef";
|
|
|
|
@@ -174,7 +178,7 @@ static void push_asn1_string(lua_State* L, ASN1_STRING *string, int encode)
|
|
/**
|
|
* Return a human readable time.
|
|
*/
|
|
-static int push_asn1_time(lua_State *L, ASN1_UTCTIME *tm)
|
|
+static int push_asn1_time(lua_State *L, const ASN1_UTCTIME *tm)
|
|
{
|
|
char *tmp;
|
|
long size;
|
|
@@ -490,8 +494,8 @@ static int meth_valid_at(lua_State* L)
|
|
{
|
|
X509* cert = lsec_checkx509(L, 1);
|
|
time_t time = luaL_checkinteger(L, 2);
|
|
- lua_pushboolean(L, (X509_cmp_time(X509_get_notAfter(cert), &time) >= 0
|
|
- && X509_cmp_time(X509_get_notBefore(cert), &time) <= 0));
|
|
+ lua_pushboolean(L, (X509_cmp_time(X509_get0_notAfter(cert), &time) >= 0
|
|
+ && X509_cmp_time(X509_get0_notBefore(cert), &time) <= 0));
|
|
return 1;
|
|
}
|
|
|
|
@@ -519,7 +523,7 @@ static int meth_serial(lua_State *L)
|
|
static int meth_notbefore(lua_State *L)
|
|
{
|
|
X509* cert = lsec_checkx509(L, 1);
|
|
- return push_asn1_time(L, X509_get_notBefore(cert));
|
|
+ return push_asn1_time(L, X509_get0_notBefore(cert));
|
|
}
|
|
|
|
/**
|
|
@@ -528,7 +532,7 @@ static int meth_notbefore(lua_State *L)
|
|
static int meth_notafter(lua_State *L)
|
|
{
|
|
X509* cert = lsec_checkx509(L, 1);
|
|
- return push_asn1_time(L, X509_get_notAfter(cert));
|
|
+ return push_asn1_time(L, X509_get0_notAfter(cert));
|
|
}
|
|
|
|
/**
|