aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXin LI <delphij@FreeBSD.org>2009-09-07 09:46:19 +0000
committerXin LI <delphij@FreeBSD.org>2009-09-07 09:46:19 +0000
commitb72bc7011a3fd9981dbeac42b63fce386633ed0a (patch)
tree7cee61440281936ba78d9b6b189c199f5d9049d2
parent92b5272b352d3ce7883b9d974cc37a6ed624ebdb (diff)
o Update to 2.4.18.
o Add support to slapd_krb5_ktname, which exports an environment variable KRB5_KTNAME so that user can specify alternative Kerberos key table. [1] o Add support to run slapd with cn=config style configuration. [2] Reported by: Matthew Hambley <matthew at aether demon co uk> [1] Ulrich Spoerlein <uspoerlein at gmail com> [2] Submitted by: Nikolai Nespor <nikolai nespor at basis-wein at> [2]
Notes
Notes: svn path=/head/; revision=240977
-rw-r--r--net/openldap24-server/Makefile2
-rw-r--r--net/openldap24-server/distinfo6
-rw-r--r--net/openldap24-server/files/manpages1
-rw-r--r--net/openldap24-server/files/slapd.sh.in58
4 files changed, 48 insertions, 19 deletions
diff --git a/net/openldap24-server/Makefile b/net/openldap24-server/Makefile
index e646a0014281..94e2d8ada326 100644
--- a/net/openldap24-server/Makefile
+++ b/net/openldap24-server/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= openldap
-DISTVERSION= 2.4.17
+DISTVERSION= 2.4.18
PORTREVISION= ${OPENLDAP_PORTREVISION}
CATEGORIES= net databases
MASTER_SITES= ftp://ftp.OpenLDAP.org/pub/OpenLDAP/%SUBDIR%/ \
diff --git a/net/openldap24-server/distinfo b/net/openldap24-server/distinfo
index eaeaa933e43f..4019179e82b2 100644
--- a/net/openldap24-server/distinfo
+++ b/net/openldap24-server/distinfo
@@ -1,3 +1,3 @@
-MD5 (openldap-2.4.17.tgz) = 5e82103780f8cfc2b2fbd0f77c47c158
-SHA256 (openldap-2.4.17.tgz) = 4a18ce70154f5c0ffc1804698dba609d8f4aab3e74f01bbddf31b28b96403fc3
-SIZE (openldap-2.4.17.tgz) = 5423027
+MD5 (openldap-2.4.18.tgz) = fecd7a64b6d9a0eb79b817d2562956ed
+SHA256 (openldap-2.4.18.tgz) = a3b8c8ee1711e242098277ac0f36ad00cad35de08b58c7bb0a2b33789721d64d
+SIZE (openldap-2.4.18.tgz) = 5474602
diff --git a/net/openldap24-server/files/manpages b/net/openldap24-server/files/manpages
index 3aab435a5255..402a56efe9a4 100644
--- a/net/openldap24-server/files/manpages
+++ b/net/openldap24-server/files/manpages
@@ -231,6 +231,7 @@ MAN5+= ldap.conf.5 \
slapo-retcode.5 \
slapo-rwm.5 \
slapo-syncprov.5 \
+ slapo-sssvlv.5 \
slapo-translucent.5 \
slapo-unique.5 \
slapo-valsort.5
diff --git a/net/openldap24-server/files/slapd.sh.in b/net/openldap24-server/files/slapd.sh.in
index 841fae65cd1e..490e3dfb4610 100644
--- a/net/openldap24-server/files/slapd.sh.in
+++ b/net/openldap24-server/files/slapd.sh.in
@@ -23,24 +23,54 @@
#
#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"
+#
. "%%RC_SUBR%%"
name="slapd"
rcvar=`set_rcvar`
+# 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:ldap"}
+: ${slapd_sockets_mode="666"}
+: ${slapd_cn_config="NO"}
+: ${slapd_krb5_ktname=""}
+
command="%%PREFIX%%/libexec/slapd"
pidfile="%%LDAP_RUN_DIR%%/slapd.pid"
-required_dirs="%%LDAP_RUN_DIR%%"
-required_files="%%PREFIX%%/etc/openldap/slapd.conf"
+
+# 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_dirs="%%LDAP_RUN_DIR%%"
+ 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
# extract user and group, adjust ownership of directories and database
-DATABASEDIR=`awk '$1 == "directory" {print $2}' "%%PREFIX%%/etc/openldap/slapd.conf"`
-
start_precmd()
{
local slapd_ownername slapd_groupname
@@ -59,7 +89,12 @@ start_precmd()
chmod 700 "${DBDIR}"
done
chown "$slapd_owner" "%%LDAP_RUN_DIR%%"
- chown "$slapd_owner" "%%PREFIX%%/etc/openldap/slapd.conf"
+
+ 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#*:}"
@@ -70,6 +105,9 @@ start_precmd()
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
}
@@ -100,14 +138,4 @@ start_postcmd()
done
}
-# 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:ldap"}
-: ${slapd_sockets_mode="666"}
-
run_rc_command "$1"