summaryrefslogtreecommitdiff
path: root/net/openldap26-server/files
diff options
context:
space:
mode:
Diffstat (limited to 'net/openldap26-server/files')
-rw-r--r--net/openldap26-server/files/extrapatch-Makefile.in17
-rw-r--r--net/openldap26-server/files/extrapatch-outlook-servers__slapd__schema_prep.c15
-rw-r--r--net/openldap26-server/files/patch-ITS7548103
-rw-r--r--net/openldap26-server/files/patch-build__top.mk11
-rw-r--r--net/openldap26-server/files/patch-configure32
-rw-r--r--net/openldap26-server/files/patch-contrib_slapd-modules_passwd_sha2_sha2.h24
-rw-r--r--net/openldap26-server/files/patch-contrib_slapd-modules_smbk5pwd_Makefile13
-rw-r--r--net/openldap26-server/files/patch-include__ldap_defaults.h11
-rw-r--r--net/openldap26-server/files/patch-libraries__libldap__Makefile.in17
-rw-r--r--net/openldap26-server/files/patch-libraries_libldap_tls__o.c20
-rw-r--r--net/openldap26-server/files/patch-servers_slapd_Makefile.in67
-rw-r--r--net/openldap26-server/files/patch-servers_slapd_daemon.c14
-rw-r--r--net/openldap26-server/files/pkg-deinstall.in32
-rw-r--r--net/openldap26-server/files/pkg-message.client.in15
-rw-r--r--net/openldap26-server/files/pkg-message.in37
-rw-r--r--net/openldap26-server/files/slapd.in217
16 files changed, 645 insertions, 0 deletions
diff --git a/net/openldap26-server/files/extrapatch-Makefile.in b/net/openldap26-server/files/extrapatch-Makefile.in
new file mode 100644
index 000000000000..b1de5e09f0db
--- /dev/null
+++ b/net/openldap26-server/files/extrapatch-Makefile.in
@@ -0,0 +1,17 @@
+--- Makefile.in.orig Mon Apr 7 22:23:24 2003
++++ Makefile.in Thu Jul 10 17:43:35 2003
+@@ -13,9 +13,11 @@
+ ## top-level directory of the distribution or, alternatively, at
+ ## <http://www.OpenLDAP.org/license.html>.
+
+-SUBDIRS= include libraries clients servers tests doc
+-CLEANDIRS=
+-INSTALLDIRS=
++SUBDIRS=
++ALLDIRS= include libraries clients servers tests doc
++CLEANDIRS= include libraries clients servers tests doc
++DEPENDDIRS= include libraries clients servers tests doc
++INSTALLDIRS= servers doc
+
+ makefiles: FORCE
+ ./config.status
diff --git a/net/openldap26-server/files/extrapatch-outlook-servers__slapd__schema_prep.c b/net/openldap26-server/files/extrapatch-outlook-servers__slapd__schema_prep.c
new file mode 100644
index 000000000000..508bc5be8202
--- /dev/null
+++ b/net/openldap26-server/files/extrapatch-outlook-servers__slapd__schema_prep.c
@@ -0,0 +1,15 @@
+#
+# This patch is obtained from:
+#
+# http://www.openldap.org/lists/openldap-technical/201212/msg00055.html
+#
+--- servers/slapd/schema_prep.c.orig 2014-09-18 18:48:49.000000000 -0700
++++ servers/slapd/schema_prep.c 2015-03-31 17:26:23.439844478 -0700
+@@ -908,6 +908,7 @@
+ "DESC 'RFC4519: common supertype of name attributes' "
+ "EQUALITY caseIgnoreMatch "
+ "SUBSTR caseIgnoreSubstringsMatch "
++ "ORDERING caseIgnoreOrderingMatch "
+ "SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{32768} )",
+ NULL, SLAP_AT_ABSTRACT,
+ NULL, NULL,
diff --git a/net/openldap26-server/files/patch-ITS7548 b/net/openldap26-server/files/patch-ITS7548
new file mode 100644
index 000000000000..edfd3cc80667
--- /dev/null
+++ b/net/openldap26-server/files/patch-ITS7548
@@ -0,0 +1,103 @@
+--- build/man.mk.orig 2021-07-27 17:44:47 UTC
++++ build/man.mk
+@@ -18,10 +18,12 @@
+
+ MANDIR=$(mandir)/man$(MANSECT)
+ TMP_SUFFIX=tmp
++ifeq ($(strip $(PAGES)),)
++PAGES=`cd $(srcdir); echo *.$(MANSECT)`
++endif
+
+ all-common:
+- PAGES=`cd $(srcdir); echo *.$(MANSECT)`; \
+- for page in $$PAGES; do \
++ for page in ${PAGES}; do \
+ $(SED) -e "s%LDVERSION%$(VERSION)%" \
+ -e 's%ETCDIR%$(sysconfdir)%g' \
+ -e 's%LOCALSTATEDIR%$(localstatedir)%' \
+@@ -39,8 +41,7 @@ all-common:
+
+ install-common:
+ -$(MKDIR) $(DESTDIR)$(MANDIR)
+- PAGES=`cd $(srcdir); echo *.$(MANSECT)`; \
+- for page in $$PAGES; do \
++ for page in ${PAGES}; do \
+ echo "installing $$page in $(DESTDIR)$(MANDIR)"; \
+ $(RM) $(DESTDIR)$(MANDIR)/$$page; \
+ $(INSTALL) $(INSTALLFLAGS) -m 644 $$page.$(TMP_SUFFIX) $(DESTDIR)$(MANDIR)/$$page; \
+--- doc/man/Makefile.in.orig 2021-07-27 17:44:47 UTC
++++ doc/man/Makefile.in
+@@ -13,4 +13,10 @@
+ ## top-level directory of the distribution or, alternatively, at
+ ## <http://www.OpenLDAP.org/license.html>.
+
+-SUBDIRS= man1 man3 man5 man8
++BUILD_SRV = @BUILD_SLAPD@
++
++ifeq (${BUILD_SRV},no)
++ SUBDIRS= man1 man3 man5
++else
++ SUBDIRS= man5 man8
++endif
+--- doc/man/man5/Makefile.in.orig 2021-07-27 17:44:47 UTC
++++ doc/man/man5/Makefile.in
+@@ -14,3 +14,59 @@
+ ## <http://www.OpenLDAP.org/license.html>.
+
+ MANSECT=5
++
++BUILD_SRV = @BUILD_SLAPD@
++
++ifeq (${BUILD_SRV},no)
++PAGES= ldap.conf.${MANSECT} \
++ ldif.${MANSECT}
++else
++PAGES= lloadd.conf.${MANSECT} \
++ slapd-asyncmeta.${MANSECT} \
++ slapd-config.${MANSECT} \
++ slapd-dnssrv.${MANSECT} \
++ slapd-ldap.${MANSECT} \
++ slapd-ldif.${MANSECT} \
++ slapd-mdb.${MANSECT} \
++ slapd-meta.${MANSECT} \
++ slapd-monitor.${MANSECT} \
++ slapd-ndb.${MANSECT} \
++ slapd-null.${MANSECT} \
++ slapd-passwd.${MANSECT} \
++ slapd-perl.${MANSECT} \
++ slapd-relay.${MANSECT} \
++ slapd-sock.${MANSECT} \
++ slapd-sql.${MANSECT} \
++ slapd-wt.${MANSECT} \
++ slapd.access.${MANSECT} \
++ slapd.backends.${MANSECT} \
++ slapd.conf.${MANSECT} \
++ slapd.overlays.${MANSECT} \
++ slapd.plugin.${MANSECT} \
++ slapo-accesslog.${MANSECT} \
++ slapo-auditlog.${MANSECT} \
++ slapo-autoca.${MANSECT} \
++ slapo-chain.${MANSECT} \
++ slapo-collect.${MANSECT} \
++ slapo-constraint.${MANSECT} \
++ slapo-dds.${MANSECT} \
++ slapo-deref.${MANSECT} \
++ slapo-dyngroup.${MANSECT} \
++ slapo-dynlist.${MANSECT} \
++ slapo-homedir.${MANSECT} \
++ slapo-memberof.${MANSECT} \
++ slapo-otp.${MANSECT} \
++ slapo-pbind.${MANSECT} \
++ slapo-pcache.${MANSECT} \
++ slapo-ppolicy.${MANSECT} \
++ slapo-refint.${MANSECT} \
++ slapo-remoteauth.${MANSECT} \
++ slapo-retcode.${MANSECT} \
++ slapo-rwm.${MANSECT} \
++ slapo-sssvlv.${MANSECT} \
++ slapo-syncprov.${MANSECT} \
++ slapo-translucent.${MANSECT} \
++ slapo-unique.${MANSECT} \
++ slapo-valsort.${MANSECT} \
++ slappw-argon2.${MANSECT}
++endif
diff --git a/net/openldap26-server/files/patch-build__top.mk b/net/openldap26-server/files/patch-build__top.mk
new file mode 100644
index 000000000000..7468883924a0
--- /dev/null
+++ b/net/openldap26-server/files/patch-build__top.mk
@@ -0,0 +1,11 @@
+--- build/top.mk.orig 2021-07-27 17:44:47 UTC
++++ build/top.mk
+@@ -60,8 +60,6 @@ INSTALL_PROGRAM = $(INSTALL)
+ INSTALL_DATA = $(INSTALL) -m 644
+ INSTALL_SCRIPT = $(INSTALL)
+
+-STRIP_OPTS = -s
+-
+ LINT = lint
+ 5LINT = 5lint
+
diff --git a/net/openldap26-server/files/patch-configure b/net/openldap26-server/files/patch-configure
new file mode 100644
index 000000000000..97d8af90e78e
--- /dev/null
+++ b/net/openldap26-server/files/patch-configure
@@ -0,0 +1,32 @@
+--- configure.orig 2021-07-27 17:44:47 UTC
++++ configure
+@@ -16827,9 +16827,9 @@ $as_echo "#define HAVE_UUID_TO_STR 1" >>confdefs.h
+ fi
+
+ if test $have_uuid = no ; then
+- for ac_header in uuid/uuid.h
++ for ac_header in xxuuid/uuid.h
+ do :
+- ac_fn_c_check_header_mongrel "$LINENO" "uuid/uuid.h" "ac_cv_header_uuid_uuid_h" "$ac_includes_default"
++ ac_fn_c_check_header_mongrel "$LINENO" "xxuuid/uuid.h" "ac_cv_header_uuid_uuid_h" "$ac_includes_default"
+ if test "x$ac_cv_header_uuid_uuid_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+ #define HAVE_UUID_UUID_H 1
+@@ -22127,7 +22127,7 @@ if ${ac_cv_lib_iodbc_SQLDriverConnect+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-liodbc $LIBS"
++LIBS="-liodbc $LIBS $LTHREAD_LIBS"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+@@ -22175,7 +22175,7 @@ if ${ac_cv_lib_odbc_SQLDriverConnect+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lodbc $LIBS"
++LIBS="-lodbc $LIBS $LTHREAD_LIBS"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
diff --git a/net/openldap26-server/files/patch-contrib_slapd-modules_passwd_sha2_sha2.h b/net/openldap26-server/files/patch-contrib_slapd-modules_passwd_sha2_sha2.h
new file mode 100644
index 000000000000..e03f4ba2b873
--- /dev/null
+++ b/net/openldap26-server/files/patch-contrib_slapd-modules_passwd_sha2_sha2.h
@@ -0,0 +1,24 @@
+--- contrib/slapd-modules/passwd/sha2/sha2.h.orig 2021-07-27 17:44:47 UTC
++++ contrib/slapd-modules/passwd/sha2/sha2.h
+@@ -142,6 +142,21 @@ typedef struct _SHA512_CTX {
+
+ typedef SHA512_CTX SHA384_CTX;
+
++#define SHA256_Init _sha2_SHA256_Init
++#define SHA256_Update _sha2_SHA256_Update
++#define SHA256_Final _sha2_SHA256_Final
++#define SHA256_End _sha2_SHA256_End
++#define SHA256_Data _sha2_SHA256_Data
++#define SHA384_Init _sha2_SHA384_Init
++#define SHA384_Update _sha2_SHA384_Update
++#define SHA384_Final _sha2_SHA384_Final
++#define SHA384_End _sha2_SHA384_End
++#define SHA384_Data _sha2_SHA384_Data
++#define SHA512_Init _sha2_SHA512_Init
++#define SHA512_Update _sha2_SHA512_Update
++#define SHA512_Final _sha2_SHA512_Final
++#define SHA512_End _sha2_SHA512_End
++#define SHA512_Data _sha2_SHA512_Data
+
+ /*** SHA-256/384/512 Function Prototypes ******************************/
+ /* avoid symbol clash with other crypto libs */
diff --git a/net/openldap26-server/files/patch-contrib_slapd-modules_smbk5pwd_Makefile b/net/openldap26-server/files/patch-contrib_slapd-modules_smbk5pwd_Makefile
new file mode 100644
index 000000000000..1f2d56dc866e
--- /dev/null
+++ b/net/openldap26-server/files/patch-contrib_slapd-modules_smbk5pwd_Makefile
@@ -0,0 +1,13 @@
+--- contrib/slapd-modules/smbk5pwd/Makefile.orig 2021-06-03 18:40:31 UTC
++++ contrib/slapd-modules/smbk5pwd/Makefile
+@@ -21,8 +21,8 @@ LDAP_LIB = $(LDAP_BUILD)/libraries/libldap_r/libldap_r
+ SSL_INC =
+ SSL_LIB = -lcrypto
+
+-HEIMDAL_INC = -I/usr/heimdal/include
+-HEIMDAL_LIB = -L/usr/heimdal/lib -lkrb5 -lkadm5srv
++HEIMDAL_INC = -I/usr/include
++HEIMDAL_LIB = -L/usr/lib -lkrb5 -lkadm5srv
+
+ LIBTOOL = $(LDAP_BUILD)/libtool
+ CC = gcc
diff --git a/net/openldap26-server/files/patch-include__ldap_defaults.h b/net/openldap26-server/files/patch-include__ldap_defaults.h
new file mode 100644
index 000000000000..b14af6f6ab27
--- /dev/null
+++ b/net/openldap26-server/files/patch-include__ldap_defaults.h
@@ -0,0 +1,11 @@
+--- include/ldap_defaults.h.orig 2021-07-27 17:44:47 UTC
++++ include/ldap_defaults.h
+@@ -39,7 +39,7 @@
+ #define LDAP_ENV_PREFIX "LDAP"
+
+ /* default ldapi:// socket */
+-#define LDAPI_SOCK LDAP_RUNDIR LDAP_DIRSEP "run" LDAP_DIRSEP "ldapi"
++#define LDAPI_SOCK "/var/run" LDAP_DIRSEP "openldap" LDAP_DIRSEP "ldapi"
+
+ /*
+ * SLAPD DEFINITIONS
diff --git a/net/openldap26-server/files/patch-libraries__libldap__Makefile.in b/net/openldap26-server/files/patch-libraries__libldap__Makefile.in
new file mode 100644
index 000000000000..551b567191b2
--- /dev/null
+++ b/net/openldap26-server/files/patch-libraries__libldap__Makefile.in
@@ -0,0 +1,17 @@
+--- libraries/libldap/Makefile.in.orig 2021-07-27 17:44:47 UTC
++++ libraries/libldap/Makefile.in
+@@ -86,13 +86,6 @@ install-local: $(CFFILES) FORCE
+ $(LTFINISH) $(DESTDIR)$(libdir)
+ -$(MKDIR) $(DESTDIR)$(sysconfdir)
+ @for i in $(CFFILES); do \
+- if test ! -f $(DESTDIR)$(sysconfdir)/$$i; then \
+- echo "installing $$i in $(sysconfdir)"; \
+- echo "$(INSTALL) $(INSTALLFLAGS) -m 644 $(srcdir)/$$i $(DESTDIR)$(sysconfdir)/$$i"; \
+- $(INSTALL) $(INSTALLFLAGS) -m 644 $(srcdir)/$$i $(DESTDIR)$(sysconfdir)/$$i; \
+- else \
+- echo "PRESERVING EXISTING CONFIGURATION FILE $(sysconfdir)/$$i" ; \
+- fi; \
+- $(INSTALL) $(INSTALLFLAGS) -m 644 $(srcdir)/$$i $(DESTDIR)$(sysconfdir)/$$i.default; \
++ $(INSTALL) $(INSTALLFLAGS) -m 644 $(srcdir)/$$i $(DESTDIR)$(sysconfdir)/$$i.sample; \
+ done
+
diff --git a/net/openldap26-server/files/patch-libraries_libldap_tls__o.c b/net/openldap26-server/files/patch-libraries_libldap_tls__o.c
new file mode 100644
index 000000000000..3c9bccd4dc15
--- /dev/null
+++ b/net/openldap26-server/files/patch-libraries_libldap_tls__o.c
@@ -0,0 +1,20 @@
+--- libraries/libldap/tls_o.c.orig 2021-07-27 17:44:47 UTC
++++ libraries/libldap/tls_o.c
+@@ -275,7 +275,7 @@ tlso_ctx_free ( tls_ctx *ctx )
+ SSL_CTX_free( c );
+ }
+
+-#if OPENSSL_VERSION_NUMBER >= 0x10101000
++#if OPENSSL_VERSION_NUMBER >= 0x10101000 && !defined(OPENSSL_NO_TLS1_3)
+ static char *
+ tlso_stecpy( char *dst, const char *src, const char *end )
+ {
+@@ -411,7 +411,7 @@ tlso_ctx_init( struct ldapoptions *lo, struct ldaptls
+ }
+
+ if ( lo->ldo_tls_ciphersuite ) {
+-#if OPENSSL_VERSION_NUMBER >= 0x10101000
++#if OPENSSL_VERSION_NUMBER >= 0x10101000 && !defined(OPENSSL_NO_TLS1_3)
+ tlso_ctx_cipher13( ctx, lt->lt_ciphersuite );
+ #endif
+ if ( !SSL_CTX_set_cipher_list( ctx, lt->lt_ciphersuite ) )
diff --git a/net/openldap26-server/files/patch-servers_slapd_Makefile.in b/net/openldap26-server/files/patch-servers_slapd_Makefile.in
new file mode 100644
index 000000000000..d4d16458b30b
--- /dev/null
+++ b/net/openldap26-server/files/patch-servers_slapd_Makefile.in
@@ -0,0 +1,67 @@
+--- servers/slapd/Makefile.in.orig 2021-07-27 17:44:47 UTC
++++ servers/slapd/Makefile.in
+@@ -374,7 +374,6 @@ install-local-srv: install-slapd install-tools \
+
+ install-slapd: FORCE
+ -$(MKDIR) $(DESTDIR)$(libexecdir)
+- -$(MKDIR) $(DESTDIR)$(localstatedir)/run
+ $(LTINSTALL) $(INSTALLFLAGS) $(STRIP_OPTS) -m 755 \
+ slapd$(EXEEXT) $(DESTDIR)$(libexecdir)
+ @for i in $(SUBDIRS); do \
+@@ -413,48 +412,27 @@ all-cffiles: slapd $(SLAPD_DYNAMIC_BACKENDS) dynamic_o
+ touch all-cffiles
+
+ install-schema: FORCE
+- @if test -d $(DESTDIR)$(schemadir) ; then \
+- echo "MOVING EXISTING SCHEMA DIR to $(DESTDIR)$(schemadir).$$$$" ; \
+- mv $(DESTDIR)$(schemadir) $(DESTDIR)$(schemadir).$$$$ ; \
+- fi
+ $(MKDIR) $(DESTDIR)$(schemadir)
+ @SD=$(DESTDIR)$(schemadir) ; \
+- files=`cd $(srcdir)/schema ; echo README *.ldif *.schema` ; \
++ files=`cd $(srcdir)/schema ; echo README *.ldif` ; \
+ for i in $$files ; do \
+ echo $(INSTALL) $(INSTALLFLAGS) -m 444 schema/$$i $$SD/$$i ; \
+ $(INSTALL) $(INSTALLFLAGS) -m 444 $(srcdir)/schema/$$i $$SD/$$i ; \
++ done ; \
++ files=`cd $(srcdir)/schema ; echo *.schema` ; \
++ for i in $$files ; do \
++ echo $(INSTALL) $(INSTALLFLAGS) -m 444 schema/$$i $$SD/$$i ; \
++ $(INSTALL) $(INSTALLFLAGS) -m 444 $(srcdir)/schema/$$i $$SD/$$i.sample ; \
+ done
+
+ install-conf: FORCE
+ @-$(MKDIR) $(DESTDIR)$(sysconfdir)
+- $(INSTALL) $(INSTALLFLAGS) -m 600 slapd.conf.tmp $(DESTDIR)$(sysconfdir)/slapd.conf.default
+- if test ! -f $(DESTDIR)$(sysconfdir)/slapd.conf; then \
+- echo "installing slapd.conf in $(sysconfdir)"; \
+- echo "$(INSTALL) $(INSTALLFLAGS) -m 600 slapd.conf.tmp $(DESTDIR)$(sysconfdir)/slapd.conf"; \
+- $(INSTALL) $(INSTALLFLAGS) -m 600 slapd.conf.tmp $(DESTDIR)$(sysconfdir)/slapd.conf; \
+- else \
+- echo "PRESERVING EXISTING CONFIGURATION FILE $(DESTDIR)$(sysconfdir)/slapd.conf" ; \
+- fi
+- $(INSTALL) $(INSTALLFLAGS) -m 600 slapd.ldif.tmp $(DESTDIR)$(sysconfdir)/slapd.ldif.default
+- if test ! -f $(DESTDIR)$(sysconfdir)/slapd.ldif; then \
+- echo "installing slapd.ldif in $(sysconfdir)"; \
+- echo "$(INSTALL) $(INSTALLFLAGS) -m 600 slapd.ldif.tmp $(DESTDIR)$(sysconfdir)/slapd.ldif"; \
+- $(INSTALL) $(INSTALLFLAGS) -m 600 slapd.ldif.tmp $(DESTDIR)$(sysconfdir)/slapd.ldif; \
+- else \
+- echo "PRESERVING EXISTING CONFIGURATION FILE $(DESTDIR)$(sysconfdir)/slapd.ldif" ; \
+- fi
+- if test -n "$(systemdsystemunitdir)" && test ! -f $(DESTDIR)$(systemdsystemunitdir)/slapd.service; then \
+- $(MKDIR) $(DESTDIR)$(systemdsystemunitdir); \
+- echo "installing slapd.service in $(systemdsystemunitdir)"; \
+- echo "$(INSTALL) $(INSTALLFLAGS) -m 644 slapd.service.tmp $(DESTDIR)$(systemdsystemunitdir)/slapd.service"; \
+- $(INSTALL) $(INSTALLFLAGS) -m 644 slapd.service.tmp $(DESTDIR)$(systemdsystemunitdir)/slapd.service; \
+- fi
++ $(INSTALL) $(INSTALLFLAGS) -m 600 slapd.conf.tmp $(DESTDIR)$(sysconfdir)/slapd.conf.sample
++ $(INSTALL) $(INSTALLFLAGS) -m 600 slapd.ldif.tmp $(DESTDIR)$(sysconfdir)/slapd.ldif.sample
+
+ install-db-config: FORCE
+ @-$(MKDIR) $(DESTDIR)$(localstatedir) $(DESTDIR)$(sysconfdir)
+ @-$(INSTALL) -m 700 -d $(DESTDIR)$(localstatedir)/openldap-data
+- $(INSTALL) $(INSTALLFLAGS) -m 600 $(srcdir)/DB_CONFIG \
+- $(DESTDIR)$(localstatedir)/openldap-data/DB_CONFIG.example
+ $(INSTALL) $(INSTALLFLAGS) -m 600 $(srcdir)/DB_CONFIG \
+ $(DESTDIR)$(sysconfdir)/DB_CONFIG.example
+
diff --git a/net/openldap26-server/files/patch-servers_slapd_daemon.c b/net/openldap26-server/files/patch-servers_slapd_daemon.c
new file mode 100644
index 000000000000..6e6228b2e629
--- /dev/null
+++ b/net/openldap26-server/files/patch-servers_slapd_daemon.c
@@ -0,0 +1,14 @@
+--- servers/slapd/daemon.c.orig 2021-08-18 17:11:41 UTC
++++ servers/slapd/daemon.c
+@@ -228,10 +228,9 @@ static slap_daemon_st *slap_daemon;
+ } while (0)
+
+ /* a kqueue fd obtained before a fork can't be used in child process.
+- * close it and reacquire it.
++ * reacquire it.
+ */
+ # define SLAP_SOCK_INIT2() do { \
+- close(slap_daemon[0].sd_kq); \
+ slap_daemon[0].sd_kq = kqueue(); \
+ } while (0)
+
diff --git a/net/openldap26-server/files/pkg-deinstall.in b/net/openldap26-server/files/pkg-deinstall.in
new file mode 100644
index 000000000000..1557b33873af
--- /dev/null
+++ b/net/openldap26-server/files/pkg-deinstall.in
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+ECHO_CMD=echo
+
+if [ -f "%%PREFIX%%/etc/openldap/slapd.conf" ]; then
+ DBDIR=`awk '$1 == "directory" {print $2}' "%%PREFIX%%/etc/openldap/slapd.conf"`
+fi
+
+case $2 in
+POST-DEINSTALL)
+ ${ECHO_CMD}
+ ${ECHO_CMD} "The OpenLDAP server package has been deleted."
+ ${ECHO_CMD} "If you're *not* upgrading and won't be using"
+ ${ECHO_CMD} "it any longer, you may want to issue the"
+ ${ECHO_CMD} "following commands:"
+ ${ECHO_CMD}
+ if ([ "${DBDIR}" ] && [ -d "${DBDIR}" ]) || ([ ! "${DBDIR}" ] && [ -d %%DATABASEDIR%% ]); then
+ ${ECHO_CMD} "- to delete the OpenLDAP database permanently (losing all data):"
+ if [ "${DBDIR}" ] && [ -d "${DBDIR}" ]; then
+ ${ECHO_CMD} " rm -Rf ${DBDIR}"
+ else
+ ${ECHO_CMD} " rm -Rf %%DATABASEDIR%%"
+ fi
+ ${ECHO_CMD}
+ fi
+ ${ECHO_CMD} "- to remove the OpenLDAP user:"
+ ${ECHO_CMD} " pw userdel ldap"
+ ${ECHO_CMD}
+ ${ECHO_CMD} "If you are upgrading, don't forget to restart slapd."
+ ${ECHO_CMD}
+ ;;
+esac
diff --git a/net/openldap26-server/files/pkg-message.client.in b/net/openldap26-server/files/pkg-message.client.in
new file mode 100644
index 000000000000..1ae2cf27dd22
--- /dev/null
+++ b/net/openldap26-server/files/pkg-message.client.in
@@ -0,0 +1,15 @@
+[
+{ type: install
+ message: <<EOM
+The OpenLDAP client package has been successfully installed.
+
+Edit
+ %%PREFIX%%/etc/openldap/ldap.conf
+to change the system-wide client defaults.
+
+Try `man ldap.conf' and visit the OpenLDAP FAQ-O-Matic at
+ http://www.OpenLDAP.org/faq/index.cgi?file=3
+for more information.
+EOM
+}
+]
diff --git a/net/openldap26-server/files/pkg-message.in b/net/openldap26-server/files/pkg-message.in
new file mode 100644
index 000000000000..d07531c959ce
--- /dev/null
+++ b/net/openldap26-server/files/pkg-message.in
@@ -0,0 +1,37 @@
+[
+{ type: install
+ message: <<EOM
+The OpenLDAP server package has been successfully installed.
+
+In order to run the LDAP server, you need to edit
+ %%PREFIX%%/etc/openldap/slapd.conf
+to suit your needs and add the following lines to /etc/rc.conf:
+ slapd_enable="YES"
+ slapd_flags='-h "ldapi://%2fvar%2frun%2fopenldap%2fldapi/ ldap://0.0.0.0/"'
+ slapd_sockets="/var/run/openldap/ldapi"
+
+Then start the server with
+ %%PREFIX%%/etc/rc.d/slapd start
+or reboot.
+
+Try `man slapd' and the online manual at
+ http://www.OpenLDAP.org/doc/
+for more information.
+
+slapd runs under a non-privileged user id (by default `ldap'),
+see %%PREFIX%%/etc/rc.d/slapd for more information.
+
+PLEASE NOTE:
+
+Upgrading from %%PORTNAME%%%%PKGNAMESUFFIX%% 2.4 to 2.5 requires a full dump
+and reimport of database.
+
+Starting from %%PORTNAME%%%%PKGNAMESUFFIX%% 2.4.59_3, automatic data dumps
+are saved at %%BACKUPDIR%% when shutting down slapd.
+
+Please refer to OpenLDAP Software 2.5 Administrator's Guide at
+ https://www.openldap.org/doc/admin25/appendix-upgrading.html
+for additional upgrade instructions.
+EOM
+}
+]
diff --git a/net/openldap26-server/files/slapd.in b/net/openldap26-server/files/slapd.in
new file mode 100644
index 000000000000..620c2f4d255c
--- /dev/null
+++ b/net/openldap26-server/files/slapd.in
@@ -0,0 +1,217 @@
+#!/bin/sh
+
+# PROVIDE: slapd
+# REQUIRE: FILESYSTEMS ldconfig netif
+# BEFORE: SERVERS kdc
+# KEYWORD: shutdown
+
+#
+# Add the following lines to /etc/rc.conf to enable slapd:
+#
+#slapd_enable="YES"
+#slapd_flags='-h "ldapi://%2fvar%2frun%2fopenldap%2fldapi/ ldap://0.0.0.0/"'
+#slapd_sockets="/var/run/openldap/ldapi"
+#
+# See slapd(8) for more flags
+#
+# The `-u' and `-g' flags are automatically extracted from slapd_owner,
+# by default slapd runs under the non-privileged user id `ldap'. If you
+# want to run slapd as root, override this in /etc/rc.conf with
+#
+#slapd_owner="DEFAULT"
+#
+# To use the cn=config style configuration add the following
+# line to /etc/rc.conf:
+#
+#slapd_cn_config="YES"
+#
+# To specify alternative Kerberos 5 Key Table, add the following
+# rc.conf(5) configuration:
+#
+#slapd_krb5_ktname="/path/to/ldap.keytab"
+#
+#slapd_autobackup_enable="YES"
+# To enable automatic backup of OpenLDAP data after successful shutdown
+# in the form of LDIF.
+#
+#slapd_autobackup_num="8"
+# How many automatic backups should this script keep.
+#
+#slapd_autobackup_compress="YES"
+# Compress backup data with zstd (if present) or gzip.
+#
+#slapd_autobackup_name="backup"
+# Name to be used for backups
+
+. /etc/rc.subr
+
+name="slapd"
+rcvar=slapd_enable
+
+# read settings, set defaults
+load_rc_config ${name}
+
+: ${slapd_enable="NO"}
+if [ -n "${slapd_args+set}" ]; then
+ warn "slapd_args is deprecated, use slapd_flags"
+ : ${slapd_flags="$slapd_args"}
+fi
+: ${slapd_owner="%%LDAP_USER%%:%%LDAP_GROUP%%"}
+: ${slapd_sockets_mode="666"}
+: ${slapd_cn_config="NO"}
+: ${slapd_autobackup_enable="YES"}
+: ${slapd_autobackup_num="8"}
+: ${slapd_autobackup_compress="YES"}
+: ${slapd_autobackup_name="backup"}
+
+command="%%PREFIX%%/libexec/slapd"
+pidfile="%%LDAP_RUN_DIR%%/slapd.pid"
+
+# set required_dirs, required_files and DATABASEDIR
+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 }'`
+else
+ required_files="%%PREFIX%%/etc/openldap/slapd.conf"
+ DATABASEDIR=`awk '$1 == "directory" { print $2 }' "%%PREFIX%%/etc/openldap/slapd.conf" 2>&1 /dev/null`
+fi
+
+start_precmd=start_precmd
+start_postcmd=start_postcmd
+stop_postcmd=stop_postcmd
+
+# extract user and group, adjust ownership of directories and database
+
+start_precmd()
+{
+ local slapd_ownername slapd_groupname
+
+ mkdir -p %%LDAP_RUN_DIR%%
+
+ case "$slapd_owner" in
+ ""|[Nn][Oo][Nn][Ee]|[Dd][Ee][Ff][Aa][Uu][Ll][Tt])
+ ;;
+ *)
+ local DBDIR
+ for DBDIR in ${DATABASEDIR}; do
+ if [ ! -d "${DBDIR}" ]; then
+ mkdir -p "${DBDIR}"
+ [ -f "%%PREFIX%%/etc/openldap/DB_CONFIG.example" ] && cp "%%PREFIX%%/etc/openldap/DB_CONFIG.example" "${DBDIR}/DB_CONFIG"
+ fi
+ chown -RL "$slapd_owner" "${DBDIR}"
+ chmod 700 "${DBDIR}"
+ done
+ chown "$slapd_owner" "%%LDAP_RUN_DIR%%"
+
+ if checkyesno slapd_cn_config; then
+ chown -R $slapd_owner "%%PREFIX%%/etc/openldap/slapd.d"
+ else
+ chown $slapd_owner "%%PREFIX%%/etc/openldap/slapd.conf"
+ fi
+
+ slapd_ownername="${slapd_owner%:*}"
+ slapd_groupname="${slapd_owner#*:}"
+
+ if [ -n "$slapd_ownername" ]; then
+ rc_flags="$rc_flags -u $slapd_ownername"
+ fi
+ if [ -n "$slapd_groupname" ]; then
+ rc_flags="$rc_flags -g $slapd_groupname"
+ fi
+ if [ -n "${slapd_krb5_ktname}" ]; then
+ export KRB5_KTNAME=${slapd_krb5_ktname}
+ fi
+ ;;
+ esac
+ echo -n "Performing sanity check on slap configuration: "
+
+ if ${command} -Tt -u >/dev/null 2>&1; then
+ echo "OK"
+ else
+ echo "FAILED"
+ return 1
+ fi
+}
+
+# adjust ownership of created unix sockets
+
+start_postcmd()
+{
+ local socket seconds
+
+ for socket in $slapd_sockets; do
+ for seconds in 1 2 3 4 5; do
+ [ -e "$socket" ] && break
+ sleep 1
+ done
+ if [ -S "$socket" ]; then
+ case "$slapd_owner" in
+ ""|[Nn][Oo][Nn][Ee]|[Dd][Ee][Ff][Aa][Uu][Ll][Tt])
+ ;;
+ *)
+ chown "$slapd_owner" "$socket"
+ ;;
+ esac
+ chmod "$slapd_sockets_mode" "$socket"
+ else
+ warn "slapd: Can't find socket $socket"
+ fi
+ done
+}
+
+stop_postcmd()
+{
+ local compress_program compress_suffix
+
+ if checkyesno slapd_autobackup_enable; then
+ if checkyesno slapd_autobackup_compress; then
+ if [ -x /usr/bin/zstd ]; then
+ compress_program="/usr/bin/zstd"
+ compress_suffix=".zstd"
+ else
+ compress_program="/usr/bin/gzip"
+ compress_suffix=".gz"
+ fi
+ else
+ compress_program="cat"
+ compress_suffix=""
+ fi
+
+ umask 077
+ mkdir -p %%BACKUPDIR%%
+ chmod 700 %%BACKUPDIR%%
+
+ n=0
+ while [ ${n} -lt ${slapd_autobackup_num} ]; do
+ backup_file="%%BACKUPDIR%%/${slapd_autobackup_name}.ldif.${n}${compress_suffix}"
+ if [ ! -e "${backup_file}" -o -f "${backup_file}" ]; then
+ break
+ fi
+ n=$(( ${n} + 1 ))
+ done
+ if [ -f "${backup_file}" ]; then
+ n=$(( ${n} + 1 ))
+ while [ ${n} -lt ${slapd_autobackup_num} ]; do
+ next_backup_file="%%BACKUPDIR%%/${slapd_autobackup_name}.ldif.${n}${compress_suffix}"
+ if [ -f "${next_backup_file}" ]; then
+ [ "${next_backup_file}" -ot "${backup_file}" ] && \
+ backup_file=${next_backup_file}
+ elif [ ! -e "${next_backup_file}" ]; then
+ backup_file=${next_backup_file}
+ break
+ fi
+ n=$(( ${n} + 1 ))
+ done
+ fi
+ if [ -e "${backup_file}" -a ! -f "${backup_file}" ]; then
+ err 1 "Unable to backup OpenLDAP data"
+ else
+ info "Backing up OpenLDAP data to ${backup_file}"
+ fi
+
+ %%PREFIX%%/sbin/slapcat | ${compress_program} > ${backup_file}
+ fi
+}
+
+run_rc_command "$1"