]> git.puffer.fish Git - matthieu/frr.git/commitdiff
lib: Load built-in Lua functions
authorDonatas Abraitis <donatas@opensourcerouting.org>
Tue, 24 Sep 2024 10:13:50 +0000 (13:13 +0300)
committerDonatas Abraitis <donatas@opensourcerouting.org>
Tue, 24 Sep 2024 10:13:50 +0000 (13:13 +0300)
We can't use even `string()` function because built-in functions are not
loaded.

Testing with:

```
$ cat /etc/frr/scripts/zebra.lua
function on_rib_process_dplane_results(ctx)
log.warn(string.upper("testas"))
return {}
end
```

This results to "TESTAS" in the logs.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
lib/frrscript.c

index acdd1df67b4d0d0b4d09ad26cf7729f911811772..dbae31b66685b4e11e18a1c798403b4ead814692 100644 (file)
@@ -348,6 +348,9 @@ int frrscript_load(struct frrscript *fs, const char *function_name,
        /* Set up the Lua script */
        lua_State *L = luaL_newstate();
 
+       /* Load basic built-in Lua functions, e.g. ipairs, string, etc. */
+       luaL_openlibs(L);
+
        frrlua_export_logging(L);
 
        char script_name[MAXPATHLEN];