git: 22199cb9f66f - main - net/openldap26-server: update to 2.6.13.

From: Xin LI <delphij_at_FreeBSD.org>
Date: Sun, 15 Mar 2026 23:11:51 UTC
The branch main has been updated by delphij:

URL: https://cgit.FreeBSD.org/ports/commit/?id=22199cb9f66fa28b7db23488eebd5fa15bf8dc8e

commit 22199cb9f66fa28b7db23488eebd5fa15bf8dc8e
Author:     Xin LI <delphij@FreeBSD.org>
AuthorDate: 2026-03-15 23:08:02 +0000
Commit:     Xin LI <delphij@FreeBSD.org>
CommitDate: 2026-03-15 23:11:07 +0000

    net/openldap26-server: update to 2.6.13.
    
    While I'm there also address the following issues:
    
     - Add nssov overlay (PR 293531)
     - Add an option to delay slapd startup (PR 280849)
     - Support PREFIX/openldap/slapd.d/cn=config/olcDatabase=* as directory
       (PR 261792 / 258418)
    
    PR:     258418, 261792, 280849, 293531
---
 net/openldap26-server/Makefile       | 32 ++++++++++++++++++++++++++++++--
 net/openldap26-server/distinfo       |  6 +++---
 net/openldap26-server/files/slapd.in |  7 +++++--
 net/openldap26-server/pkg-plist      |  6 ++++++
 4 files changed, 44 insertions(+), 7 deletions(-)

diff --git a/net/openldap26-server/Makefile b/net/openldap26-server/Makefile
index 24c18a9f55a6..bd375c80b447 100644
--- a/net/openldap26-server/Makefile
+++ b/net/openldap26-server/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=		openldap
-DISTVERSION=		2.6.12
+DISTVERSION=		2.6.13
 CATEGORIES=		net databases
 MASTER_SITES=		https://www.openldap.org/software/download/OpenLDAP/%SUBDIR%/ \
 			http://gpl.savoirfairelinux.net/pub/mirrors/openldap/%SUBDIR%/ \
@@ -89,8 +89,9 @@ OPTIONS_GROUP_OVLYS+=	HOMEDIR
 OPTIONS_GROUP_OVLYS+=	LASTBIND
 OPTIONS_GROUP_OVLYS+=	LASTMOD
 OPTIONS_GROUP_OVLYS+=	MEMBEROF
-OPTIONS_GROUP_OVLYS+=	NOPS
 OPTIONS_GROUP_OVLYS+=	NESTGROUP
+OPTIONS_GROUP_OVLYS+=	NOPS
+OPTIONS_GROUP_OVLYS+=	NSSOV
 OPTIONS_GROUP_OVLYS+=	OTP
 OPTIONS_GROUP_OVLYS+=	PROXYCACHE
 OPTIONS_GROUP_OVLYS+=	PPOLICY
@@ -114,6 +115,7 @@ OPTIONS_DEFINE+=	PBKDF2
 OPTIONS_DEFINE+=	OUTLOOK
 OPTIONS_DEFINE+=	ARGON2
 OPTIONS_DEFINE+=	LLOADD
+OPTIONS_DEFINE+=	NETWORKING
 
 OPTIONS_EXCLUDE_FreeBSD_15=	SMBPWD	# Only works with Heimdal
 OPTIONS_EXCLUDE_FreeBSD_16=	SMBPWD	# Only works with Heimdal
@@ -128,6 +130,7 @@ ACI_DESC=		Per-object ACI (experimental)
 ARGON2_DESC=		Argon2 password hashing module
 DYNACL_DESC=		Run-time loadable ACL (experimental)
 LLOADD_DESC=		Enable load balancer
+NETWORKING_DESC=	Require full network configuration (NETWORKING) before slapd starts
 OUTLOOK_DESC=		Force caseIgnoreOrderingMatch on name attribute (experimental)
 RLOOKUPS_DESC=		With reverse lookups of client hostnames
 SLAPI_DESC=		With Netscape SLAPI plugin API (experimental)
@@ -155,6 +158,7 @@ HOMEDIR_DESC=		With Home Directory Management overlay
 MEMBEROF_DESC=		With Reverse Group Membership overlay
 NESTGROUP_DESC=		With nestgroup overlay
 NOPS_DESC=		With nops overlay
+NSSOV_DESC=		With NSS/PAM overlay [baked in nslcd(8)]
 OTP_DESC=		With OTP 2-factor authentication overlay
 PPOLICY_DESC=		With Password Policy overlay
 PROXYCACHE_DESC=	With Proxy Cache overlay
@@ -267,6 +271,12 @@ SUB_LIST+=		RC_DIR=${PREFIX} \
 			LDAP_RUN_DIR=${LDAP_RUN_DIR} \
 			DATABASEDIR=${DATABASEDIR}
 
+.if ${PORT_OPTIONS:MNETWORKING}
+SUB_LIST+=		SLAPD_REQUIRE=NETWORKING
+.else
+SUB_LIST+=		SLAPD_REQUIRE=FILESYSTEMS
+.endif
+
 USERS=			ldap
 GROUPS=			ldap
 LDAP_USER?=		ldap
@@ -365,6 +375,13 @@ CONTRIB_CLEANFILES+=	lastmod.a
 CONTRIB_MODULES+=	slapd-modules/nops
 CONTRIB_CLEANFILES+=	nops.a
 .endif
+.if ${PORT_OPTIONS:MNSSOV}
+CONTRIB_MODULES+=	slapd-modules/nssov
+CONTRIB_CLEANFILES+=	nssov.a
+NSLCD_VARDIR!=		${MAKE} -C ../nss-pam-ldapd -V NSLCD_VARDIR
+NSLCD_SOCKET!=		${MAKE} -C ../nss-pam-ldapd -V NSLCD_SOCKET
+SUB_LIST+=		NSLCD_VARDIR=${NSLCD_VARDIR}
+.endif
 .if ${PORT_OPTIONS:MTRACE}
 CONTRIB_MODULES+=	slapd-modules/trace
 CONTRIB_CLEANFILES+=	trace.a
@@ -401,6 +418,14 @@ post-patch:
 		${WRKSRC}/libraries/libldap/ldap.map
 .endif
 
+post-patch-NSSOV-on:
+	@${REINPLACE_CMD} -E \
+		-e 's|^(#define[[:space:]]+NSLCD_PATH).*|\1	"${NSLCD_VARDIR}"|' \
+		-e 's|^(#define[[:space:]]+NSLCD_SOCKET).*|\1	"${NSLCD_SOCKET}"|' \
+		${WRKSRC}/contrib/slapd-modules/nssov/nssov.h
+	@${REINPLACE_CMD} -e 's|0555|0755|' \
+		${WRKSRC}/contrib/slapd-modules/nssov/nssov.c
+
 pre-configure:
 	@(cd ${WRKSRC} && ${LOCALBASE}/bin/autoconf)
 
@@ -451,6 +476,9 @@ post-install:
 	${MKDIR} ${STAGEDIR}${PREFIX}/libexec/openldap
 .endif # defined(CLIENT_ONLY)
 
+post-install-NSSOV-on:
+	${INSTALL_DATA} ${WRKSRC}/contrib/slapd-modules/nssov/ldapns.schema ${STAGEDIR}${ETCDIR}/schema/ldapns.schema.sample
+
 post-install-SLAPI-on:
 	for library in slapi; do \
 		${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/lib$${library}.so.${OPENLDAP_SHLIB_MAJOR}; \
diff --git a/net/openldap26-server/distinfo b/net/openldap26-server/distinfo
index adb619b89be2..ca5d542595d2 100644
--- a/net/openldap26-server/distinfo
+++ b/net/openldap26-server/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1769748218
-SHA256 (openldap-2.6.12.tgz) = 1716ad779e85d743694c3e3b05277fb71b6a5eadca43c7a958aa62683b22208e
-SIZE (openldap-2.6.12.tgz) = 6524579
+TIMESTAMP = 1773450068
+SHA256 (openldap-2.6.13.tgz) = d693b49517a42efb85a1a364a310aed16a53d428d1b46c0d31ef3fba78fcb656
+SIZE (openldap-2.6.13.tgz) = 6525768
diff --git a/net/openldap26-server/files/slapd.in b/net/openldap26-server/files/slapd.in
index bdc2ad538a74..bb5414b22fc9 100644
--- a/net/openldap26-server/files/slapd.in
+++ b/net/openldap26-server/files/slapd.in
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # PROVIDE: slapd
-# REQUIRE: FILESYSTEMS ldconfig netif
+# REQUIRE: %%SLAPD_REQUIRE%% ldconfig netif
 # BEFORE: SERVERS kdc
 # KEYWORD: shutdown
 
@@ -71,7 +71,7 @@ pidfile="%%LDAP_RUN_DIR%%/slapd.pid"
 if checkyesno slapd_cn_config; then
   required_dirs="%%PREFIX%%/etc/openldap/slapd.d"
   required_files="%%PREFIX%%/etc/openldap/slapd.d/cn=config.ldif"
-  DATABASEDIR=`grep olcDbDirectory %%PREFIX%%/etc/openldap/slapd.d/cn=config/olcDatabase=* | awk '{ print $2 }'`
+  DATABASEDIR=`grep -r olcDbDirectory %%PREFIX%%/etc/openldap/slapd.d/cn=config/olcDatabase=* | awk '{ print $2 }'`
 else
   required_files="%%PREFIX%%/etc/openldap/slapd.conf"
   DATABASEDIR=`awk '$1 == "directory" { print $2 }' "%%PREFIX%%/etc/openldap/slapd.conf" 2>&1 /dev/null`
@@ -113,6 +113,9 @@ start_precmd()
     slapd_ownername="${slapd_owner%:*}"
     slapd_groupname="${slapd_owner#*:}"
 
+    if [ -n "%%NSLCD_VARDIR%%" ]; then
+        install -o "${slapd_ownername}" -g "${slapd_groupname}" -m 0755 -d "%%NSLCD_VARDIR%%"
+    fi
     if [ -n "$slapd_ownername" ]; then
       rc_flags="$rc_flags -u $slapd_ownername"
     fi
diff --git a/net/openldap26-server/pkg-plist b/net/openldap26-server/pkg-plist
index 9798d579b5eb..48959d11a14b 100644
--- a/net/openldap26-server/pkg-plist
+++ b/net/openldap26-server/pkg-plist
@@ -138,6 +138,12 @@
 %%NOPS%%libexec/openldap/nops.so.0
 %%NOPS%%libexec/openldap/nops.so.0.0.0
 %%NOPS%%share/man/man5/slapo-nops.5.gz
+%%NSSOV%%@sample %%ETCDIR%%/schema/ldapns.schema.sample
+%%NSSOV%%libexec/openldap/nssov.la
+%%NSSOV%%libexec/openldap/nssov.so
+%%NSSOV%%libexec/openldap/nssov.so.0
+%%NSSOV%%libexec/openldap/nssov.so.0.0.0
+%%NSSOV%%share/man/man5/slapo-nssov.5.gz
 %%OTP%%libexec/openldap/otp.so.%%SHLIB_MAJOR%%
 %%OTP%%libexec/openldap/otp.so.%%SHLIB_MAJOR%%.%%SHLIB_MINOR%%
 %%OTP%%libexec/openldap/otp.la