Github messages for voidlinux
 help / color / mirror / Atom feed
From: klarasm <klarasm@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] openldap: update to 2.6.3
Date: Fri, 03 Feb 2023 19:14:10 +0100	[thread overview]
Message-ID: <20230203181410.znLdaHyx4MkfXcYOShwB07wykjq_PV7H1jPai1DxNA0@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-41948@inbox.vuxu.org>

[-- Attachment #1: Type: text/plain, Size: 5429 bytes --]

There is an updated pull request by klarasm against master on the void-packages repository

https://github.com/klarasm/void-packages openldap-2.6
https://github.com/void-linux/void-packages/pull/41948

openldap: update to 2.6.3
The 2.4 branch is not maintained anymore and I don't know if there's much advantage to going to 2.5 instead of 2.6

Some shared libraries have changed name so this updates common/shlibs.

As this is a major update the ldap database should be backed up and recreated as per https://www.openldap.org/doc/admin26/maintenance.html

#### Testing the changes
- I tested the changes in this PR: **YES** (mainly openldap, mit-krb5 and cyrus-sasl)
- I haven't tested the revbumped packages that much, other than building with their test suite

I have upgraded my ldap setup to this version. It's not very complicated so may not be great for coverage.
Basically:
- two nodes, with normal syncrepl and gssapi/kerberos for authentication
- the ldap directory is used as database backend for my kerberos setup
- I have a few machines setup with kerberos for authentication and ldap as id provider (some with sssd and some with nslcd)

So far it seems promising but will test more. I would appreciate if anyone else could test as well.

I have probably missed packages that need to be revbumped so please point them out in that case.

Packages that depend on libldap:
- [x] FreeRADIUS-3.0.23_1 (out of date, newest version is 3.2.1)
- [x] alpine-2.26_1
- [x] anjuta-3.34.0_4 (fix faulty detection of webkit2gtk)
- [x] apache-2.4.54_2 (out of date, newest version is 2.4.55)
- [x] apr-util-ldap-1.6.1_13 (update to 1.6.2)
- [x] audit-3.0.3_4 (out of date, newest version is 3.0.9)
- [x] autofs-5.1.8_2 (out of date, newest version is 5.1.9)
- [x] claws-mail-4.1.1_1
- [x] cyrus-sasl-2.1.27_9 (out of date, newest version is 2.1.28)
- [x] dovecot-plugin-ldap-2.3.20_1
- [x] dovecot-plugin-pigeonhole-ldap-0.5.20_1
- [x] evolution-3.46.2_1
- [x] evolution-data-server-3.46.2_1
- [x] gnupg-2.3.8_1
- [x] gnupg1-1.4.23_1
- [x] kldap-22.08.2_1
- [x] ldapvi-1.7_11
- [x] libnfsidmap-2.5.4_2
- [x] libreoffice-common-7.4.3.2_1
- [x] lighttpd-1.4.68_1
- [x] log4cxx-0.10.0_4 (update to 1.0.0)
- [x] lua54-lualdap-1.2.5_3 (out of date, newest version is 1.3.0)
- [x] mit-krb5-libs-1.18.3_2 (update to 1.20.1)
- [x] monitoring-plugins-2.3.1_1
- [x] nss-pam-ldapd-0.9.12_1
- [x] php-ldap-7.4.33_1
- [x] php8.0-ldap-8.0.25_1 (out of date, newest version is 8.0.27)
- [x] php8.1-ldap-8.1.12_1 (out of date, newest version in branch is 8.1.14. 8.2.1 is also available)
- [x] postfix-3.7.3_1
- [x] python3-ldap-3.2.0_5 (update to 3.4.3)
- [x] quota-4.09_1
- [x] samba-4.14.12_2 (out of date, newest version is 4.17.5)
- [x] seahorse-43.0_1
- [x] squid-5.3_1 (out of date, latest version is 5.7)
- [x] sssd-2.4.0_5 (out of date, latest version is 2.8.2)
- [x] sylpheed-3.7.0_8
- [x] virtuoso-base-7.2.5.1_3 (update to 7.2.8)
- [x] x2goclient-4.1.2.2_2

[ci skip] again. This will probably take a long time to build.

#### Local build testing
- I built this PR locally for my native architecture, (x86_64-glibc)
- I built this PR locally for my native architecture, (x86_64-musl). Build issues:
  - [x] audit-3.0.3_4 (out of date, newest version is 3.0.9) already failing on master branch
  - [x] dovecot-plugin-ldap-2.3.20_1 already failing on master branch
  - [x] dovecot-plugin-pigeonhole-ldap-0.5.20_1 test suite passes if dovecot is built without checks first
  - [x] evolution-3.46.2_1 tests are not found on master branch and thus passes without running them
  - [x] evolution-data-server-3.46.2_1 already failing on master branch

- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl (x2go-client, virtuoso, sssd, squid, libreoffice and FreeRADIUS fail due to cross-compilation, all other complete)
  - armv6l-musl (x2go-client, virtuoso, sssd, squid, libreoffice and FreeRADIUS fail due to cross-compilation, all other complete)
  - armv7l (x2go-client, virtuoso, sssd, squid, libreoffice and FreeRADIUS fail due to cross-compilation, all other complete)
  - i686 (apr-util seems to require x86_64 and complains that selected cpu does not support that. This makes other package that depend on apr-util fail as well: anjuta, apache, php, php8.0 and log4cxx. virtuoso, sssd, libreoffice, FreeRADIUS, squid and gnupg1 probably fails due to cross-compilation)

Patched issue with test079:
It builds and the test suite is ok on x86_64-glibc but fails on x86_64-musl (if I remember correctly from earlier testing the 2.5 branch had the same test suite error).
[openldap-2.6.3-test079.log](https://github.com/void-linux/void-packages/files/10530843/openldap-2.6.3-test079.log)
[openldap-2.6.3-no-tests.log](https://github.com/void-linux/void-packages/files/10530903/openldap-2.6.3-no-tests.log)
[openldap-2.6.3-all-tests.log](https://github.com/void-linux/void-packages/files/10530929/openldap-2.6.3-all-tests.log)

It seems that test 79 also fails on alpine: https://git.alpinelinux.org/aports/tree/main/openldap/APKBUILD#n227
I'll have to look closer into the specific test and why it fails, but if it's not critical it may be ok to ignore it.

The rest of the test suite does not seem to be a problem.

A patch file from https://github.com/void-linux/void-packages/pull/41948.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-openldap-2.6-41948.patch --]
[-- Type: text/x-diff, Size: 108862 bytes --]

From 0c655f98b00897ea5117d2b6ec07714d72d7be6a Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 2 Nov 2022 21:04:46 +0100
Subject: [PATCH 01/39] openldap: update to 2.6.3

- update common/shlibs
- add slapd.ldif to conf_files
- add more options to runit service
- add patch fixing test079 on musl (for some reason arguments are
  ignored if placed after the filter)
---
 common/shlibs                                 |   5 +-
 srcpkgs/openldap/files/slapd/run              |   2 +-
 .../fix-test079-musl-ignored-params.patch     | 106 ++++++++++++++++++
 srcpkgs/openldap/template                     |   8 +-
 4 files changed, 113 insertions(+), 8 deletions(-)
 create mode 100644 srcpkgs/openldap/patches/fix-test079-musl-ignored-params.patch

diff --git a/common/shlibs b/common/shlibs
index 523fd15af734..90b250132d4f 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -700,9 +700,8 @@ libgnome-bluetooth.so.13 gnome-bluetooth1-3.12.0_1
 libgnome-bluetooth-3.0.so.13 gnome-bluetooth-42.1_1
 libgnome-bluetooth-ui-3.0.so.13 gnome-bluetooth-42.1_1
 libsasl2.so.3 libsasl-2.1.26_1
-liblber-2.4.so.2 libldap-2.4.21_1
-libldap-2.4.so.2 libldap-2.4.21_1
-libldap_r-2.4.so.2 libldap-2.4.21_1
+liblber.so.2 libldap-2.6.3_1
+libldap.so.2 libldap-2.6.3_1
 libevent-2.1.so.7 libevent-2.1.11_1
 libevent_core-2.1.so.7 libevent-2.1.11_1
 libevent_extra-2.1.so.7 libevent-2.1.11_1
diff --git a/srcpkgs/openldap/files/slapd/run b/srcpkgs/openldap/files/slapd/run
index f7addfcbeea3..4fa2253b1825 100644
--- a/srcpkgs/openldap/files/slapd/run
+++ b/srcpkgs/openldap/files/slapd/run
@@ -7,4 +7,4 @@ if [ ! -d /run/openldap ]; then
 	chown $LDAPUSER:$LDAPGROUP /run/openldap
 fi
 exec 2>&1
-exec slapd -u $LDAPUSER -g $LDAPGROUP -d 0
+exec slapd -u $LDAPUSER -g $LDAPGROUP -d 0 ${LDAPURLS:+-h "$LDAPURLS"} $LDAPOPTS
diff --git a/srcpkgs/openldap/patches/fix-test079-musl-ignored-params.patch b/srcpkgs/openldap/patches/fix-test079-musl-ignored-params.patch
new file mode 100644
index 000000000000..8ba1832901c8
--- /dev/null
+++ b/srcpkgs/openldap/patches/fix-test079-musl-ignored-params.patch
@@ -0,0 +1,106 @@
+--- a/tests/scripts/test079-proxy-timeout	2023-01-31 23:37:19.378324038 +0100
++++ b/tests/scripts/test079-proxy-timeout	2023-01-31 23:47:25.289052240 +0100
+@@ -139,10 +139,10 @@
+ 
+ echo "Checking that proxy has created connections towards backend (time_t now=`date +%s`)"
+ 
+-$LDAPSEARCH -b "cn=Connections,cn=database 2,cn=databases,cn=monitor" -s one -LLL olmDbConnURI \
++$LDAPSEARCH -b "cn=Connections,cn=database 2,cn=databases,cn=monitor" -s one -LLL \
+         -D "cn=Manager,dc=local,dc=com" \
+         -H $URI2 \
+-        -w $PASSWD 2>&1 | tee -a $TESTOUT | grep ldap://${LOCALHOST}:$PORT1 >/dev/null
++        -w $PASSWD olmDbConnURI 2>&1 | tee -a $TESTOUT | grep ldap://${LOCALHOST}:$PORT1 >/dev/null
+ RC=$?
+ if test $RC != 0 ; then
+     echo "Error: LDAP connection to remote LDAP server is not found ($RC)"
+@@ -150,10 +150,10 @@
+     exit $RC
+ fi
+ 
+-$LDAPSEARCH -b "cn=Connections,cn=database 3,cn=databases,cn=monitor" -s one -LLL olmDbConnURI \
++$LDAPSEARCH -b "cn=Connections,cn=database 3,cn=databases,cn=monitor" -s one -LLL \
+         -D "cn=Manager,dc=local,dc=com" \
+         -H $URI2 \
+-        -w $PASSWD 2>&1 | tee -a $TESTOUT | grep ldap://${LOCALHOST}:$PORT1 >/dev/null
++        -w $PASSWD olmDbConnURI 2>&1 | tee -a $TESTOUT | grep ldap://${LOCALHOST}:$PORT1 >/dev/null
+ RC=$?
+ if test $RC != 0 ; then
+     echo "Error: LDAP connection to remote LDAP server is not found ($RC)"
+@@ -171,10 +171,10 @@
+ 
+ echo "Checking that proxy has closed expired connections towards the remote LDAP server (time_t now=`date +%s`)"
+ 
+-$LDAPSEARCH -b "cn=Connections,cn=database 2,cn=databases,cn=monitor" -s one -LLL olmDbConnURI \
++$LDAPSEARCH -b "cn=Connections,cn=database 2,cn=databases,cn=monitor" -s one -LLL \
+         -D "cn=Manager,dc=local,dc=com" \
+         -H $URI2 \
+-        -w $PASSWD 2>&1 | tee -a $TESTOUT | grep ldap://${LOCALHOST}:$PORT1 >/dev/null
++        -w $PASSWD olmDbConnURI 2>&1 | tee -a $TESTOUT | grep ldap://${LOCALHOST}:$PORT1 >/dev/null
+ RC=$?
+ if test $RC != 1 ; then
+     echo "Error: LDAP connection to remote LDAP server was not closed"
+@@ -182,10 +182,10 @@
+     exit $RC
+ fi
+ 
+-$LDAPSEARCH -b "cn=Connections,cn=database 3,cn=databases,cn=monitor" -s one -LLL olmDbConnURI \
++$LDAPSEARCH -b "cn=Connections,cn=database 3,cn=databases,cn=monitor" -s one -LLL \
+         -D "cn=Manager,dc=local,dc=com" \
+         -H $URI2 \
+-        -w $PASSWD 2>&1 | tee -a $TESTOUT | grep ldap://${LOCALHOST}:$PORT1 >/dev/null
++        -w $PASSWD olmDbConnURI 2>&1 | tee -a $TESTOUT | grep ldap://${LOCALHOST}:$PORT1 >/dev/null
+ RC=$?
+ if test $RC != 1 ; then
+     echo "Error: LDAP connection to remote LDAP server was not closed"
+@@ -235,10 +235,10 @@
+ 
+ echo "Checking that proxy has created connections towards backend (time_t now=`date +%s`)"
+ 
+-$LDAPSEARCH -b "cn=Connections,cn=database 2,cn=databases,cn=monitor" -s one -LLL olmDbConnURI \
++$LDAPSEARCH -b "cn=Connections,cn=database 2,cn=databases,cn=monitor" -s one -LLL \
+         -D "cn=Manager,dc=local,dc=com" \
+         -H $URI2 \
+-        -w $PASSWD 2>&1 | tee -a $TESTOUT | grep ldap://${LOCALHOST}:$PORT1 >/dev/null
++        -w $PASSWD olmDbConnURI 2>&1 | tee -a $TESTOUT | grep ldap://${LOCALHOST}:$PORT1 >/dev/null
+ RC=$?
+ if test $RC != 0 ; then
+     echo "Error: LDAP connection to remote LDAP server is not found ($RC)"
+@@ -246,10 +246,10 @@
+     exit $RC
+ fi
+ 
+-$LDAPSEARCH -b "cn=Connections,cn=database 3,cn=databases,cn=monitor" -s one -LLL olmDbConnURI \
++$LDAPSEARCH -b "cn=Connections,cn=database 3,cn=databases,cn=monitor" -s one -LLL \
+         -D "cn=Manager,dc=local,dc=com" \
+         -H $URI2 \
+-        -w $PASSWD 2>&1 | tee -a $TESTOUT | grep ldap://${LOCALHOST}:$PORT1 >/dev/null
++        -w $PASSWD olmDbConnURI 2>&1 | tee -a $TESTOUT | grep ldap://${LOCALHOST}:$PORT1 >/dev/null
+ RC=$?
+ if test $RC != 0 ; then
+     echo "Error: LDAP connection to remote LDAP server is not found ($RC)"
+@@ -339,10 +339,10 @@
+ NOW=`date +%s`
+ sleep `expr $CONN_EXPIRES - $NOW - 2`
+ echo "Check that connection is still alive due to idle-timeout reset (time_t now=`date +%s`)"
+-$LDAPSEARCH -b "cn=Connections,cn=database 2,cn=databases,cn=monitor" -s one -LLL olmDbConnURI \
++$LDAPSEARCH -b "cn=Connections,cn=database 2,cn=databases,cn=monitor" -s one -LLL \
+         -D "cn=Manager,dc=local,dc=com" \
+         -H $URI2 \
+-        -w $PASSWD 2>&1 | tee -a $TESTOUT | grep ldap://${LOCALHOST}:$PORT1 >/dev/null
++        -w $PASSWD olmDbConnURI 2>&1 | tee -a $TESTOUT | grep ldap://${LOCALHOST}:$PORT1 >/dev/null
+ RC=$?
+ if test $RC != 0 ; then
+     echo "Error: LDAP connection to remote LDAP server is not found ($RC)"
+@@ -354,10 +354,10 @@
+ NOW=`date +%s`
+ sleep `expr $CONN_EXPIRES - $NOW + 2`
+ echo "Check that connection is closed after extended idle-timeout has passed (time_t now=`date +%s`)"
+-$LDAPSEARCH -b "cn=Connections,cn=database 2,cn=databases,cn=monitor" -s one -LLL olmDbConnURI \
++$LDAPSEARCH -b "cn=Connections,cn=database 2,cn=databases,cn=monitor" -s one -LLL \
+         -D "cn=Manager,dc=local,dc=com" \
+         -H $URI2 \
+-        -w $PASSWD  2>&1 | tee -a $TESTOUT | grep ldap://${LOCALHOST}:$PORT1 >/dev/null
++        -w $PASSWD  olmDbConnURI 2>&1 | tee -a $TESTOUT | grep ldap://${LOCALHOST}:$PORT1 >/dev/null
+ RC=$?
+ if test $RC != 1 ; then
+     echo "Error: LDAP connection to remote LDAP server was not closed"
diff --git a/srcpkgs/openldap/template b/srcpkgs/openldap/template
index 85fe79d77d1e..30d2d9893cb8 100644
--- a/srcpkgs/openldap/template
+++ b/srcpkgs/openldap/template
@@ -1,6 +1,6 @@
 # Template file for 'openldap'
 pkgname=openldap
-version=2.4.58
+version=2.6.3
 revision=1
 build_style=gnu-configure
 configure_args="--prefix=/usr
@@ -16,13 +16,13 @@ configure_args="--prefix=/usr
 hostmakedepends="pkg-config groff"
 makedepends="openssl-devel libsasl-devel db-devel libltdl-devel"
 depends="openldap-tools>=${version}_${revision}"
-conf_files="/etc/openldap/ldap.conf /etc/openldap/slapd.conf"
+conf_files="/etc/openldap/ldap.conf /etc/openldap/slapd.conf /etc/openldap/slapd.ldif"
 short_desc="OpenLDAP (Lightweight Directory Access Protocol)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="OLDAP-2.0"
 homepage="http://www.openldap.org"
 distfiles="https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-${version}.tgz"
-checksum=57b59254be15d0bf6a9ab3d514c1c05777b02123291533134a87c94468f8f47b
+checksum=d2a2a1d71df3d77396b1c16ad7502e674df446e06072b0e5a4e941c3d06c0d46
 
 system_accounts="ldap"
 ldap_homedir="/var/lib/openldap"
@@ -38,7 +38,7 @@ post_install() {
 	vlicense LICENSE
 	chmod 755 ${DESTDIR}/usr/lib/*.so.*
 	vmkdir usr/share/examples/openldap
-	mv ${DESTDIR}/etc/openldap/*.{example,default} ${DESTDIR}/usr/share/examples/openldap
+	mv ${DESTDIR}/etc/openldap/*.default ${DESTDIR}/usr/share/examples/openldap
 	chmod 0644 ${DESTDIR}/usr/share/examples/openldap/*
 }
 

From 17388db496acf4807164a09dcf1df411e893016a Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 00:25:36 +0100
Subject: [PATCH 02/39] cyrus-sasl: revbump due to openldap update

---
 srcpkgs/cyrus-sasl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cyrus-sasl/template b/srcpkgs/cyrus-sasl/template
index b259152139fd..d9646ed8a642 100644
--- a/srcpkgs/cyrus-sasl/template
+++ b/srcpkgs/cyrus-sasl/template
@@ -1,7 +1,7 @@
 # Template file for 'cyrus-sasl'
 pkgname=cyrus-sasl
 version=2.1.27
-revision=9
+revision=10
 build_style=gnu-configure
 configure_args="--disable-static --enable-shared --enable-checkapop
  --enable-cram --enable-digest --disable-otp --disable-srp

From 5d1c231b3cf6849d280d765e9c87195e14f7e3e9 Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 00:26:08 +0100
Subject: [PATCH 03/39] mit-krb5: update to 1.20.1

A rebuild triggerd by update to openldap-2.6.3 had some errors in the
test suite.
Remove patch for libressl.
Follow distfiles convention.
---
 srcpkgs/mit-krb5/patches/libressl.patch | 38 -------------------------
 srcpkgs/mit-krb5/template               |  8 +++---
 2 files changed, 4 insertions(+), 42 deletions(-)
 delete mode 100644 srcpkgs/mit-krb5/patches/libressl.patch

diff --git a/srcpkgs/mit-krb5/patches/libressl.patch b/srcpkgs/mit-krb5/patches/libressl.patch
deleted file mode 100644
index 6eb0dbfcaf3d..000000000000
--- a/srcpkgs/mit-krb5/patches/libressl.patch
+++ /dev/null
@@ -1,38 +0,0 @@
---- a/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c	2019-01-08 17:02:37.000000000 +0100
-+++ b/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c	2019-05-11 16:29:37.001458084 +0200
-@@ -189,7 +189,7 @@
-     (*_x509_pp) = PKCS7_cert_from_signer_info(_p7,_si)
- #endif
- 
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- 
- /* 1.1 standardizes constructor and destructor names, renaming
-  * EVP_MD_CTX_{create,destroy} and deprecating ASN1_STRING_data. */
-@@ -3053,7 +3053,7 @@
-     return retval;
- }
- 
--#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- 
- /*
-  * We need to decode DomainParameters from RFC 3279 section 2.3.3.  We would
-@@ -3079,7 +3079,7 @@
- ASN1_SEQUENCE(DHvparams) = {
-     ASN1_SIMPLE(int_dhvparams, seed, ASN1_BIT_STRING),
-     ASN1_SIMPLE(int_dhvparams, counter, BIGNUM)
--} static_ASN1_SEQUENCE_END_name(int_dhvparams, DHvparams)
-+} ASN1_SEQUENCE_END_name(int_dhvparams, DHvparams)
- 
- ASN1_SEQUENCE(DHxparams) = {
-     ASN1_SIMPLE(int_dhx942_dh, p, BIGNUM),
-@@ -3087,7 +3087,7 @@
-     ASN1_OPT(int_dhx942_dh, q, BIGNUM),
-     ASN1_OPT(int_dhx942_dh, j, BIGNUM),
-     ASN1_OPT(int_dhx942_dh, vparams, DHvparams),
--} static_ASN1_SEQUENCE_END_name(int_dhx942_dh, DHxparams)
-+} ASN1_SEQUENCE_END_name(int_dhx942_dh, DHxparams)
- 
- static DH *
- decode_dh_params(const uint8_t *p, unsigned int len)
diff --git a/srcpkgs/mit-krb5/template b/srcpkgs/mit-krb5/template
index a67bae19764a..36a7de46e099 100644
--- a/srcpkgs/mit-krb5/template
+++ b/srcpkgs/mit-krb5/template
@@ -2,8 +2,8 @@
 # if there is a bump in .so version,
 # also update srcpkgs/libgssglue/files/gssapi_mech.conf
 pkgname=mit-krb5
-version=1.18.3
-revision=2
+version=1.20.1
+revision=1
 build_style=gnu-configure
 hostmakedepends="e2fsprogs-devel flex perl pkg-config"
 makedepends="e2fsprogs-devel libldap-devel"
@@ -11,8 +11,8 @@ short_desc="MIT Kerberos 5 implementation"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="http://web.mit.edu/kerberos"
-distfiles="${homepage}/dist/krb5/${version%.*}/krb5-${version}.tar.gz"
-checksum=e61783c292b5efd9afb45c555a80dd267ac67eebabca42185362bee6c4fbd719
+distfiles="http://web.mit.edu/kerberos/dist/krb5/${version%.*}/krb5-${version}.tar.gz"
+checksum=704aed49b19eb5a7178b34b2873620ec299db08752d6a8574f95d41879ab8851
 
 post_patch() {
 	vsed -e "/LDFLAGS=/d" -i src/build-tools/krb5-config.in

From f52a7180131c0c46f0bd370348f6b9e740b34af7 Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 02:19:33 +0100
Subject: [PATCH 04/39] evolution-data-server: revbump due to openldap update

---
 srcpkgs/evolution-data-server/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/evolution-data-server/template b/srcpkgs/evolution-data-server/template
index bf1db288cd12..35f4f0b009c7 100644
--- a/srcpkgs/evolution-data-server/template
+++ b/srcpkgs/evolution-data-server/template
@@ -1,7 +1,7 @@
 # Template file for 'evolution-data-server'
 pkgname=evolution-data-server
 version=3.46.3
-revision=1
+revision=2
 build_style=cmake
 build_helper="gir qemu"
 configure_args=" -DSYSCONF_INSTALL_DIR=/etc

From b962cf5626ec72a56dfd867e3b1444cf4c09835e Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 02:20:19 +0100
Subject: [PATCH 05/39] gnupg: revbump due to openldap update

---
 srcpkgs/gnupg/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/gnupg/template b/srcpkgs/gnupg/template
index c7cbe689f23a..46b596f0cac8 100644
--- a/srcpkgs/gnupg/template
+++ b/srcpkgs/gnupg/template
@@ -1,7 +1,7 @@
 # Template file for 'gnupg'
 pkgname=gnupg
 version=2.4.0
-revision=1
+revision=2
 # We're building outside of the source tree, because upstream told us to:
 # https://dev.gnupg.org/T6313#166339
 build_wrksrc=build

From fe0598fd307eee839583de3f29c1d393e8304dcd Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 15:13:25 +0100
Subject: [PATCH 06/39] FreeRADIUS: revbump due to openldap update

---
 srcpkgs/FreeRADIUS/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/FreeRADIUS/template b/srcpkgs/FreeRADIUS/template
index b43aaa1f2e6e..1160c4ccbccc 100644
--- a/srcpkgs/FreeRADIUS/template
+++ b/srcpkgs/FreeRADIUS/template
@@ -1,7 +1,7 @@
 # Template file for 'FreeRADIUS'
 pkgname=FreeRADIUS
 version=3.0.23
-revision=1
+revision=2
 build_style=gnu-configure
 makedepends="talloc-devel openssl-devel mit-krb5-devel pam-devel \
  libmariadbclient-devel postgresql-libs-devel json-c-devel"

From 62d361276e515e46bf3bf684f98d60bb42e78916 Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 15:14:31 +0100
Subject: [PATCH 07/39] alpine: revbump due to openldap udpate

also add BSD-4-Clause to licenses
---
 srcpkgs/alpine/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/alpine/template b/srcpkgs/alpine/template
index 02c4f944515c..9789e303fc8a 100644
--- a/srcpkgs/alpine/template
+++ b/srcpkgs/alpine/template
@@ -1,7 +1,7 @@
 # Template file for 'alpine'
 pkgname=alpine
 version=2.26
-revision=1
+revision=2
 _githash=9726c098a739edfdca6218bc5dee104c310957e9
 _gitshort="${_githash:0:7}"
 build_style=gnu-configure
@@ -13,7 +13,7 @@ hostmakedepends="hunspell"
 makedepends="gettext-devel libldap-devel mit-krb5-devel ncurses-devel"
 short_desc="Apache-licensed PINE mail user agent (with Chappa patches)"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
-license="Apache-2.0"
+license="Apache-2.0, BSD-4-Clause"
 homepage="https://repo.or.cz/alpine.git"
 distfiles="https://repo.or.cz/alpine.git/snapshot/${_githash}.tar.gz"
 checksum=c8c377eab0f65b51283e0ad3144be143065dca4463d12ccf5092ae841515a431

From 844d71b8daff7a33542d90c49880055ffda6a2e5 Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 15:18:27 +0100
Subject: [PATCH 08/39] anjuta: revbump due to openldap update

also fix detection of webkit2gtk
---
 srcpkgs/anjuta/patches/fix-webkit2gtk-detection.patch | 11 +++++++++++
 srcpkgs/anjuta/template                               |  4 ++--
 2 files changed, 13 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/anjuta/patches/fix-webkit2gtk-detection.patch

diff --git a/srcpkgs/anjuta/patches/fix-webkit2gtk-detection.patch b/srcpkgs/anjuta/patches/fix-webkit2gtk-detection.patch
new file mode 100644
index 000000000000..17c0db911cba
--- /dev/null
+++ b/srcpkgs/anjuta/patches/fix-webkit2gtk-detection.patch
@@ -0,0 +1,11 @@
+--- a/configure.ac	2019-09-08 19:33:57.000000000 +0200
++++ b/configure.ac	2023-02-01 22:41:54.639943897 +0100
+@@ -246,7 +246,7 @@
+ 		*webkit2gtk-3.0*)
+ 			AC_DEFINE([HAVE_WEBKIT2], [1], [Defined if devhelp is built against webkitgtk2])
+ 			;;
+-		*webkit2gtk-4.0*)
++		*webkit2gtk-4.*)
+ 			AC_DEFINE([HAVE_WEBKIT2], [1], [Defined if devhelp is built against webkitgtk2])
+ 			;;
+ 		esac
diff --git a/srcpkgs/anjuta/template b/srcpkgs/anjuta/template
index b46d58aeafe3..0777e1b92e57 100644
--- a/srcpkgs/anjuta/template
+++ b/srcpkgs/anjuta/template
@@ -1,7 +1,7 @@
 # Template file for 'anjuta'
 pkgname=anjuta
 version=3.34.0
-revision=4
+revision=5
 build_style=gnu-configure
 build_helper="gir qemu"
 configure_args="--disable-compile-warnings --disable-schemas-compile
@@ -14,7 +14,7 @@ hostmakedepends="pkg-config intltool flex itstool python3 autogen glib-devel
 makedepends="gtksourceview-devel libxml2-devel vte3-devel gjs-devel
  libxslt-devel glade3-devel graphviz-devel vala-devel
  libgda-devel devhelp-devel sqlite-devel apr-util-devel
- neon-devel subversion-devel python3-devel gdl-devel"
+ neon-devel subversion-devel python3-devel gdl-devel webkit2gtk-devel"
 depends="autogen"
 short_desc="GNOME Integrated Development Environment"
 maintainer="Enno Boland <gottox@voidlinux.org>"

From 202e3994afe39fd9ff67d3ae2a4908227b9efa38 Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 15:19:45 +0100
Subject: [PATCH 09/39] apache: revbump due to openldap update

---
 srcpkgs/apache/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/apache/template b/srcpkgs/apache/template
index 629ad18b34a5..a661bf71d5c1 100644
--- a/srcpkgs/apache/template
+++ b/srcpkgs/apache/template
@@ -1,7 +1,7 @@
 # Template file for 'apache'
 pkgname=apache
 version=2.4.54
-revision=2
+revision=3
 build_style=gnu-configure
 configure_args="--prefix= --sbindir=/usr/bin --enable-pie --enable-modules=all
  --enable-mods-shared=all --enable-authn-dbm --enable-authn-anon

From 4dca2e405d1c95fc1470fe3a29c3523542d1d1db Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 15:25:33 +0100
Subject: [PATCH 10/39] apr-util: update to 1.6.2

failed to download distfiles when revbumping

- update mirror
- remove upstreamed patch
---
 srcpkgs/apr-util/patches/mysql.patch | 15 ---------------
 srcpkgs/apr-util/template            |  8 ++++----
 2 files changed, 4 insertions(+), 19 deletions(-)
 delete mode 100644 srcpkgs/apr-util/patches/mysql.patch

diff --git a/srcpkgs/apr-util/patches/mysql.patch b/srcpkgs/apr-util/patches/mysql.patch
deleted file mode 100644
index bf1792ed6ebb..000000000000
--- a/srcpkgs/apr-util/patches/mysql.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-fixes: https://github.com/void-linux/void-packages/issues/39510
-taken from upstream: https://svn.apache.org/viewvc/apr/apr/trunk/dbd/apr_dbd_mysql.c?r1=1872059&r2=1872060&diff_format=h
-
---- a/dbd/apr_dbd_mysql.c
-+++ b/dbd/apr_dbd_mysql.c
-@@ -1262,7 +1262,9 @@
- 
- static void dbd_mysql_init(apr_pool_t *pool)
- {
-+#if MYSQL_VERSION_ID < 100000
-     my_init();
-+#endif
-     mysql_thread_init();
- 
-     /* FIXME: this is a guess; find out what it really does */
diff --git a/srcpkgs/apr-util/template b/srcpkgs/apr-util/template
index f1cd4363365a..5e9009851ba4 100644
--- a/srcpkgs/apr-util/template
+++ b/srcpkgs/apr-util/template
@@ -1,7 +1,7 @@
 # Template file for 'apr-util'
 pkgname=apr-util
-version=1.6.1
-revision=13
+version=1.6.2
+revision=1
 build_style=gnu-configure
 configure_args="
  --with-pgsql --with-ldap
@@ -17,8 +17,8 @@ short_desc="Apache Portable Runtime Utility Library"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="https://apr.apache.org/"
-distfiles="https://www.apache.org/dist/apr/${pkgname}-${version}.tar.bz2"
-checksum=d3e12f7b6ad12687572a3a39475545a072608f4ba03a6ce8a3778f607dd0035b
+distfiles="https://downloads.apache.org/apr/${pkgname}-${version}.tar.bz2"
+checksum=4fe57443a7905027e13707c875c5de6f9fc6e2e5a2725d695b25a8a10c2d27e0
 # fails to build tests
 make_check=no
 

From a306ed83a5243d233a9e5b4bee68afd949cbeeda Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 15:26:54 +0100
Subject: [PATCH 11/39] audit: revbump due to openldap update

---
 srcpkgs/audit/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/audit/template b/srcpkgs/audit/template
index 7e1e4dab2f45..334d567f3781 100644
--- a/srcpkgs/audit/template
+++ b/srcpkgs/audit/template
@@ -1,7 +1,7 @@
 # Template file for 'audit'
 pkgname=audit
 version=3.0.3
-revision=4
+revision=5
 build_style=gnu-configure
 configure_args="--libdir=/usr/lib --enable-shared=audit --enable-gssapi-krb5
  --with-apparmor --with-libcap-ng --with-python3"

From 63681e8415242b87bea936f9c9ff158c7a37cf7c Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 15:28:15 +0100
Subject: [PATCH 12/39] autofs: revbump due to openldap update

---
 srcpkgs/autofs/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/autofs/template b/srcpkgs/autofs/template
index a9abc60e64e8..5f63d0ad92ca 100644
--- a/srcpkgs/autofs/template
+++ b/srcpkgs/autofs/template
@@ -1,7 +1,7 @@
 # Template file for 'autofs'
 pkgname=autofs
 version=5.1.8
-revision=2
+revision=3
 build_style=gnu-configure
 make_build_args="DONTSTRIP=1"
 configure_args="--with-libtirpc --with-mapdir=/etc/autofs --sbindir=/usr/bin"

From ca20d10d7651bc528b6693b31e3109ad13a9382b Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 15:29:04 +0100
Subject: [PATCH 13/39] claws-mail: revbump due to openldap update

---
 srcpkgs/claws-mail/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/claws-mail/template b/srcpkgs/claws-mail/template
index 0fd87df7803e..b989ebf1d8e4 100644
--- a/srcpkgs/claws-mail/template
+++ b/srcpkgs/claws-mail/template
@@ -1,7 +1,7 @@
 # Template file for 'claws-mail'
 pkgname=claws-mail
 version=4.1.1
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--disable-static --disable-python-plugin --disable-perl-plugin
  --enable-enchant --enable-gnutls"

From 23b9b2b7672f2f63c726ac2d8970aabeb630d456 Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 15:31:16 +0100
Subject: [PATCH 14/39] dovecot: revbump due to openldap update

---
 srcpkgs/dovecot/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/dovecot/template b/srcpkgs/dovecot/template
index 45f410493436..787b29b6eab8 100644
--- a/srcpkgs/dovecot/template
+++ b/srcpkgs/dovecot/template
@@ -2,7 +2,7 @@
 # revbump dovecot-plugin-pigeonhole when updating dovecot!
 pkgname=dovecot
 version=2.3.20
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-moduledir=/usr/lib/dovecot/modules --with-sql=plugin
  --disable-static --with-pam --with-mysql --with-pgsql --with-lucene

From 6e9b32f7efb0035abf35dad7b969f19dfe7877aa Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 15:32:32 +0100
Subject: [PATCH 15/39] dovecot-plugin-pigeonhole: revbump due to openldap
 update

---
 srcpkgs/dovecot-plugin-pigeonhole/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/dovecot-plugin-pigeonhole/template b/srcpkgs/dovecot-plugin-pigeonhole/template
index ac13321e4508..e4d168cc4f78 100644
--- a/srcpkgs/dovecot-plugin-pigeonhole/template
+++ b/srcpkgs/dovecot-plugin-pigeonhole/template
@@ -1,7 +1,7 @@
 # Template file for 'dovecot-plugin-pigeonhole'
 pkgname=dovecot-plugin-pigeonhole
 version=0.5.20
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--prefix=/usr
  --with-dovecot=${XBPS_CROSS_BASE}/usr/lib/dovecot

From 0535854902033415905177db875b5ac2b81a0862 Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 15:33:45 +0100
Subject: [PATCH 16/39] evolution: revbump due to openldap update

---
 srcpkgs/evolution/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/evolution/template b/srcpkgs/evolution/template
index b9a63af09955..5bd29173ac26 100644
--- a/srcpkgs/evolution/template
+++ b/srcpkgs/evolution/template
@@ -1,7 +1,7 @@
 # Template file for 'evolution'
 pkgname=evolution
 version=3.46.3
-revision=1
+revision=2
 build_style=cmake
 build_helper="qemu"
 configure_args="-DSYSCONF_INSTALL_DIR=/etc

From c0045dd30acc18e8a9418cc30e66375c3f64945c Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 15:35:27 +0100
Subject: [PATCH 17/39] gnupg1: revbump due to openldap update

---
 srcpkgs/gnupg1/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/gnupg1/template b/srcpkgs/gnupg1/template
index c0c837477939..e86147006aa1 100644
--- a/srcpkgs/gnupg1/template
+++ b/srcpkgs/gnupg1/template
@@ -1,7 +1,7 @@
 # Template file for 'gnupg1'
 pkgname=gnupg1
 version=1.4.23
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--enable-threads=posix --enable-noexecstack
  gnupg_cv_regex_broken=no"

From bfc2a6ef1216bbf2b1b327b53934bc6fdc4a6032 Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 15:36:50 +0100
Subject: [PATCH 18/39] kldap: revbump due to openldap update

---
 srcpkgs/kldap/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/kldap/template b/srcpkgs/kldap/template
index c4f6acdb87db..04439bfd22c1 100644
--- a/srcpkgs/kldap/template
+++ b/srcpkgs/kldap/template
@@ -1,7 +1,7 @@
 # Template file for 'kldap'
 pkgname=kldap
 version=22.12.1
-revision=1
+revision=2
 build_style=cmake
 hostmakedepends="extra-cmake-modules qt5-qmake qt5-host-tools python3
  gettext kcoreaddons kdoctools"

From bfce760734e338ac23c56b432645314c29ab8615 Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 15:37:27 +0100
Subject: [PATCH 19/39] ldapvi: revbump due to openldap update

also fix some linting problems
---
 srcpkgs/ldapvi/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/ldapvi/template b/srcpkgs/ldapvi/template
index 1dda3c2ae6e8..88401b722197 100644
--- a/srcpkgs/ldapvi/template
+++ b/srcpkgs/ldapvi/template
@@ -1,15 +1,15 @@
 # Template file for 'ldapvi'
 pkgname=ldapvi
 version=1.7
-revision=11
+revision=12
 build_style=gnu-configure
 configure_args="--with-sha"
-maintainer="Leah Neukirchen <leah@vuxu.org>"
 hostmakedepends="pkg-config"
 makedepends="ncurses-devel readline-devel libsasl-devel popt-devel libldap-devel glib-devel"
-license="GPL-2"
+short_desc="Interactive LDAP client for Unix terminals"
+maintainer="Leah Neukirchen <leah@vuxu.org>"
+license="GPL-2.0-or-later"
 homepage="http://www.lichteblau.com/ldapvi/"
-short_desc="An interactive LDAP client for Unix terminals"
 distfiles="http://www.lichteblau.com/download/ldapvi-${version}.tar.gz"
 checksum=6f62e92d20ff2ac0d06125024a914b8622e5b8a0a0c2d390bf3e7990cbd2e153
 

From ceb1a87a0e43812ab38cbbc0b7dbc9105c02c9b5 Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 15:40:34 +0100
Subject: [PATCH 20/39] nfs-utils: revbump due to openldap update

---
 srcpkgs/nfs-utils/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/nfs-utils/template b/srcpkgs/nfs-utils/template
index 252a7355b683..1ea23781caff 100644
--- a/srcpkgs/nfs-utils/template
+++ b/srcpkgs/nfs-utils/template
@@ -1,7 +1,7 @@
 # Template file for 'nfs-utils'
 pkgname=nfs-utils
 version=2.6.2
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--with-statduser=nobody --enable-gss --enable-nfsv4
  --with-statedir=/var/lib/nfs --enable-libmount-mount --enable-svcgss

From d45ecd210b8745b396aa68473a944d7d6a9b1b44 Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 15:41:31 +0100
Subject: [PATCH 21/39] libreoffice: revbump due to openldap update

---
 srcpkgs/libreoffice/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libreoffice/template b/srcpkgs/libreoffice/template
index 313d32a47fad..e9dfc54432ad 100644
--- a/srcpkgs/libreoffice/template
+++ b/srcpkgs/libreoffice/template
@@ -1,7 +1,7 @@
 # Template file for 'libreoffice'
 pkgname=libreoffice
 version=7.4.3.2
-revision=1
+revision=2
 build_style=meta
 make_build_target="build"
 nocross="Several dependencies are nocross=yes"

From 5e69206e4bf1f9fa704279a3cd09ecb1363b7ce3 Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 15:45:51 +0100
Subject: [PATCH 22/39] samba: revbump due to openldap update

---
 srcpkgs/samba/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/samba/template b/srcpkgs/samba/template
index 3ba93268973d..3e1199b70c5e 100644
--- a/srcpkgs/samba/template
+++ b/srcpkgs/samba/template
@@ -1,7 +1,7 @@
 # Template file for 'samba'
 pkgname=samba
 version=4.14.12
-revision=2
+revision=3
 build_style=waf3
 build_helper="qemu"
 configure_script="buildtools/bin/waf"

From c4e054bda3bfde012877673f3f736892aa40366c Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 15:51:24 +0100
Subject: [PATCH 23/39] lighttp: revbump due to openldap update

---
 srcpkgs/lighttpd/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/lighttpd/template b/srcpkgs/lighttpd/template
index fc84d9400749..c688aaca31f7 100644
--- a/srcpkgs/lighttpd/template
+++ b/srcpkgs/lighttpd/template
@@ -1,7 +1,7 @@
 # Template file for 'lighttpd'
 pkgname=lighttpd
 version=1.4.68
-revision=1
+revision=2
 build_style=meson
 configure_args="-Dwith_brotli=disabled -Dwith_bzip=disabled
  -Dwith_krb5=enabled -Dwith_ldap=enabled

From 9de0802d343079f2e14602a71daaa66897dbdb1c Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 15:53:53 +0100
Subject: [PATCH 24/39] log4cxx: update to 1.0.0

- fix a linting issue
- fix subpacakge
---
 .../patches/100-bugfix-LOGCXX-284.patch       | 17 ----
 .../patches/150-bugfix-LOGCXX-365.patch       | 19 -----
 srcpkgs/log4cxx/patches/170-gcc6-fix.patch    | 80 -------------------
 .../patches/180-gcc-fix-testsuite.patch       | 25 ------
 .../log4cxx/patches/missing-includes.patch    | 38 ---------
 srcpkgs/log4cxx/template                      | 14 ++--
 6 files changed, 7 insertions(+), 186 deletions(-)
 delete mode 100644 srcpkgs/log4cxx/patches/100-bugfix-LOGCXX-284.patch
 delete mode 100644 srcpkgs/log4cxx/patches/150-bugfix-LOGCXX-365.patch
 delete mode 100644 srcpkgs/log4cxx/patches/170-gcc6-fix.patch
 delete mode 100644 srcpkgs/log4cxx/patches/180-gcc-fix-testsuite.patch
 delete mode 100644 srcpkgs/log4cxx/patches/missing-includes.patch

diff --git a/srcpkgs/log4cxx/patches/100-bugfix-LOGCXX-284.patch b/srcpkgs/log4cxx/patches/100-bugfix-LOGCXX-284.patch
deleted file mode 100644
index fcff330f36d7..000000000000
--- a/srcpkgs/log4cxx/patches/100-bugfix-LOGCXX-284.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 100-bugfix-LOGCXX-284.dpatch by  <matthew@localhost>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Fixes build error on AIX with xlc_r
-
---- a/src/test/cpp/helpers/datetimedateformattestcase.cpp	2008-03-31 15:33:09.000000000 -0700
-+++ b/src/test/cpp/helpers/datetimedateformattestcase.cpp	2008-07-17 06:49:43.000000000 -0700
-@@ -181,7 +181,7 @@
-         //  output the using STL
-         //
-         std::basic_ostringstream<logchar> buffer;
--#if defined(_USEFAC)
-+#if defined(_MSC_VER) && _MSC_VER < 1300
-          _USEFAC(locale, std::time_put<logchar>)
-              .put(buffer, buffer, &date, fmt.c_str(), fmt.c_str() + fmt.length());
- #else
diff --git a/srcpkgs/log4cxx/patches/150-bugfix-LOGCXX-365.patch b/srcpkgs/log4cxx/patches/150-bugfix-LOGCXX-365.patch
deleted file mode 100644
index 0cf96b67ae4a..000000000000
--- a/srcpkgs/log4cxx/patches/150-bugfix-LOGCXX-365.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Description: fixes test suite to not expect the year to be between 2000 and 2009.
-Origin: upstream, http://svn.apache.org/viewvc?view=rev&rev=954335
-Bug: https://issues.apache.org/jira/browse/LOGCXX-365
-Forwarded: not-needed
-Applied-Upstream: commit 954335
-Last-Update: 2014-03-14
----
-This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---- a/src/test/cpp/util/filter.h	2010/06/14 00:24:42	954334
-+++ b/src/test/cpp/util/filter.h	2010/06/14 00:30:43	954335
-@@ -31,7 +31,7 @@
- #define BASIC_PAT "\\[0x[0-9A-F]*] (FATAL|ERROR|WARN|INFO|DEBUG)"
- #define ISO8601_PAT "[0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\} [0-9]\\{2\\}:[0-9]\\{2\\}:[0-9]\\{2\\},[0-9]\\{3\\}"
- #define ABSOLUTE_DATE_AND_TIME_PAT \
--        "[0-9]\\{1,2\\} .* 200[0-9] [0-9]\\{2\\}:[0-9]\\{2\\}:[0-9]\\{2\\},[0-9]\\{3\\}"
-+        "[0-9]\\{1,2\\} .* 2[0-9][0-9][0-9] [0-9]\\{2\\}:[0-9]\\{2\\}:[0-9]\\{2\\},[0-9]\\{3\\}"
- #define ABSOLUTE_TIME_PAT "[0-2][0-9]:[0-9][0-9]:[0-9][0-9],[0-9][0-9][0-9]"
- #define RELATIVE_TIME_PAT "^[0-9]+"
- 
diff --git a/srcpkgs/log4cxx/patches/170-gcc6-fix.patch b/srcpkgs/log4cxx/patches/170-gcc6-fix.patch
deleted file mode 100644
index cfa0c2f5319c..000000000000
--- a/srcpkgs/log4cxx/patches/170-gcc6-fix.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-Description: Fix FTBFS with GCC6
- GCC6 is more pickier on truncating, so this patch fixes the narrowing conversion errors.
-Author: Tobias Frost <tobi@debian.org>
-Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=811768
-Forwarded: https://issues.apache.org/jira/browse/LOGCXX-482
-Applied-Upstream: yes, targeted version 0.11.0
-Last-Update: 2016-07-01 (DebCamp16)
----
-This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---- a/src/main/cpp/locationinfo.cpp
-+++ b/src/main/cpp/locationinfo.cpp
-@@ -148,7 +148,7 @@
-     if (lineNumber == -1 && fileName == NA && methodName == NA_METHOD) {
-          os.writeNull(p);
-     } else {
--        char prolog[] = {
-+        unsigned char prolog[] = {
-          0x72, 0x00, 0x21, 0x6F, 0x72, 0x67, 0x2E, 
-          0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2E, 0x6C, 
-          0x6F, 0x67, 0x34, 0x6A, 0x2E, 0x73, 0x70, 0x69, 
-@@ -161,7 +161,7 @@
-                 0x61, 0x76, 0x61, 0x2F, 0x6C, 0x61, 0x6E, 0x67, 
-                 0x2F, 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x3B,
-          0x78, 0x70 };
--      os.writeProlog("org.apache.log4j.spi.LocationInfo", 2, prolog, sizeof(prolog), p);
-+      os.writeProlog("org.apache.log4j.spi.LocationInfo", 2, (char *)prolog, sizeof(prolog), p);
-         char* line = p.itoa(lineNumber);
-         //
-         //   construct Java-like fullInfo (replace "::" with ".")
---- a/src/main/cpp/loggingevent.cpp
-+++ b/src/main/cpp/loggingevent.cpp
-@@ -236,7 +236,7 @@
- 
- 
- void LoggingEvent::writeProlog(ObjectOutputStream& os, Pool& p)  {
--     char classDesc[] = {
-+     unsigned char classDesc[] = {
-         0x72, 0x00, 0x21, 
-         0x6F, 0x72, 0x67, 0x2E, 0x61, 0x70, 0x61, 0x63, 
-         0x68, 0x65, 0x2E, 0x6C, 0x6F, 0x67, 0x34, 0x6A, 
-@@ -292,7 +292,7 @@
-         0x3B, 0x78, 0x70 }; 
- 
-      os.writeProlog("org.apache.log4j.spi.LoggingEvent", 
--        8, classDesc, sizeof(classDesc), p);
-+        8, (char *) classDesc, sizeof(classDesc), p);
- }
- 
- void LoggingEvent::write(helpers::ObjectOutputStream& os, Pool& p) const {
---- a/src/main/cpp/objectoutputstream.cpp
-+++ b/src/main/cpp/objectoutputstream.cpp
-@@ -36,8 +36,8 @@
-        objectHandle(0x7E0000),
-        classDescriptions(new ClassDescriptionMap())
- {
--   char start[] = { 0xAC, 0xED, 0x00, 0x05 };
--   ByteBuffer buf(start, sizeof(start));
-+   unsigned char start[] = { 0xAC, 0xED, 0x00, 0x05 };
-+   ByteBuffer buf((char*)start, sizeof(start));
-    os->write(buf, p);
- }
- 
-@@ -81,7 +81,7 @@
-     //
-     //  TC_OBJECT and the classDesc for java.util.Hashtable
-     //
--    char prolog[] = {
-+    unsigned char prolog[] = {
-         0x72, 0x00, 0x13, 0x6A, 0x61, 0x76, 0x61, 
-         0x2E, 0x75, 0x74, 0x69, 0x6C, 0x2E, 0x48, 0x61, 
-         0x73, 0x68, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x13, 
-@@ -90,7 +90,7 @@
-         0x64, 0x46, 0x61, 0x63, 0x74, 0x6F, 0x72, 0x49, 
-         0x00, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 
-         0x6F, 0x6C, 0x64, 0x78, 0x70  };
--    writeProlog("java.util.Hashtable", 1, prolog, sizeof(prolog), p);
-+    writeProlog("java.util.Hashtable", 1, (char *) prolog, sizeof(prolog), p);
-     //
-     //   loadFactor = 0.75, threshold = 5, blockdata start, buckets.size = 7
-     char data[] = { 0x3F, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 
diff --git a/srcpkgs/log4cxx/patches/180-gcc-fix-testsuite.patch b/srcpkgs/log4cxx/patches/180-gcc-fix-testsuite.patch
deleted file mode 100644
index 71b71467a131..000000000000
--- a/srcpkgs/log4cxx/patches/180-gcc-fix-testsuite.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Description: Fix narrowing errors also for the testsuite
-Author: Tobias Frost <tobi@debian.org>
-Last-Update: 2016-10-23
----
-This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---- a/src/test/cpp/xml/domtestcase.cpp
-+++ b/src/test/cpp/xml/domtestcase.cpp
-@@ -190,7 +190,7 @@
-                 DOMConfigurator::configure(LOG4CXX_TEST_STR("input/xml/DOMTestCase3.xml"));
-                 LOG4CXX_INFO(logger, "File name is expected to end with a superscript 3");
- #if LOG4CXX_LOGCHAR_IS_UTF8
--                const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, 0xC2, 0xB3, 0 };
-+                const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, (logchar)0xC2, (logchar)0xB3, 0 };
- #else
-                 const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, 0xB3, 0 };
- #endif
-@@ -209,7 +209,7 @@
-                 DOMConfigurator::configure(LOG4CXX_TEST_STR("input/xml/DOMTestCase4.xml"));
-                 LOG4CXX_INFO(logger, "File name is expected to end with an ideographic 4");
- #if LOG4CXX_LOGCHAR_IS_UTF8
--                const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, 0xE3, 0x86, 0x95, 0 };
-+                const logchar fname[] = { 0x6F, (logchar)0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, (logchar)0xE3, (logchar)0x86, (logchar)0x95, 0 };
- #else
-                 const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, 0x3195, 0 };
- #endif
diff --git a/srcpkgs/log4cxx/patches/missing-includes.patch b/srcpkgs/log4cxx/patches/missing-includes.patch
deleted file mode 100644
index a63bffd95c57..000000000000
--- a/srcpkgs/log4cxx/patches/missing-includes.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-diff -Naur apache-log4cxx-0.10.0.orig/src/examples/cpp/console.cpp apache-log4cxx-0.10.0/src/examples/cpp/console.cpp
---- a/src/examples/cpp/console.cpp	2008-04-01 00:34:52.000000000 +0200
-+++ b/src/examples/cpp/console.cpp	2008-05-06 05:40:52.000000000 +0200
-@@ -15,7 +15,10 @@
-  * limitations under the License.
-  */
- 
--#include <stdlib.h>
-+#include <cstdio>
-+#include <cstdlib>
-+#include <cstring>
-+#include <stdint.h>
- #include <log4cxx/logger.h>
- #include <log4cxx/consoleappender.h>
- #include <log4cxx/simplelayout.h>
-diff -Naur apache-log4cxx-0.10.0.orig/src/main/cpp/inputstreamreader.cpp apache-log4cxx-0.10.0/src/main/cpp/inputstreamreader.cpp
---- a/src/main/cpp/inputstreamreader.cpp	2008-04-01 00:34:09.000000000 +0200
-+++ b/src/main/cpp/inputstreamreader.cpp	2008-05-06 05:32:31.000000000 +0200
-@@ -21,6 +21,8 @@
- #include <log4cxx/helpers/pool.h>
- #include <log4cxx/helpers/bytebuffer.h>
- 
-+#include <cstring>
-+
- using namespace log4cxx;
- using namespace log4cxx::helpers;
- 
-diff -Naur src/main/cpp/socketoutputstream.cpp apache-log4cxx-0.10.0/src/main/cpp/socketoutputstream.cpp
---- a/src/main/cpp/socketoutputstream.cpp	2008-04-01 00:34:09.000000000 +0200
-+++ b/src/main/cpp/socketoutputstream.cpp	2008-05-06 05:35:55.000000000 +0200
-@@ -20,6 +20,8 @@
- #include <log4cxx/helpers/socket.h>
- #include <log4cxx/helpers/bytebuffer.h>
- 
-+#include <cstring>
-+
- using namespace log4cxx;
- using namespace log4cxx::helpers;
diff --git a/srcpkgs/log4cxx/template b/srcpkgs/log4cxx/template
index 2f4905a16092..963743f6367a 100644
--- a/srcpkgs/log4cxx/template
+++ b/srcpkgs/log4cxx/template
@@ -1,22 +1,22 @@
 # Template file for 'log4cxx'
 pkgname=log4cxx
-version=0.10.0
-revision=4
-build_style=gnu-configure
-makedepends="libxml2-devel apr-devel apr-util-devel gdbm-devel"
-short_desc="A C++ Logging Library based on Log4J"
+version=1.0.0
+revision=1
+build_style=cmake
+hostmakedepends="pkg-config zip"
+makedepends="libxml2-devel apr-devel apr-util-devel gdbm-devel boost-devel"
+short_desc="C++ Logging Library based on Log4J"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="https://logging.apache.org/log4cxx/"
 distfiles="https://archive.apache.org/dist/logging/log4cxx/${version}/apache-log4cxx-${version}.tar.gz"
-checksum=0de0396220a9566a580166e66b39674cb40efd2176f52ad2c65486c99c920c8c
+checksum=6df9f1f682650de6045309473d5b2fe1f798a03ceb36a74a5b21f5520962d32f
 
 log4cxx-devel_package() {
 	short_desc+=" - development files"
 	depends="${sourcepkg}>=${version}_${revision}"
 	pkg_install() {
 		vmove usr/include
-		vmove usr/lib/*.a
 		vmove usr/lib/*.so
 		vmove usr/lib/pkgconfig
 	}

From 7f4eb5147c15dc0c97fb7f9a05fd1590267097b1 Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 15:55:25 +0100
Subject: [PATCH 25/39] lua54-lualdap: revbump due to openldap update

---
 srcpkgs/lua54-lualdap/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/lua54-lualdap/template b/srcpkgs/lua54-lualdap/template
index 4492dbeab650..8c03eef7ef4d 100644
--- a/srcpkgs/lua54-lualdap/template
+++ b/srcpkgs/lua54-lualdap/template
@@ -1,7 +1,7 @@
 # Template file for 'lua54-lualdap'
 pkgname=lua54-lualdap
 version=1.2.5
-revision=3
+revision=4
 create_wrksrc=yes
 build_style=gnu-makefile
 hostmakedepends="pkg-config"

From 9d741c3f21827ad2b00e11f584502a54f03f2bcc Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 15:56:22 +0100
Subject: [PATCH 26/39] monitoring-plugins: revbump due to openldap update

---
 srcpkgs/monitoring-plugins/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/monitoring-plugins/template b/srcpkgs/monitoring-plugins/template
index 9fec5562a9cc..20fbd13a5020 100644
--- a/srcpkgs/monitoring-plugins/template
+++ b/srcpkgs/monitoring-plugins/template
@@ -1,7 +1,7 @@
 # Template file for 'monitoring-plugins'
 pkgname=monitoring-plugins
 version=2.3.2
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--libexecdir=/usr/lib/monitoring-plugins"
 hostmakedepends="fping openssh postfix procps-ng smbclient net-snmp bind-utils sudo"

From fdcb6b47c17e8d7bdb01ae2bd07dadc07892e55b Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 15:57:12 +0100
Subject: [PATCH 27/39] nss-pam-ldapd: revbump due to openldap update

---
 srcpkgs/nss-pam-ldapd/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/nss-pam-ldapd/template b/srcpkgs/nss-pam-ldapd/template
index 92cbd75417b4..2b3a35ae85a3 100644
--- a/srcpkgs/nss-pam-ldapd/template
+++ b/srcpkgs/nss-pam-ldapd/template
@@ -1,7 +1,7 @@
 # Template file for 'nss-pam-ldapd'
 pkgname=nss-pam-ldapd
 version=0.9.12
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="--enable-sasl --enable-kerberos --with-pam-seclib-dir=/usr/lib/security/"
 conf_files="/etc/nslcd.conf"

From a842be25e689877b2e6ab388cee69eff0969cf2b Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 16:16:10 +0100
Subject: [PATCH 28/39] php: revbump due to openldap update

---
 srcpkgs/php/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/php/template b/srcpkgs/php/template
index 39e4d161b648..e9c6f6024631 100644
--- a/srcpkgs/php/template
+++ b/srcpkgs/php/template
@@ -1,7 +1,7 @@
 # Template file for 'php'
 pkgname=php
 version=7.4.33
-revision=1
+revision=2
 hostmakedepends="bison pkg-config apache-devel"
 makedepends="apache-devel enchant2-devel freetds-devel freetype-devel gdbm-devel
  gmp-devel libcurl-devel libjpeg-turbo-devel libmariadbclient-devel

From 4f92debc04ce51429daa02b697b72c23105ee827 Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 16:17:09 +0100
Subject: [PATCH 29/39] php8.0: revbump due to openldap update

---
 srcpkgs/php8.0/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/php8.0/template b/srcpkgs/php8.0/template
index 74c50da0e46f..1c215d1f841a 100644
--- a/srcpkgs/php8.0/template
+++ b/srcpkgs/php8.0/template
@@ -1,7 +1,7 @@
 # Template file for 'php8.0'
 pkgname=php8.0
 version=8.0.25
-revision=1
+revision=2
 _php_version=8.0
 hostmakedepends="bison pkg-config apache-devel"
 makedepends="apache-devel enchant2-devel freetds-devel freetype-devel gdbm-devel

From 5b3a6ce93347ac297a043d1d2e01d202f739a6f3 Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 16:19:16 +0100
Subject: [PATCH 30/39] php8.1: revbump due to openldap update

---
 srcpkgs/php8.1/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/php8.1/template b/srcpkgs/php8.1/template
index f19688b52f6c..f14414697e79 100644
--- a/srcpkgs/php8.1/template
+++ b/srcpkgs/php8.1/template
@@ -1,7 +1,7 @@
 # Template file for 'php8.1'
 pkgname=php8.1
 version=8.1.12
-revision=1
+revision=2
 _php_version=8.1
 hostmakedepends="bison pkg-config apache-devel"
 makedepends="apache-devel enchant2-devel freetds-devel freetype-devel gdbm-devel

From 66f0d4aa58f7102346a8378c2e9190643f494d6e Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 16:20:09 +0100
Subject: [PATCH 31/39] postfix: revbump due to openldap update

---
 srcpkgs/postfix/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/postfix/template b/srcpkgs/postfix/template
index b1c2cd4e8090..997a242b9191 100644
--- a/srcpkgs/postfix/template
+++ b/srcpkgs/postfix/template
@@ -1,7 +1,7 @@
 # Template file for 'postfix'
 pkgname=postfix
 version=3.7.4
-revision=1
+revision=2
 hostmakedepends="perl m4"
 makedepends="icu-devel libldap-devel libmariadbclient-devel pcre2-devel
  postgresql-libs-devel sqlite-devel"

From e03883015244a67729022da452c26ef023b50d6c Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 16:21:36 +0100
Subject: [PATCH 32/39] python3-ldap: update to 3.4.3

build was failing after revbump
remove unnecessary sed expression
---
 srcpkgs/python3-ldap/template | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-ldap/template b/srcpkgs/python3-ldap/template
index cff7df055e78..41e4edb1f354 100644
--- a/srcpkgs/python3-ldap/template
+++ b/srcpkgs/python3-ldap/template
@@ -1,10 +1,10 @@
 # Template file for 'python3-ldap'
 pkgname=python3-ldap
 _pkgname=python-ldap
-version=3.2.0
-revision=5
+version=3.4.3
+revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools"
+hostmakedepends="python3-setuptools python3-wheel python3-pyasn1-modules"
 makedepends="python3-devel libldap-devel"
 depends="python3-pyasn1-modules"
 checkdepends="openldap openldap-tools"
@@ -13,8 +13,4 @@ maintainer="Michael Aldridge <maldridge@voidlinux.org>"
 license="Python-2.0"
 homepage="https://www.python-ldap.org"
 distfiles="${PYPI_SITE}/p/${_pkgname}/${_pkgname}-${version}.tar.gz"
-checksum=7d1c4b15375a533564aad3d3deade789221e450052b21ebb9720fb822eccdb8e
-
-pre_build() {
-	sed -i "s:^libs = .*:libs = ldap_r lber sasl2 ssl crypto:" setup.cfg
-}
+checksum=ab26c519a0ef2a443a2a10391fa3c5cb52d7871323399db949ebfaa9f25ee2a0

From f4532f2413a00022b90fa98316ecfc75513f9828 Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 16:23:39 +0100
Subject: [PATCH 33/39] quota: revbump due to openldap update

---
 srcpkgs/quota/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/quota/template b/srcpkgs/quota/template
index a5dc7bbdb5f4..559efaee2994 100644
--- a/srcpkgs/quota/template
+++ b/srcpkgs/quota/template
@@ -1,7 +1,7 @@
 # Template file for 'quota'
 pkgname=quota
 version=4.09
-revision=1
+revision=2
 build_style=gnu-configure
 make_build_args="V=1"
 conf_files="/etc/quotagrpadmins /etc/quotatab /etc/warnquota.conf"

From c34b04400340eb1df36b1a4ed5ff4d6cfccbc9b0 Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 16:36:22 +0100
Subject: [PATCH 34/39] seahorse: revbump due to openldap update and allow
 building with GnuPG-2.4.x

This patch is taken from upstream but is not in any released version yet
---
 .../patches/allow-building-with-gpg-2.4.patch | 25 +++++++++++++++++++
 srcpkgs/seahorse/template                     |  2 +-
 2 files changed, 26 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/seahorse/patches/allow-building-with-gpg-2.4.patch

diff --git a/srcpkgs/seahorse/patches/allow-building-with-gpg-2.4.patch b/srcpkgs/seahorse/patches/allow-building-with-gpg-2.4.patch
new file mode 100644
index 000000000000..fca2c139b3c6
--- /dev/null
+++ b/srcpkgs/seahorse/patches/allow-building-with-gpg-2.4.patch
@@ -0,0 +1,25 @@
+From 9260c74779be3d7a378db0671af862ffa3573d42 Mon Sep 17 00:00:00 2001
+From: Xi Ruoyao <xry111@xry111.site>
+Date: Wed, 21 Dec 2022 20:58:26 +0800
+Subject: [PATCH] Allow building with GnuPG-2.4.x
+
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index e29b5322..23d0b54f 100644
+--- a/meson.build
++++ b/meson.build
+@@ -26,7 +26,7 @@ endif
+ # Dependencies
+ min_glib_version = '2.66'
+ min_gcr_version = '3.38'
+-accepted_gpg_versions = [ '2.2.0', '2.3.0' ]
++accepted_gpg_versions = [ '2.2.0', '2.3.0', '2.4.0' ]
+ gpg_check_version = find_program('build-aux' / 'gpg_check_version.py')
+ 
+ glib_deps = [
+-- 
+2.39.1
+
diff --git a/srcpkgs/seahorse/template b/srcpkgs/seahorse/template
index be8ba454b4a8..da92234d8216 100644
--- a/srcpkgs/seahorse/template
+++ b/srcpkgs/seahorse/template
@@ -1,7 +1,7 @@
 # Template file for 'seahorse'
 pkgname=seahorse
 version=43.0
-revision=1
+revision=2
 build_style=meson
 build_helper=gir
 hostmakedepends="gcr-devel gettext glib-devel gnupg itstool libsecret-devel

From 9e18d9302523780a220ec50d02f9be43c134b8d2 Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 16:38:35 +0100
Subject: [PATCH 35/39] squid: revbump due to openldap update

---
 srcpkgs/squid/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/squid/template b/srcpkgs/squid/template
index 626972525bc0..085c9385bceb 100644
--- a/srcpkgs/squid/template
+++ b/srcpkgs/squid/template
@@ -1,7 +1,7 @@
 # Template file for 'squid'
 pkgname=squid
 version=5.3
-revision=1
+revision=2
 build_style=gnu-configure
 configure_args="
  --sbindir=/usr/bin

From 5c4711fee4e13224009ac30b332b6e673679be6a Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 16:39:30 +0100
Subject: [PATCH 36/39] sssd: revbump due to openldap update

---
 srcpkgs/sssd/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/sssd/template b/srcpkgs/sssd/template
index 3bfeb32ef10d..44e6f3b9a69d 100644
--- a/srcpkgs/sssd/template
+++ b/srcpkgs/sssd/template
@@ -1,7 +1,7 @@
 # Template file for 'sssd'
 pkgname=sssd
 version=2.4.0
-revision=5
+revision=6
 build_style=gnu-configure
 # configure checks sys.version[:3] for Python versioning, so 3.10 becomes 3.1;
 # until this is fixed upstream, manually define am_cv_python_version to circumvent

From 250fd0cdfb35a8022054f8e85a38e8a7fab927ec Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 16:41:30 +0100
Subject: [PATCH 37/39] sylpheed: revbump due to openldap update

---
 srcpkgs/sylpheed/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/sylpheed/template b/srcpkgs/sylpheed/template
index 7fbf25276fbc..25aa753e6d4d 100644
--- a/srcpkgs/sylpheed/template
+++ b/srcpkgs/sylpheed/template
@@ -1,7 +1,7 @@
 # Template file for 'sylpheed'
 pkgname=sylpheed
 version=3.7.0
-revision=8
+revision=9
 build_style=gnu-configure
 configure_args="--disable-compface --disable-gtkspell --enable-ldap --with-gpgme-prefix=${XBPS_CROSS_BASE}/usr"
 hostmakedepends="automake libtool pkg-config flex gettext-devel gtk+-devel gpgme-devel glib-devel"

From 8605f6595f94135db285cac534feae6784ef1cec Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 16:42:47 +0100
Subject: [PATCH 38/39] virtuoso: update to 7.2.8

test suite was failing on revbump

- remove patches that no longer apply
- add patch that removes git revision from graphql
- disable static libraries as we're removing them after install anyway
- add which to hostmakedepends
- add missing checkdepends
---
 .../virtuoso/patches/always-ieee-floats.patch |   46 -
 srcpkgs/virtuoso/patches/fix-graphql.patch    |   11 +
 .../virtuoso/patches/fix-utf8-bittest.patch   |   15 -
 srcpkgs/virtuoso/patches/musl-page_size.patch |   34 -
 .../remove-openssl-version-check.patch        |   48 -
 .../virtuoso/patches/ssl-connect-state.patch  |   15 -
 srcpkgs/virtuoso/patches/ssl1.1.patch         | 1400 -----------------
 srcpkgs/virtuoso/patches/ssl1.1_more.patch    |   20 -
 srcpkgs/virtuoso/patches/use-mkstemp.patch    |   18 -
 srcpkgs/virtuoso/template                     |   16 +-
 10 files changed, 18 insertions(+), 1605 deletions(-)
 delete mode 100644 srcpkgs/virtuoso/patches/always-ieee-floats.patch
 create mode 100644 srcpkgs/virtuoso/patches/fix-graphql.patch
 delete mode 100644 srcpkgs/virtuoso/patches/fix-utf8-bittest.patch
 delete mode 100644 srcpkgs/virtuoso/patches/musl-page_size.patch
 delete mode 100644 srcpkgs/virtuoso/patches/remove-openssl-version-check.patch
 delete mode 100644 srcpkgs/virtuoso/patches/ssl-connect-state.patch
 delete mode 100644 srcpkgs/virtuoso/patches/ssl1.1.patch
 delete mode 100644 srcpkgs/virtuoso/patches/ssl1.1_more.patch
 delete mode 100644 srcpkgs/virtuoso/patches/use-mkstemp.patch

diff --git a/srcpkgs/virtuoso/patches/always-ieee-floats.patch b/srcpkgs/virtuoso/patches/always-ieee-floats.patch
deleted file mode 100644
index 69b5034214f7..000000000000
--- a/srcpkgs/virtuoso/patches/always-ieee-floats.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From bc8e9890de8c9866e6e1f49c8355ebee915579e4 Mon Sep 17 00:00:00 2001
-From: q66 <daniel@octaforge.org>
-Date: Wed, 29 Jan 2020 12:50:46 +0100
-Subject: [PATCH 1/2] always use IEEE floats
-
-We don't build on any platforms where this is not the case.
-
-Fixes platforms for which this is not checked.
----
- libsrc/Dk/Dkmarshal.c | 20 +-------------------
- 1 file changed, 1 insertion(+), 19 deletions(-)
-
-diff --git libsrc/Dk/Dkmarshal.c libsrc/Dk/Dkmarshal.c
-index da15a21..b2b6c71 100644
---- a/libsrc/Dk/Dkmarshal.c
-+++ b/libsrc/Dk/Dkmarshal.c
-@@ -31,25 +31,7 @@
- # include <netinet/in.h>			 /* for ntohl, htonl */
- #endif
- 
--#if defined (i386) || \
--    defined (_WIN64) || \
--    defined (_M_IX86) || \
--    defined (_M_ALPHA) || \
--    defined (mc68000) || \
--    defined (sparc) || \
--    defined (__x86_64) || \
--    defined (__alpha) || \
--    defined (__powerpc) || \
--    defined (mips) || \
--    defined (__OS2__) || \
--    defined (_IBMR2)
--# define _IEEE_FLOATS
--#elif defined (OPL_SOURCE)
--# include <librpc.h>
--#else
--# include <rpc/types.h>
--# include <rpc/xdr.h>
--#endif
-+#define _IEEE_FLOATS
- 
- macro_char_func readtable[256];
- ses_write_func writetable[256];
--- 
-2.24.0
-
diff --git a/srcpkgs/virtuoso/patches/fix-graphql.patch b/srcpkgs/virtuoso/patches/fix-graphql.patch
new file mode 100644
index 000000000000..f04b3e45c47a
--- /dev/null
+++ b/srcpkgs/virtuoso/patches/fix-graphql.patch
@@ -0,0 +1,11 @@
+--- a/binsrc/graphql/graphql_plugin.c	2023-02-01 21:14:18.148478500 +0100
++++ b/binsrc/graphql/graphql_plugin.c	2022-10-19 14:44:14.000000000 +0200
+@@ -173,7 +173,7 @@
+ 
+ static unit_version_t plugin_graphql_version = {
+   "GraphQL/SPARQL Bridge",	/*!< Title of unit, filled by unit */
+-  GQL_BRIDGE_VER " (" GIT_HEAD_STR ")",	/*!< Version number, filled by unit */
++  GQL_BRIDGE_VER,		/*!< Version number, filled by unit */
+   "OpenLink Software",		/*!< Plugin's developer, filled by unit */
+   "Support functions for GraphQL/SPARQL Bridge",	/*!< Any additional info, filled by unit */
+   0,				/*!< Error message, filled by unit loader */
diff --git a/srcpkgs/virtuoso/patches/fix-utf8-bittest.patch b/srcpkgs/virtuoso/patches/fix-utf8-bittest.patch
deleted file mode 100644
index 85e84a67ef3c..000000000000
--- a/srcpkgs/virtuoso/patches/fix-utf8-bittest.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Source: @pullmoll
-Upstream: no
-Reason: expression requires binary AND, not logical
-
---- a/libsrc/util/pcrelib/pcre_study.c	2018-08-16 01:06:21.000000000 +0200
-+++ b/libsrc/util/pcrelib/pcre_study.c	2020-01-27 15:44:57.715821355 +0100
-@@ -432,7 +432,7 @@
-           for (c = 0; c < 16; c++) start_bits[c] |= tcode[c];
-           for (c = 128; c < 256; c++)
-             {
--            if ((tcode[c/8] && (1 << (c&7))) != 0)
-+            if ((tcode[c/8] & (1 << (c&7))) != 0)
-               {
-               int d = (c >> 6) | 0xc0;            /* Set bit for this starter */
-               start_bits[d/8] |= (1 << (d&7));    /* and then skip on to the */
diff --git a/srcpkgs/virtuoso/patches/musl-page_size.patch b/srcpkgs/virtuoso/patches/musl-page_size.patch
deleted file mode 100644
index 73a9abdd0f39..000000000000
--- a/srcpkgs/virtuoso/patches/musl-page_size.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 125669821d95ff989bf94161b8e2497bfca9d0ab Mon Sep 17 00:00:00 2001
-From: q66 <daniel@octaforge.org>
-Date: Wed, 29 Jan 2020 12:54:14 +0100
-Subject: [PATCH 2/2] Use more portable page size check
-
-This fixes musl builds.
----
- libsrc/Dk/tlsf.h | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git libsrc/Dk/tlsf.h libsrc/Dk/tlsf.h
-index ddce478..a9687f4 100644
---- a/libsrc/Dk/tlsf.h
-+++ b/libsrc/Dk/tlsf.h
-@@ -20,6 +20,7 @@
- #define _TLSF_H_
- 
- #include <sys/types.h>
-+#include <unistd.h>
- 
- extern size_t init_memory_pool(size_t, void *);
- extern size_t get_used_size(void *);
-@@ -159,7 +160,7 @@ extern void tlsf_base_free (void * c, size_t sz);
- 
- #define DEFAULT_AREA_SIZE (1024*10)
- 
--#define PAGE_SIZE (getpagesize())
-+#define PAGE_SIZE ((int)sysconf(_SC_PAGESIZE))
- 
- #ifndef WIN32
- #ifdef USE_PRINTF
--- 
-2.24.0
-
diff --git a/srcpkgs/virtuoso/patches/remove-openssl-version-check.patch b/srcpkgs/virtuoso/patches/remove-openssl-version-check.patch
deleted file mode 100644
index 3094fbb6ab64..000000000000
--- a/srcpkgs/virtuoso/patches/remove-openssl-version-check.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-Source: @pullmoll
-Upstream: no
-Reason: Enable subdir-objects and strip openssl version check which fails for libressl
-
---- a/configure.ac	2018-08-16 01:06:21.000000000 +0200
-+++ b/configure.ac	2020-01-27 15:02:36.946922663 +0100
-@@ -58,7 +58,7 @@
- dnl	AM_INIT_AUTOMAKE([1.8])
- dnl	AM_INIT_AUTOMAKE([1.9 tar-ustar])
- dnl
--AM_INIT_AUTOMAKE([1.9 tar-ustar])
-+AM_INIT_AUTOMAKE([1.9 tar-ustar subdir-objects])
- 
- AM_MAINTAINER_MODE
- 
-@@ -867,32 +867,6 @@
- 	;;
- esac
- 
--AC_MSG_CHECKING([OpenSSL version])
--AC_TRY_COMPILE([
--#include <openssl/opensslv.h>
--], [
--#if OPENSSL_VERSION_NUMBER < 0x0090801fL
--#error OpenSSL version too old 
--#endif
--    ],[
--      AC_MSG_RESULT([>= 0.9.8e])
--    ],[
--      AC_MSG_ERROR([OpenSSL version 0.9.8e or greater is required.])
--    ])
--
--AC_MSG_CHECKING([OpenSSL version])
--AC_TRY_COMPILE([
--#include <openssl/opensslv.h>
--],[
--#if OPENSSL_VERSION_NUMBER >= 0x1010000fL
--#error OpenSSL version too new
--#endif
--    ],[
--      AC_MSG_RESULT([< 1.1.0])
--    ],[
--      AC_MSG_ERROR([OpenSSL version 1.1.0 or greater is currently not supported.])
--    ])
--
- AC_MSG_CHECKING([usability of the OpenSSL header files and library in ${openssl_dir}])
- AC_TRY_RUN([
- #include <openssl/rsa.h>
diff --git a/srcpkgs/virtuoso/patches/ssl-connect-state.patch b/srcpkgs/virtuoso/patches/ssl-connect-state.patch
deleted file mode 100644
index 39566e3b6dfd..000000000000
--- a/srcpkgs/virtuoso/patches/ssl-connect-state.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Source: @pullmoll
-Upstream: no
-Reason: Use the proper interface of libressl which does not expose the internal structure of SSL
-
---- a/libsrc/Wi/http.c	2018-08-16 01:06:21.000000000 +0200
-+++ b/libsrc/Wi/http.c	2020-01-27 15:09:53.284905265 +0100
-@@ -9949,7 +9949,7 @@
- 	  cli_ssl_get_error_string (err_buf, sizeof (err_buf));
- 	  sqlr_new_error ("42000", "..002", "SSL_do_handshake failed %s", err_buf);
- 	}
--      ssl->state = SSL_ST_ACCEPT;
-+      SSL_set_accept_state (ssl);
-       while (SSL_renegotiate_pending (ssl) && ctr < 1000)
- 	{
- 	  timeout_t to = { 0, 1000 };
diff --git a/srcpkgs/virtuoso/patches/ssl1.1.patch b/srcpkgs/virtuoso/patches/ssl1.1.patch
deleted file mode 100644
index 988749946480..000000000000
--- a/srcpkgs/virtuoso/patches/ssl1.1.patch
+++ /dev/null
@@ -1,1400 +0,0 @@
-Description: Fix FTBFS with openssl 1.1
-Author: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
-Bug-Debian: https://bugs.debian.org/828594
-Forwarded: https://github.com/openlink/virtuoso-opensource/pull/583
-Last-Update: Mo 11. Feb 13:50:17 CET 2019 (by Andreas Tille <tille@debian.org>)
-
----
-
-From 823092cccbd8e2ab9bfad6c3d3df791a7ffa76fc Mon Sep 17 00:00:00 2001
-From: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
-Date: Mon, 5 Sep 2016 10:49:54 +0000
-Subject: [PATCH] virtuoso-opensource: build against openssl 1.1.0
-
-Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
----
- libsrc/Dk/Dkernel.c      |   6 +-
- libsrc/Wi/bif_crypto.c   | 120 ++++++++++--------
- libsrc/Wi/http.c         |   2 +-
- libsrc/Wi/xmlenc.c       | 319 +++++++++++++++++++++++++++--------------------
- libsrc/Wi/xmlenc.h       | 193 ++++++++++++++++++++++++++--
- libsrc/Wi/xmlenc_algos.c | 132 +++++++++++---------
- libsrc/util/sslengine.c  |   6 +-
- 7 files changed, 524 insertions(+), 254 deletions(-)
-
---- a/libsrc/Wi/bif_crypto.c
-+++ b/libsrc/Wi/bif_crypto.c
-@@ -181,21 +181,26 @@ box_hmac (caddr_t box, caddr_t key, int
-   unsigned char temp[EVP_MAX_MD_SIZE];
-   unsigned int size = 0;
-   caddr_t res = NULL;
--  HMAC_CTX ctx;
-+  HMAC_CTX *ctx;
-   const EVP_MD *md = EVP_sha1 ();
- 
-   if (alg == 1)
-     md = EVP_ripemd160 ();
- 
--  HMAC_Init (&ctx, key, box_length (key) - DV_STRINGP (key) ? 1 : 0, md);
--  box_hmac_1 (box, &ctx);
--  HMAC_Final (&ctx, temp, &size);
-+  ctx = HMAC_CTX_new();
-+  if (!ctx)
-+	  return res;
-+
-+  HMAC_Init_ex (ctx, key, box_length (key) - DV_STRINGP (key) ? 1 : 0, md, NULL);
-+  box_hmac_1 (box, ctx);
-+  HMAC_Final (ctx, temp, &size);
-   if (size)
-     {
-       res = dk_alloc_box (size + 1, DV_SHORT_STRING);
-       memcpy (res, temp, size);
-       res[size] = 0;
-     }
-+  HMAC_CTX_free(ctx);
-   return res;
- }
- 
-@@ -347,14 +352,12 @@ asn1_parse_to_xml (BIO * bp, unsigned ch
- 	    {
- 	      int ii;
- 
--	      opp = op;
--	      ii = d2i_ASN1_BOOLEAN (NULL, (const unsigned char **)&opp, len + hl);
--	      if (ii < 0)
-+	      if (len + hl < 1)
- 		{
- 		  if (BIO_write (bp, "Bad boolean\n", 12))
- 		    goto end;
- 		}
--	      BIO_printf (bp, "%d", ii);
-+	      BIO_printf (bp, "%d", p[0]);
- 	    }
- 	  else if (tag == V_ASN1_BMPSTRING)
- 	    {
-@@ -415,7 +418,7 @@ asn1_parse_to_xml (BIO * bp, unsigned ch
- 		}
- 	      if (os != NULL)
- 		{
--		  M_ASN1_OCTET_STRING_free (os);
-+		  ASN1_STRING_free (os);
- 		  os = NULL;
- 		}
- 	    }
-@@ -448,7 +451,7 @@ asn1_parse_to_xml (BIO * bp, unsigned ch
- 		  if (BIO_write (bp, "BAD INTEGER", 11) <= 0)
- 		    goto end;
- 		}
--	      M_ASN1_INTEGER_free (bs);
-+	      ASN1_STRING_free (bs);
- 	    }
- 	  else if (tag == V_ASN1_ENUMERATED)
- 	    {
-@@ -479,7 +482,7 @@ asn1_parse_to_xml (BIO * bp, unsigned ch
- 		  if (BIO_write (bp, "BAD ENUMERATED", 11) <= 0)
- 		    goto end;
- 		}
--	      M_ASN1_ENUMERATED_free (bs);
-+	      ASN1_STRING_free (bs);
- 	    }
- 	  else if (len > 0 && dump)
- 	    {
-@@ -515,7 +518,7 @@ end:
-   if (o != NULL)
-     ASN1_OBJECT_free (o);
-   if (os != NULL)
--    M_ASN1_OCTET_STRING_free (os);
-+    ASN1_STRING_free (os);
-   *pp = p;
-   return (ret);
- }
-@@ -723,7 +726,7 @@ bio_to_strses (BIO * out_bio)
-   int len = BIO_get_mem_data (out_bio, &ptr);
-   int to_read = len, readed = 0;
- 
--  to_free = ((BUF_MEM *) out_bio->ptr)->data;
-+  to_free = ((BUF_MEM *) BIO_get_data(out_bio))->data;
-   BIO_set_flags (out_bio, BIO_FLAGS_MEM_RDONLY);
-   CATCH_WRITE_FAIL (ses)
-     {
-@@ -735,7 +738,7 @@ bio_to_strses (BIO * out_bio)
-       } while (to_read > 0);
-     }
-   END_WRITE_FAIL (ses);
--  ((BUF_MEM *) out_bio->ptr)->data = to_free;
-+  ((BUF_MEM *) BIO_get_data(out_bio))->data = to_free;
-   BIO_clear_flags (out_bio, BIO_FLAGS_MEM_RDONLY);
-   return ses;
- }
-@@ -770,7 +773,7 @@ bif_smime_verify (caddr_t * qst, caddr_t
-   if (DV_TYPE_OF (msg) == DV_STRING_SESSION)
-     {
-       in_bio = strses_to_bio ((dk_session_t *) msg);
--      to_free = ((BUF_MEM *) in_bio->ptr)->data;
-+      to_free = ((BUF_MEM *) BIO_get_data(in_bio))->data;
-       BIO_set_flags (in_bio, BIO_FLAGS_MEM_RDONLY);
-     }
-   else
-@@ -780,7 +783,7 @@ bif_smime_verify (caddr_t * qst, caddr_t
-       p7 = SMIME_read_PKCS7 (in_bio, &data_bio);
-       if (to_free)
- 	{
--	  ((BUF_MEM *) in_bio->ptr)->data = to_free;
-+	  ((BUF_MEM *) BIO_get_data(in_bio))->data = to_free;
- 	  BIO_clear_flags (in_bio, BIO_FLAGS_MEM_RDONLY);
- 	}
-       BIO_free (in_bio);
-@@ -924,16 +927,20 @@ bif_smime_sign (caddr_t * qst, caddr_t *
-     }
- 
-   certs = sk_X509_new_null ();
--  if (store && store->objs)
-+
-+  if (store && X509_STORE_get0_objects(store))
-     {
--      for (inx = 0; inx < sk_X509_OBJECT_num (store->objs); inx++)
-+      STACK_OF(X509_OBJECT) *store_objs = X509_STORE_get0_objects(store);
-+
-+      for (inx = 0; inx < sk_X509_OBJECT_num (store_objs); inx++)
- 	{
--	  X509_OBJECT *obj = sk_X509_OBJECT_value (store->objs, inx);
--	  if (obj->type == X509_LU_X509)
--	    sk_X509_push (certs, X509_dup (obj->data.x509));
-+	  X509_OBJECT *obj = sk_X509_OBJECT_value (store_objs, inx);
-+	  if (X509_OBJECT_get_type(obj) == X509_LU_X509)
-+	    sk_X509_push (certs, X509_dup (X509_OBJECT_get0_X509(obj)));
- 	}
- 
-     }
-+
-   if (store)
-     X509_STORE_free (store);
-   in_bio = BIO_new_mem_buf (msg, box_length (msg) - 1);
-@@ -1005,15 +1012,19 @@ bif_smime_encrypt (caddr_t * qst, caddr_
-     sqlr_new_error ("42000", "CR006", "No recipient certificates");
- 
-   certs = sk_X509_new_null ();
--  if (store && store->objs)
-+
-+  if (store && X509_STORE_get0_objects(store))
-     {
--      for (inx = 0; inx < sk_X509_OBJECT_num (store->objs); inx++)
-+      STACK_OF(X509_OBJECT) *store_objs = X509_STORE_get0_objects(store);
-+
-+      for (inx = 0; inx < sk_X509_OBJECT_num (store_objs); inx++)
- 	{
--	  X509_OBJECT *obj = sk_X509_OBJECT_value (store->objs, inx);
--	  if (obj->type == X509_LU_X509)
--	    sk_X509_push (certs, X509_dup (obj->data.x509));
-+	  X509_OBJECT *obj = sk_X509_OBJECT_value (store_objs, inx);
-+	  if (X509_OBJECT_get_type(obj) == X509_LU_X509)
-+	    sk_X509_push (certs, X509_dup (X509_OBJECT_get0_X509(obj)));
- 	}
-     }
-+
-   if (store)
-     X509_STORE_free (store);
-   in_bio = BIO_new_mem_buf (msg, box_length (msg) - 1);
-@@ -1181,7 +1192,7 @@ x509_certificate_verify_cb (int ok, X509
-   char *opts = (char *) X509_STORE_CTX_get_app_data (ctx);
-   if (!ok && opts)
-     {
--      switch (ctx->error)
-+      switch (X509_STORE_CTX_get_error(ctx))
- 	{
- 	case X509_V_ERR_CERT_HAS_EXPIRED:
- 	  if (strstr (opts, "expired"))
-@@ -1287,7 +1298,7 @@ bif_x509_certificate_verify (caddr_t * q
-   if (!i)
-     {
-       const char *err_str;
--      err_str = X509_verify_cert_error_string (csc->error);
-+      err_str = X509_verify_cert_error_string (X509_STORE_CTX_get_error(csc));
-       *err_ret = srv_make_new_error ("22023", "CR015", "X509 error: %s", err_str);
-     }
- 
-@@ -1308,20 +1319,16 @@ err_ret:
- #define VIRT_CERT_EXT "2.16.840.1.1113.1"
- 
- static caddr_t
--BN_box (BIGNUM * x)
-+BN_box (const BIGNUM *x)
- {
-   size_t buf_len, n;
-   caddr_t buf;
-   buf_len = (size_t) BN_num_bytes (x);
--  if (buf_len <= BN_BYTES)
--    buf = box_num ((unsigned long) x->d[0]);
--  else
--    {
--      buf = dk_alloc_box (buf_len, DV_BIN);
--      n = BN_bn2bin (x, (unsigned char *) buf);
--      if (n != buf_len)
--	GPF_T;
--    }
-+  /* did not figure out where buf is free()ed */
-+  buf = dk_alloc_box (buf_len, DV_BIN);
-+  n = BN_bn2bin (x, (unsigned char *) buf);
-+  if (n != buf_len)
-+	  GPF_T;
-   return buf;
- }
- 
-@@ -1498,7 +1505,7 @@ bif_get_certificate_info (caddr_t * qst,
- 	int i;
- 	char tmp[1024];
- 	char *ext_oid = (char *) (BOX_ELEMENTS (args) > 4 ? bif_string_arg (qst, args, 4, "get_certificate_info") : VIRT_CERT_EXT);
--	STACK_OF (X509_EXTENSION) * exts = cert->cert_info->extensions;
-+	const STACK_OF (X509_EXTENSION) * exts = X509_get0_extensions(cert);
- 	for (i = 0; i < sk_X509_EXTENSION_num (exts); i++)
- 	  {
- 	    X509_EXTENSION *ex = sk_X509_EXTENSION_value (exts, i);
-@@ -1510,7 +1517,7 @@ bif_get_certificate_info (caddr_t * qst,
- 		char *data_ptr;
- 		BIO *mem = BIO_new (BIO_s_mem ());
- 		if (!X509V3_EXT_print (mem, ex, 0, 0))
--		  M_ASN1_OCTET_STRING_print (mem, ex->value);
-+		  ASN1_STRING_print (mem, X509_EXTENSION_get_data(ex));
- 		len = BIO_get_mem_data (mem, &data_ptr);
- 		if (len > 0 && data_ptr)
- 		  {
-@@ -1537,18 +1544,23 @@ bif_get_certificate_info (caddr_t * qst,
- 	if (k)
- 	  {
- #ifdef EVP_PKEY_RSA
--	    if (k->type == EVP_PKEY_RSA)
-+	    if (EVP_PKEY_id(k) == EVP_PKEY_RSA)
- 	      {
--		RSA *x = k->pkey.rsa;
--		ret = list (3, box_dv_short_string ("RSAPublicKey"), BN_box (x->e), BN_box (x->n));
-+		const BIGNUM *n, *e;
-+
-+		RSA_get0_key(EVP_PKEY_get0_RSA(k), &n, &e, NULL);
-+
-+		ret = list (3, box_dv_short_string ("RSAPublicKey"), BN_box (e), BN_box (n));
- 	      }
- 	    else
- #endif
- #ifdef EVP_PKEY_DSA
--	    if (k->type == EVP_PKEY_DSA)
-+	    if (EVP_PKEY_id(k) == EVP_PKEY_DSA)
- 	      {
--		DSA *x = k->pkey.dsa;
--		ret = list (2, box_dv_short_string ("DSAPublicKey"), BN_box (x->pub_key));
-+		const BIGNUM *pub_key;
-+
-+		DSA_get0_key(EVP_PKEY_get0_DSA(k), &pub_key, NULL);
-+		ret = list (2, box_dv_short_string ("DSAPublicKey"), BN_box (pub_key));
- 	      }
- 	    else
- #endif
-@@ -1567,13 +1579,13 @@ bif_get_certificate_info (caddr_t * qst,
- 	int n, i, len;
- 	char *s, *data_ptr;
- 	BIO *mem = BIO_new (BIO_s_mem ());
--	for (i = 0; NULL != subj && i < sk_X509_NAME_ENTRY_num(subj->entries); i++)
-+	for (i = 0; NULL != subj && i < X509_NAME_entry_count(subj); i++)
- 	  {
--	    ne = sk_X509_NAME_ENTRY_value(subj->entries,i);
--	    n = OBJ_obj2nid (ne->object);
-+	    ne = X509_NAME_get_entry(subj, i);
-+	    n = OBJ_obj2nid (X509_NAME_ENTRY_get_object(ne));
- 	    if ((n == NID_undef) || ((s = (char *) OBJ_nid2sn (n)) == NULL))
- 	      {
--		i2t_ASN1_OBJECT (buffer, sizeof (buffer), ne->object);
-+		i2t_ASN1_OBJECT (buffer, sizeof (buffer), X509_NAME_ENTRY_get_object(ne));
- 		s = buffer;
- 	      }
- 	    if (!strcmp (s, attr))
-@@ -1582,9 +1594,10 @@ bif_get_certificate_info (caddr_t * qst,
- 		break;
- 	      }
- 	  }
-+
- 	if (ne_ret)
- 	  {
--	    ASN1_STRING_print (mem, ne_ret->value);
-+	    ASN1_STRING_print (mem, X509_NAME_ENTRY_get_data(ne_ret));
- 	    len = BIO_get_mem_data (mem, &data_ptr);
- 	    if (len > 0 && data_ptr)
- 	      {
-@@ -1605,17 +1618,17 @@ bif_get_certificate_info (caddr_t * qst,
- 	dk_set_t set = NULL;
- 	caddr_t val;
- 	BIO *mem = BIO_new (BIO_s_mem ());
--	for (i = 0; NULL != subj && i < sk_X509_NAME_ENTRY_num(subj->entries); i++)
-+	for (i = 0; NULL != subj && i < X509_NAME_entry_count(subj); i++)
- 	  {
- 	    val = NULL;
--	    ne = sk_X509_NAME_ENTRY_value(subj->entries,i);
--	    n = OBJ_obj2nid (ne->object);
-+	    ne = X509_NAME_get_entry(subj, i);
-+	    n = OBJ_obj2nid (X509_NAME_ENTRY_get_object(ne));
- 	    if ((n == NID_undef) || ((s = (char *) OBJ_nid2sn (n)) == NULL))
- 	      {
--		i2t_ASN1_OBJECT (buffer, sizeof (buffer), ne->object);
-+		i2t_ASN1_OBJECT (buffer, sizeof (buffer), X509_NAME_ENTRY_get_object(ne));
- 		s = buffer;
- 	      }
--	    ASN1_STRING_print (mem, ne->value);
-+	    ASN1_STRING_print (mem, X509_NAME_ENTRY_get_data(ne));
- 	    len = BIO_get_mem_data (mem, &data_ptr);
- 	    if (len > 0 && data_ptr)
- 	      {
-@@ -1629,18 +1642,22 @@ bif_get_certificate_info (caddr_t * qst,
- 	  }
- 	BIO_free (mem);
- 	ret = list_to_array (dk_set_nreverse (set));
-+
- 	break;
-       }
-     case 12:
-       {
- 	const unsigned char *s;
- 	int i, n;
--	const ASN1_STRING *sig = cert->signature;
--	X509_ALGOR *sigalg = cert->sig_alg;
-+	const ASN1_STRING *sig;
-+	const X509_ALGOR *sigalg;
-+	const ASN1_OBJECT *sig_alg_algorithm;
- 	char buf[80];
- 	caddr_t val;
- 
--        i2t_ASN1_OBJECT(buf,sizeof (buf), sigalg->algorithm);
-+	X509_get0_signature(&sig, &sigalg, cert);
-+	X509_ALGOR_get0(&sig_alg_algorithm, NULL, NULL, sigalg);
-+	i2t_ASN1_OBJECT(buf,sizeof (buf), sig_alg_algorithm);
- 
- 	n = sig->length;
- 	s = sig->data;
-@@ -1660,11 +1677,11 @@ bif_get_certificate_info (caddr_t * qst,
- 	if (k)
- 	  {
- #ifdef EVP_PKEY_RSA
--	    if (k->type == EVP_PKEY_RSA)
-+	    if (EVP_PKEY_id(k) == EVP_PKEY_RSA)
- 	      {
- 		char *data_ptr;
- 		int len;
--		RSA *x = k->pkey.rsa;
-+		RSA *x = EVP_PKEY_get0_RSA(k);
- 		b = BIO_new (BIO_s_mem());
- 		i2d_RSA_PUBKEY_bio (b, x);
- 		len = BIO_get_mem_data (b, &data_ptr);
---- a/libsrc/Wi/xmlenc.c
-+++ b/libsrc/Wi/xmlenc.c
-@@ -1215,36 +1215,45 @@ void xenc_key_remove (xenc_key_t * key,
- }
- 
- 
--static void
--genrsa_cb(int p, int n, void *arg)
--{
--#ifdef LINT
--  p=n;
--#endif
--}
--
- int
- __xenc_key_rsa_init (char *name)
- {
-   RSA *rsa = NULL;
--  int num=1024;
--  unsigned long f4=RSA_F4;
-+  BIGNUM *bn = NULL;
-   int r;
-+
-   xenc_key_t * pkey = xenc_get_key_by_name (name, 1);
-   if (NULL == pkey)
-     SQLR_NEW_KEY_ERROR (name);
- 
--  rsa=RSA_generate_key(num,f4,genrsa_cb,NULL);
-+  rsa = RSA_new();
-+  if (!rsa)
-+	  goto out;
-+  bn = BN_new();
-+  if (!bn)
-+	  goto out;
-+  if (!BN_set_word(bn, RSA_F4))
-+	  goto out;
-+
-+  if (!RSA_generate_key_ex(rsa, 1024, bn, NULL))
-+	  goto out;
-+
-   r = RSA_check_key(rsa);
-+  if (r != 1)
-+	  goto out;
-   pkey->ki.rsa.pad = RSA_PKCS1_PADDING;
--  if (rsa == NULL)
--    {
--      sqlr_new_error ("42000", "XENC06",
--		    "RSA parameters generation error");
--    }
-   pkey->xek_rsa = rsa;
-   pkey->xek_private_rsa = rsa;
-+  BN_free(bn);
-   return 0;
-+out:
-+  if (bn)
-+	  BN_free(bn);
-+  if (rsa)
-+	  RSA_free(rsa);
-+  sqlr_new_error ("42000", "XENC06",
-+		  "RSA parameters generation error");
-+  return -1;
- }
- 
- 
-@@ -1455,19 +1464,19 @@ xenc_key_t * xenc_key_create_from_x509_c
- 
-   if (pkey)
-     {
--      switch (EVP_PKEY_type (pkey->type))
-+      switch (EVP_PKEY_type (EVP_PKEY_id(pkey)))
- 	{
- 	case EVP_PKEY_DSA:
- 	  sign_algoname = DSIG_DSA_SHA1_ALGO;
- 	  enc_algoname = XENC_DSA_ALGO;
--	  dsa = pkey->pkey.dsa;
--	  private_dsa = private_key ? private_key->pkey.dsa : 0;
-+	  dsa = EVP_PKEY_get0_DSA(pkey);
-+	  private_dsa = private_key ? EVP_PKEY_get0_DSA(private_key) : 0;
- 	  break;
- 	case EVP_PKEY_RSA:
- 	  sign_algoname = DSIG_RSA_SHA1_ALGO;
- 	  enc_algoname = XENC_RSA_ALGO;
--	  rsa = pkey->pkey.rsa;
--	  private_rsa = private_key ? private_key->pkey.rsa : 0;
-+	  rsa = EVP_PKEY_get0_RSA(pkey);
-+	  private_rsa = private_key ? EVP_PKEY_get0_RSA(private_key) : 0;
- 	  break;
- 	default:
- 	  goto finish;
-@@ -1516,13 +1525,6 @@ xenc_key_t * xenc_key_create_from_x509_c
-   return k;
- }
- 
--static void dh_cb(int p, int n, void *arg)
--{
--#ifdef LINT
--  p=n;
--#endif
--}
--
- static /*xenc_key_DSA_create */
- caddr_t bif_xenc_key_dsa_create (caddr_t * qst, caddr_t * err_r, state_slot_t ** args)
- {
-@@ -1588,15 +1590,21 @@ caddr_t bif_xenc_key_DH_create (caddr_t
-       dh = DH_new ();
-       bn_p = BN_bin2bn ((unsigned char *)mod, p_len, NULL);
-       bn_g = BN_bin2bn (g_bin, 1, NULL);
--      dh->p = bn_p;
--      dh->g = bn_g;
-+      if (dh)
-+	      DH_set0_pqg(dh, bn_p, NULL, bn_g);
- 
-       dk_free_box (mod_b64);
-       dk_free_box (mod);
-     }
-   else
-     {
--      dh = DH_generate_parameters (num, g, dh_cb, NULL);
-+      dh = DH_new();
-+      if (dh) {
-+	      if (!DH_generate_parameters_ex(dh, num, g, NULL)) {
-+		      DH_free(dh);
-+		      dh = NULL;
-+	      }
-+      }
-     }
-   if (!dh)
-     {
-@@ -1626,7 +1634,7 @@ caddr_t bif_xenc_DH_get_params (caddr_t
-   int n, len;
-   caddr_t buf = NULL, ret, b64;
-   DH *dh;
--  BIGNUM *num;
-+  const BIGNUM *num;
- 
-   mutex_enter (xenc_keys_mtx);
-   key = xenc_get_key_by_name (name, 0);
-@@ -1641,19 +1649,19 @@ caddr_t bif_xenc_DH_get_params (caddr_t
-   switch (param)
-     {
-   	case 1:
--	 num = dh->p;
-+	 DH_get0_pqg(dh, &num, NULL, NULL);
- 	 break;
- 	case 2:
--	 num = dh->g;
-+	 DH_get0_pqg(dh, NULL, NULL, &num);
- 	 break;
- 	case 3:
--	 num = dh->pub_key;
-+	 DH_get0_key(dh, &num, NULL);
- 	 break;
- 	case 4:
--	 num = dh->priv_key;
-+	 DH_get0_key(dh, NULL, &num);
- 	 break;
- 	default:
--	 num = dh->pub_key;
-+	 DH_get0_key(dh, &num, NULL);
-     }
- 
-   buf_len = (size_t)BN_num_bytes(num);
-@@ -1811,7 +1819,15 @@ caddr_t bif_xenc_key_rsa_create (caddr_t
-   xenc_key_t * k;
-   caddr_t name = bif_string_arg (qst, args, 0, "xenc_key_RSA_create");
-   int num = (int) bif_long_arg (qst, args, 1, "xenc_key_RSA_create");
--  RSA *rsa = NULL;
-+  RSA *rsa;
-+  BIGNUM *bn;
-+
-+  rsa = RSA_new();
-+  bn = BN_new();
-+  if (!rsa || !bn)
-+	goto out;
-+  if (!BN_set_word(bn, RSA_F4))
-+	goto out;
- 
-   mutex_enter (xenc_keys_mtx);
-   if (NULL == (k = xenc_key_create (name, XENC_RSA_ALGO , DSIG_RSA_SHA1_ALGO, 0)))
-@@ -1820,12 +1836,11 @@ caddr_t bif_xenc_key_rsa_create (caddr_t
-       SQLR_NEW_KEY_EXIST_ERROR (name);
-     }
- 
--  rsa = RSA_generate_key (num, RSA_F4, NULL, NULL);
--
--  if (rsa == NULL)
--    {
--      sqlr_new_error ("42000", "XENC06", "RSA generation error");
--    }
-+  if (!RSA_generate_key_ex (rsa, num, bn, NULL)) {
-+	  mutex_leave (xenc_keys_mtx);
-+	  goto out;
-+  }
-+  BN_free(bn);
- 
-   k->xek_rsa = RSAPublicKey_dup (rsa);
-   k->xek_private_rsa = rsa;
-@@ -1839,6 +1854,13 @@ caddr_t bif_xenc_key_rsa_create (caddr_t
- 
-   mutex_leave (xenc_keys_mtx);
-   return NULL;
-+out:
-+  if (bn)
-+	  BN_free(bn);
-+  if (rsa)
-+	  RSA_free(rsa);
-+  sqlr_new_error ("42000", "XENC06", "RSA generation error");
-+  return NULL;
- }
- 
- xenc_key_t *
-@@ -2034,7 +2056,13 @@ int __xenc_key_dsa_init (char *name, int
-     SQLR_NEW_KEY_ERROR (name);
- 
-   RAND_poll ();
--  dsa = DSA_generate_parameters(num, NULL, 0, NULL, NULL, dh_cb, NULL);
-+  dsa = DSA_new();
-+  if (dsa) {
-+	  if (!DSA_generate_parameters_ex(dsa, num, NULL, 0, NULL, NULL, NULL)) {
-+		  DSA_free(dsa);
-+		  dsa = NULL;
-+	  }
-+  }
-   if (dsa == NULL)
-     {
-       sqlr_new_error ("42000", "XENC11",
-@@ -2058,7 +2086,13 @@ int __xenc_key_dh_init (char *name, int
-   if (NULL == pkey)
-     SQLR_NEW_KEY_ERROR (name);
- 
--  dh = DH_generate_parameters (num, g, dh_cb, NULL);
-+  dh = DH_new();
-+  if (dh) {
-+	  if (!DH_generate_parameters_ex(dh, num, g, NULL)) {
-+		  DH_free(dh);
-+		  dh = NULL;
-+	  }
-+  }
-   if (!dh)
-     {
-       sqlr_new_error ("42000", "XENC11",
-@@ -2280,12 +2314,12 @@ bif_xenc_key_rsa_read (caddr_t * qst, ca
-     {
-       in = BIO_new_mem_buf (key_base64, len);
-       pkey = d2i_PUBKEY_bio (in, NULL);
--      if (pkey && pkey->type == EVP_PKEY_RSA)
--	p = pkey->pkey.rsa;
-+      if (pkey && EVP_PKEY_id(pkey) == EVP_PKEY_RSA)
-+	p = EVP_PKEY_get0_RSA(pkey);
-       BIO_reset (in);
-       pkkey = d2i_PrivateKey_bio (in, NULL);
--      if (pkkey && pkkey->type == EVP_PKEY_RSA)
--	r = pkkey->pkey.rsa;
-+      if (pkkey && EVP_PKEY_id(pkkey) == EVP_PKEY_RSA)
-+	r = EVP_PKEY_get0_RSA(pkkey);
-       BIO_free (in);
-     }
-   else
-@@ -2304,9 +2338,11 @@ bif_xenc_key_rsa_read (caddr_t * qst, ca
- 
-   if (!p)
-     {
-+      const BIGNUM *n, *e;
-+
-+      RSA_get0_key(r, &n, &e, NULL);
-       p = RSA_new ();
--      p->n = BN_dup (r->n);
--      p->e = BN_dup (r->e);
-+      RSA_set0_key(p, BN_dup(n), BN_dup(e), NULL);
-     }
- 
-   mutex_enter (xenc_keys_mtx);
-@@ -2355,14 +2391,13 @@ bif_xenc_key_rsa_construct (caddr_t * qs
-   p = RSA_new ();
-   n = BN_bin2bn ((unsigned char *) mod, box_length (mod) - 1, NULL);
-   e = BN_bin2bn ((unsigned char *) exp, box_length (exp) - 1, NULL);
--  p->n = n;
--  p->e = e;
-+  RSA_set0_key(p, n, e, NULL);
-   if (pexp)
-     {
-       pk = RSA_new ();
--      pk->d = BN_bin2bn ((unsigned char *) pexp, box_length (pexp) - 1, NULL);
--      pk->n = BN_dup (n);
--      pk->e = BN_dup (e);
-+      RSA_set0_key(p, BN_dup(n),
-+		      BN_dup(e),
-+		      BN_bin2bn ((unsigned char *) pexp, box_length (pexp) - 1, NULL));
-     }
-   mutex_enter (xenc_keys_mtx);
-   k = xenc_key_create (name, XENC_RSA_ALGO, DSIG_RSA_SHA1_ALGO, 0);
-@@ -4086,7 +4121,7 @@ void xenc_tag_free (xenc_tag_t * t)
- #endif
- }
- 
--xenc_tag_t * xenc_tag_add_child_BN (xenc_tag_t * tag, BIGNUM * bn)
-+static xenc_tag_t * xenc_tag_add_child_BN (xenc_tag_t * tag, const BIGNUM * bn)
- {
-  char * buffer = dk_alloc_box (BN_num_bytes (bn), DV_BIN);
-  char * buffer_base64 = dk_alloc_box (box_length (buffer) * 2, DV_STRING);
-@@ -4111,12 +4146,15 @@ caddr_t ** xenc_generate_ext_info (xenc_
-   caddr_t ** array;
-   if (key->xek_type == DSIG_KEY_RSA)
-     {
-+      const BIGNUM *rsa_n, *rsa_e;
-+
-+      RSA_get0_key(key->ki.rsa.rsa_st, &rsa_n, &rsa_e, NULL);
-       xenc_tag_t * rsakeyval = xenc_tag_create (DSIG_URI, ":RSAKeyValue");
-       xenc_tag_t * rsamodulus = xenc_tag_create (DSIG_URI, ":Modulus");
-       xenc_tag_t * rsaexponent = xenc_tag_create (DSIG_URI, ":Exponent");
- 
--      xenc_tag_add_child_BN (rsamodulus, key->ki.rsa.rsa_st->n);
--      xenc_tag_add_child_BN (rsaexponent, key->ki.rsa.rsa_st->e);
-+      xenc_tag_add_child_BN (rsamodulus, rsa_n);
-+      xenc_tag_add_child_BN (rsaexponent, rsa_e);
- 
-       xenc_tag_add_child (rsakeyval, xenc_tag_finalize (rsamodulus));
-       xenc_tag_add_child (rsakeyval, xenc_tag_finalize (rsaexponent));
-@@ -4135,12 +4173,15 @@ caddr_t ** xenc_generate_ext_info (xenc_
-       xenc_tag_t * g = xenc_tag_create (DSIG_URI, ":G");
-       xenc_tag_t * y = xenc_tag_create (DSIG_URI, ":Y");
-       DSA * dsa = key->ki.dsa.dsa_st;
-+      const BIGNUM *dsa_p, *dsa_q, *dsa_g, *dsa_pub_key;
- 
-+      DSA_get0_pqg(dsa, &dsa_p, &dsa_q, &dsa_g);
-+      DSA_get0_key(dsa, &dsa_pub_key, NULL);
- 
--      xenc_tag_add_child_BN (p, dsa->p);
--      xenc_tag_add_child_BN (p, dsa->q);
--      xenc_tag_add_child_BN (p, dsa->g);
--      xenc_tag_add_child_BN (p, dsa->pub_key);
-+      xenc_tag_add_child_BN (p, dsa_p);
-+      xenc_tag_add_child_BN (p, dsa_q);
-+      xenc_tag_add_child_BN (p, dsa_g);
-+      xenc_tag_add_child_BN (p, dsa_pub_key);
- 
-       xenc_tag_add_child (dsakeyval, xenc_tag_finalize (p));
-       xenc_tag_add_child (dsakeyval, xenc_tag_finalize (q));
-@@ -6187,7 +6228,7 @@ caddr_t xenc_x509_get_key_identifier (X5
- 
-   ret = dk_alloc_box (ikeyid->length, DV_BIN);
-   memcpy (ret, ikeyid->data, ikeyid->length);
--  M_ASN1_OCTET_STRING_free(ikeyid);
-+  ASN1_STRING_free(ikeyid);
-   return ret;
- }
- 
-@@ -6247,7 +6288,7 @@ bif_x509_get_subject (caddr_t * qst, cad
- 
-   ret = dk_alloc_box (ikeyid->length, DV_BIN);
-   memcpy (ret, ikeyid->data, ikeyid->length);
--  M_ASN1_OCTET_STRING_free(ikeyid);
-+  ASN1_STRING_free(ikeyid);
-   return ret;
- }
- 
-@@ -6806,7 +6847,7 @@ bif_xenc_x509_csr_generate (caddr_t * qs
- 	sk_X509_EXTENSION_push(st_exts, ex);
-     }
-   X509_REQ_add_extensions(x, st_exts);
--  if (!X509_REQ_sign (x, pk, (pk->type == EVP_PKEY_RSA ? EVP_md5() : EVP_dss1())))
-+  if (!X509_REQ_sign (x, pk, (EVP_PKEY_id(pk) == EVP_PKEY_RSA ? EVP_md5() : EVP_sha1())))
-     {
-       pk = NULL; /* keep one in the xenc_key */
-       *err_ret = srv_make_new_error ("42000", "XECXX", "Can not sign certificate : %s", get_ssl_error_text (buf, sizeof (buf)));
-@@ -6945,17 +6986,17 @@ bif_xenc_x509_from_csr (caddr_t * qst, c
-       *err_ret = srv_make_new_error ("42000", "XECXX", "Can not sign certificate");
-       goto err;
-     }
--  switch (EVP_PKEY_type (cli_pk->type))
-+  switch (EVP_PKEY_type (EVP_PKEY_id(cli_pk)))
-     {
-       case EVP_PKEY_DSA:
- 	  sign_algoname = DSIG_DSA_SHA1_ALGO;
- 	  enc_algoname = XENC_DSA_ALGO;
--	  dsa = cli_pk->pkey.dsa;
-+	  dsa = EVP_PKEY_get0_DSA(cli_pk);
- 	  break;
-       case EVP_PKEY_RSA:
- 	  sign_algoname = DSIG_RSA_SHA1_ALGO;
- 	  enc_algoname = XENC_RSA_ALGO;
--	  rsa = cli_pk->pkey.rsa;
-+	  rsa = EVP_PKEY_get0_RSA(cli_pk);
- 	  break;
-       default:
- 	  *err_ret = srv_make_new_error ("42000", "XECXX", "The type of public key is not supported mus tbe RSA or DSA");
-@@ -7032,19 +7073,19 @@ bif_xenc_pkcs12_export (caddr_t * qst, c
-   if (export_chain)
-     {
-       int i;
--      X509_STORE_CTX store_ctx;
--      X509_STORE_CTX_init (&store_ctx, CA_certs, x, NULL);
--      if (X509_verify_cert (&store_ctx) > 0)
--	chain = X509_STORE_CTX_get1_chain (&store_ctx);
-+      X509_STORE_CTX *ctx;
-+      X509_STORE_CTX_init (ctx, CA_certs, x, NULL);
-+      if (X509_verify_cert (ctx) > 0)
-+	chain = X509_STORE_CTX_get1_chain (ctx);
-       else
- 	{
- 	  const char *err_str;
--	  err_str = X509_verify_cert_error_string (store_ctx.error);
-+	  err_str = X509_verify_cert_error_string (X509_STORE_CTX_get_error(ctx));
- 	  *err_ret = srv_make_new_error ("22023", "XENCX", "X509 error: %s", err_str);
--	  X509_STORE_CTX_cleanup (&store_ctx);
-+	  X509_STORE_CTX_cleanup (ctx);
- 	  goto err;
- 	}
--      X509_STORE_CTX_cleanup (&store_ctx);
-+      X509_STORE_CTX_cleanup (ctx);
-       if (chain)
- 	{
- 	  certs = sk_X509_new_null ();
-@@ -7152,16 +7193,16 @@ bif_xenc_pubkey_pem_export (caddr_t * qs
-     {
-       k = X509_get_pubkey (key->xek_x509);
- #ifdef EVP_PKEY_RSA
--      if (k->type == EVP_PKEY_RSA)
-+      if (EVP_PKEY_id(k) == EVP_PKEY_RSA)
- 	{
--	  RSA * x = k->pkey.rsa;
-+	  RSA *x = EVP_PKEY_get0_RSA(k);
- 	  PEM_write_bio_RSA_PUBKEY (b, x);
- 	}
- #endif
- #ifdef EVP_PKEY_DSA
--      if (k->type == EVP_PKEY_DSA)
-+      if (EVP_PKEY_id(k) == EVP_PKEY_DSA)
- 	{
--	  DSA * x = k->pkey.dsa;
-+	  DSA * x = EVP_PKEY_get0_DSA(k);
- 	  PEM_write_bio_DSA_PUBKEY (b, x);
- 	}
- #endif
-@@ -7208,16 +7249,16 @@ bif_xenc_pubkey_der_export (caddr_t * qs
-     {
-       k = X509_get_pubkey (key->xek_x509);
- #ifdef EVP_PKEY_RSA
--      if (k->type == EVP_PKEY_RSA)
-+      if (EVP_PKEY_id(k) == EVP_PKEY_RSA)
- 	{
--	  RSA * x = k->pkey.rsa;
-+	  RSA * x = EVP_PKEY_get0_RSA(k);
- 	  i2d_RSA_PUBKEY_bio (b, x);
- 	}
- #endif
- #ifdef EVP_PKEY_DSA
--      if (k->type == EVP_PKEY_DSA)
-+      if (EVP_PKEY_id(k) == EVP_PKEY_DSA)
- 	{
--	  DSA * x = k->pkey.dsa;
-+	  DSA * x = EVP_PKEY_get0_DSA(k);
- 	  i2d_DSA_PUBKEY_bio (b, x);
- 	}
- #endif
-@@ -7245,7 +7286,7 @@ err:
- }
- 
- static caddr_t
--BN2binbox (BIGNUM * x)
-+BN2binbox (const BIGNUM * x)
- {
-   size_t buf_len, n;
-   caddr_t buf;
-@@ -7280,8 +7321,14 @@ static caddr_t
- xenc_rsa_pub_magic (RSA * x)
- {
-   caddr_t ret;
--  caddr_t n = BN2binbox (x->n); /* modulus */
--  caddr_t e = BN2binbox (x->e); /* public exponent */
-+  caddr_t n;
-+  caddr_t e;
-+  const BIGNUM *rsa_n, *rsa_e;
-+
-+  RSA_get0_key(x, &rsa_n, &rsa_e, NULL);
-+  n = BN2binbox (rsa_n); /* modulus */
-+  e = BN2binbox (rsa_e); /* public exponent */
-+
-   n = xenc_encode_base64_binbox (n, 1);
-   e = xenc_encode_base64_binbox (e, 1);
-   ret = dk_alloc_box (box_length (n) + box_length (e) + 4 /* two dots - one trailing zero + RSA prefix */, DV_STRING);
-@@ -7306,9 +7353,9 @@ bif_xenc_pubkey_magic_export (caddr_t *
-     {
-       k = X509_get_pubkey (key->xek_x509);
- #ifdef EVP_PKEY_RSA
--      if (k->type == EVP_PKEY_RSA)
-+      if (EVP_PKEY_id(k) == EVP_PKEY_RSA)
- 	{
--	  RSA * x = k->pkey.rsa;
-+	  RSA * x = EVP_PKEY_get0_RSA(k);
- 	  ret = xenc_rsa_pub_magic (x);
- 	}
- #endif
-@@ -7349,10 +7396,16 @@ static caddr_t
- xenc_rsa_pub_ssh_export (RSA * x)
- {
-   static char * ssh_header = "\x00\x00\x00\x07ssh-rsa";
-+  const BIGNUM *rsa_n, *rsa_e;
-   caddr_t ret;
-   int len, pos;
--  caddr_t n = BN2binbox (x->n); /* modulus */
--  caddr_t e = BN2binbox (x->e); /* public exponent */
-+  caddr_t n;
-+  caddr_t e;
-+
-+  RSA_get0_key(x, &rsa_n, &rsa_e, NULL);
-+  n = BN2binbox (rsa_n); /* modulus */
-+  e = BN2binbox (rsa_e); /* public exponent */
-+
-   len = 11 + 8 + box_length (n) + box_length (e);
-   if (n[0] & 0x80)
-     len ++;
-@@ -7383,9 +7436,9 @@ bif_xenc_pubkey_ssh_export (caddr_t * qs
-     {
-       k = X509_get_pubkey (key->xek_x509);
- #ifdef EVP_PKEY_RSA
--      if (k->type == EVP_PKEY_RSA)
-+      if (EVP_PKEY_id(k) == EVP_PKEY_RSA)
- 	{
--	  RSA * x = k->pkey.rsa;
-+	  RSA * x = EVP_PKEY_get0_RSA(k);
- 	  ret = xenc_rsa_pub_ssh_export (x);
- 	}
- #endif
-@@ -7418,7 +7471,7 @@ bif_xenc_SPKI_read (caddr_t * qst, caddr
-       return NULL;
-     }
-   pk = NETSCAPE_SPKI_get_pubkey (spki);
--  if (!pk || pk->type != EVP_PKEY_RSA)
-+  if (!pk || EVP_PKEY_id(pk) != EVP_PKEY_RSA)
-     {
-       NETSCAPE_SPKI_free (spki);
-       *err_ret = srv_make_new_error ("42000", "XECXX", "Can not retrieve RSA key");
-@@ -7595,14 +7648,14 @@ bif_xenc_x509_ca_certs_list (caddr_t * q
-   sec_check_dba ((QI*)qst, me);
-   in = BIO_new (BIO_s_mem ());
-   mutex_enter (xenc_keys_mtx);
--  certs = CA_certs->objs;
-+  certs = X509_STORE_get0_objects(CA_certs);
-   len = sk_X509_OBJECT_num (certs);
-   for (i = 0; i < len; i++)
-     {
-       X509_OBJECT * obj = sk_X509_OBJECT_value (certs, i);
--      if (obj->type == X509_LU_X509)
-+      if (X509_OBJECT_get_type(obj) == X509_LU_X509)
- 	{
--	  X509 *x = obj->data.x509;
-+	  X509 *x = X509_OBJECT_get0_X509(obj);
- 	  caddr_t itm;
- 	  int blen;
- 	  BIO_reset (in);
---- a/libsrc/Wi/xmlenc.h
-+++ b/libsrc/Wi/xmlenc.h
-@@ -38,6 +38,7 @@
- #include <openssl/dsa.h>
- #include <openssl/rsa.h>
- #include <openssl/des.h>
-+#include <openssl/hmac.h>
- 
- #ifdef AES_ENC_ENABLE
- #include <openssl/aes.h>
-@@ -631,5 +632,183 @@ caddr_t * xml_find_any_child (caddr_t *
- 
- extern dk_mutex_t * xenc_keys_mtx;
- 
-+#if OPENSSL_VERSION_NUMBER < 0x10100000
-+
-+static inline HMAC_CTX *HMAC_CTX_new(void)
-+{
-+	HMAC_CTX *p;
-+
-+	p = calloc(1, sizeof(HMAC_CTX));
-+	if (!p)
-+		return p;
-+	HMAC_CTX_init(p);
-+	return p;
-+}
-+
-+static inline void HMAC_CTX_free(HMAC_CTX *ctx)
-+{
-+	HMAC_CTX_cleanup(ctx);
-+	free(ctx);
-+}
-+
-+static inline void RSA_get0_key(const RSA *r, const BIGNUM **n,
-+				const BIGNUM **e, const BIGNUM **d)
-+{
-+	if (n != NULL)
-+		*n = r->n;
-+	if (e != NULL)
-+		*e = r->e;
-+	if (d != NULL)
-+		*d = r->d;
-+}
-+
-+static inline void RSA_get0_factors(const RSA *r, const BIGNUM **p,
-+				    const BIGNUM **q)
-+{
-+	if (p != NULL)
-+		*p = r->p;
-+	if (q != NULL)
-+		*q = r->q;
-+}
-+
-+static inline RSA *EVP_PKEY_get0_RSA(EVP_PKEY *pkey)
-+{
-+	if (pkey->type != EVP_PKEY_RSA)
-+		return NULL;
-+	return pkey->pkey.rsa;
-+}
-+
-+static inline void DH_get0_key(const DH *dh, const BIGNUM **pub_key,
-+			       const BIGNUM **priv_key)
-+{
-+	if (pub_key != NULL)
-+		*pub_key = dh->pub_key;
-+	if (priv_key != NULL)
-+		*priv_key = dh->priv_key;
-+}
-+
-+
-+static inline void DH_get0_pqg(const DH *dh, const BIGNUM **p, const BIGNUM **q,
-+			       const BIGNUM **g)
-+{
-+	if (p != NULL)
-+		*p = dh->p;
-+	if (q != NULL)
-+		*q = dh->q;
-+	if (g != NULL)
-+		*g = dh->g;
-+}
-+
-+static inline DSA *EVP_PKEY_get0_DSA(EVP_PKEY *pkey)
-+{
-+	if (pkey->type != EVP_PKEY_DSA)
-+		return NULL;
-+	return pkey->pkey.dsa;
-+}
-+
-+static inline int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g)
-+{
-+	/* If the fields p and g in d are NULL, the corresponding input
-+	 * parameters MUST be non-NULL.  q may remain NULL.
-+	 */
-+	if ((dh->p == NULL && p == NULL)
-+	    || (dh->g == NULL && g == NULL))
-+		return 0;
-+
-+	if (p != NULL) {
-+		BN_free(dh->p);
-+		dh->p = p;
-+	}
-+	if (q != NULL) {
-+		BN_free(dh->q);
-+		dh->q = q;
-+	}
-+	if (g != NULL) {
-+		BN_free(dh->g);
-+		dh->g = g;
-+	}
-+
-+	if (q != NULL) {
-+		dh->length = BN_num_bits(q);
-+	}
-+
-+	return 1;
-+}
-+
-+static inline int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d)
-+{
-+	/* If the fields n and e in r are NULL, the corresponding input
-+	 * parameters MUST be non-NULL for n and e.  d may be
-+	 * left NULL (in case only the public key is used).
-+	 */
-+	if ((r->n == NULL && n == NULL)
-+	    || (r->e == NULL && e == NULL))
-+		return 0;
-+
-+	if (n != NULL) {
-+		BN_free(r->n);
-+		r->n = n;
-+	}
-+	if (e != NULL) {
-+		BN_free(r->e);
-+		r->e = e;
-+	}
-+	if (d != NULL) {
-+		BN_free(r->d);
-+		r->d = d;
-+	}
-+
-+	return 1;
-+}
-+
-+static inline void DSA_get0_pqg(const DSA *d, const BIGNUM **p,
-+				const BIGNUM **q, const BIGNUM **g)
-+{
-+	if (p != NULL)
-+		*p = d->p;
-+	if (q != NULL)
-+		*q = d->q;
-+	if (g != NULL)
-+		*g = d->g;
-+}
-+
-+static inline void DSA_get0_key(const DSA *d, const BIGNUM **pub_key,
-+				const BIGNUM **priv_key)
-+{
-+	if (pub_key != NULL)
-+		*pub_key = d->pub_key;
-+	if (priv_key != NULL)
-+		*priv_key = d->priv_key;
-+}
-+
-+static inline const STACK_OF(X509_EXTENSION) *X509_get0_extensions(const X509 *x)
-+{
-+	return x->cert_info->extensions;
-+}
-+
-+static inline int X509_up_ref(X509 *x)
-+{
-+	return CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
-+}
-+
-+static inline STACK_OF(X509_OBJECT) *X509_STORE_get0_objects(X509_STORE *v)
-+{
-+	return v->objs;
-+}
-+
-+static inline int X509_OBJECT_get_type(const X509_OBJECT *a)
-+{
-+	return a->type;
-+}
-+
-+static inline X509 *X509_OBJECT_get0_X509(const X509_OBJECT *a)
-+{
-+	if (a == NULL || a->type != X509_LU_X509)
-+		return NULL;
-+	return a->data.x509;
-+}
-+
-+#endif
-+
- #endif
- 
---- a/libsrc/Wi/xmlenc_algos.c
-+++ b/libsrc/Wi/xmlenc_algos.c
-@@ -1149,7 +1149,7 @@ int
- dsig_hmac_sha256_digest (dk_session_t * ses_in, long len, xenc_key_t * key, caddr_t * sign_out)
- {
-   unsigned char * data;
--  HMAC_CTX ctx;
-+  HMAC_CTX *ctx;
-   unsigned char key_data[32 * 8];
-   unsigned char md [SHA256_DIGEST_LENGTH + 1];
-   unsigned char md64 [SHA256_DIGEST_LENGTH * 2 + 1];
-@@ -1182,7 +1182,9 @@ dsig_hmac_sha256_digest (dk_session_t *
-       default:
- 	  return 0;
-     }
--
-+  ctx = HMAC_CTX_new();
-+  if (!ctx)
-+	  return 0;
- 
-   data = (unsigned char *) dk_alloc_box (len, DV_C_STRING);
-   CATCH_READ_FAIL (ses_in)
-@@ -1192,14 +1194,15 @@ dsig_hmac_sha256_digest (dk_session_t *
-   FAILED
-     {
-       dk_free_box ((box_t) data);
-+      HMAC_CTX_free(ctx);
-       return 0;
-     }
-   END_READ_FAIL (ses_in);
- 
--  HMAC_Init(&ctx, (void*) key_data , key_len, EVP_sha256 ());
--  HMAC_Update(&ctx, data, len);
--  HMAC_Final(&ctx, md, &hmac_len);
--  HMAC_cleanup(&ctx);
-+  HMAC_Init_ex(ctx, (void*) key_data , key_len, EVP_sha256 (), NULL);
-+  HMAC_Update(ctx, data, len);
-+  HMAC_Final(ctx, md, &hmac_len);
-+  HMAC_CTX_free(ctx);
- 
-   if (hmac_len != SHA256_DIGEST_LENGTH)
-     GPF_T;
-@@ -1220,7 +1223,7 @@ dsig_hmac_sha256_digest (dk_session_t *
- int
- dsig_hmac_sha256_verify (dk_session_t * ses_in, long len, xenc_key_t * key, caddr_t digest)
- {
--  HMAC_CTX ctx;
-+  HMAC_CTX *ctx;
-   unsigned char * data;
-   unsigned char key_data[3 * 8];
-   unsigned char md [SHA256_DIGEST_LENGTH + 1];
-@@ -1249,6 +1252,9 @@ dsig_hmac_sha256_verify (dk_session_t *
- 	  return 0;
-     }
- 
-+  ctx = HMAC_CTX_new();
-+  if (!ctx)
-+	  return 0;
- 
-   data = (unsigned char *) dk_alloc_box (len, DV_C_STRING);
-   CATCH_READ_FAIL (ses_in)
-@@ -1258,14 +1264,15 @@ dsig_hmac_sha256_verify (dk_session_t *
-   FAILED
-     {
-       dk_free_box ((box_t) data);
-+      HMAC_CTX_free(ctx);
-       return 0;
-     }
-   END_READ_FAIL (ses_in);
- 
--  HMAC_Init(&ctx, (void*) key_data , key_len, EVP_sha256 ());
--  HMAC_Update(&ctx, data, len);
--  HMAC_Final(&ctx, md, &hmac_len);
--  HMAC_cleanup(&ctx);
-+  HMAC_Init_ex(ctx, (void*) key_data , key_len, EVP_sha256 (), NULL);
-+  HMAC_Update(ctx, data, len);
-+  HMAC_Final(ctx, md, &hmac_len);
-+  HMAC_CTX_free(ctx);
-   dk_free_box ((box_t) data);
- 
-   len1 = xenc_encode_base64 ((char *)md, md64, hmac_len);
-@@ -1586,7 +1593,7 @@ int
- dsig_hmac_sha1_digest (dk_session_t * ses_in, long len, xenc_key_t * key, caddr_t * sign_out)
- {
-   unsigned char * data;
--  HMAC_CTX ctx;
-+  HMAC_CTX *ctx;
-   unsigned char key_data[32 * 8];
-   unsigned char md [SHA_DIGEST_LENGTH + 1];
-   unsigned char md64 [SHA_DIGEST_LENGTH * 2 + 1];
-@@ -1620,6 +1627,9 @@ dsig_hmac_sha1_digest (dk_session_t * se
- 	  return 0;
-     }
- 
-+  ctx = HMAC_CTX_new();
-+  if (!ctx)
-+	  return 0;
- 
-   data = (unsigned char *) dk_alloc_box (len, DV_C_STRING);
-   CATCH_READ_FAIL (ses_in)
-@@ -1629,14 +1639,15 @@ dsig_hmac_sha1_digest (dk_session_t * se
-   FAILED
-     {
-       dk_free_box ((box_t) data);
-+      HMAC_CTX_free(ctx);
-       return 0;
-     }
-   END_READ_FAIL (ses_in);
- 
--  HMAC_Init(&ctx, (void*) key_data , key_len, EVP_sha1 ());
--  HMAC_Update(&ctx, data, len);
--  HMAC_Final(&ctx, md, &hmac_len);
--  HMAC_cleanup(&ctx);
-+  HMAC_Init_ex(ctx, (void*) key_data , key_len, EVP_sha1 (), NULL);
-+  HMAC_Update(ctx, data, len);
-+  HMAC_Final(ctx, md, &hmac_len);
-+  HMAC_CTX_free(ctx);
- 
-   if (hmac_len != SHA_DIGEST_LENGTH)
-     GPF_T;
-@@ -1657,7 +1668,7 @@ dsig_hmac_sha1_digest (dk_session_t * se
- int
- dsig_hmac_sha1_verify (dk_session_t * ses_in, long len, xenc_key_t * key, caddr_t digest)
- {
--  HMAC_CTX ctx;
-+  HMAC_CTX *ctx;
-   unsigned char * data;
-   unsigned char key_data[3 * 8];
-   unsigned char md [SHA_DIGEST_LENGTH + 1];
-@@ -1686,6 +1697,9 @@ dsig_hmac_sha1_verify (dk_session_t * se
- 	  return 0;
-     }
- 
-+  ctx = HMAC_CTX_new();
-+  if (!ctx)
-+	  return 0;
- 
-   data = (unsigned char *) dk_alloc_box (len, DV_C_STRING);
-   CATCH_READ_FAIL (ses_in)
-@@ -1695,14 +1709,15 @@ dsig_hmac_sha1_verify (dk_session_t * se
-   FAILED
-     {
-       dk_free_box ((box_t) data);
-+      HMAC_CTX_free(ctx);
-       return 0;
-     }
-   END_READ_FAIL (ses_in);
- 
--  HMAC_Init(&ctx, (void*) key_data , key_len, EVP_sha1 ());
--  HMAC_Update(&ctx, data, len);
--  HMAC_Final(&ctx, md, &hmac_len);
--  HMAC_cleanup(&ctx);
-+  HMAC_Init_ex(ctx, (void*) key_data , key_len, EVP_sha1 (), NULL);
-+  HMAC_Update(ctx, data, len);
-+  HMAC_Final(ctx, md, &hmac_len);
-+  HMAC_CTX_free(ctx);
-   dk_free_box ((box_t) data);
- 
-   len1 = xenc_encode_base64 ((char *)md, md64, hmac_len);
-@@ -1763,7 +1778,7 @@ int xenc_aes_encryptor (dk_session_t * s
-   caddr_t outbuf_beg;
-   int len;
-   caddr_t encoded_out;
--  EVP_CIPHER_CTX ctx;
-+  EVP_CIPHER_CTX *ctx;
-   unsigned char * ivec = &key->ki.aes.iv[0];
- 
-   CATCH_READ_FAIL (ses_in)
-@@ -1778,7 +1793,7 @@ int xenc_aes_encryptor (dk_session_t * s
-   END_READ_FAIL (ses_in);
- 
- #if 1
--  EVP_CIPHER_CTX_init(&ctx);
-+  ctx = EVP_CIPHER_CTX_new();
-   outbuf_beg = dk_alloc_box (box_length (text) + 16, DV_BIN);
-   memcpy (outbuf_beg, ivec, 16);
-   outbuf = outbuf_beg + 16;
-@@ -1786,20 +1801,19 @@ int xenc_aes_encryptor (dk_session_t * s
-   switch (key->ki.aes.bits)
-     {
-     case 128:
--      EVP_EncryptInit_ex(&ctx, EVP_aes_128_cbc(), NULL, key->ki.aes.k, ivec);
-+      EVP_EncryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key->ki.aes.k, ivec);
-       break;
-     case 192:
--      EVP_EncryptInit_ex(&ctx, EVP_aes_192_cbc(), NULL, key->ki.aes.k, ivec);
-+      EVP_EncryptInit_ex(ctx, EVP_aes_192_cbc(), NULL, key->ki.aes.k, ivec);
-       break;
-     case 256:
--      EVP_EncryptInit_ex(&ctx, EVP_aes_256_cbc(), NULL, key->ki.aes.k, ivec);
-+      EVP_EncryptInit_ex(ctx, EVP_aes_256_cbc(), NULL, key->ki.aes.k, ivec);
-       break;
-     default:
-       GPF_T1 ("Unsupported key size");
-     }
--  if(!EVP_EncryptUpdate(&ctx, (unsigned char *)outbuf, &outlen, (unsigned char *)text, box_length (text)))
-+  if(!EVP_EncryptUpdate(ctx, (unsigned char *)outbuf, &outlen, (unsigned char *)text, box_length (text)))
-     {
--      EVP_CIPHER_CTX_cleanup(&ctx);
-       dk_free_box (text);
-       dk_free_box (outbuf_beg);
-       xenc_report_error (t, 500, XENC_ENC_ERR, "AES encryption internal error #2");
-@@ -1812,7 +1826,7 @@ int xenc_aes_encryptor (dk_session_t * s
-       xenc_report_error (t, 500, XENC_ENC_ERR, "AES encryption internal error #3");
-       } */
-   /* outlen += tmplen; */
--  EVP_CIPHER_CTX_cleanup(&ctx);
-+  EVP_CIPHER_CTX_free(ctx);
- 
- #else
-   outbuf_beg = dk_alloc_box (box_length (text) + 16 /* iv */, DV_BIN);
-@@ -2050,6 +2064,7 @@ xenc_rsa_decryptor (dk_session_t * ses_i
-   int len = 0;
-   int keysize;
-   RSA * rsa = key->xek_private_rsa;
-+  const BIGNUM *p, *q;
- 
-   if (!seslen)
-     {
-@@ -2062,9 +2077,9 @@ xenc_rsa_decryptor (dk_session_t * ses_i
-       xenc_report_error (t, 500 + strlen (key->xek_name), XENC_ENC_ERR, "could not make RSA decryption [key %s is not RSA]", key->xek_name);
-       return 0;
-     }
-+  RSA_get0_factors(rsa, &p, &q);
-   if (!rsa ||
--      !rsa->p ||
--      !rsa->q)
-+      !p || !q)
-     {
-       if (key->xek_x509_KI)
- 	key = xenc_get_key_by_keyidentifier (key->xek_x509_KI, 1);
---- a/libsrc/util/sslengine.c
-+++ b/libsrc/util/sslengine.c
-@@ -29,7 +29,11 @@
- int
- ssl_engine_startup (void)
- {
--  CRYPTO_malloc_init ();
-+#if OPENSSL_VERSION_NUMBER < 0x10100000 || defined LIBRESSL_VERSION_NUMBER
-+	CRYPTO_malloc_init ();
-+#else
-+	OPENSSL_malloc_init();
-+#endif
-   ERR_load_crypto_strings();
-   OpenSSL_add_all_algorithms();
- 
---- a/libsrc/Wi/http.c
-+++ b/libsrc/Wi/http.c
-@@ -8886,7 +8886,7 @@ ssl_server_set_certificate (SSL_CTX* ssl
- 		  log_error ("SSL: The stored certificate '%s' can not be used as extra chain certificate", tok);
- 		  break;
- 		}
--	      CRYPTO_add(&k->xek_x509->references, 1, CRYPTO_LOCK_X509);
-+	      X509_up_ref(k->xek_x509);
-               tok = strtok_r (NULL, ",", &tok_s);
- 	    }
- 	  dk_free_box (str);
---- a/libsrc/Dk/Dkernel.c
-+++ b/libsrc/Dk/Dkernel.c
-@@ -5280,7 +5280,11 @@ ssl_server_init ()
-   }
- #endif
- 
--  SSLeay_add_all_algorithms ();
-+#if OPENSSL_VERSION_NUMBER < 0x10100000
-+  SSLeay_add_all_algorithms();
-+#else
-+  OpenSSL_add_all_algorithms();
-+#endif
-   PKCS12_PBE_add ();		/* stub */
- 
- #ifdef NO_THREAD
diff --git a/srcpkgs/virtuoso/patches/ssl1.1_more.patch b/srcpkgs/virtuoso/patches/ssl1.1_more.patch
deleted file mode 100644
index 66e50ec127ba..000000000000
--- a/srcpkgs/virtuoso/patches/ssl1.1_more.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Description: Comment unknown definition in ssl1.1 - please review!
-Author: Andreas Tille <tille@debian.org>
-Bug-Debian: https://bugs.debian.org/828594
-Last-Update: Mo 11. Feb 13:50:17 CET 2019
-
---- a/libsrc/Dk/Dkernel.c
-+++ b/libsrc/Dk/Dkernel.c
-@@ -5161,10 +5161,12 @@ ssl_ctx_set_protocol_options(SSL_CTX *ct
-       else if (!strcasecmp (name, "TLSv1_2") || !strcasecmp (name, "TLSv1.2"))
- 	opt = SSL_PROTOCOL_TLSV1_2;
- #endif
-+/*
- #if defined (SSL_OP_NO_TLSv1_3)
-       else if (!strcasecmp (name, "TLSv1_3") || !strcasecmp (name, "TLSv1.3"))
- 	opt = SSL_PROTOCOL_TLSV1_3;
- #endif
-+*/
-       else if (!strcasecmp (name, "ALL"))
- 	opt = SSL_PROTOCOL_ALL;
-       else
diff --git a/srcpkgs/virtuoso/patches/use-mkstemp.patch b/srcpkgs/virtuoso/patches/use-mkstemp.patch
deleted file mode 100644
index d71b7e417bd9..000000000000
--- a/srcpkgs/virtuoso/patches/use-mkstemp.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Source: @pullmoll
-Upstream: no
-Reason: Avoid mktemp(3) because "Never use this function; see BUGS."
-
---- a/libsrc/Dk/Dksesstr.c	2018-08-16 01:06:21.000000000 +0200
-+++ b/libsrc/Dk/Dksesstr.c	2020-01-27 15:22:00.953876251 +0100
-@@ -298,8 +298,10 @@
-       if (!ses2->ses_file->ses_max_blocks_in_mem)
- 	{
- 	  char fname[PATH_MAX + 1];
-+          int fd;
- 	  snprintf (fname, sizeof (fname), "%s/sesXXXXXX", ses_tmp_dir);
--	  mktemp (fname);
-+	  fd = mkstemp (fname);
-+          close (fd);
- 
- #if defined (WIN32)
- # define OPEN_FLAGS  	  O_CREAT | O_RDWR | O_BINARY | O_EXCL | O_TEMPORARY
diff --git a/srcpkgs/virtuoso/template b/srcpkgs/virtuoso/template
index 73e59023d35e..783909f0de14 100644
--- a/srcpkgs/virtuoso/template
+++ b/srcpkgs/virtuoso/template
@@ -1,18 +1,18 @@
 # Template file for 'virtuoso'
 pkgname=virtuoso
-version=7.2.5.1
-revision=3
+version=7.2.8
+revision=1
 archs="x86_64* aarch64* ppc64le*"
 build_style=gnu-configure
-configure_args="--enable-static"
-hostmakedepends="automake libtool flex gperf net-tools"
+hostmakedepends="automake libtool flex gperf net-tools which"
 makedepends="openssl-devel libldap-devel readline-devel libxml2-devel mit-krb5-devel"
+checkdepends="procps-ng unzip curl"
 short_desc="Scalable cross-platform server of virtuoso"
 maintainer="Orphaned <orphan@voidlinux.org>"
-license="GPL-2"
+license="GPL-2.0-only"
 homepage="http://virtuoso.openlinksw.com/wiki/main/Main/"
 distfiles="https://github.com/openlink/virtuoso-opensource/archive/v${version}.tar.gz"
-checksum=3e4807e94098b8265f8cf00867d1215bb1e9d0d274878e59a420742d2de471c2
+checksum=b7a8b79943aef7de1d7f7a984027747776ab0b44cf6e160cbd66085e5bd91ed5
 # cannot execute binary file: Exec format error
 nocross="https://build.voidlinux.org/builders/armv6l_builder/builds/29187/steps/shell_3/logs/stdio"
 
@@ -45,8 +45,6 @@ post_install() {
 	rm ${DESTDIR}/usr/lib/virtodbc_r.{a,so}
 	rm ${DESTDIR}/usr/lib/virtodbcu.{a,so}
 	rm ${DESTDIR}/usr/lib/virtodbcu_r.{a,so}
-	# remove static libs.
-	rm ${DESTDIR}/usr/lib/virtuoso-opensource-${version%%.*}/hosting/*.a
 }
 
 virtuoso-base_package() {
@@ -62,6 +60,6 @@ virtuoso-base_package() {
 				${PKGDESTDIR}/usr/bin/${bin}-vt
 		done
 		# Remove static libs and libtool archives.
-		rm -f ${PKGDESTDIR}/usr/lib/*.{a,la}
+		rm -f ${PKGDESTDIR}/usr/lib/*.la
 	}
 }

From 3d2337677f2e62b40b652e896a205b141a8adf83 Mon Sep 17 00:00:00 2001
From: Klara Modin <klarasmodin@gmail.com>
Date: Wed, 1 Feb 2023 16:43:58 +0100
Subject: [PATCH 39/39] x2goclient: revbump due to openldap update

---
 srcpkgs/x2goclient/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/x2goclient/template b/srcpkgs/x2goclient/template
index ba2d57781c4d..70c9faec4d4e 100644
--- a/srcpkgs/x2goclient/template
+++ b/srcpkgs/x2goclient/template
@@ -1,7 +1,7 @@
 # Template file for 'x2goclient'
 pkgname=x2goclient
 version=4.1.2.2
-revision=2
+revision=3
 build_style=gnu-makefile
 build_helper=qmake
 make_build_args="QMAKE_BINARY=qmake-qt5 LRELEASE_BINARY=lrelease-qt5"

  parent reply	other threads:[~2023-02-03 18:14 UTC|newest]

Thread overview: 117+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-29 23:49 [PR PATCH] " klarasm
2023-01-31 23:28 ` [PR PATCH] [Updated] " klarasm
2023-01-31 23:31 ` klarasm
2023-01-31 23:55 ` [PR PATCH] [Updated] " klarasm
2023-02-01  0:32 ` klarasm
2023-02-01  0:47 ` [PR PATCH] [Updated] " klarasm
2023-02-01  1:22 ` klarasm
2023-02-01  2:11 ` klarasm
2023-02-01 14:20 ` [PR PATCH] [Updated] " klarasm
2023-02-01 14:29 ` klarasm
2023-02-01 14:37 ` klarasm
2023-02-01 14:57 ` klarasm
2023-02-01 15:24 ` klarasm
2023-02-01 15:44 ` klarasm
2023-02-01 15:53 ` klarasm
2023-02-01 16:01 ` klarasm
2023-02-01 16:04 ` klarasm
2023-02-01 19:47 ` [PR PATCH] [Updated] " klarasm
2023-02-01 19:50 ` klarasm
2023-02-01 20:49 ` [PR PATCH] [Updated] " klarasm
2023-02-01 20:50 ` klarasm
2023-02-01 21:49 ` [PR PATCH] [Updated] " klarasm
2023-02-01 21:50 ` klarasm
2023-02-01 22:59 ` [PR PATCH] [Updated] " klarasm
2023-02-01 23:01 ` klarasm
2023-02-01 23:33 ` [PR PATCH] [Updated] " klarasm
2023-02-01 23:35 ` klarasm
2023-02-02 11:50 ` klarasm
2023-02-02 13:38 ` klarasm
2023-02-02 20:20 ` klarasm
2023-02-03 15:41 ` dkwo
2023-02-03 15:50 ` dkwo
2023-02-03 16:01 ` klarasm
2023-02-03 16:21 ` kruceter
2023-02-03 16:26 ` klarasm
2023-02-03 16:29 ` kruceter
2023-02-03 16:34 ` klarasm
2023-02-03 16:45 ` [PR REVIEW] " paper42
2023-02-03 16:45 ` paper42
2023-02-03 16:45 ` paper42
2023-02-03 16:45 ` paper42
2023-02-03 16:45 ` paper42
2023-02-03 16:46 ` paper42
2023-02-03 16:46 ` klarasm
2023-02-03 16:49 ` klarasm
2023-02-03 17:05 ` paper42
2023-02-03 17:16 ` klarasm
2023-02-03 17:20 ` klarasm
2023-02-03 17:30 ` klarasm
2023-02-03 17:41 ` [PR REVIEW] " klarasm
2023-02-03 18:14 ` klarasm [this message]
2023-02-03 18:34 ` dkwo
2023-02-04  0:25 ` [PR PATCH] [Updated] " klarasm
2023-02-06 17:32 ` klarasm
2023-02-14 20:51 ` klarasm
2023-02-15  0:34 ` [PR PATCH] [Updated] " klarasm
2023-02-15 16:22 ` [PR PATCH] [Updated] openldap: update to 2.6.4 klarasm
2023-02-15 16:23 ` klarasm
2023-02-16 11:59 ` klarasm
2023-02-23 19:50 ` paper42
2023-02-23 21:05 ` [PR PATCH] [Updated] " klarasm
2023-03-02 14:53 ` klarasm
2023-03-05 21:05 ` klarasm
2023-03-06 19:40 ` [PR REVIEW] " paper42
2023-03-06 21:54 ` klarasm
2023-03-08 18:49 ` [PR PATCH] [Updated] " klarasm
2023-03-08 19:29 ` klarasm
2023-04-01 11:28 ` klarasm
2023-04-06 21:19 ` klarasm
2023-04-15 18:01 ` klarasm
2023-04-25  7:05 ` klarasm
2023-05-03 15:05 ` Emru1
2023-05-03 16:08 ` klarasm
2023-05-03 19:23 ` [PR PATCH] [Updated] " klarasm
2023-05-03 19:28 ` klarasm
2023-05-05 17:19 ` klarasm
2023-05-05 17:37 ` klarasm
2023-05-05 17:39 ` klarasm
2023-05-09  8:20 ` klarasm
2023-05-09  8:44 ` klarasm
2023-05-09 12:59 ` [PR PATCH] [Updated] " klarasm
2023-05-09 13:31 ` klarasm
2023-05-09 13:32 ` klarasm
2023-05-12 18:49 ` [PR PATCH] [Updated] " klarasm
2023-05-14 10:16 ` klarasm
2023-05-17 16:01 ` klarasm
2023-05-30 14:04 ` klarasm
2023-05-30 14:33 ` klarasm
2023-06-11 17:02 ` klarasm
2023-06-19 20:22 ` klarasm
2023-06-25 21:05 ` klarasm
2023-07-12 15:58 ` klarasm
2023-07-12 16:54 ` [PR PATCH] [Updated] " klarasm
2023-07-21 16:55 ` [PR PATCH] [Updated] openldap: update to 2.6.5 klarasm
2023-07-29 22:58 ` klarasm
2023-08-04 16:24 ` klarasm
2023-08-08 22:59 ` [PR PATCH] [Updated] openldap: update to 2.6.6 klarasm
2023-08-22 21:20 ` klarasm
2023-08-22 21:26 ` klarasm
2023-08-28 12:26 ` [PR PATCH] [Updated] " klarasm
2023-08-30 17:15 ` klarasm
2023-09-09 12:14 ` klarasm
2023-09-14 12:24 ` klarasm
2023-09-17 18:44 ` klarasm
2023-09-17 18:57 ` [PR PATCH] [Merged]: " the-maldridge
2023-09-17 19:57 ` klarasm
  -- strict thread matches above, loose matches on Subject: below --
2022-11-27 20:46 [PR PATCH] openldap: update to 2.6.3 Emru1
2022-11-29 21:33 ` [PR PATCH] [Updated] " Emru1
2022-12-14 22:20 ` Emru1
2022-12-14 23:27 ` Emru1
2022-12-14 23:37 ` Emru1
2022-12-15 10:31 ` Emru1
2022-12-15 11:48 ` Emru1
2022-12-22 11:22 ` Emru1
2023-01-03 13:17 ` Emru1
2023-02-09 19:53 ` Emru1
2023-02-09 20:11 ` Emru1
2023-02-10 12:52 ` Emru1

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230203181410.znLdaHyx4MkfXcYOShwB07wykjq_PV7H1jPai1DxNA0@z \
    --to=klarasm@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).