1
0
Fork 0
mirror of https://gitlab.alpinelinux.org/alpine/aports.git synced 2025-07-12 18:59:50 +03:00

main/lua-ossl: align with latest patch set

available at https://github.com/wahern/luaossl/pull/128

Earlier, an empty password was returned when the callback raised a Lua
error. Now the error is propagated to the OpenSSL level.

This commit also enables the -dbg subpackage.
This commit is contained in:
Kaarle Ritvanen 2025-02-03 21:26:05 +02:00
parent 4774030ac4
commit 96eb0e947a
11 changed files with 119 additions and 154 deletions

View file

@ -1,14 +1,14 @@
From 4589f5b1a5c2cbeab2069f9cdce605bc3a3096fb Mon Sep 17 00:00:00 2001
From db281ae9a12ce7518a92002c782ef697fc875f9c Mon Sep 17 00:00:00 2001
From: Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>
Date: Sun, 2 Sep 2018 13:07:20 +0300
Subject: [PATCH 01/10] pkey.toPEM: opts: rename const array
Subject: [PATCH 1/9] pkey.toPEM: opts: rename const array
---
src/openssl.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/openssl.c b/src/openssl.c
index 9a9de0f..acb8289 100644
index c3547bb..35ff49a 100644
--- a/src/openssl.c
+++ b/src/openssl.c
@@ -4675,14 +4675,14 @@ static int pk_toPEM(lua_State *L) {
@ -29,5 +29,5 @@ index 9a9de0f..acb8289 100644
if (!PEM_write_bio_PUBKEY(bio, key))
return auxL_error(L, auxL_EOPENSSL, "pkey:__tostring");
--
2.24.1
2.48.1

View file

@ -1,14 +1,14 @@
From 2fb6331a5304927fcfe915d5d42535d3d500f540 Mon Sep 17 00:00:00 2001
From 24ff6dab4a15529b1c71e3c70119cde65976dfcf Mon Sep 17 00:00:00 2001
From: Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>
Date: Sun, 2 Sep 2018 13:18:48 +0300
Subject: [PATCH 02/10] pkey.toPEM: accept table arguments
Subject: [PATCH 2/9] pkey.toPEM: accept table arguments
---
src/openssl.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/src/openssl.c b/src/openssl.c
index acb8289..1905693 100644
index 35ff49a..6df0a17 100644
--- a/src/openssl.c
+++ b/src/openssl.c
@@ -4681,8 +4681,17 @@ static int pk_toPEM(lua_State *L) {
@ -31,5 +31,5 @@ index acb8289..1905693 100644
if (!PEM_write_bio_PUBKEY(bio, key))
return auxL_error(L, auxL_EOPENSSL, "pkey:__tostring");
--
2.24.1
2.48.1

View file

@ -1,14 +1,14 @@
From 367597c9fbbd8c0179a8b2a75e5b0819ef5bc5d6 Mon Sep 17 00:00:00 2001
From 2f246ccfaba1c7a83274157ef917c0c169810d49 Mon Sep 17 00:00:00 2001
From: Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>
Date: Mon, 30 Apr 2018 13:26:16 +0300
Subject: [PATCH 03/10] pkey.toPEM: private key encryption
Subject: [PATCH 3/9] pkey.toPEM: private key encryption
---
src/openssl.c | 25 +++++++++++++++++++------
1 file changed, 19 insertions(+), 6 deletions(-)
diff --git a/src/openssl.c b/src/openssl.c
index 1905693..9b10165 100644
index 6df0a17..9432407 100644
--- a/src/openssl.c
+++ b/src/openssl.c
@@ -31,7 +31,7 @@
@ -59,5 +59,5 @@ index 1905693..9b10165 100644
len = BIO_get_mem_data(bio, &pem);
--
2.24.1
2.48.1

View file

@ -1,14 +1,14 @@
From f287bd7a314458a3870ee4e7fbdfc7e0ea41a4b6 Mon Sep 17 00:00:00 2001
From 312269de413d42c7049e87ed81a6449807c79069 Mon Sep 17 00:00:00 2001
From: Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>
Date: Sun, 2 Sep 2018 14:22:43 +0300
Subject: [PATCH 04/10] pkey.new: type: rename variable
Subject: [PATCH 4/9] pkey.new: type: rename variable
---
src/openssl.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/openssl.c b/src/openssl.c
index 9b10165..ed18e60 100644
index 9432407..7fef0e3 100644
--- a/src/openssl.c
+++ b/src/openssl.c
@@ -4299,7 +4299,7 @@ static int pk_new(lua_State *L) {
@ -39,5 +39,5 @@ index 9b10165..ed18e60 100644
BIO_reset(bio);
--
2.24.1
2.48.1

View file

@ -1,14 +1,14 @@
From 31403e7892b554458edc28a43f6f0552f3f27bac Mon Sep 17 00:00:00 2001
From 1d6f15950ae7834e2d49e7709e4a723a96eb8f46 Mon Sep 17 00:00:00 2001
From: Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>
Date: Sun, 2 Sep 2018 14:24:51 +0300
Subject: [PATCH 05/10] pkey.new: opt: rename variable
Subject: [PATCH 5/9] pkey.new: opt: rename variable
---
src/openssl.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/openssl.c b/src/openssl.c
index ed18e60..5904bf1 100644
index 7fef0e3..e5a19b8 100644
--- a/src/openssl.c
+++ b/src/openssl.c
@@ -4301,20 +4301,20 @@ static int pk_new(lua_State *L) {
@ -38,5 +38,5 @@ index ed18e60..5904bf1 100644
}
--
2.24.1
2.48.1

View file

@ -1,48 +0,0 @@
From 49ea990493039729e5a856f8bb3c758a0aa98a78 Mon Sep 17 00:00:00 2001
From: Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>
Date: Sun, 2 Sep 2018 14:40:07 +0300
Subject: [PATCH 06/10] optencoding: allow negative indices
---
src/openssl.c | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/src/openssl.c b/src/openssl.c
index 5904bf1..cb38f2f 100644
--- a/src/openssl.c
+++ b/src/openssl.c
@@ -846,8 +846,12 @@ static int optencoding(lua_State *L, int index, const char *def, int allow) {
break;
}
- if (!(type & allow))
- luaL_argerror(L, index, lua_pushfstring(L, "invalid option %s", luaL_checkstring(L, index)));
+ if (!(type & allow)) {
+ const char *arg = luaL_checkstring(L, index);
+ if (index > 0)
+ luaL_argerror(L, index, lua_pushfstring(L, "invalid format: %s", arg));
+ luaL_error(L, "invalid format: %s", arg);
+ }
return type;
} /* optencoding() */
@@ -1186,11 +1190,15 @@ static int auxL_testoption(lua_State *L, int index, const char *def, const char
static int auxL_checkoption(lua_State *L, int index, const char *def, const char *const *optlist, _Bool nocase) {
int i;
+ const char *arg;
if ((i = auxL_testoption(L, index, def, optlist, nocase)) >= 0)
return i;
- return luaL_argerror(L, index, lua_pushfstring(L, "invalid option '%s'", luaL_optstring(L, index, def)));
+ arg = luaL_optstring(L, index, def);
+ if (index > 0)
+ return luaL_argerror(L, index, lua_pushfstring(L, "invalid option '%s'", arg));
+ return luaL_error(L, "invalid option '%s'", arg);
} /* auxL_checkoption() */
/*
--
2.24.1

View file

@ -1,17 +1,17 @@
From 07e298a09b20f24d7a1efede41c04f398bb1022a Mon Sep 17 00:00:00 2001
From 53fd95f0c06d3c521c48dd01206f7d8b002f4625 Mon Sep 17 00:00:00 2001
From: Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>
Date: Sun, 2 Sep 2018 14:44:46 +0300
Subject: [PATCH 07/10] pkey.new: accept option table
Subject: [PATCH 6/9] pkey.new: accept option table
---
src/openssl.c | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
src/openssl.c | 20 +++++++++++++++-----
1 file changed, 15 insertions(+), 5 deletions(-)
diff --git a/src/openssl.c b/src/openssl.c
index cb38f2f..2aaa5d8 100644
index e5a19b8..9de08b4 100644
--- a/src/openssl.c
+++ b/src/openssl.c
@@ -4073,7 +4073,7 @@ static BIO *getbio(lua_State *L) {
@@ -4065,7 +4065,7 @@ static BIO *getbio(lua_State *L) {
static int pk_new(lua_State *L) {
EVP_PKEY **ud;
@ -20,7 +20,7 @@ index cb38f2f..2aaa5d8 100644
lua_settop(L, 3);
if (lua_istable(L, 1) || lua_isnil(L, 1)) {
@@ -4307,7 +4307,7 @@ static int pk_new(lua_State *L) {
@@ -4299,7 +4299,7 @@ static int pk_new(lua_State *L) {
#endif
} /* switch() */
} else if (lua_isstring(L, 1)) {
@ -29,22 +29,26 @@ index cb38f2f..2aaa5d8 100644
int pubonly = 0, prvtonly = 0;
const char *type, *data;
size_t len;
@@ -4315,14 +4315,21 @@ static int pk_new(lua_State *L) {
@@ -4307,6 +4307,18 @@ static int pk_new(lua_State *L) {
EVP_PKEY *pub = NULL, *prvt = NULL;
int goterr = 0;
+ if (lua_istable(L, 2)) {
+ lua_pop(L, 1);
+ lua_getfield(L, 2, "format");
+ lua_getfield(L, 2, "type");
+ lua_remove(L, 2);
+ }
+
+ format = optencoding(L, -2, "*", X509_ANY|X509_PEM|X509_DER);
+ /* #1 key, #2 format, #3 type */
+
+ data = luaL_checklstring(L, 1, &len);
+ format = optencoding(L, 2, "*", X509_ANY|X509_PEM|X509_DER);
+
/* check if specified publickey or privatekey */
- if ((type = luaL_optstring(L, 3, NULL))) {
+ if ((type = luaL_optstring(L, -1, NULL))) {
if ((type = luaL_optstring(L, 3, NULL))) {
if (xtolower(type[0]) == 'p' && xtolower(type[1]) == 'u') {
pubonly = 1;
@@ -4314,12 +4326,10 @@ static int pk_new(lua_State *L) {
} else if (xtolower(type[0]) == 'p' && xtolower(type[1]) == 'r') {
prvtonly = 1;
} else {
@ -53,6 +57,11 @@ index cb38f2f..2aaa5d8 100644
}
}
- data = luaL_checklstring(L, 1, &len);
-
ud = prepsimple(L, PKEY_CLASS);
if (!(bio = BIO_new_mem_buf((void *)data, len)))
--
2.24.1
2.48.1

View file

@ -1,14 +1,14 @@
From 132ac48cea935829c31f873aaab920a940bc6b98 Mon Sep 17 00:00:00 2001
From e66093e81cacacfabed9519b9cf4d58db6424256 Mon Sep 17 00:00:00 2001
From: Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>
Date: Mon, 30 Apr 2018 13:49:57 +0300
Subject: [PATCH 08/10] pkey.new: decryption
Subject: [PATCH 7/9] pkey.new: decryption
---
src/openssl.c | 32 +++++++++++++++++++++++++-------
1 file changed, 25 insertions(+), 7 deletions(-)
src/openssl.c | 30 ++++++++++++++++++++++++------
1 file changed, 24 insertions(+), 6 deletions(-)
diff --git a/src/openssl.c b/src/openssl.c
index 2aaa5d8..937ffa6 100644
index 9de08b4..dd46fb9 100644
--- a/src/openssl.c
+++ b/src/openssl.c
@@ -31,7 +31,7 @@
@ -20,13 +20,13 @@ index 2aaa5d8..937ffa6 100644
#include <math.h> /* INFINITY fabs(3) floor(3) frexp(3) fmod(3) round(3) isfinite(3) */
#include <time.h> /* struct tm time_t strptime(3) time(2) */
#include <ctype.h> /* isdigit(3), isxdigit(3), tolower(3) */
@@ -4070,6 +4070,15 @@ static BIO *getbio(lua_State *L) {
@@ -4062,6 +4062,15 @@ static BIO *getbio(lua_State *L) {
} /* getbio() */
+static int pem_pw_cb(char *buf, int size, int rwflag, void *u) {
+ if (!u)
+ return 0;
+ return -1;
+ char *pass = (char *) u;
+ strncpy(buf, pass, size);
+ return MIN(strlen(pass), (unsigned int) size);
@ -36,7 +36,7 @@ index 2aaa5d8..937ffa6 100644
static int pk_new(lua_State *L) {
EVP_PKEY **ud;
@@ -4309,7 +4318,7 @@ static int pk_new(lua_State *L) {
@@ -4301,7 +4310,7 @@ static int pk_new(lua_State *L) {
} else if (lua_isstring(L, 1)) {
int format;
int pubonly = 0, prvtonly = 0;
@ -45,39 +45,36 @@ index 2aaa5d8..937ffa6 100644
size_t len;
BIO *bio;
EVP_PKEY *pub = NULL, *prvt = NULL;
@@ -4318,12 +4327,14 @@ static int pk_new(lua_State *L) {
if (lua_istable(L, 2)) {
@@ -4311,10 +4320,12 @@ static int pk_new(lua_State *L) {
lua_pop(L, 1);
lua_getfield(L, 2, "format");
lua_getfield(L, 2, "type");
- }
+ lua_getfield(L, 2, "password");
lua_remove(L, 2);
- }
+ } else
+ lua_pushnil(L);
- format = optencoding(L, -2, "*", X509_ANY|X509_PEM|X509_DER);
+ format = optencoding(L, -3, "*", X509_ANY|X509_PEM|X509_DER);
- /* #1 key, #2 format, #3 type */
+ /* #1 key, #2 format, #3 type, #4 password or callback */
/* check if specified publickey or privatekey */
- if ((type = luaL_optstring(L, -1, NULL))) {
+ if ((type = luaL_optstring(L, -2, NULL))) {
if (xtolower(type[0]) == 'p' && xtolower(type[1]) == 'u') {
pubonly = 1;
} else if (xtolower(type[0]) == 'p' && xtolower(type[1]) == 'r') {
@@ -4333,6 +4344,13 @@ static int pk_new(lua_State *L) {
data = luaL_checklstring(L, 1, &len);
format = optencoding(L, 2, "*", X509_ANY|X509_PEM|X509_DER);
@@ -4330,6 +4341,13 @@ static int pk_new(lua_State *L) {
}
}
+ pass = luaL_optstring(L, -1, NULL);
+ pass = luaL_optstring(L, 4, NULL);
+ if (pass) {
+ if (format == X509_DER)
+ return luaL_error(L, "decryption supported only for PEM keys");
+ else format = X509_PEM;
+ }
+
data = luaL_checklstring(L, 1, &len);
ud = prepsimple(L, PKEY_CLASS);
@@ -4349,14 +4367,14 @@ static int pk_new(lua_State *L) {
if (!(bio = BIO_new_mem_buf((void *)data, len)))
@@ -4344,14 +4362,14 @@ static int pk_new(lua_State *L) {
*/
BIO_reset(bio);
@ -95,5 +92,5 @@ index 2aaa5d8..937ffa6 100644
}
}
--
2.24.1
2.48.1

View file

@ -1,17 +1,17 @@
From 4899a210dfdd91fa75b77601d29df0152aecc382 Mon Sep 17 00:00:00 2001
From 482c51d69e7985a17c560c9d44e2c60105a814f2 Mon Sep 17 00:00:00 2001
From: Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>
Date: Thu, 3 May 2018 21:21:16 +0300
Subject: [PATCH 09/10] pkey.toPEM: use password callback
Subject: [PATCH 8/9] pkey.toPEM: use password callback
---
src/openssl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/openssl.c b/src/openssl.c
index 937ffa6..3af285b 100644
index dd46fb9..9857603 100644
--- a/src/openssl.c
+++ b/src/openssl.c
@@ -4748,7 +4748,7 @@ static int pk_toPEM(lua_State *L) {
@@ -4743,7 +4743,7 @@ static int pk_toPEM(lua_State *L) {
return luaL_error(L, "pkey:toPEM: password not defined");
}
@ -21,5 +21,5 @@ index 937ffa6..3af285b 100644
len = BIO_get_mem_data(bio, &pem);
--
2.24.1
2.48.1

View file

@ -1,41 +1,48 @@
From cf6557954e012cb9f4453d84566bec30958c5a58 Mon Sep 17 00:00:00 2001
From de23b419138867f01eb2afba2adc12c866ddbcdb Mon Sep 17 00:00:00 2001
From: Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>
Date: Thu, 3 May 2018 21:37:30 +0300
Subject: [PATCH 10/10] pkey: PEM password callback
Subject: [PATCH 9/9] pkey: PEM password callback
---
src/openssl.c | 37 +++++++++++++++++++++++++++----------
1 file changed, 27 insertions(+), 10 deletions(-)
src/openssl.c | 44 ++++++++++++++++++++++++++++++++++----------
1 file changed, 34 insertions(+), 10 deletions(-)
diff --git a/src/openssl.c b/src/openssl.c
index 3af285b..03c2b68 100644
index 9857603..6b48450 100644
--- a/src/openssl.c
+++ b/src/openssl.c
@@ -4071,9 +4071,21 @@ static BIO *getbio(lua_State *L) {
@@ -4062,10 +4062,28 @@ static BIO *getbio(lua_State *L) {
} /* getbio() */
+/*
+ * PEM password callback for openssl
+ *
+ * Expects nil, string, or function on top of the stack. Leaves one item on the
+ * top of the stack: the original string, the string returned by the function,
+ * or nil (in case of an error or missing password).
+ *
+ * This callback may be called twice by pk_new when the PEM key is encrypted and
+ * its type is not specified. The user-provided function is called only once
+ * because it gets replaced on the stack by the return value. This callback may
+ * not be called at all if the supplied PEM key is not encrypted.
+ */
static int pem_pw_cb(char *buf, int size, int rwflag, void *u) {
- if (!u)
+ lua_State *L = (lua_State *) u;
+
+ if (lua_isnil(L, -1))
return 0;
- char *pass = (char *) u;
+
+ if (lua_isfunction(L, -1) && lua_pcall(L, 0, 1, 0)) {
+ if (lua_isfunction(L, -1) && lua_pcall(L, 0, 1, 0) || !lua_isstring(L, -1)) {
+ lua_pop(L, 1);
+ lua_pushnil(L);
+ return 0;
return -1;
- char *pass = (char *) u;
+ }
+
+ const char *pass = lua_tostring(L, -1);
+ if (!pass)
+ return 0;
+
strncpy(buf, pass, size);
return MIN(strlen(pass), (unsigned int) size);
} /* pem_pw_cb() */
@@ -4318,7 +4330,7 @@ static int pk_new(lua_State *L) {
@@ -4310,7 +4328,7 @@ static int pk_new(lua_State *L) {
} else if (lua_isstring(L, 1)) {
int format;
int pubonly = 0, prvtonly = 0;
@ -44,26 +51,26 @@ index 3af285b..03c2b68 100644
size_t len;
BIO *bio;
EVP_PKEY *pub = NULL, *prvt = NULL;
@@ -4344,8 +4356,7 @@ static int pk_new(lua_State *L) {
@@ -4341,8 +4359,7 @@ static int pk_new(lua_State *L) {
}
}
- pass = luaL_optstring(L, -1, NULL);
- pass = luaL_optstring(L, 4, NULL);
- if (pass) {
+ if (!lua_isnil(L, -1)) {
+ if (!lua_isnil(L, 4)) {
if (format == X509_DER)
return luaL_error(L, "decryption supported only for PEM keys");
else format = X509_PEM;
@@ -4359,6 +4370,8 @@ static int pk_new(lua_State *L) {
@@ -4354,6 +4371,8 @@ static int pk_new(lua_State *L) {
return auxL_error(L, auxL_EOPENSSL, "pkey.new");
if (format == X509_PEM || format == X509_ANY) {
+ lua_pushvalue(L, -2);
+ lua_pushvalue(L, 4);
+
if (!prvtonly && !pub) {
/*
* BIO_reset is a rewind for read-only
@@ -4367,16 +4380,18 @@ static int pk_new(lua_State *L) {
@@ -4362,16 +4381,18 @@ static int pk_new(lua_State *L) {
*/
BIO_reset(bio);
@ -84,7 +91,7 @@ index 3af285b..03c2b68 100644
}
if (format == X509_DER || format == X509_ANY) {
@@ -4717,7 +4732,6 @@ static int pk_toPEM(lua_State *L) {
@@ -4712,7 +4733,6 @@ static int pk_toPEM(lua_State *L) {
int type;
const char *cname = NULL;
const EVP_CIPHER *cipher = NULL;
@ -92,7 +99,7 @@ index 3af285b..03c2b68 100644
if (lua_istable(L, i)) {
loadfield(L, i, "cipher", LUA_TSTRING, &cname);
@@ -4744,13 +4758,16 @@ static int pk_toPEM(lua_State *L) {
@@ -4739,13 +4759,17 @@ static int pk_toPEM(lua_State *L) {
cipher = EVP_get_cipherbyname(cname);
if (!cipher)
return luaL_error(L, "pkey:toPEM: unknown cipher: %s", cname);
@ -100,17 +107,18 @@ index 3af285b..03c2b68 100644
+ if (!getfield(L, i, "password"))
return luaL_error(L, "pkey:toPEM: password not defined");
}
+ else
+ lua_pushnil(L);
- if (!PEM_write_bio_PrivateKey(bio, key, cipher, NULL, 0, pem_pw_cb, pass))
+ if (!PEM_write_bio_PrivateKey(bio, key, cipher, NULL, 0, pem_pw_cb, L))
return auxL_error(L, auxL_EOPENSSL, "pkey:__tostring");
+ if (cname)
+ lua_pop(L, 1);
+ lua_pop(L, 1);
+
len = BIO_get_mem_data(bio, &pem);
lua_pushlstring(L, pem, len);
BIO_reset(bio);
--
2.24.1
2.48.1

View file

@ -3,7 +3,7 @@ pkgname=lua-ossl
_pkgname=luaossl
pkgver=20220711
_ver=${pkgver%_git*}
pkgrel=2
pkgrel=3
pkgdesc="comprehensive OpenSSL Lua module"
url="https://25thandclement.com/~william/projects/luaossl.html"
arch="all"
@ -15,11 +15,10 @@ source="$_pkgname-$_ver.tar.gz::https://github.com/wahern/$_pkgname/archive/rel-
0003-pkey.toPEM-private-key-encryption.patch
0004-pkey.new-type-rename-variable.patch
0005-pkey.new-opt-rename-variable.patch
0006-optencoding-allow-negative-indices.patch
0007-pkey.new-accept-option-table.patch
0008-pkey.new-decryption.patch
0009-pkey.toPEM-use-password-callback.patch
0010-pkey-PEM-password-callback.patch
0006-pkey.new-accept-option-table.patch
0007-pkey.new-decryption.patch
0008-pkey.toPEM-use-password-callback.patch
0009-pkey-PEM-password-callback.patch
"
builddir="$srcdir/$_pkgname-rel-$pkgver"
options="!check" # https://gitlab.alpinelinux.org/alpine/aports/-/issues/15383
@ -30,6 +29,7 @@ for _v in $_luaversions; do
subpackages="$subpackages lua$_v-${pkgname#lua-}:_package"
checkdepends="$checkdepends lua$_v-cqueues"
done
subpackages="$subpackages $pkgname-dbg"
build() {
make config prefix=/usr
@ -79,14 +79,13 @@ _package() {
sha512sums="
13c51881218a5a9995d195d4781f6871f0dfe58f061b85dd997b98ec970a38302ac6b057b7987bff5f7719bfdb826aae09f602ea8db5e4b2d462648ad0236909 luaossl-20220711.tar.gz
896fd302480b42829c79226d08c05e9ed7348ba441ac15a2d4e0d473486f1476b36bc296878d55e5678864e6161861ab2e178973f3e1d7f3c2d4a915a62c7471 0001-pkey.toPEM-opts-rename-const-array.patch
9362910e3bc5e1f3110d2e6f49c086374a9277698c26917a2b43e312f81160f5330212a27915efc8cd969273452f7057bf4db9cdb8481728067d1b10e03230cd 0002-pkey.toPEM-accept-table-arguments.patch
2a021ab500e1539ba7259ef38e1e015c3ecf561b31c7f344732cbf860525db8335acd61eaaa10049881b862f17064d640da6dedeeb94d92b3aeba32d822b575c 0003-pkey.toPEM-private-key-encryption.patch
2b1a0b702ba3e4787a706ba87b79eed7ea373075a2eb8b858258e8bed105222198a8ed73aa3aa973d24d9c2d7227bda7f049f01bda0b495da5a610789c63e187 0004-pkey.new-type-rename-variable.patch
849aeef985cf9693b19b3f5131954c107c166871327bd2ae4db48b99b5e1bfa738270b9647a47cc8757d9f627b5bff4dc5ba71255be9ed9ee7741677df983b1f 0005-pkey.new-opt-rename-variable.patch
9635f795875173842ed8fe286dfc2721a6af561fd3a25236bb5609875f4cbbe3a1b6021103747bd2d8acf03eb25d3eba1dd8e13ea2410776b8346493dcead221 0006-optencoding-allow-negative-indices.patch
9b992db5d0c33258e3858bd60c2a085669112089658600fe8b84be947d33ee858a0189fc5aef96565c226ebaf3ae9a326c23fb993c95c5f3ae0caa02844f2632 0007-pkey.new-accept-option-table.patch
f8b3a1c4815f03180ca60df62e6be307c180a9d5225dcb6b78b5f6fc2d67f176756d02b1a8cd06e1909b0b0430ae876b5b1172b090ba9b8b9873169ad21b354f 0008-pkey.new-decryption.patch
fc433f9e15479083f1d737247556a2404704727712604c43d0bc93d3d7269dc73e07acd09bfaa46dfade6756cb67bcbf586aadf58f9b48c6c39ecb659ed02640 0009-pkey.toPEM-use-password-callback.patch
edcbf7110c838404bda83a4d15719264e798ddd18d2b550652d6e07218104f9bfbf33a6a08ab9baa2491a56c8723394663a06be669aee92d3b3ecd83cc5f0305 0010-pkey-PEM-password-callback.patch
e29008762e343562185eddb64fa5ff5af140f1b1afd0efe7c3bea4ffed0b37007775ebaacf09f544072c57b9e3d9b16ffac6d9bb3e40a3315615d0847279e5c4 0001-pkey.toPEM-opts-rename-const-array.patch
28885647496621017223adfb8e737b56cd42f817d7c78141f36ab6fc1fd9c9cc688c6a078ff01f5ca016e5f5ee97d826558709819bc010da575d19aa3182777e 0002-pkey.toPEM-accept-table-arguments.patch
c843b2a3b10263cbd283a1f5545f137022039ea1ef0aaaf8af16ddcf439655de3a5924ff0bd57c54d4a9d7f81dd69ae4a689e7f4d40200fde140342937cc37a9 0003-pkey.toPEM-private-key-encryption.patch
c4de6a01dd42bd788317e3b9e81a18297b4db77aaa869c565a51e2d9052f11e82f4c3b32d19f2442d7eb1175b68e8978e681599a5d8ce4f9aa1c21a6be330cd2 0004-pkey.new-type-rename-variable.patch
1721ccba5bf7f0fb8cc40415985a67c9d68614ad0c396be95beb9a0c15daf8af5dbc40459a80814932c8bfb66813c09743a02dc32dd20fcc7f6af980bddecebd 0005-pkey.new-opt-rename-variable.patch
8f4c74e9fedc021f8a61b6732e8e3fcf86265b2a7e741466264e2521d84af97a41bc6a2385d8860ad468dd895daa84024e84e3684ee244c1ecf169c129df6281 0006-pkey.new-accept-option-table.patch
29f2dc70d179acdb9187cb41b30a72ebad41fb5241570dc898221d238101fca74bb9a230a8fbab8f586bc702cf29d5cc9fcc48f5df5c4eac01e19afd925a79ed 0007-pkey.new-decryption.patch
74a4ad2f56beb0ea3191f6e3c09da4fdc8b2c79b3ecbb873ef00e73653436ec6214cdf5c86c12ea0097bf8219fa0465b88a103c3b3bbda6388c2b3ff6699a64f 0008-pkey.toPEM-use-password-callback.patch
3da6bf8940923ba224c03d1c972c95f6088fcce25d550c0d0a1a0d0a71a54203582f4021dd69b28d99796a5adda72f7d8a079a8900905e388e9bce3bfdda36d4 0009-pkey-PEM-password-callback.patch
"