serf: backport openssl v3 fixes from Arch

This commit is contained in:
Christoph Reiter 2022-12-21 14:01:45 +01:00
parent 8ad19559bf
commit b6df704cd4
3 changed files with 46 additions and 3 deletions

View File

@ -3,7 +3,7 @@
pkgbase=serf pkgbase=serf
pkgname=("lib${pkgbase}" "lib${pkgbase}-devel") pkgname=("lib${pkgbase}" "lib${pkgbase}-devel")
pkgver=1.3.9 pkgver=1.3.9
pkgrel=6 pkgrel=7
pkgdesc="High-performance asynchronous HTTP client library" pkgdesc="High-performance asynchronous HTTP client library"
arch=('i686' 'x86_64') arch=('i686' 'x86_64')
url="https://serf.apache.org/" url="https://serf.apache.org/"
@ -14,13 +14,17 @@ source=(https://archive.apache.org/dist/serf/${pkgbase}-${pkgver}.tar.bz2
05-disable-SHLIBVERSION.patch 05-disable-SHLIBVERSION.patch
06-strcasecmp.patch 06-strcasecmp.patch
07-sspi-auth.patch 07-sspi-auth.patch
scons-python3.patch) scons-python3.patch
openssl3-ERR_GET_FUNC.patch
openssl3-BIO_ctrl.patch)
sha256sums=('549c2d21c577a8a9c0450facb5cca809f26591f048e466552240947bdf7a87cc' sha256sums=('549c2d21c577a8a9c0450facb5cca809f26591f048e466552240947bdf7a87cc'
'87767cd9b5e568a10f234df46f413a408613965e9d1b8cde1c0145f7eb20f0f1' '87767cd9b5e568a10f234df46f413a408613965e9d1b8cde1c0145f7eb20f0f1'
'1efab80c71b6987ed504d307c39a623aef849bc7cc39c6aeac3d9338f7459be8' '1efab80c71b6987ed504d307c39a623aef849bc7cc39c6aeac3d9338f7459be8'
'313b272609729d80dedf608f9f1939526e687fdf4a1b50e1a66505c93c2ee56f' '313b272609729d80dedf608f9f1939526e687fdf4a1b50e1a66505c93c2ee56f'
'84a43b3b6d3024195fdc69d215898ac426286329025bfa239ebe27a5c7507bc0' '84a43b3b6d3024195fdc69d215898ac426286329025bfa239ebe27a5c7507bc0'
'363732546098b4c9415eb5d38b595d04c660c6324a34159768d334507b7d241f') '363732546098b4c9415eb5d38b595d04c660c6324a34159768d334507b7d241f'
'15026f5ce219d2222dbdb6dcbb8911f3c8fbe0cedf3a2ec2ff434dde8d7fb9be'
'bf30b79aff5b058ba3852930dad4e5c16fc2e2d76810ca80e6e22e3c8121cff6')
prepare() { prepare() {
cd ${pkgbase}-${pkgver} cd ${pkgbase}-${pkgver}
@ -30,6 +34,10 @@ prepare() {
patch -p1 -i ${srcdir}/06-strcasecmp.patch patch -p1 -i ${srcdir}/06-strcasecmp.patch
patch -p1 -i ${srcdir}/07-sspi-auth.patch patch -p1 -i ${srcdir}/07-sspi-auth.patch
patch -p1 -i ${srcdir}/scons-python3.patch patch -p1 -i ${srcdir}/scons-python3.patch
# taken from Arch: https://github.com/archlinux/svntogit-packages/tree/6e00fe4c8e530bd4fd62215cc3154a78c124fbdf/trunk
patch -p1 -i ${srcdir}/openssl3-ERR_GET_FUNC.patch
patch -p1 -i ${srcdir}/openssl3-BIO_ctrl.patch
} }
build() { build() {

View File

@ -0,0 +1,22 @@
https://src.fedoraproject.org/rpms/libserf/raw/rawhide/f/libserf-1.3.9-bio-ctrl.patch
https://bugs.gentoo.org/805161
https://issues.apache.org/jira/projects/SERF/issues/SERF-198
--- a/buckets/ssl_buckets.c
+++ b/buckets/ssl_buckets.c
@@ -407,7 +407,7 @@ static int bio_bucket_destroy(BIO *bio)
static long bio_bucket_ctrl(BIO *bio, int cmd, long num, void *ptr)
{
- long ret = 1;
+ long ret = 0;
switch (cmd) {
default:
@@ -415,6 +415,7 @@ static long bio_bucket_ctrl(BIO *bio, int cmd, long num, void *ptr)
break;
case BIO_CTRL_FLUSH:
/* At this point we can't force a flush. */
+ ret = 1;
break;
case BIO_CTRL_PUSH:
case BIO_CTRL_POP:

View File

@ -0,0 +1,13 @@
--- serf-1.3.9/buckets/ssl_buckets.c.errgetfunc
+++ serf-1.3.9/buckets/ssl_buckets.c
@@ -1204,6 +1204,10 @@
}
}
+#ifndef ERR_GET_FUNC
+#define ERR_GET_FUNC(ec) (0)
+#endif
+
static int ssl_need_client_cert(SSL *ssl, X509 **cert, EVP_PKEY **pkey)
{
serf_ssl_context_t *ctx = SSL_get_app_data(ssl);