summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lua/lua-openssl')
-rw-r--r--dev-lua/lua-openssl/Manifest6
-rw-r--r--dev-lua/lua-openssl/files/0001-fix-libressl-compat.patch433
-rw-r--r--dev-lua/lua-openssl/lua-openssl-0.7.3.ebuild60
-rw-r--r--dev-lua/lua-openssl/lua-openssl-0.9.0_p0.ebuild128
-rw-r--r--dev-lua/lua-openssl/metadata.xml16
5 files changed, 141 insertions, 502 deletions
diff --git a/dev-lua/lua-openssl/Manifest b/dev-lua/lua-openssl/Manifest
index a2022b3e4ba5..a002c80a9b76 100644
--- a/dev-lua/lua-openssl/Manifest
+++ b/dev-lua/lua-openssl/Manifest
@@ -1,3 +1,3 @@
-DIST lua-openssl-0.7.3.tar.gz 383743 BLAKE2B 2709eed607e6d752488cacd5b96ee4a845f1ec13948fc7e40e45af968f240579b5d96ab69380f87d7edfc8a55aa44b099e9a592891f78a7928d172f5abcbc9fb SHA512 00eea8d4d04e167456a7602ae111cb768db61f7bdf9e0056c424bdcd67618811cd304543f95ecb273c66c6b41779e2fe721cb43bc332765ce77effb6245edbe2
-DIST lua-openssl-aux-b56f6937096acea34ddf241ec7ea08ac52414d18.tar.gz 3684 BLAKE2B 78e92c6cc1c2a29b00a9179db71a9404aff40a0e844f2f092b7868bbf98b6f3fa9519c63a2c38304ce2928b007bd4c015c5afa66ca32b1646035ebb949b3c655 SHA512 ba1eaf7c6b58fde48f47146d6c773368484ea10a229d6a45f317bda8d8cc21829ceda68071685f1b071e150936362b934b90532344ebb266febcc0efa45904f4
-DIST lua-openssl-compat-daebe77a2f498817713df37f0bb316db1d82222f.tar.gz 51418 BLAKE2B 1d04684e6b6d850bdf6bd3165a90c6a08bd93b757d91e387da152bcb3fc4756db5c16f3cc12ecf33bcdd647742c7923cc2e72627beb5527c5e9dfbfd63c147ba SHA512 60ec9ecfc4e4ad47b6a8189ffb1e7c83fe8b9e9df13cb91bf33725905ab72bff3d3009e8ad04fb73fd7255facdbb8279f20bfd160aee89b12c25431786eaca14
+DIST lua-auxiliar-8d09895473b73e4fb72b7573615f69c36e1860a2.tar.gz 3690 BLAKE2B 8e31e8ad75bcc5840223068fdc9b634c2cbc42d713bba0792a0b04f8e018e36e3bab16a07aaa725d8b2bbd55c3a74271a21366c2cde1b4c6bd735c9438efedec SHA512 c461c23cd50ef43aa37ce2c819a9a485ead1011ecb5ff083a092e49ac79d5398aff1631f441cb8e59acd820024ed51e74420b74da751c0fccd2cfce94f039952
+DIST lua-compat-5.3-0.10.tar.gz 53695 BLAKE2B e570aedb23b8ed7ca38c4316ffab25b93a0f9f6f0fae79af563ca8a81dd6453ac273e1f9e70674c484a2dec68749e7d53a1c1736a72616c210b8e38a31b3f191 SHA512 f7f39085f4f6b16095f41e635b4c5477b3dab5e42b5b65a9d522941a3807ea521d4a27a77293a3c9d0ecea78a1f6c2a2497394b2d220f4d7d65e23510563d46d
+DIST lua-openssl-0.9.0_p0.tar.gz 415793 BLAKE2B 74fd4565ecbca90d9ca141bd909d403e2d16f68df089b86f747e7c37e6b57c81f1f94e468180f99f564e613afec5fe6aeb18de78d88aa2f41b6395fba2e7c884 SHA512 146231335c036f9dc0c4c5c40d93aa59e47f761afc5d1ee695c336d1b881c51d52cec3d1903cda6bc3c57224e041e17faab3be61dee6b1a154db22b47f9cc303
diff --git a/dev-lua/lua-openssl/files/0001-fix-libressl-compat.patch b/dev-lua/lua-openssl/files/0001-fix-libressl-compat.patch
deleted file mode 100644
index 19b0539c0820..000000000000
--- a/dev-lua/lua-openssl/files/0001-fix-libressl-compat.patch
+++ /dev/null
@@ -1,433 +0,0 @@
-From 44d5360d0caed1f4f364691f789fe825fcd17a3e Mon Sep 17 00:00:00 2001
-From: crito <crito@fnordpipe.org>
-Date: Mon, 1 Oct 2018 20:10:05 +0200
-Subject: [PATCH] fix libressl compat
-
-add conditions to build with libressl and add missing functions.
-backported from upstream repo.
----
- src/compat.c | 11 ++++++++---
- src/digest.c | 2 +-
- src/ec.c | 2 +-
- src/engine.c | 10 +++++-----
- src/lhash.c | 7 ++++---
- src/openssl.c | 12 ++++++++++--
- src/ots.c | 5 +++++
- src/pkcs7.c | 24 ++++++++++++------------
- src/private.h | 7 ++++---
- src/sm2.c | 2 +-
- src/srp.c | 3 ++-
- src/x509.c | 2 +-
- 12 files changed, 54 insertions(+), 33 deletions(-)
-
-diff --git a/src/compat.c b/src/compat.c
-index cc4cc21..cc45845 100644
---- a/src/compat.c
-+++ b/src/compat.c
-@@ -5,7 +5,7 @@
- #include "openssl.h"
- #include "private.h"
-
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- int BIO_up_ref(BIO *b)
- {
- CRYPTO_add(&b->references, 1, CRYPTO_LOCK_BIO);
-@@ -16,6 +16,11 @@ int X509_up_ref(X509 *x)
- CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
- return 1;
- }
-+int X509_CRL_up_ref(X509_CRL *x)
-+{
-+ int refs = CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509_CRL);
-+ return (refs > 1) ? 1 : 0;
-+}
- int X509_STORE_up_ref(X509_STORE *s)
- {
- CRYPTO_add(&s->references, 1, CRYPTO_LOCK_X509_STORE);
-@@ -464,7 +469,7 @@ const ASN1_BIT_STRING *TS_STATUS_INFO_get0_failure_info(const TS_STATUS_INFO *a)
- return a->failure_info;
- }
-
--#if OPENSSL_VERSION_NUMBER < 0x10002000L
-+#if OPENSSL_VERSION_NUMBER < 0x10002000L || defined(LIBRESSL_VERSION_NUMBER)
- int i2d_re_X509_tbs(X509 *x, unsigned char **pp)
- {
- x->cert_info->enc.modified = 1;
-@@ -527,4 +532,4 @@ unsigned char *TS_VERIFY_CTX_set_imprint(TS_VERIFY_CTX *ctx,
- return ctx->imprint;
- }
-
--#endif /* < 1.1.0 */
-\ No newline at end of file
-+#endif /* < 1.1.0 */
-diff --git a/src/digest.c b/src/digest.c
-index 02e8fe1..0dcf65b 100644
---- a/src/digest.c
-+++ b/src/digest.c
-@@ -468,7 +468,7 @@ restore md data
- static LUA_FUNCTION(openssl_digest_ctx_data)
- {
- EVP_MD_CTX *ctx = CHECK_OBJECT(1, EVP_MD_CTX, "openssl.evp_digest_ctx");
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- if (lua_isnone(L, 2))
- {
- lua_pushlstring(L, ctx->md_data, ctx->digest->ctx_size);
-diff --git a/src/ec.c b/src/ec.c
-index f0d2b6b..5db32db 100644
---- a/src/ec.c
-+++ b/src/ec.c
-@@ -611,7 +611,7 @@ static int openssl_ecdsa_set_method(lua_State *L)
- {
- EC_KEY *ec = CHECK_OBJECT(1, EC_KEY, "openssl.ec_key");
- ENGINE *e = CHECK_OBJECT(2, ENGINE, "openssl.engine");
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- const ECDSA_METHOD *m = ENGINE_get_ECDSA(e);
- if (m) {
- int r = ECDSA_set_method(ec, m);
-diff --git a/src/engine.c b/src/engine.c
-index 1a26d8b..f12ca53 100644
---- a/src/engine.c
-+++ b/src/engine.c
-@@ -14,7 +14,7 @@ enum
- {
- TYPE_RSA,
- TYPE_DSA,
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- TYPE_ECDH,
- TYPE_ECDSA,
- #else
-@@ -24,7 +24,7 @@ enum
- TYPE_RAND,
- TYPE_CIPHERS,
- TYPE_DIGESTS,
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- TYPE_STORE,
- #else
- TYPE_PKEY_METHODS,
-@@ -150,7 +150,7 @@ static int openssl_engine_register(lua_State*L)
- else
- ENGINE_register_DSA(eng);
- break;
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- case TYPE_ECDH:
- if (unregister)
- ENGINE_unregister_ECDH(eng);
-@@ -183,7 +183,7 @@ static int openssl_engine_register(lua_State*L)
- else
- ENGINE_register_RAND(eng);
- break;
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- case TYPE_STORE:
- if (unregister)
- ENGINE_unregister_STORE(eng);
-@@ -392,7 +392,7 @@ static int openssl_engine_set_default(lua_State*L)
- case TYPE_DSA:
- ret = ENGINE_set_default_DSA(eng);
- break;
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- case TYPE_ECDH:
- ret = ENGINE_set_default_ECDH(eng);
- break;
-diff --git a/src/lhash.c b/src/lhash.c
-index 564bb52..8057efb 100644
---- a/src/lhash.c
-+++ b/src/lhash.c
-@@ -130,21 +130,22 @@ static void dump_value_doall_arg(CONF_VALUE *a, lua_State *L)
- }
- }
-
--#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
- IMPLEMENT_LHASH_DOALL_ARG_CONST(CONF_VALUE, lua_State);
- #elif OPENSSL_VERSION_NUMBER >= 0x10000002L
- static IMPLEMENT_LHASH_DOALL_ARG_FN(dump_value, CONF_VALUE, lua_State)
- #endif
-+#if !defined(LIBRESSL_VERSION_NUMBER)
- #define LHM_lh_doall_arg(type, lh, fn, arg_type, arg) \
- lh_doall_arg(CHECKED_LHASH_OF(type, lh), fn, CHECKED_PTR_OF(arg_type, arg))
--
-+#endif
-
- static LUA_FUNCTION(openssl_lhash_parse)
- {
- LHASH* lhash = CHECK_OBJECT(1, LHASH, "openssl.lhash");
-
- lua_newtable(L);
--#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
- lh_CONF_VALUE_doall_lua_State(lhash, dump_value_doall_arg, L);
- #elif OPENSSL_VERSION_NUMBER >= 0x10000002L
- lh_CONF_VALUE_doall_arg(lhash, LHASH_DOALL_ARG_FN(dump_value), lua_State, L);
-diff --git a/src/openssl.c b/src/openssl.c
-index 994c22b..debea63 100644
---- a/src/openssl.c
-+++ b/src/openssl.c
-@@ -338,6 +338,9 @@ get FIPS mode
- */
- static int openssl_fips_mode(lua_State *L)
- {
-+#if defined(LIBRESSL_VERSION_NUMBER)
-+ return 0;
-+#else
- int ret =0, on = 0;
- if(lua_isnone(L, 1))
- {
-@@ -353,6 +356,7 @@ static int openssl_fips_mode(lua_State *L)
- else
- ret = openssl_pushresult(L, ret);
- return ret;
-+#endif
- }
-
- #ifndef OPENSSL_NO_CRYPTO_MDEBUG
-@@ -405,7 +409,9 @@ void CRYPTO_thread_cleanup(void);
-
- static int luaclose_openssl(lua_State *L)
- {
-+#if !defined(LIBRESSL_VERSION_NUMBER)
- FIPS_mode_set(0);
-+#endif
- #if defined(OPENSSL_THREADS)
- CRYPTO_thread_cleanup();
- #endif
-@@ -421,7 +427,7 @@ static int luaclose_openssl(lua_State *L)
- CRYPTO_cleanup_all_ex_data();
- #ifndef OPENSSL_NO_CRYPTO_MDEBUG
- #if !(defined(OPENSSL_NO_STDIO) || defined(OPENSSL_NO_FP_API))
--#if OPENSSL_VERSION_NUMBER < 0x10101000L
-+#if OPENSSL_VERSION_NUMBER < 0x10101000L || defined(LIBRESSL_VERSION_NUMBER)
- CRYPTO_mem_leaks_fp(stderr);
- #else
- if(CRYPTO_mem_leaks_fp(stderr)!=1)
-@@ -541,13 +547,15 @@ LUALIB_API int luaopen_openssl(lua_State*L)
- luaopen_dh(L);
- lua_setfield(L, -2, "dh");
-
--#if (OPENSSL_VERSION_NUMBER >= 0x10101007L) && !defined(OPENSSL_NO_SM2)
-+#if (OPENSSL_VERSION_NUMBER >= 0x10101007L) && !defined(OPENSSL_NO_SM2) && !defined(LIBRESSL_VERSION_NUMBER)
- luaopen_sm2(L);
- lua_setfield(L, -2, "sm2");
- #endif
-
-+#if !defined(LIBRESSL_VERSION_NUMBER)
- luaopen_srp(L);
- lua_setfield(L, -2, "srp");
-+#endif
-
- #ifdef ENABLE_OPENSSL_GLOBAL
- lua_pushvalue(L, -1);
-diff --git a/src/ots.c b/src/ots.c
-index 6b75946..762d17e 100644
---- a/src/ots.c
-+++ b/src/ots.c
-@@ -1265,7 +1265,12 @@ static LUA_FUNCTION(openssl_ts_resp_ctx_set_time_cb)
- arg->cb_arg = luaL_ref(L, LUA_REGISTRYINDEX);
-
- openssl_valueset(L, ctx, time_cb_key);
-+#if defined(LIBRESSL_VERSION_NUMBER)
-+ ctx->time_cb = openssl_time_cb;
-+ ctx->time_cb_data = L;
-+#else
- TS_RESP_CTX_set_time_cb(ctx, openssl_time_cb, L);
-+#endif
- return 0;
- }
-
-diff --git a/src/pkcs7.c b/src/pkcs7.c
-index f043c86..f0e5221 100644
---- a/src/pkcs7.c
-+++ b/src/pkcs7.c
-@@ -346,7 +346,7 @@ static int openssl_pkcs7_dataFinal(PKCS7 *p7, BIO *bio)
- os = p7->d.signed_and_enveloped->enc_data->enc_data;
- if (!os)
- {
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- os = M_ASN1_OCTET_STRING_new();
- #else
- os = ASN1_OCTET_STRING_new();
-@@ -364,7 +364,7 @@ static int openssl_pkcs7_dataFinal(PKCS7 *p7, BIO *bio)
- os = p7->d.enveloped->enc_data->enc_data;
- if (!os)
- {
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- os = M_ASN1_OCTET_STRING_new();
- #else
- os = ASN1_OCTET_STRING_new();
-@@ -383,7 +383,7 @@ static int openssl_pkcs7_dataFinal(PKCS7 *p7, BIO *bio)
- /* If detached data then the content is excluded */
- if (PKCS7_type_is_data(p7->d.sign->contents) && p7->detached)
- {
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- M_ASN1_OCTET_STRING_free(os);
- #else
- ASN1_OCTET_STRING_free(os);
-@@ -398,7 +398,7 @@ static int openssl_pkcs7_dataFinal(PKCS7 *p7, BIO *bio)
- /* If detached data then the content is excluded */
- if (PKCS7_type_is_data(p7->d.digest->contents) && p7->detached)
- {
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- M_ASN1_OCTET_STRING_free(os);
- #else
- ASN1_OCTET_STRING_free(os);
-@@ -474,7 +474,7 @@ static int openssl_pkcs7_dataFinal(PKCS7 *p7, BIO *bio)
- goto err;
- if (!EVP_DigestFinal_ex(mdc, md_data, &md_len))
- goto err;
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- M_ASN1_OCTET_STRING_set(p7->d.digest->digest, md_data, md_len);
- #else
- ASN1_OCTET_STRING_set(p7->d.digest->digest, md_data, md_len);
-@@ -577,7 +577,7 @@ int PKCS7_signatureVerify_digest(PKCS7 *p7, PKCS7_SIGNER_INFO *si, X509 *x509,
-
- md_type = OBJ_obj2nid(si->digest_alg->algorithm);
- md = EVP_get_digestbynid(md_type);
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- if (!md || !data || (hash && len != (size_t) md->ctx_size) )
- goto err;
-
-@@ -1137,7 +1137,7 @@ static LUA_FUNCTION(openssl_pkcs7_sign_digest)
- os = p7->d.signed_and_enveloped->enc_data->enc_data;
- if (!os)
- {
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- os = M_ASN1_OCTET_STRING_new();
- #else
- os = ASN1_OCTET_STRING_new();
-@@ -1155,7 +1155,7 @@ static LUA_FUNCTION(openssl_pkcs7_sign_digest)
- os = p7->d.enveloped->enc_data->enc_data;
- if (!os)
- {
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- os = M_ASN1_OCTET_STRING_new();
- #else
- os = ASN1_OCTET_STRING_new();
-@@ -1174,7 +1174,7 @@ static LUA_FUNCTION(openssl_pkcs7_sign_digest)
- /* If detached data then the content is excluded */
- if (PKCS7_type_is_data(p7->d.sign->contents) && p7->detached)
- {
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- M_ASN1_OCTET_STRING_free(os);
- #else
- ASN1_OCTET_STRING_free(os);
-@@ -1189,7 +1189,7 @@ static LUA_FUNCTION(openssl_pkcs7_sign_digest)
- /* If detached data then the content is excluded */
- if (PKCS7_type_is_data(p7->d.digest->contents) && p7->detached)
- {
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- M_ASN1_OCTET_STRING_free(os);
- #else
- ASN1_OCTET_STRING_free(os);
-@@ -1217,7 +1217,7 @@ static LUA_FUNCTION(openssl_pkcs7_sign_digest)
-
- if (hash)
- {
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- if (l == (size_t) mdc->digest->ctx_size)
- {
- memcpy(mdc->md_data, data, l);
-@@ -1272,7 +1272,7 @@ static LUA_FUNCTION(openssl_pkcs7_sign_digest)
- unsigned int md_len;
- md = EVP_get_digestbynid(OBJ_obj2nid(p7->d.digest->md->algorithm));
- EVP_DigestInit_ex(mdc, md, NULL);
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- if (l == (size_t) mdc->digest->ctx_size)
- {
- memcpy(mdc->md_data, data, l);
-diff --git a/src/private.h b/src/private.h
-index 8e9d5b8..7140cae 100644
---- a/src/private.h
-+++ b/src/private.h
-@@ -46,9 +46,10 @@ extern "C" {
- luaL_getmetatable(L,"openssl.bn"); \
- lua_setmetatable(L,-2)
-
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- int BIO_up_ref(BIO *b);
- int X509_up_ref(X509 *x);
-+int X509_CRL_up_ref(X509_CRL *x);
- int X509_STORE_up_ref(X509_STORE *s);
- int EVP_PKEY_up_ref(EVP_PKEY *pkey);
-
-@@ -124,12 +125,12 @@ STACK_OF(X509) *TS_VERIFY_CTS_set_certs(TS_VERIFY_CTX *ctx,
- unsigned char *TS_VERIFY_CTX_set_imprint(TS_VERIFY_CTX *ctx,
- unsigned char *hexstr, long len);
-
--#if OPENSSL_VERSION_NUMBER < 0x10002000L
-+#if OPENSSL_VERSION_NUMBER < 0x10002000L || defined(LIBRESSL_VERSION_NUMBER)
- int i2d_re_X509_tbs(X509 *x, unsigned char **pp);
-+#endif
- void X509_get0_signature(ASN1_BIT_STRING **psig, X509_ALGOR **palg,
- const X509 *x);
- int X509_get_signature_nid(const X509 *x);
--#endif
-
- #endif
-
-diff --git a/src/sm2.c b/src/sm2.c
-index 0655888..1db3198 100644
---- a/src/sm2.c
-+++ b/src/sm2.c
-@@ -1,7 +1,7 @@
- #include "openssl.h"
- #include "private.h"
-
--#if (OPENSSL_VERSION_NUMBER >= 0x10101007L) && !defined(OPENSSL_NO_SM2)
-+#if (OPENSSL_VERSION_NUMBER >= 0x10101007L) && !defined(OPENSSL_NO_SM2) && !defined(LIBRESSL_VERSION_NUMBER)
-
- # include <openssl/sm2.h>
-
-diff --git a/src/srp.c b/src/srp.c
-index 85626b5..6fb0a50 100644
---- a/src/srp.c
-+++ b/src/srp.c
-@@ -1,6 +1,7 @@
- #include "openssl.h"
- #include "private.h"
-
-+#if !defined(LIBRESSL_VERSION_NUMBER)
- #include <openssl/srp.h>
- #include <openssl/bn.h>
-
-@@ -198,4 +199,4 @@ int luaopen_srp(lua_State *L)
- lua_settable(L, -3);
- return 1;
- }
--
-+#endif
-diff --git a/src/x509.c b/src/x509.c
-index 94e9982..07adb54 100644
---- a/src/x509.c
-+++ b/src/x509.c
-@@ -1196,7 +1196,7 @@ static int openssl_x509_extensions(lua_State* L)
- else
- {
- STACK_OF(X509_EXTENSION) *others = (STACK_OF(X509_EXTENSION) *)openssl_sk_x509_extension_fromtable(L, 2);
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- sk_X509_EXTENSION_pop_free(self->cert_info->extensions, X509_EXTENSION_free);
- self->cert_info->extensions = others;
- #else
---
-2.16.4
-
diff --git a/dev-lua/lua-openssl/lua-openssl-0.7.3.ebuild b/dev-lua/lua-openssl/lua-openssl-0.7.3.ebuild
deleted file mode 100644
index 564518d7fb1a..000000000000
--- a/dev-lua/lua-openssl/lua-openssl-0.7.3.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="OpenSSL binding for Lua"
-HOMEPAGE="https://github.com/zhaozg/lua-openssl"
-LUA_AUX_COMMIT="b56f6937096acea34ddf241ec7ea08ac52414d18"
-LUA_COMPAT_COMMIT="daebe77a2f498817713df37f0bb316db1d82222f"
-SRC_URI="https://github.com/zhaozg/lua-openssl/archive/${PV}.tar.gz -> ${P}.tar.gz
- https://github.com/zhaozg/lua-auxiliar/archive/${LUA_AUX_COMMIT}.tar.gz -> ${PN}-aux-${LUA_AUX_COMMIT}.tar.gz
- https://github.com/keplerproject/lua-compat-5.3/archive/${LUA_COMPAT_COMMIT}.tar.gz -> ${PN}-compat-${LUA_COMPAT_COMMIT}.tar.gz"
-
-LICENSE="MIT openssl PHP-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="libressl luajit"
-
-RDEPEND="
- luajit? ( dev-lang/luajit:2 )
- !luajit? ( >=dev-lang/lua-5.1:0 )
- libressl? ( <dev-libs/libressl-2.7.0:0= )
- !libressl? ( dev-libs/openssl:0=[-bindist] )
- !dev-lua/luaossl
- "
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-PATCHES=("${FILESDIR}/0001-fix-libressl-compat.patch")
-
-src_unpack() {
- unpack "${P}.tar.gz"
- pushd "${WORKDIR}/${P}/deps" > /dev/null || die
- unpack "${PN}-aux-${LUA_AUX_COMMIT}.tar.gz"
- unpack "${PN}-compat-${LUA_COMPAT_COMMIT}.tar.gz"
- rmdir auxiliar lua-compat || die
- mv "lua-auxiliar-${LUA_AUX_COMMIT}" auxiliar || die
- mv "lua-compat-5.3-${LUA_COMPAT_COMMIT}" lua-compat || die
- popd > /dev/null || die
-}
-
-src_configure() {
- tc-export PKG_CONFIG
- LUA_VERSION="$(${PKG_CONFIG} --variable=$(usex luajit abiver V) $(usex luajit luajit lua))"
- LUA_CFLAGS="$(${PKG_CONFIG} $(usex luajit luajit lua) --cflags) ${CFLAGS}"
- LUA_LIBS="$(${PKG_CONFIG} $(usex luajit luajit lua) --libs) ${LDFLAGS}"
-
- export LUA_VERSION LUA_CFLAGS LUA_LIBS
-}
-
-src_compile() {
- emake CC="$(tc-getCC)"
-}
-
-src_install() {
- emake PREFIX="${ED}/usr" install
- einstalldocs
-}
diff --git a/dev-lua/lua-openssl/lua-openssl-0.9.0_p0.ebuild b/dev-lua/lua-openssl/lua-openssl-0.9.0_p0.ebuild
new file mode 100644
index 000000000000..80f2eb53b56a
--- /dev/null
+++ b/dev-lua/lua-openssl/lua-openssl-0.9.0_p0.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+EGIT_COMMIT_AUX="8d09895473b73e4fb72b7573615f69c36e1860a2"
+LUA_COMPAT=( lua5-{1..4} luajit )
+MY_PN_AUX="lua-auxiliar"
+MY_PN_COMPAT="lua-compat-5.3"
+MY_PV="${PV//_p/-}"
+MY_PV_COMPAT="0.10"
+
+inherit flag-o-matic lua toolchain-funcs
+
+DESCRIPTION="OpenSSL binding for Lua"
+HOMEPAGE="https://github.com/zhaozg/lua-openssl"
+SRC_URI="
+ https://github.com/zhaozg/${PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/zhaozg/${MY_PN_AUX}/archive/${EGIT_COMMIT_AUX}.tar.gz -> ${MY_PN_AUX}-${EGIT_COMMIT_AUX}.tar.gz
+ https://github.com/keplerproject/${MY_PN_COMPAT}/archive/v${MY_PV_COMPAT}.tar.gz -> ${MY_PN_COMPAT}-${MY_PV_COMPAT}.tar.gz
+"
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+LICENSE="MIT openssl PHP-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="test"
+REQUIRED_USE="${LUA_REQUIRED_USE}"
+RESTRICT="test"
+
+RDEPEND="
+ !dev-lua/luaossl
+ !dev-lua/luasec
+ dev-libs/openssl:0=[-bindist(-)]
+ ${LUA_DEPS}
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ test? ( ${RDEPEND} )
+"
+
+src_prepare() {
+ default
+
+ # Allow override of LUA* variables
+ sed -e '/LUA /s/:=/?=/g' -e '/LUA_VERSION/s/:=/?=/g' -i Makefile || die
+
+ # Disable TestCMS test suite, as it fails
+ # See: https://github.com/zhaozg/lua-openssl/issues/230
+ sed -e '/6.cms.lua/d' -i test/test.lua || die
+
+ # Prepare needed dependencies (source code files only)
+ rm -r deps/{auxiliar,lua-compat} || die
+ mv "${WORKDIR}/${MY_PN_AUX}-${EGIT_COMMIT_AUX}" deps/auxiliar || die
+ mv "${WORKDIR}/${MY_PN_COMPAT}-${MY_PV_COMPAT}" deps/lua-compat || die
+
+ lua_copy_sources
+}
+
+lua_src_compile() {
+ pushd "${BUILD_DIR}" || die
+
+ # See https://bugs.gentoo.org/920643
+ # See https://github.com/zhaozg/lua-openssl/issues/305
+ append-cflags -Wno-error=incompatible-pointer-types
+
+ local myemakeargs=(
+ "AR=$(tc-getAR)"
+ "CC=$(tc-getCC)"
+ "LUA="
+ "LUA_CFLAGS=${CFLAGS} $(lua_get_CFLAGS)"
+ "LUA_LIBS=${LDFLAGS}"
+ "LUA_VERSION=$(ver_cut 1-2 $(lua_get_version))"
+ "TARGET_SYS=${CTARGET:-${CHOST}}"
+ )
+
+ emake "${myemakeargs[@]}"
+
+ popd
+}
+
+src_compile() {
+ lua_foreach_impl lua_src_compile
+}
+
+lua_src_test() {
+ pushd "${BUILD_DIR}" || die
+
+ local myemakeargs=(
+ "LUA=${ELUA}"
+ "LUA_CFLAGS="
+ "LUA_LIBS="
+ "LUA_VERSION=$(ver_cut 1-2 $(lua_get_version))"
+ "TARGET_SYS=${CTARGET:-${CHOST}}"
+ )
+
+ emake "${myemakeargs[@]}" test
+
+ popd
+}
+
+src_test() {
+ lua_foreach_impl lua_src_test
+}
+
+lua_src_install() {
+ pushd "${BUILD_DIR}" || die
+
+ local myemakeargs=(
+ "LUA="
+ "LUA_CFLAGS="
+ "LUA_LIBDIR=${ED}/$(lua_get_cmod_dir)"
+ "LUA_LIBS="
+ "LUA_VERSION=$(ver_cut 1-2 $(lua_get_version))"
+ "TARGET_SYS=${CTARGET:-${CHOST}}"
+ )
+
+ emake "${myemakeargs[@]}" install
+
+ popd
+}
+
+src_install() {
+ lua_foreach_impl lua_src_install
+
+ einstalldocs
+}
diff --git a/dev-lua/lua-openssl/metadata.xml b/dev-lua/lua-openssl/metadata.xml
index 731dad42e18a..16f1bdb25c09 100644
--- a/dev-lua/lua-openssl/metadata.xml
+++ b/dev-lua/lua-openssl/metadata.xml
@@ -1,13 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>crito@fnordpipe.org</email>
- <name>Matthias Hauber</name>
+ <email>conikost@gentoo.org</email>
+ <name>Conrad Kostecki</name>
</maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
+ <maintainer type="person" proxied="yes">
+ <email>vpayno+gentoo@gmail.com</email>
+ <name>Victor Payno</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
</maintainer>
<upstream>
<remote-id type="github">zhaozg/lua-openssl</remote-id>