mirror of
https://github.com/brunoos/luasec.git
synced 2024-12-27 21:08:22 +01:00
Don't set globals from C.
This commit is contained in:
parent
91d378a86e
commit
1ab6fac919
@ -14,7 +14,11 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (LUA_VERSION_NUM == 501)
|
#if (LUA_VERSION_NUM == 501)
|
||||||
|
#define setfuncs(L, R) luaL_register(L, NULL, R)
|
||||||
#define lua_rawlen(L, i) lua_objlen(L, i)
|
#define lua_rawlen(L, i) lua_objlen(L, i)
|
||||||
|
#define luaL_newlib(L, R) do { lua_newtable(L); luaL_register(L, NULL, R); } while(0)
|
||||||
|
#else
|
||||||
|
#define setfuncs(L, R) luaL_setfuncs(L, R, 0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -723,30 +723,12 @@ int lsec_getmode(lua_State *L, int idx)
|
|||||||
/**
|
/**
|
||||||
* Registre the module.
|
* Registre the module.
|
||||||
*/
|
*/
|
||||||
#if (LUA_VERSION_NUM == 501)
|
|
||||||
LSEC_API int luaopen_ssl_context(lua_State *L)
|
LSEC_API int luaopen_ssl_context(lua_State *L)
|
||||||
{
|
{
|
||||||
luaL_newmetatable(L, "SSL:DH:Registry"); /* Keep all DH callbacks */
|
luaL_newmetatable(L, "SSL:DH:Registry"); /* Keep all DH callbacks */
|
||||||
luaL_newmetatable(L, "SSL:Verify:Registry"); /* Keep all verify flags */
|
luaL_newmetatable(L, "SSL:Verify:Registry"); /* Keep all verify flags */
|
||||||
luaL_newmetatable(L, "SSL:Context");
|
luaL_newmetatable(L, "SSL:Context");
|
||||||
luaL_register(L, NULL, meta);
|
setfuncs(L, meta);
|
||||||
|
|
||||||
/* Create __index metamethods for context */
|
|
||||||
lua_newtable(L);
|
|
||||||
luaL_register(L, NULL, meta_index);
|
|
||||||
lua_setfield(L, -2, "__index");
|
|
||||||
|
|
||||||
/* Register the module */
|
|
||||||
luaL_register(L, "ssl.context", funcs);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
LSEC_API int luaopen_ssl_context(lua_State *L)
|
|
||||||
{
|
|
||||||
luaL_newmetatable(L, "SSL:DH:Registry"); /* Keep all DH callbacks */
|
|
||||||
luaL_newmetatable(L, "SSL:Verify:Registry"); /* Keep all verify flags */
|
|
||||||
luaL_newmetatable(L, "SSL:Context");
|
|
||||||
luaL_setfuncs(L, meta, 0);
|
|
||||||
|
|
||||||
/* Create __index metamethods for context */
|
/* Create __index metamethods for context */
|
||||||
luaL_newlib(L, meta_index);
|
luaL_newlib(L, meta_index);
|
||||||
@ -757,4 +739,3 @@ LSEC_API int luaopen_ssl_context(lua_State *L)
|
|||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
34
src/ssl.c
34
src/ssl.c
@ -816,7 +816,6 @@ static luaL_Reg funcs[] = {
|
|||||||
/**
|
/**
|
||||||
* Initialize modules.
|
* Initialize modules.
|
||||||
*/
|
*/
|
||||||
#if (LUA_VERSION_NUM == 501)
|
|
||||||
LSEC_API int luaopen_ssl_core(lua_State *L)
|
LSEC_API int luaopen_ssl_core(lua_State *L)
|
||||||
{
|
{
|
||||||
/* Initialize SSL */
|
/* Initialize SSL */
|
||||||
@ -836,37 +835,7 @@ LSEC_API int luaopen_ssl_core(lua_State *L)
|
|||||||
|
|
||||||
/* Register the functions and tables */
|
/* Register the functions and tables */
|
||||||
luaL_newmetatable(L, "SSL:Connection");
|
luaL_newmetatable(L, "SSL:Connection");
|
||||||
luaL_register(L, NULL, meta);
|
setfuncs(L, meta);
|
||||||
|
|
||||||
lua_newtable(L);
|
|
||||||
luaL_register(L, NULL, methods);
|
|
||||||
lua_setfield(L, -2, "__index");
|
|
||||||
|
|
||||||
luaL_register(L, "ssl.core", funcs);
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
LSEC_API int luaopen_ssl_core(lua_State *L)
|
|
||||||
{
|
|
||||||
/* Initialize SSL */
|
|
||||||
if (!SSL_library_init()) {
|
|
||||||
lua_pushstring(L, "unable to initialize SSL library");
|
|
||||||
lua_error(L);
|
|
||||||
}
|
|
||||||
OpenSSL_add_all_algorithms();
|
|
||||||
SSL_load_error_strings();
|
|
||||||
|
|
||||||
#if defined(WITH_LUASOCKET)
|
|
||||||
/* Initialize internal library */
|
|
||||||
socket_open();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
luaL_newmetatable(L, "SSL:SNI:Registry");
|
|
||||||
|
|
||||||
/* Register the functions and tables */
|
|
||||||
luaL_newmetatable(L, "SSL:Connection");
|
|
||||||
luaL_setfuncs(L, meta, 0);
|
|
||||||
|
|
||||||
luaL_newlib(L, methods);
|
luaL_newlib(L, methods);
|
||||||
lua_setfield(L, -2, "__index");
|
lua_setfield(L, -2, "__index");
|
||||||
@ -875,4 +844,3 @@ LSEC_API int luaopen_ssl_core(lua_State *L)
|
|||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
23
src/x509.c
23
src/x509.c
@ -566,30 +566,11 @@ static luaL_Reg funcs[] = {
|
|||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
/*--------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#if (LUA_VERSION_NUM == 501)
|
|
||||||
|
|
||||||
LSEC_API int luaopen_ssl_x509(lua_State *L)
|
LSEC_API int luaopen_ssl_x509(lua_State *L)
|
||||||
{
|
{
|
||||||
/* Register the functions and tables */
|
/* Register the functions and tables */
|
||||||
luaL_newmetatable(L, "SSL:Certificate");
|
luaL_newmetatable(L, "SSL:Certificate");
|
||||||
luaL_register(L, NULL, meta);
|
setfuncs(L, meta);
|
||||||
|
|
||||||
lua_newtable(L);
|
|
||||||
luaL_register(L, NULL, methods);
|
|
||||||
lua_setfield(L, -2, "__index");
|
|
||||||
|
|
||||||
luaL_register(L, "ssl.x509", funcs);
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
LSEC_API int luaopen_ssl_x509(lua_State *L)
|
|
||||||
{
|
|
||||||
/* Register the functions and tables */
|
|
||||||
luaL_newmetatable(L, "SSL:Certificate");
|
|
||||||
luaL_setfuncs(L, meta, 0);
|
|
||||||
|
|
||||||
luaL_newlib(L, methods);
|
luaL_newlib(L, methods);
|
||||||
lua_setfield(L, -2, "__index");
|
lua_setfield(L, -2, "__index");
|
||||||
@ -598,5 +579,3 @@ LSEC_API int luaopen_ssl_x509(lua_State *L)
|
|||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
|
Loading…
Reference in New Issue
Block a user