--- a/src/context.c +++ b/src/context.c @@ -17,6 +17,7 @@ #include #include #include +#include #include #include @@ -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)); } /**