diff --git a/src/context.c b/src/context.c index 5f5a1f5..d483359 100644 --- a/src/context.c +++ b/src/context.c @@ -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 diff --git a/src/ssl.c b/src/ssl.c index 0117674..a8c42c8 100644 --- a/src/ssl.c +++ b/src/ssl.c @@ -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; }