Skip to Content.
Sympa Menu

sm-commit - [SM-Commit] GIT changes to master grimoire by Pavel Vinogradov (397a65d5ecedbf1e1cb4355ad2ec8b69ab42b65c)

sm-commit AT lists.ibiblio.org

Subject: Source Mage code commit list

List archive

Chronological Thread  
  • From: Pavel Vinogradov <scm AT sourcemage.org>
  • To: sm-commit AT lists.ibiblio.org
  • Subject: [SM-Commit] GIT changes to master grimoire by Pavel Vinogradov (397a65d5ecedbf1e1cb4355ad2ec8b69ab42b65c)
  • Date: Thu, 15 Sep 2022 20:09:48 +0000

GIT changes to master grimoire by Pavel Vinogradov <public AT sourcemage.org>:

devel/python3/HISTORY | 4 +
devel/python3/PRE_BUILD | 3 -
devel/python3/patches-3.10-libressl/hashopenssl.patch | 47
++++++++++++++++++
devel/python3/patches-3.10-libressl/ssl.patch | 27 ++++++++++
4 files changed, 80 insertions(+), 1 deletion(-)

New commits:
commit 397a65d5ecedbf1e1cb4355ad2ec8b69ab42b65c
Author: Pavel Vinogradov <public AT sourcemage.org>
Commit: Pavel Vinogradov <public AT sourcemage.org>

devel/python3: added OpenBSD libressl patches for python 3.10

diff --git a/devel/python3/HISTORY b/devel/python3/HISTORY
index 117f338..ac8e7e5 100644
--- a/devel/python3/HISTORY
+++ b/devel/python3/HISTORY
@@ -1,3 +1,7 @@
+2022-09-15 Pavel Vinogradov <public AT sourcemage.org>
+ * PRE_BUILD, patches-3.10-libressl{hashopenssl,ssl}.patch: added
OpenBSD
+ libressl patches for python 3.10
+
2022-09-07 Ismael Luceno <ismael AT sourcemage.org>
* INSTALL: added python3-embed pkgconfig alias
* DETAILS: PATCHLEVEL++
diff --git a/devel/python3/PRE_BUILD b/devel/python3/PRE_BUILD
index 63d1dad..3059019 100755
--- a/devel/python3/PRE_BUILD
+++ b/devel/python3/PRE_BUILD
@@ -3,4 +3,5 @@ cd "$SOURCE_DIRECTORY" &&
case "$VERSION" in 3.[67].*)
apply_patch_dir patches ;;
esac &&
-apply_patch_dir "patches-${VERSION%.*}"
+apply_patch_dir "patches-${VERSION%.*}" &&
+apply_patch_dir "patches-${VERSION%.*}-$(get_spell_provider ${SPELL} SSL)"
diff --git a/devel/python3/patches-3.10-libressl/hashopenssl.patch
b/devel/python3/patches-3.10-libressl/hashopenssl.patch
new file mode 100644
index 0000000..03f1795
--- /dev/null
+++ b/devel/python3/patches-3.10-libressl/hashopenssl.patch
@@ -0,0 +1,47 @@
+Index: Modules/_hashopenssl.c
+--- a/Modules/_hashopenssl.c
++++ b/Modules/_hashopenssl.c
+@@ -45,11 +45,6 @@
+
+ #define MUNCH_SIZE INT_MAX
+
+-#define PY_OPENSSL_HAS_SCRYPT 1
+-#define PY_OPENSSL_HAS_SHA3 1
+-#define PY_OPENSSL_HAS_SHAKE 1
+-#define PY_OPENSSL_HAS_BLAKE2 1
+-
+ #if OPENSSL_VERSION_NUMBER >= 0x30000000L
+ #define PY_EVP_MD EVP_MD
+ #define PY_EVP_MD_fetch(algorithm, properties) EVP_MD_fetch(NULL,
algorithm, properties)
+@@ -119,6 +114,7 @@ static const py_hashentry_t py_hashes[] = {
+ PY_HASH_ENTRY(Py_hash_sha256, "SHA256", SN_sha256, NID_sha256),
+ PY_HASH_ENTRY(Py_hash_sha384, "SHA384", SN_sha384, NID_sha384),
+ PY_HASH_ENTRY(Py_hash_sha512, "SHA512", SN_sha512, NID_sha512),
++#if !defined(LIBRESSL_VERSION_NUMBER)
+ /* truncated sha2 */
+ PY_HASH_ENTRY(Py_hash_sha512_224, "SHA512_224", SN_sha512_224,
NID_sha512_224),
+ PY_HASH_ENTRY(Py_hash_sha512_256, "SHA512_256", SN_sha512_256,
NID_sha512_256),
+@@ -133,6 +129,7 @@ static const py_hashentry_t py_hashes[] = {
+ /* blake2 digest */
+ PY_HASH_ENTRY(Py_hash_blake2s, "blake2s256", SN_blake2s256,
NID_blake2s256),
+ PY_HASH_ENTRY(Py_hash_blake2b, "blake2b512", SN_blake2b512,
NID_blake2b512),
++#endif
+ PY_HASH_ENTRY(NULL, NULL, NULL, 0),
+ };
+
+@@ -873,11 +870,15 @@ py_evp_fromname(PyObject *module, const char *digestna
+ goto exit;
+ }
+
++#if defined(LIBRESSL_VERSION_NUMBER)
++ type = get_hashlib_state(module)->EVPtype;
++#else
+ if ((EVP_MD_flags(digest) & EVP_MD_FLAG_XOF) == EVP_MD_FLAG_XOF) {
+ type = get_hashlib_state(module)->EVPXOFtype;
+ } else {
+ type = get_hashlib_state(module)->EVPtype;
+ }
++#endif
+
+ self = newEVPobject(type);
+ if (self == NULL) {
diff --git a/devel/python3/patches-3.10-libressl/ssl.patch
b/devel/python3/patches-3.10-libressl/ssl.patch
new file mode 100644
index 0000000..d811481
--- /dev/null
+++ b/devel/python3/patches-3.10-libressl/ssl.patch
@@ -0,0 +1,27 @@
+Neuter security level things until LibreSSL supports them.
+
+Index: Modules/_ssl.c
+--- a/Modules/_ssl.c
++++ b/Modules/_ssl.c
+@@ -169,7 +169,7 @@ extern const SSL_METHOD *TLSv1_2_method(void);
+ * Based on Hynek's excellent blog post (update 2021-02-11)
+ * https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/
+ */
+- #define PY_SSL_DEFAULT_CIPHER_STRING
"@SECLEVEL=2:ECDH+AESGCM:ECDH+CHACHA20:ECDH+AES:DHE+AES:!aNULL:!eNULL:!aDSS:!SHA1:!AESCCM"
++ #define PY_SSL_DEFAULT_CIPHER_STRING
"ECDH+AESGCM:ECDH+CHACHA20:ECDH+AES:DHE+AES:!aNULL:!eNULL:!aDSS:!SHA1:!AESCCM"
+ #ifndef PY_SSL_MIN_PROTOCOL
+ #define PY_SSL_MIN_PROTOCOL TLS1_2_VERSION
+ #endif
+@@ -3579,6 +3579,12 @@ set_num_tickets(PySSLContext *self, PyObject *arg, voi
+ PyDoc_STRVAR(PySSLContext_num_tickets_doc,
+ "Control the number of TLSv1.3 session tickets");
+ #endif /* TLS1_3_VERSION */
++
++int
++SSL_CTX_get_security_level(const SSL_CTX *ctx)
++{
++ return 1;
++}
+
+ static PyObject *
+ get_security_level(PySSLContext *self, void *c)



  • [SM-Commit] GIT changes to master grimoire by Pavel Vinogradov (397a65d5ecedbf1e1cb4355ad2ec8b69ab42b65c), Pavel Vinogradov, 09/15/2022

Archive powered by MHonArc 2.6.24.

Top of Page