aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLibravatarLibravatar daurnimator <quae@daurnimator.com> 2017-04-03 19:49:34 +1000
committerLibravatarLibravatar daurnimator <quae@daurnimator.com> 2017-04-03 19:49:34 +1000
commite8e6bfa098bfe24fd5d6f021f030b64fffa453ff (patch)
tree72db699ac74ddf357f030e529ccb7ab38f2010bf /src
parentc22a04c2d24665d5ee7615c1888ef41fdf44440f (diff)
downloadluaossl-e8e6bfa098bfe24fd5d6f021f030b64fffa453ff.tar.gz
luaossl-e8e6bfa098bfe24fd5d6f021f030b64fffa453ff.tar.bz2
luaossl-e8e6bfa098bfe24fd5d6f021f030b64fffa453ff.zip
Bind SSL_set_SSL_CTX
For #84
Diffstat (limited to 'src')
-rw-r--r--src/openssl.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/openssl.c b/src/openssl.c
index dc67d8a..890ca2c 100644
--- a/src/openssl.c
+++ b/src/openssl.c
@@ -8316,6 +8316,18 @@ static int ssl_interpose(lua_State *L) {
} /* ssl_interpose() */
+static int ssl_setContext(lua_State *L) {
+ SSL *ssl = checksimple(L, 1, SSL_CLASS);
+ SSL_CTX *ctx = checksimple(L, 2, SSL_CTX_CLASS);
+
+ if (!SSL_set_SSL_CTX(ssl, ctx))
+ return auxL_error(L, auxL_EOPENSSL, "ssl.setContext");
+
+ lua_pushboolean(L, 1);
+
+ return 1;
+} /* ssl_setContext() */
+
static int ssl_setOptions(lua_State *L) {
SSL *ssl = checksimple(L, 1, SSL_CLASS);
auxL_Integer options = auxL_checkinteger(L, 2);
@@ -8676,6 +8688,7 @@ static int ssl__gc(lua_State *L) {
static const auxL_Reg ssl_methods[] = {
+ { "setContext", &ssl_setContext },
{ "setOptions", &ssl_setOptions },
{ "getOptions", &ssl_getOptions },
{ "clearOptions", &ssl_clearOptions },