diff options
author | Dmitry Kozlov <xeb@mail.ru> | 2017-10-16 15:36:34 +0300 |
---|---|---|
committer | Dmitry Kozlov <xeb@mail.ru> | 2017-10-16 15:36:34 +0300 |
commit | 3abdeb226386bae855446c583b6dafd152b54c9d (patch) | |
tree | 55e034d2b85df959b12bf2171e92b59f9717f5d2 /accel-pppd/ctrl/ipoe/lua.c | |
parent | 5b193c892c75e52e10be96ec16aad6394e444020 (diff) | |
parent | ec3d2f2942172d79fe74a01f5c980873e01ff5dd (diff) | |
download | accel-ppp-3abdeb226386bae855446c583b6dafd152b54c9d.tar.gz accel-ppp-3abdeb226386bae855446c583b6dafd152b54c9d.zip |
Merge branch 'master' of ssh://git.code.sf.net/p/accel-ppp/code
Diffstat (limited to 'accel-pppd/ctrl/ipoe/lua.c')
-rw-r--r-- | accel-pppd/ctrl/ipoe/lua.c | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/accel-pppd/ctrl/ipoe/lua.c b/accel-pppd/ctrl/ipoe/lua.c index d5f9e95d..88dbeef8 100644 --- a/accel-pppd/ctrl/ipoe/lua.c +++ b/accel-pppd/ctrl/ipoe/lua.c @@ -11,6 +11,7 @@ #include "events.h" #include "log.h" #include "utils.h" +#include "luasupp.h" #include "ipoe.h" @@ -34,10 +35,8 @@ static int packet4_agent_circuit_id(lua_State *L); static int packet4_agent_remote_id(lua_State *L); static int packet4_vlan(lua_State *L); -int luaopen_lpack(lua_State *L); -int luaopen_bit(lua_State *L); -static const struct luaL_reg packet4_lib [] = { +static const struct luaL_Reg packet4_lib [] = { {"hdr", packet4_hdr}, {"ifname", packet4_ifname}, {"option", packet4_option}, @@ -52,14 +51,14 @@ static int luaopen_packet4(lua_State *L) { luaL_newmetatable(L, IPOE_PACKET4); - lua_pushstring(L, "__index"); - lua_pushvalue(L, -2); /* pushes the metatable */ - lua_settable(L, -3); /* metatable.__index = metatable */ + lua_pushvalue(L, -1); + lua_setfield(L, -2, "__index"); - - luaI_openlib(L, NULL, packet4_lib, 0); - - luaI_openlib(L, "packet4", packet4_lib, 0); +#if LUA_VERSION_NUM < 502 + luaL_register(L, NULL, packet4_lib); +#else + luaL_setfuncs(L, packet4_lib, 0); +#endif return 1; } @@ -189,12 +188,14 @@ static void init_lua() { __serial = serial; - L = lua_open(); + L = luaL_newstate(); luaL_openlibs(L); luaopen_lpack(L); +#if LUA_VERSION_NUM < 503 luaopen_bit(L); +#endif luaopen_packet4(L); if (luaL_loadfile(L, conf_filename)) @@ -264,6 +265,8 @@ char *ipoe_lua_get_username(struct ipoe_session *ses, const char *func) lua_getglobal(L, func); lua_pushlightuserdata(L, ses); + luaL_getmetatable(L, IPOE_PACKET4); + lua_setmetatable(L, -2); if (lua_pcall(L, 1, 1, 0)) { log_ppp_error("ipoe: lua: %s\n", lua_tostring(L, -1)); |