Merge pull request #30 from lluixhi/master

Fix for LibreSSL/OPENSSL_NO_COMP
This commit is contained in:
Bruno Silvestre 2015-01-28 15:07:07 -02:00
commit 12e1b1f1d9

View File

@ -400,24 +400,30 @@ static int meth_want(lua_State *L)
} }
return 1; return 1;
} }
/** /**
* Return the compression method used. * Return the compression method used.
*/ */
static int meth_compression(lua_State *L) static int meth_compression(lua_State *L)
{ {
#if !defined(OPENSSL_NO_COMP)
const COMP_METHOD *comp; const COMP_METHOD *comp;
#endif
p_ssl ssl = (p_ssl)luaL_checkudata(L, 1, "SSL:Connection"); p_ssl ssl = (p_ssl)luaL_checkudata(L, 1, "SSL:Connection");
if (ssl->state != LSEC_STATE_CONNECTED) { if (ssl->state != LSEC_STATE_CONNECTED) {
lua_pushnil(L); lua_pushnil(L);
lua_pushstring(L, "closed"); lua_pushstring(L, "closed");
return 2; return 2;
} }
#if !defined(OPENSSL_NO_COMP)
comp = SSL_get_current_compression(ssl->ssl); comp = SSL_get_current_compression(ssl->ssl);
if (comp) if (comp)
lua_pushstring(L, SSL_COMP_get_name(comp)); lua_pushstring(L, SSL_COMP_get_name(comp));
else else
lua_pushnil(L); lua_pushnil(L);
#else
lua_pushnil(L);
#endif
return 1; return 1;
} }