diff options
author | daurnimator <quae@daurnimator.com> | 2017-04-06 14:51:22 +1000 |
---|---|---|
committer | daurnimator <quae@daurnimator.com> | 2017-04-12 15:35:48 +1000 |
commit | f92ced1a1448c07ae19c3832a278867859371f76 (patch) | |
tree | 621c2583562ab12a2eebaa93a4b5c3c467cf3bc3 /src/openssl.ssl.lua | |
parent | a0346d8054d3b19a7e30b5de70048c001d8c2c26 (diff) | |
download | luaossl-f92ced1a1448c07ae19c3832a278867859371f76.tar.gz luaossl-f92ced1a1448c07ae19c3832a278867859371f76.tar.bz2 luaossl-f92ced1a1448c07ae19c3832a278867859371f76.zip |
openssl.ssl: Bind SSL_set1_curves_list as ssl:setCurvesList()
Diffstat (limited to 'src/openssl.ssl.lua')
-rw-r--r-- | src/openssl.ssl.lua | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/openssl.ssl.lua b/src/openssl.ssl.lua index 3c348f6..bf90f29 100644 --- a/src/openssl.ssl.lua +++ b/src/openssl.ssl.lua | |||
@@ -1,3 +1,19 @@ | |||
1 | local ctx = require"_openssl.ssl" | 1 | local ssl = require"_openssl.ssl" |
2 | 2 | ||
3 | return ctx | 3 | local pack = table.pack or function(...) return { n = select("#", ...); ... } end |
4 | |||
5 | -- Allow passing a vararg of curves, or an array | ||
6 | local setCurvesList = ssl.interpose("setCurvesList", nil) | ||
7 | if setCurvesList then | ||
8 | ssl.interpose("setCurvesList", function (self, curves, ...) | ||
9 | if (...) then | ||
10 | local curves_t = pack(curves, ...) | ||
11 | curves = table.concat(curves_t, ":", 1, curves_t.n) | ||
12 | elseif type(curves) == "table" then | ||
13 | curves = table.concat(curves, ":") | ||
14 | end | ||
15 | return setCurvesList(self, curves) | ||
16 | end) | ||
17 | end | ||
18 | |||
19 | return ssl | ||