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>
24 lines
573 B
Diff
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;
|
|
}
|