diff options
author | Eneas U de Queiroz <cote2004-github@yahoo.com> | 2018-05-21 14:51:40 -0300 |
---|---|---|
committer | Eneas U de Queiroz <cote2004-github@yahoo.com> | 2018-05-21 14:51:40 -0300 |
commit | ca7b00b469c021bd0a79a6d14142ebcec3e1ffe3 (patch) | |
tree | 9ed7b047c1cd32e39394c57d4cd6275b2f30629a | |
parent | d9e9b59159309449df7a7a6d4ab87980dc16eac2 (diff) |
lua-openssl: upgrade to version 0.7.1
This version brings compatibility with openssl 1.1.0
Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
5 files changed, 83 insertions, 150 deletions
diff --git a/lang/lua-openssl/Makefile b/lang/lua-openssl/Makefile index fc0629cf3..3eec6b1b1 100644 --- a/lang/lua-openssl/Makefile +++ b/lang/lua-openssl/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=lua-openssl -PKG_VERSION:=0.6.0 +PKG_VERSION:=0.7.1 PKG_RELEASE:=1 PKG_MAINTAINER:=Amnon Paz <pazamnon@gmail.com> PKG_LICENSE:=MIT @@ -17,7 +17,7 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_MIRROR_HASH:=33de8fa469f66bbf6df09c4ba4e3386c0613cc061f5adff0928d532af6905773 PKG_SOURCE_URL:=https://github.com/zhaozg/lua-openssl.git PKG_SOURCE_PROTO:=git -PKG_SOURCE_VERSION:=1b950e6ff8617205cda1a1b612637ef21b9daf96 +PKG_SOURCE_VERSION:=b104bbe914d279276560f188854036075b99f724 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) include $(INCLUDE_DIR)/package.mk diff --git a/lang/lua-openssl/patches/0001-Revise-Makefile.patch b/lang/lua-openssl/patches/0001-Revise-Makefile.patch index e084c0bb2..1a1ef9d03 100644 --- a/lang/lua-openssl/patches/0001-Revise-Makefile.patch +++ b/lang/lua-openssl/patches/0001-Revise-Makefile.patch @@ -1,13 +1,13 @@ -diff --git a/Makefile b/Makefile -index 6cb1176..6605879 100644 --- a/Makefile +++ b/Makefile -@@ -1,85 +1,45 @@ --T=openssl
--
+@@ -1,58 +1,36 @@ + T=openssl
++.PHONY: install clean
+
-PREFIX ?=/usr/local
-LIB_OPTION ?= -shared
--
++PKGC ?= pkg-config
+
-#Lua auto detect
-LUA_VERSION ?= $(shell pkg-config luajit --print-provides)
-ifeq ($(LUA_VERSION),) ############ Not use luajit
@@ -21,10 +21,15 @@ index 6cb1176..6605879 100644 -LUA_LIBS ?= $(shell pkg-config luajit --libs)
-LUA_LIBDIR ?= $(PREFIX)/lib/lua/$(LUAV)
-endif
--
++LIB_OPTION = -shared
+
-#OS auto detect
-SYS := $(shell gcc -dumpmachine)
--
++# lua's package config can be under various names
++LUAPKGC := $(shell for pc in lua lua5.1 lua5.2 lua5.3; do \
++ $(PKGC) --exists $$pc && echo $$pc && break; \
++ done)
+
-ifneq (, $(findstring linux, $(SYS)))
-# Do linux things
-LDFLAGS = -fPIC -lrt -ldl
@@ -35,8 +40,19 @@ index 6cb1176..6605879 100644 -ifneq (, $(findstring apple, $(SYS)))
-# Do darwin things
-LDFLAGS = -fPIC -lrt -ldl
--OPENSSL_LIBS ?= $(shell pkg-config openssl --libs)
--OPENSSL_CFLAGS ?= $(shell pkg-config openssl --cflags)
++BUILD_DIR = $(shell pwd)
++
++# LUA include/libraries build flags
++#LUAV ?= $(shell lua -e "_,_,v=string.find(_VERSION,'Lua (.+)');print(v)")
++LUA_LIBDIR := $(shell $(PKGC) --variable=libdir $(LUAPKGC))
++LUA_CFLAGS := $(shell $(PKGC) --cflags $(LUAPKGC))
++LUA_LIBS := $(shell $(PKGC) --libs-only-L $(LUAPKGC))
++#LUA_LIBDIR ?= $(PREFIX)/lib/lua/$(LUAV)
++
++# openssl include/libraries build flags
++LDFLAGS += -lrt -ldl $(OPENSSL_LIBS) $(LUA_LIBS)
+ OPENSSL_LIBS ?= $(shell pkg-config openssl --libs)
+ OPENSSL_CFLAGS ?= $(shell pkg-config openssl --cflags)
-CFLAGS = -fPIC $(OPENSSL_CFLAGS) $(LUA_CFLAGS)
-endif
-ifneq (, $(findstring mingw, $(SYS)))
@@ -53,83 +69,30 @@ index 6cb1176..6605879 100644 -CFLAGS = -fPIC $(OPENSSL_CFLAGS) $(LUA_CFLAGS)
-endif
-#custome config
--ifeq (.config, $(wildcard .config))
--include .config
--endif
--
++# openssl include/libraries build flags
++LOCAL_INCLUDE = -I$(BUILD_DIR)/deps
++CFLAGS += -fPIC -DPTHREADS $(LOCAL_INCLUDE) $(OPENSSL_CFLAGS) $(LUA_CFLAGS)
+ ifeq (.config, $(wildcard .config))
+ include .config
+ endif
+
-LIBNAME= $T.so.$V
--
--#LIB_OPTION= -bundle -undefined dynamic_lookup #for MacOS X
--
--# Compilation directives
--WARN_MOST = -Wall -W -Waggregate-return -Wcast-align -Wmissing-prototypes -Wnested-externs -Wshadow -Wwrite-strings -pedantic
--WARN = -Wall -Wno-unused-value
--WARN_MIN =
--CFLAGS += $(WARN_MIN) -DPTHREADS
--CC= gcc -g $(CFLAGS) -Ideps
--
--
--OBJS=src/asn1.o src/auxiliar.o src/bio.o src/cipher.o src/cms.o src/compat.o src/crl.o src/csr.o src/dh.o src/digest.o src/dsa.o \
--src/ec.o src/engine.o src/hmac.o src/lbn.o src/lhash.o src/misc.o src/ocsp.o src/openssl.o src/ots.o src/pkcs12.o src/pkcs7.o \
--src/pkey.o src/rsa.o src/ssl.o src/th-lock.o src/util.o src/x509.o src/xattrs.o src/xexts.o src/xname.o src/xstore.o src/xalgor.o src/callback.o
--
++LIBNAME= $T.so
+
+ #LIB_OPTION= -bundle -undefined dynamic_lookup #for MacOS X
+
+@@ -68,11 +46,12 @@ OBJS=src/asn1.o src/auxiliar.o src/bio.o + src/ec.o src/engine.o src/hmac.o src/lbn.o src/lhash.o src/misc.o src/ocsp.o src/openssl.o src/ots.o src/pkcs12.o src/pkcs7.o \
+ src/pkey.o src/rsa.o src/ssl.o src/th-lock.o src/util.o src/x509.o src/xattrs.o src/xexts.o src/xname.o src/xstore.o src/xalgor.o src/callback.o
+
-.c.o:
- $(CC) -c -o $@ $?
--
--all: $T.so
-- echo $(SYS)
--
--$T.so: $(OBJS)
-- MACOSX_DEPLOYMENT_TARGET="10.3"; export MACOSX_DEPLOYMENT_TARGET; $(CC) $(CFLAGS) $(LIB_OPTION) -o $T.so $(OBJS) $(OPENSSL_LIBS) $(LUA_LIBS) $(LDFLAGS)
--
--install: all
-- mkdir -p $(LUA_LIBDIR)
-- cp $T.so $(LUA_LIBDIR)
--
--clean:
-- rm -f $T.so $(OBJS)
-+.PHONY: install clean -+ -+PKGC ?= pkg-config -+ -+LIBNAME = openssl.so -+LIB_OPTION = -shared -+ -+# lua's package config can be under various names -+LUAPKGC := $(shell for pc in lua lua5.1 lua5.2 lua5.3; do \ -+ $(PKGC) --exists $$pc && echo $$pc && break; \ -+ done) -+ -+BUILD_DIR = $(shell pwd) -+ -+# LUA include/libraries build flags -+LUA_LIBDIR := $(shell $(PKGC) --variable=libdir $(LUAPKGC)) -+LUA_CFLAGS := $(shell $(PKGC) --cflags $(LUAPKGC)) -+LUA_LIBS := $(shell $(PKGC) --libs-only-L $(LUAPKGC)) -+ -+# openssl include/libraries build flags -+OPENSSL_LIBS = $(shell $(PKGC) openssl --libs) -+OPENSSL_CFLAGS = $(shell $(PKGC) openssl --cflags) -+ -+# openssl include/libraries build flags -+LOCAL_INCLUDE = -I$(BUILD_DIR)/deps -+ -+CFLAGS += -fPIC -DPTHREADS -g $(LOCAL_INCLUDE) $(OPENSSL_CFLAGS) $(LUA_CFLAGS) -+LDFLAGS += -lrt -ldl $(OPENSSL_LIBS) $(LUA_LIBS) -+ -+OBJS = src/asn1.o src/auxiliar.o src/bio.o src/cipher.o src/cms.o src/compat.o src/crl.o src/csr.o src/dh.o src/digest.o src/dsa.o src/ec.o src/engine.o src/hmac.o src/lbn.o src/lhash.o src/misc.o src/ocsp.o src/openssl.o src/ots.o src/pkcs12.o src/pkcs7.o src/pkey.o src/rsa.o src/ssl.o src/th-lock.o src/util.o src/x509.o src/xattrs.o src/xexts.o src/xname.o src/xstore.o src/xalgor.o src/callback.o -+ -+all: clean $(LIBNAME) -+ -+$(LIBNAME): $(OBJS) -+ $(CC) $(LDFLAGS) $(LIB_OPTION) $(OBJS) -o $@ -+ -+%.o: %.c -+ $(CC) $(CFLAGS) -c $< -o $@ -+ -+install: all -+ mkdir -p $(LUA_LIBDIR) -+ cp $(LIBNAME) $(LUA_LIBDIR) -+ -+clean: -+ rm -f $(LIBNAME) $(OBJS) ++%.o: %.c
++ $(CC) $(CFLAGS) -c $< -o $@
+
+ all: $T.so
+ echo $(SYS)
++ $(CC) $(LDFLAGS) $(LIB_OPTION) $(OBJS) -o $@
+
+ $T.so: $(OBJS)
+ MACOSX_DEPLOYMENT_TARGET="10.3"; export MACOSX_DEPLOYMENT_TARGET; $(CC) $(CFLAGS) $(LIB_OPTION) -o $T.so $(OBJS) $(OPENSSL_LIBS) $(LUA_LIBS) $(LDFLAGS)
diff --git a/lang/lua-openssl/patches/0020-support-OPENSSL_NO_SSL3_METHOD.patch b/lang/lua-openssl/patches/0020-support-OPENSSL_NO_SSL3_METHOD.patch deleted file mode 100644 index 2f296801d..000000000 --- a/lang/lua-openssl/patches/0020-support-OPENSSL_NO_SSL3_METHOD.patch +++ /dev/null @@ -1,41 +0,0 @@ ---- lua-openssl-0.6.0.old/src/ssl.c 2016-09-19 08:30:43.735075695 +0200 -+++ lua-openssl-0.6.0/src/ssl.c 2016-09-19 09:02:45.733813437 +0200 -@@ -24,12 +24,17 @@ - SSL_METHOD* method = NULL; - const char* ciphers; - SSL_CTX* ctx; -- if (strcmp(meth, "SSLv3") == 0) -+ if (0); -+ -+#ifndef OPENSSL_NO_SSL3 -+ else if (strcmp(meth, "SSLv3") == 0) - method = SSLv3_method(); /* SSLv3 */ - else if (strcmp(meth, "SSLv3_server") == 0) - method = SSLv3_server_method(); /* SSLv3 */ - else if (strcmp(meth, "SSLv3_client") == 0) - method = SSLv3_client_method(); /* SSLv3 */ -+#endif -+ - else if (strcmp(meth, "SSLv23") == 0) - method = SSLv23_method(); /* SSLv3 but can rollback to v2 */ - else if (strcmp(meth, "SSLv23_server") == 0) -@@ -79,15 +84,15 @@ - #endif - else - luaL_error(L, "#1:%s not supported\n" -- "Maybe SSLv3 SSLv23 TLSv1 TLSv1_1 TLSv1_2 DTLSv1 [SSLv2], option followed by _client or _server\n", -- "default is SSLv3", -+ "Maybe [SSLv3] SSLv23 TLSv1 TLSv1_1 TLSv1_2 DTLSv1 [SSLv2], option followed by _client or _server\n", -+ "default is TLSv1", - meth); - ciphers = luaL_optstring(L, 2, SSL_DEFAULT_CIPHER_LIST); - ctx = SSL_CTX_new(method); - if (!ctx) - luaL_error(L, "#1:%s not supported\n" -- "Maybe SSLv3 SSLv23 TLSv1 TLSv1_1 TLSv1_2 DTLSv1 [SSLv2], option followed by _client or _server\n", -- "default is SSLv3", -+ "Maybe [SSLv3] SSLv23 TLSv1 TLSv1_1 TLSv1_2 DTLSv1 [SSLv2], option followed by _client or _server\n", -+ "default is TLSv1", - meth); - openssl_newvalue(L, ctx); - SSL_CTX_set_cipher_list(ctx, ciphers); diff --git a/lang/lua-openssl/patches/0020-use-X509_REQ_to_X509-in-openssl-1.1.patch b/lang/lua-openssl/patches/0020-use-X509_REQ_to_X509-in-openssl-1.1.patch new file mode 100644 index 000000000..930b37e59 --- /dev/null +++ b/lang/lua-openssl/patches/0020-use-X509_REQ_to_X509-in-openssl-1.1.patch @@ -0,0 +1,31 @@ +--- a/src/csr.c ++++ b/src/csr.c +@@ -38,7 +38,7 @@ static LUA_FUNCTION(openssl_csr_read) + return openssl_pushresult(L, 0); + } +
+-
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ static X509 *X509_REQ_to_X509_ex(X509_REQ *r, int days, EVP_PKEY *pkey, const EVP_MD* md)
+ {
+ X509 *ret = NULL;
+@@ -91,14 +91,19 @@ static X509 *X509_REQ_to_X509_ex(X509_RE + }
+ return (ret);
+ }
++#endif
+ + static LUA_FUNCTION(openssl_csr_to_x509) + { + X509_REQ * csr = CHECK_OBJECT(1, X509_REQ, "openssl.x509_req"); + EVP_PKEY * pkey = CHECK_OBJECT(2, EVP_PKEY, "openssl.evp_pkey"); + int days = luaL_optint(L, 3, 365); ++#if OPENSSL_VERSION_NUMBER < 0x10100000L + const EVP_MD* md = get_digest(L, 4, "sha256"); + X509* cert = X509_REQ_to_X509_ex(csr, days, pkey, md); ++#else ++ X509* cert = X509_REQ_to_X509(csr, days, pkey); ++#endif + if (cert) + { + PUSH_OBJECT(cert, "openssl.x509"); diff --git a/lang/lua-openssl/patches/0030-support-OPENSSL_NO_COMP.patch b/lang/lua-openssl/patches/0030-support-OPENSSL_NO_COMP.patch deleted file mode 100644 index 44e53309d..000000000 --- a/lang/lua-openssl/patches/0030-support-OPENSSL_NO_COMP.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- lua-openssl-0.6.0.old/src/ssl.c 2016-09-19 08:30:43.735075695 +0200 -+++ lua-openssl-0.6.0/src/ssl.c 2016-09-19 08:48:37.393737125 +0200 -@@ -1245,7 +1250,7 @@ - lua_pushinteger(L, st); - return 2; - } --#ifndef LIBRESSL_VERSION_NUMBER -+#if !defined(OPENSSL_NO_COMP) && !defined(LIBRESSL_VERSION_NUMBER) - static int openssl_ssl_current_compression(lua_State *L) - { - SSL* s = CHECK_OBJECT(1, SSL, "openssl.ssl"); -@@ -1803,7 +1808,7 @@ - {"getfd", openssl_ssl_getfd}, - - {"current_cipher", openssl_ssl_current_cipher}, --#ifndef LIBRESSL_VERSION_NUMBER -+#if !defined(OPENSSL_NO_COMP) && !defined(LIBRESSL_VERSION_NUMBER) - {"current_compression", openssl_ssl_current_compression}, - #endif - {"getpeerverification", openssl_ssl_getpeerverification}, |