Stuart Henderson:
> henning: do you still use openldap 2.3? if not, the port is a bit of a
> source of problems and it would be helpful to remove it (these days 2.4
> has a backend which is nothing to do with berkeley db which iirc was the
> original problem)
In case we still need it, we can just copy the newer code from
openldap 2.4:
Index: Makefile
===================================================================
RCS file: /cvs/ports/databases/openldap23/Makefile,v
retrieving revision 1.28
diff -u -p -r1.28 Makefile
--- Makefile 20 Mar 2020 16:44:22 -0000 1.28
+++ Makefile 8 Sep 2021 08:17:51 -0000
@@ -4,7 +4,7 @@ COMMENT= open-source LDAP software (serv
DISTNAME= openldap-2.3.43
PKGNAME= ${DISTNAME:S/-/-server-/}
-REVISION= 21
+REVISION= 22
CATEGORIES= databases net
Index: patches/patch-libraries_libldap_url_c
===================================================================
RCS file: patches/patch-libraries_libldap_url_c
diff -N patches/patch-libraries_libldap_url_c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-libraries_libldap_url_c 8 Sep 2021 08:17:51 -0000
@@ -0,0 +1,23 @@
+$OpenBSD$
+
+Index: libraries/libldap/url.c
+--- libraries/libldap/url.c.orig
++++ libraries/libldap/url.c
+@@ -617,12 +617,14 @@ desc2str( LDAPURLDesc *u, char *s, int len )
+ }
+
+ if ( u->lud_port ) {
+- len -= sprintf( s, "%s://%s:%d%n", u->lud_scheme,
++ sofar = sprintf( s, "%s://%s:%d", u->lud_scheme,
+ u->lud_host ? u->lud_host : "",
+- u->lud_port, &sofar );
++ u->lud_port );
++ len -= sofar;
+
+ } else {
+- len -= sprintf( s, "%s://%n", u->lud_scheme, &sofar );
++ sofar = sprintf( s, "%s://", u->lud_scheme );
++ len -= sofar;
+ if ( u->lud_host && u->lud_host[0] ) {
+ i = hex_escape( &s[sofar], len, u->lud_host,
URLESC_SLASH );
+ sofar += i;
--
Christian "naddy" Weisgerber [email protected]