Fix check for error in DANE functions

This commit is contained in:
Bruno Silvestre 2019-07-11 10:20:53 -03:00
parent a2dcfffcfa
commit 8722f83e8f
2 changed files with 11 additions and 8 deletions

View File

@ -709,9 +709,10 @@ static int set_alpn_cb(lua_State *L)
*/
static int set_dane(lua_State *L)
{
int ret;
SSL_CTX *ctx = lsec_checkcontext(L, 1);
int ret = SSL_CTX_dane_enable(ctx);
lua_pushboolean(L, ret);
ret = SSL_CTX_dane_enable(ctx);
lua_pushboolean(L, (ret > 0));
return 1;
}
#endif

View File

@ -829,24 +829,26 @@ static int meth_copyright(lua_State *L)
#if (OPENSSL_VERSION_NUMBER >= 0x1010000fL)
static int meth_dane(lua_State *L)
{
int ret;
p_ssl ssl = (p_ssl)luaL_checkudata(L, 1, "SSL:Connection");
int ret = SSL_dane_enable(ssl->ssl, luaL_checkstring(L, 2));
lua_pushboolean(L, ret);
ret = SSL_dane_enable(ssl->ssl, luaL_checkstring(L, 2));
lua_pushboolean(L, (ret > 0));
return 1;
}
static int meth_tlsa(lua_State *L)
{
int ret;
size_t len;
p_ssl ssl = (p_ssl)luaL_checkudata(L, 1, "SSL:Connection");
uint8_t usage = luaL_checkinteger(L, 2);
uint8_t selector = luaL_checkinteger(L, 3);
uint8_t mtype = luaL_checkinteger(L, 4);
size_t len;
const char *data = luaL_checklstring(L, 5, &len);
unsigned char *data = (unsigned char*)luaL_checklstring(L, 5, &len);
ERR_clear_error();
int ret = SSL_dane_tlsa_add(ssl->ssl, usage, selector, mtype, data, len);
lua_pushboolean(L, ret);
ret = SSL_dane_tlsa_add(ssl->ssl, usage, selector, mtype, data, len);
lua_pushboolean(L, (ret > 0));
return 1;
}