You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

89 lines
2.5 KiB

--- 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));
}
/**