diff options
author | Arthur de Jong <arthur@arthurdejong.org> | 2010-11-07 20:04:58 +0000 |
---|---|---|
committer | Arthur de Jong <arthur@arthurdejong.org> | 2010-11-07 20:04:58 +0000 |
commit | fb7025d23abe4295afc674a6c8a92861b95e80c2 (patch) | |
tree | ec582f95206c08a78e4b0c0fc7b45d6ae205b256 | |
parent | f9b9a20abfb03a638c0207dfb87af95695a11524 (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.postinst | 71 |
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 |