diff options
Diffstat (limited to 'net/openldap26-server/files')
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" |