Package: strongswan Version: 5.5.1-2 Severity: normal Hi, this is the part of the feed back of "Ubuntu changes" that is probably more discussion worthy. And I'm not even speaking of renamed service names yet :-)
Our Ubuntu Delta for quite a while dropped some outdated code. I didn't come up with the wording - it was called outdated before I even touched Strongswan - so no offense intended. Since I was not 100% sure if I consider all special cases that might apply to I'm only starting a discussion about it and we can see if you agree (instead of submitting patches). In d/strongswan-starter.postinst there seems to be code that is no more needed: - section about runlevel changes - entire section on opportunistic encryption - this was never used Also the debconf for the inc file is IMHO not working. cat /var/lib/strongswan/ipsec.conf.inc #include /etc/ipsec.d/examples/oe.conf That file is not existing (and not created) on my Debian-sid system. I tried to get as much as possible from its debconf but it does only add the disabled OE. $ dpkg-reconfigure strongswan-starter -p low Disabling opportunistic encryption (OE) in config file ... already disabled All that together would make up some nice cleanup like the attached patch I have as a suggestion. Looking forward to a discussion on all of that. -- Christian Ehrhardt Software Engineer, Ubuntu Server Canonical Ltd
Cleanup outdated strongswan packaging code * clean up d/strongswan-starter.postinst: - Removed section about runlevel changes - Removed entire section on opportunistic encryption strongSwan. * d/rules: Removed pieces on 'patching ipsec.conf' on build. * d/ipsec.secrets.proto: Removed ipsec.secrets.inc reference. diff --git a/debian/strongswan-starter.postinst b/debian/strongswan-starter.postinst index 9e4d7b1..a1dd748 100644 --- a/debian/strongswan-starter.postinst +++ b/debian/strongswan-starter.postinst @@ -29,7 +29,6 @@ set -e # installation fails and the `postinst' is called with `abort-upgrade', # `abort-remove' or `abort-deconfigure'. -CONF_FILE=/var/lib/strongswan/ipsec.conf.inc SECRETS_FILE=/var/lib/strongswan/ipsec.secrets.inc Warn () @@ -75,50 +74,6 @@ make_x509_cert() { -days $2 $selfsigned >/dev/null } -enable_daemon_start() { - daemon=$1 - protocol=$2 - - echo -n "Enabling ${protocol} support by ${daemon}... " - if [ -e $CONF_FILE ] && egrep -q "^\w+${daemon}start=yes\w*$" $CONF_FILE; then - echo "already enabled" - elif [ -e $CONF_FILE ] && egrep -q "^\w+${daemon}start=no\w*$" $CONF_FILE; then - sed "s/${daemon}start=no/${daemon}start=yes/" < $CONF_FILE > $CONF_FILE.tmp - cp $CONF_FILE.tmp $CONF_FILE - rm $CONF_FILE.tmp - echo "done" - elif [ -e $CONF_FILE ] && egrep -q "^\w+#\w*${daemon}start=(yes|no)\w*$" $CONF_FILE; then - sed "s/^\w+#\w*${daemon}start=(yes|no)\w*$/\t${daemon}start=yes/" < $CONF_FILE > $CONF_FILE.tmp - cp $CONF_FILE.tmp $CONF_FILE - rm $CONF_FILE.tmp - echo "done" - elif [ ! -e $CONF_FILE ]; then - echo -e "\t${daemon}start=yes" > $CONF_FILE - else - echo "ERROR: unknown or nonexistant ${daemon}start= directive, please fix manually!" - fi -} - -disable_daemon_start() { - daemon=$1 - protocol=$2 - - echo -n "Disabling ${protocol} support by ${daemon}... " - if [ -e $CONF_FILE ] && ( egrep -q "^\w+${daemon}start=no\w*$" $CONF_FILE || - egrep -q "^\w+#\w*${daemon}start=(yes|no)\w*$" $CONF_FILE ); then - echo "already disabled" - elif [ -e $CONF_FILE ] && egrep -q "^\w+${daemon}start=yes\w*$" $CONF_FILE; then - sed "s/${daemon}start=yes/${daemon}start=no/" < $CONF_FILE > $CONF_FILE.tmp - cp $CONF_FILE.tmp $CONF_FILE - rm $CONF_FILE.tmp - echo "done" - elif [ ! -e $CONF_FILE ]; then - echo -e "\t${daemon}start=yes" > $CONF_FILE - else - echo "ERROR: unknown or nonexistant ${daemon}start= directive, please fix manually!" - fi -} - setup_strongswan_user() { if ! getent passwd strongswan >/dev/null; then adduser --quiet --system --no-create-home --home /var/lib/strongswan --shell /usr/sbin/nologin strongswan @@ -209,88 +164,17 @@ case "$1" in db_set strongswan/install_x509_certificate false fi - # lets see if we are already using dependency based booting or the correct runlevel parameters - if ! ( [ "`find /etc/init.d/ -name '.depend.*'`" ] || [ "$runlevels" = "0K841K842S163S164S165S166K84" ] ); then - db_fset strongswan/runlevel_changes seen false - db_input high strongswan/runlevel_changes || true - db_go - - # if the admin did not change the runlevels which got installed by older packages we can modify them - if [ "$runlevels" = "0K346K34SS41" ] || [ "$runlevels" = "0K301K302S153S154S155S156K30" ] || [ "$runlevels" = "0K191K192S213S214S215S216K19" ]; then - update-rc.d -f ipsec remove - fi - - update-rc.d ipsec defaults 16 84 > /dev/null - fi - - db_get strongswan/enable-oe - if [ "$RET" != "true" ]; then - echo -n "Disabling opportunistic encryption (OE) in config file ... " - if [ -e $CONF_FILE ] && egrep -q "include /etc/ipsec.d/examples/no_oe.conf$" $CONF_FILE; then - # also update to new-style config - sed 's/.*include \/etc\/ipsec.d\/examples\/no_oe.conf/#include \/etc\/ipsec.d\/examples\/oe.conf/' < $CONF_FILE > $CONF_FILE.tmp - mv $CONF_FILE.tmp $CONF_FILE - echo -n "converted old config line to new format" - fi - if [ -e $CONF_FILE ] && egrep -q "^include /etc/ipsec.d/examples/oe.conf$" $CONF_FILE; then - sed 's/include \/etc\/ipsec.d\/examples\/oe.conf/#include \/etc\/ipsec.d\/examples\/oe.conf/' < $CONF_FILE > $CONF_FILE.tmp - mv $CONF_FILE.tmp $CONF_FILE - echo "done" - elif [ ! -e $CONF_FILE ]; then - echo "#include /etc/ipsec.d/examples/oe.conf" > $CONF_FILE - else - echo "already disabled" - fi - else - echo -n "Enabling opportunistic encryption (OE) in config file ... " - if [ -e $CONF_FILE ] && egrep -q "include /etc/ipsec.d/examples/no_oe.conf$" $CONF_FILE; then - # also update to new-style config - sed 's/.*include \/etc\/ipsec.d\/examples\/no_oe.conf/include \/etc\/ipsec.d\/examples\/oe.conf/' < $CONF_FILE > $CONF_FILE.tmp - mv $CONF_FILE.tmp $CONF_FILE - echo -n "converted old config line to new format" - fi - if [ -e $CONF_FILE ] && egrep -q "^include /etc/ipsec.d/examples/oe.conf$" $CONF_FILE; then - echo "already enabled" - elif [ -e $CONF_FILE ] && egrep -q "^#.*include /etc/ipsec.d/examples/oe.conf$" $CONF_FILE; then - sed 's/#.*include \/etc\/ipsec.d\/examples\/oe.conf/include \/etc\/ipsec.d\/examples\/oe.conf/' < $CONF_FILE > $CONF_FILE.tmp - mv $CONF_FILE.tmp $CONF_FILE - echo "done" - elif [ ! -e $CONF_FILE ]; then - echo "include /etc/ipsec.d/examples/oe.conf" > $CONF_FILE - else - cat <<EOF >> $CONF_FILE -#Enable Opportunistic Encryption -include /etc/ipsec.d/examples/oe.conf -EOF - echo "done" - fi - fi - - # disabled for now, until we can solve the don't-edit-conffiles issue - #db_get strongswan/ikev1 - #if [ "$RET" != "true" ]; then - # enable_daemon_start "pluto" "IKEv1" - #else - # disable_daemon_start "pluto" "IKEv1" - #fi - #db_get strongswan/ikev2 - #if [ "$RET" != "true" ]; then - # enable_daemon_start "charon" "IKEv2" - #else - # disable_daemon_start "charon" "IKEv2" - #fi - # create user for strongswan to change its uid into setup_strongswan_user diff --git a/debian/ipsec.secrets.proto b/debian/ipsec.secrets.proto index dfa6dde..309e3fc 100644 --- a/debian/ipsec.secrets.proto +++ b/debian/ipsec.secrets.proto @@ -3,6 +3,3 @@ # RSA private key for this host, authenticating it to any other host # which knows the public part. -# this file is managed with debconf and will contain the automatically created private key -include /var/lib/strongswan/ipsec.secrets.inc - diff --git a/debian/rules b/debian/rules index 345dbe1..dc06ef0 100755 --- a/debian/rules +++ b/debian/rules @@ -172,12 +172,6 @@ endif # add additional files not covered by upstream makefile... install --mode=0600 $(CURDIR)/debian/ipsec.secrets.proto $(CURDIR)/debian/strongswan-starter/etc/ipsec.secrets - # also "patch" ipsec.conf to include the debconf-managed file - echo >> $(CURDIR)/debian/strongswan-starter/etc/ipsec.conf - echo "include /var/lib/strongswan/ipsec.conf.inc" >> $(CURDIR)/debian/strongswan-starter/etc/ipsec.conf - # and to enable both IKEv1 and IKEv2 by default - sed -r 's/^[ \t]+# *charonstart=(yes|no) */\tcharonstart=yes/' < $(CURDIR)/debian/strongswan-starter/etc/ipsec.conf > $(CURDIR)/debian/strongswan-starter/etc/ipsec.conf.tmp - mv $(CURDIR)/debian/strongswan-starter/etc/ipsec.conf.tmp $(CURDIR)/debian/strongswan-starter/etc/ipsec.conf # set permissions on ipsec.secrets chmod 600 $(CURDIR)/debian/strongswan-starter/etc/ipsec.secrets