nixio: Add set_verify_locations for TLS
[project/luci.git] / libs / nixio / src / tls-context.c
index 235a723824019ae1635e096595b07df721deb5c2..e9a833f59065de0c3f3babf66fbebfddc764eb3e 100644 (file)
@@ -131,6 +131,14 @@ static int nixio_tls_ctx_set_cert(lua_State *L) {
                        SSL_CTX_use_certificate_file(ctx, cert, ktype));
 }
 
+static int nixio_tls_ctx_set_verify_locations(lua_State *L) {
+       SSL_CTX *ctx = nixio__checktlsctx(L);
+       const char *CAfile = luaL_optstring(L, 2, NULL);
+       const char *CApath = luaL_optstring(L, 3, NULL);
+       return nixio__tls_pstatus(L, SSL_CTX_load_verify_locations(ctx, 
+                                       CAfile, CApath));
+}
+
 static int nixio_tls_ctx_set_key(lua_State *L) {
        SSL_CTX *ctx = nixio__checktlsctx(L);
        const char *cert = luaL_checkstring(L, 2);
@@ -203,6 +211,7 @@ static const luaL_reg R[] = {
 /* ctx function table */
 static const luaL_reg CTX_M[] = {
        {"set_cert",                    nixio_tls_ctx_set_cert},
+       {"set_verify_locations",       nixio_tls_ctx_set_verify_locations},
        {"set_key",                             nixio_tls_ctx_set_key},
        {"set_ciphers",                 nixio_tls_ctx_set_ciphers},
        {"set_verify",                  nixio_tls_ctx_set_verify},