2017-06-17 03:53:59 +02:00
|
|
|
/*--------------------------------------------------------------------------
|
2018-06-27 15:36:26 +02:00
|
|
|
* LuaSec 0.7
|
2017-06-17 03:53:59 +02:00
|
|
|
*
|
2018-06-27 15:36:26 +02:00
|
|
|
* Copyright (C) 2006-2018 Bruno Silvestre.
|
2017-06-17 03:53:59 +02:00
|
|
|
*
|
|
|
|
*--------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
#include "compat.h"
|
|
|
|
#include "options.h"
|
|
|
|
#include "ec.h"
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Registre the module.
|
|
|
|
*/
|
|
|
|
LSEC_API int luaopen_ssl_config(lua_State *L)
|
|
|
|
{
|
|
|
|
ssl_option_t *opt;
|
|
|
|
|
|
|
|
lua_newtable(L);
|
|
|
|
|
|
|
|
// Options
|
|
|
|
lua_pushstring(L, "options");
|
|
|
|
lua_newtable(L);
|
|
|
|
for (opt = ssl_options; opt->name; opt++) {
|
|
|
|
lua_pushstring(L, opt->name);
|
|
|
|
lua_pushboolean(L, 1);
|
|
|
|
lua_rawset(L, -3);
|
|
|
|
}
|
|
|
|
lua_rawset(L, -3);
|
|
|
|
|
|
|
|
// Protocols
|
|
|
|
lua_pushstring(L, "protocols");
|
|
|
|
lua_newtable(L);
|
|
|
|
|
|
|
|
lua_pushstring(L, "tlsv1");
|
|
|
|
lua_pushboolean(L, 1);
|
|
|
|
lua_rawset(L, -3);
|
|
|
|
lua_pushstring(L, "tlsv1_1");
|
|
|
|
lua_pushboolean(L, 1);
|
|
|
|
lua_rawset(L, -3);
|
|
|
|
lua_pushstring(L, "tlsv1_2");
|
|
|
|
lua_pushboolean(L, 1);
|
|
|
|
lua_rawset(L, -3);
|
2018-09-12 23:27:43 +02:00
|
|
|
|
2017-06-17 03:53:59 +02:00
|
|
|
lua_rawset(L, -3);
|
|
|
|
|
|
|
|
// Algorithms
|
|
|
|
lua_pushstring(L, "algorithms");
|
|
|
|
lua_newtable(L);
|
|
|
|
|
|
|
|
#ifndef OPENSSL_NO_EC
|
|
|
|
lua_pushstring(L, "ec");
|
|
|
|
lua_pushboolean(L, 1);
|
|
|
|
lua_rawset(L, -3);
|
|
|
|
#endif
|
|
|
|
lua_rawset(L, -3);
|
|
|
|
|
|
|
|
// Curves
|
|
|
|
lua_pushstring(L, "curves");
|
|
|
|
lsec_get_curves(L);
|
|
|
|
lua_rawset(L, -3);
|
|
|
|
|
|
|
|
// Capabilities
|
|
|
|
lua_pushstring(L, "capabilities");
|
|
|
|
lua_newtable(L);
|
|
|
|
|
2018-08-27 20:10:18 +02:00
|
|
|
// ALPN
|
|
|
|
lua_pushstring(L, "alpn");
|
|
|
|
lua_pushboolean(L, 1);
|
|
|
|
lua_rawset(L, -3);
|
|
|
|
|
2017-06-17 03:53:59 +02:00
|
|
|
#ifndef OPENSSL_NO_EC
|
|
|
|
lua_pushstring(L, "curves_list");
|
|
|
|
lua_pushboolean(L, 1);
|
|
|
|
lua_rawset(L, -3);
|
|
|
|
lua_pushstring(L, "ecdh_auto");
|
|
|
|
lua_pushboolean(L, 1);
|
|
|
|
lua_rawset(L, -3);
|
|
|
|
#endif
|
|
|
|
lua_rawset(L, -3);
|
|
|
|
|
|
|
|
return 1;
|
|
|
|
}
|