From 5a484efe8c72a929382c96555a31129f8d2a55c8 Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" Date: Sun, 21 Nov 2021 15:55:52 -0800 Subject: https now working! Still extremely ugly: - I've inlined all the namespaces under ssl, so you need to know that context and config are related to ssl. - luasec comes with its own copy of luasocket. I haven't deduped that yet. --- src/luasec/context.h | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/luasec/context.h (limited to 'src/luasec/context.h') diff --git a/src/luasec/context.h b/src/luasec/context.h new file mode 100644 index 0000000..21202cb --- /dev/null +++ b/src/luasec/context.h @@ -0,0 +1,47 @@ +#ifndef LSEC_CONTEXT_H +#define LSEC_CONTEXT_H + +/*-------------------------------------------------------------------------- + * LuaSec 1.0.2 + * + * Copyright (C) 2006-2021 Bruno Silvestre + * + *--------------------------------------------------------------------------*/ + +#include "../lua.h" +#include + +#include "compat.h" + +#define LSEC_MODE_INVALID 0 +#define LSEC_MODE_SERVER 1 +#define LSEC_MODE_CLIENT 2 + +#define LSEC_VERIFY_CONTINUE 1 +#define LSEC_VERIFY_IGNORE_PURPOSE 2 + +typedef struct t_context_ { + SSL_CTX *context; + lua_State *L; + DH *dh_param; + void *alpn; + int mode; +} t_context; +typedef t_context* p_context; + +/* Retrieve the SSL context from the Lua stack */ +SSL_CTX *lsec_checkcontext(lua_State *L, int idx); +SSL_CTX *lsec_testcontext(lua_State *L, int idx); + +/* Retrieve the mode from the context in the Lua stack */ +int lsec_getmode(lua_State *L, int idx); + +/* Registre the module. */ +LSEC_API int luaopen_ssl_context(lua_State *L); + +/* Compat - Lua 5.1 */ +#if (LUA_VERSION_NUM == 501) +void *lsec_testudata (lua_State *L, int ud, const char *tname); +#endif + +#endif -- cgit 1.4.1-2-gfad0