luasec/src/context.h

40 lines
911 B
C
Raw Normal View History

2013-03-30 13:21:40 +01:00
#ifndef LSEC_CONTEXT_H
#define LSEC_CONTEXT_H
2012-09-02 16:15:49 +02:00
/*--------------------------------------------------------------------------
2014-01-29 21:43:33 +01:00
* LuaSec 0.5
* Copyright (C) 2006-2014 Bruno Silvestre
2012-09-02 16:15:49 +02:00
*
*--------------------------------------------------------------------------*/
#include <lua.h>
#include <openssl/ssl.h>
2013-03-30 13:21:40 +01:00
#include "config.h"
#define LSEC_MODE_INVALID 0
#define LSEC_MODE_SERVER 1
#define LSEC_MODE_CLIENT 2
2012-09-02 16:15:49 +02:00
2013-03-30 13:21:40 +01:00
#define LSEC_VERIFY_CONTINUE 1
#define LSEC_VERIFY_IGNORE_PURPOSE 2
2012-09-02 16:15:49 +02:00
typedef struct t_context_ {
SSL_CTX *context;
lua_State *L;
DH *dh_param;
2013-03-30 13:21:40 +01:00
int mode;
2012-09-02 16:15:49 +02:00
} t_context;
typedef t_context* p_context;
/* Retrieve the SSL context from the Lua stack */
2013-03-30 13:21:40 +01:00
SSL_CTX *lsec_checkcontext(lua_State *L, int idx);
2012-09-02 16:15:49 +02:00
/* Retrieve the mode from the context in the Lua stack */
2013-03-30 13:21:40 +01:00
int lsec_getmode(lua_State *L, int idx);
2012-09-02 16:15:49 +02:00
/* Registre the module. */
2013-03-30 13:21:40 +01:00
LSEC_API int luaopen_ssl_context(lua_State *L);
2012-09-02 16:15:49 +02:00
#endif