summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArthur de Jong <arthur@arthurdejong.org>2010-11-07 20:04:58 +0000
committerArthur de Jong <arthur@arthurdejong.org>2010-11-07 20:04:58 +0000
commitfb7025d23abe4295afc674a6c8a92861b95e80c2 (patch)
treeec582f95206c08a78e4b0c0fc7b45d6ae205b256
parentf9b9a20abfb03a638c0207dfb87af95695a11524 (diff)
split updating configuration file based on debconf value to separate function and make config option renaming consistent
git-svn-id: http://arthurdejong.org/svn/nss-pam-ldapd/nss-pam-ldapd@1308 ef36b2f9-881f-0410-afb5-c4e39611909c
-rw-r--r--debian/nslcd.postinst71
1 files changed, 30 insertions, 41 deletions
diff --git a/debian/nslcd.postinst b/debian/nslcd.postinst
index dee6893..8177feb 100644
--- a/debian/nslcd.postinst
+++ b/debian/nslcd.postinst
@@ -140,6 +140,20 @@ EOM
return 0
}
+update_config()
+{
+ debconf_param="$1"
+ cfg_param="$2"
+ # update configuration option based on debconf value
+ db_get "$debconf_param"
+ if [ -n "$RET" ]
+ then
+ cfg_set "$cfg_param" "$RET"
+ else
+ cfg_disable "$cfg_param"
+ fi
+}
+
# real functions begin here
if [ "$1" = "configure" ]
then
@@ -167,34 +181,26 @@ then
fi
# create a default configuration
create_config
- # set server uri
- db_get nslcd/ldap-uris
- cfg_uris "$RET"
- # set search base
- db_get nslcd/ldap-base
- if [ -n "$RET" ]
+ # rename tls_checkpeer to tls_reqcert
+ if grep -qi '^tls_checkpeer[[:space:]]' $CONFFILE
then
- cfg_set base "$RET"
- else
- cfg_disable base
+ echo "Renaming tls_checkpeer to tls_reqcert in $CONFFILE..." >&2
+ sed -i 's/^tls_checkpeer[[:space:]]/tls_reqcert /' "$CONFFILE"
fi
- # set bind dn/pw
- db_get nslcd/ldap-binddn
- if [ -n "$RET" ]
+ # rename reconnect_maxsleeptime to reconnect_retrytime
+ if grep -qi '^reconnect_maxsleeptime[[:space:]]' $CONFFILE
then
- cfg_set binddn "$RET"
- db_get nslcd/ldap-bindpw
- if [ -n "$RET" ]
- then
- cfg_set bindpw "$RET"
- else
- cfg_disable bindpw
- fi
- else
- # no binddn/pw, disable options
- cfg_disable binddn
- cfg_disable bindpw
+ echo "Renaming reconnect_maxsleeptime to reconnect_retrytime in $CONFFILE..." >&2
+ sed -i 's/^reconnect_maxsleeptime[[:space:]]/reconnect_retrytime /' "$CONFFILE"
fi
+ # set server uri
+ db_get nslcd/ldap-uris
+ cfg_uris "$RET"
+ # update some options
+ update_config nslcd/ldap-base base
+ update_config nslcd/ldap-binddn binddn
+ update_config nslcd/ldap-bindpw bindpw
+ update_config nslcd/ldap-reqcert tls_reqcert
# remove password from database
db_set nslcd/ldap-bindpw ""
# set ssl option
@@ -206,25 +212,8 @@ then
then
cfg_disable ssl
fi
- # rename any tls_checkpeer options
- sed -i 's/^tls_checkpeer/tls_reqcert/i' "$CONFFILE"
- # set tls_reqcert option
- db_get nslcd/ldap-reqcert
- if [ -n "$RET" ]
- then
- # set tls_reqcert option
- cfg_set tls_reqcert "$RET"
- else
- cfg_disable tls_reqcert
- fi
# we're done
db_stop
- # rename reconnect_maxsleeptime to reconnect_retrytime
- if grep -qi '^reconnect_maxsleeptime[[:space:]]' $CONFFILE
- then
- echo "Renaming reconnect_maxsleeptime to reconnect_retrytime in $CONFFILE..." >&2
- sed -i 's/^reconnect_maxsleeptime[[:space:]]/reconnect_retrytime /' "$CONFFILE"
- fi
# fix permissions of configfile if upgrading from an old version
if dpkg --compare-versions "$2" lt-nl "0.6.7.1"
then