packages/lang/luasec/patches/200-compression-method-fix.patch
Jo-Philipp Wich 32f6b85a52 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;
             ^
    <builtin>: 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 <jo@mein.io>
2016-08-09 09:35:21 +02:00

24 lines
573 B
Diff

--- 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;
}