From 32f6b85a52de9335bdfdd012ae718bed45f370f7 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Tue, 9 Aug 2016 09:35:21 +0200 Subject: [PATCH] luasec: fix build with OPENSSL_NO_COMP Currently luasec fails to build if OpenSSL was built without compression support due to an undefined COMP_METHOD type: ssl.c: In function 'meth_compression': ssl.c:404:9: error: unknown type name 'COMP_METHOD' const COMP_METHOD *comp; ^ : recipe for target 'ssl.o' failed make[6]: *** [ssl.o] Error 1 Add a local patch to stub the `meth_compression()` function if there is no compression support available in the OpenSSL library in order to allow luasec to build. A similar fix has been added upstream with https://github.com/brunoos/luasec/pull/30 Signed-off-by: Jo-Philipp Wich --- lang/luasec/Makefile | 2 +- .../patches/200-compression-method-fix.patch | 24 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 lang/luasec/patches/200-compression-method-fix.patch diff --git a/lang/luasec/Makefile b/lang/luasec/Makefile index 6429b2d3e..532fd303e 100644 --- a/lang/luasec/Makefile +++ b/lang/luasec/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luasec PKG_VERSION:=0.5.1 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://github.com/brunoos/luasec/archive/ diff --git a/lang/luasec/patches/200-compression-method-fix.patch b/lang/luasec/patches/200-compression-method-fix.patch new file mode 100644 index 000000000..e249bfb75 --- /dev/null +++ b/lang/luasec/patches/200-compression-method-fix.patch @@ -0,0 +1,24 @@ +--- a/src/ssl.c ++++ b/src/ssl.c +@@ -401,17 +401,21 @@ static int meth_want(lua_State *L) + */ + static int meth_compression(lua_State *L) + { ++#ifndef OPENSSL_NO_COMP + const COMP_METHOD *comp; ++#endif + p_ssl ssl = (p_ssl)luaL_checkudata(L, 1, "SSL:Connection"); + if (ssl->state != LSEC_STATE_CONNECTED) { + lua_pushnil(L); + lua_pushstring(L, "closed"); + return 2; + } ++#ifndef OPENSSL_NO_COMP + comp = SSL_get_current_compression(ssl->ssl); + if (comp) + lua_pushstring(L, SSL_COMP_get_name(comp)); + else ++#endif + lua_pushnil(L); + return 1; + }