ECB mode added to the DES plugin
[strongswan.git] / src / _updown / _updown.in
index 3b990f6..310c135 100644 (file)
 #              restricted on the peer side.
 #
 
 #              restricted on the peer side.
 #
 
+# define a minimum PATH environment in case it is not set
+PATH="/sbin:/bin:/usr/sbin:/usr/bin:@IPSEC_SBINDIR@"
+export PATH
+
 # uncomment to log VPN connections
 VPN_LOGGING=1
 #
 # uncomment to log VPN connections
 VPN_LOGGING=1
 #
@@ -298,6 +302,10 @@ then
        D_PEER_PORT="--dport $PLUTO_PEER_PORT"
 fi
 
        D_PEER_PORT="--dport $PLUTO_PEER_PORT"
 fi
 
+# resolve octal escape sequences
+PLUTO_MY_ID=`printf "$PLUTO_MY_ID"`
+PLUTO_PEER_ID=`printf "$PLUTO_PEER_ID"`
+
 # the big choice
 case "$PLUTO_VERB:$1" in
 prepare-host:*|prepare-client:*)
 # the big choice
 case "$PLUTO_VERB:$1" in
 prepare-host:*|prepare-client:*)
@@ -372,22 +380,22 @@ up-host:iptables)
        # This is used only by the default updown script, not by your custom
        # ones, so do not mess with it; see CAUTION comment up at top.
        iptables -I INPUT 1 -i $PLUTO_INTERFACE -p $PLUTO_MY_PROTOCOL \
        # This is used only by the default updown script, not by your custom
        # ones, so do not mess with it; see CAUTION comment up at top.
        iptables -I INPUT 1 -i $PLUTO_INTERFACE -p $PLUTO_MY_PROTOCOL \
-           -s $PLUTO_PEER_CLIENT_NET/$PLUTO_PEER_CLIENT_MASK $S_PEER_PORT \
+           -s $PLUTO_PEER_CLIENT $S_PEER_PORT \
            -d $PLUTO_ME $D_MY_PORT $IPSEC_POLICY_IN -j ACCEPT
        iptables -I OUTPUT 1 -o $PLUTO_INTERFACE -p $PLUTO_PEER_PROTOCOL \
            -s $PLUTO_ME $S_MY_PORT $IPSEC_POLICY_OUT \
            -d $PLUTO_ME $D_MY_PORT $IPSEC_POLICY_IN -j ACCEPT
        iptables -I OUTPUT 1 -o $PLUTO_INTERFACE -p $PLUTO_PEER_PROTOCOL \
            -s $PLUTO_ME $S_MY_PORT $IPSEC_POLICY_OUT \
-           -d $PLUTO_PEER_CLIENT_NET/$PLUTO_PEER_CLIENT_MASK $D_PEER_PORT -j ACCEPT
+           -d $PLUTO_PEER_CLIENT $D_PEER_PORT -j ACCEPT
        #
        # log IPsec host connection setup
        if [ $VPN_LOGGING ]
        then
        #
        # log IPsec host connection setup
        if [ $VPN_LOGGING ]
        then
-         if [ "$PLUTO_PEER_CLIENT" == "$PLUTO_PEER/32" ]
+         if [ "$PLUTO_PEER_CLIENT" = "$PLUTO_PEER/32" ]
          then
            logger -t $TAG -p $FAC_PRIO \
          then
            logger -t $TAG -p $FAC_PRIO \
-             "+ `echo -e $PLUTO_PEER_ID` $PLUTO_PEER -- $PLUTO_ME"
+             "+ $PLUTO_PEER_ID $PLUTO_PEER -- $PLUTO_ME"
          else
            logger -t $TAG -p $FAC_PRIO \
          else
            logger -t $TAG -p $FAC_PRIO \
-             "+ `echo -e $PLUTO_PEER_ID` $PLUTO_PEER_CLIENT == $PLUTO_PEER -- $PLUTO_ME"
+             "+ $PLUTO_PEER_ID $PLUTO_PEER_CLIENT == $PLUTO_PEER -- $PLUTO_ME"
          fi
        fi      
        ;;
          fi
        fi      
        ;;
@@ -396,22 +404,22 @@ down-host:iptables)
        # This is used only by the default updown script, not by your custom
        # ones, so do not mess with it; see CAUTION comment up at top.
        iptables -D INPUT -i $PLUTO_INTERFACE -p $PLUTO_MY_PROTOCOL \
        # This is used only by the default updown script, not by your custom
        # ones, so do not mess with it; see CAUTION comment up at top.
        iptables -D INPUT -i $PLUTO_INTERFACE -p $PLUTO_MY_PROTOCOL \
-           -s $PLUTO_PEER_CLIENT_NET/$PLUTO_PEER_CLIENT_MASK $S_PEER_PORT \
+           -s $PLUTO_PEER_CLIENT $S_PEER_PORT \
            -d $PLUTO_ME $D_MY_PORT $IPSEC_POLICY_IN -j ACCEPT
        iptables -D OUTPUT -o $PLUTO_INTERFACE -p $PLUTO_PEER_PROTOCOL \
            -s $PLUTO_ME $S_MY_PORT $IPSEC_POLICY_OUT \
            -d $PLUTO_ME $D_MY_PORT $IPSEC_POLICY_IN -j ACCEPT
        iptables -D OUTPUT -o $PLUTO_INTERFACE -p $PLUTO_PEER_PROTOCOL \
            -s $PLUTO_ME $S_MY_PORT $IPSEC_POLICY_OUT \
-           -d $PLUTO_PEER_CLIENT_NET/$PLUTO_PEER_CLIENT_MASK $D_PEER_PORT -j ACCEPT
+           -d $PLUTO_PEER_CLIENT $D_PEER_PORT -j ACCEPT
        #
        # log IPsec host connection teardown
        if [ $VPN_LOGGING ]
        then
        #
        # log IPsec host connection teardown
        if [ $VPN_LOGGING ]
        then
-         if [ "$PLUTO_PEER_CLIENT" == "$PLUTO_PEER/32" ]
+         if [ "$PLUTO_PEER_CLIENT" = "$PLUTO_PEER/32" ]
          then
            logger -t $TAG -p $FAC_PRIO -- \
          then
            logger -t $TAG -p $FAC_PRIO -- \
-             "- `echo -e $PLUTO_PEER_ID` $PLUTO_PEER -- $PLUTO_ME"
+             "- $PLUTO_PEER_ID $PLUTO_PEER -- $PLUTO_ME"
          else
            logger -t $TAG -p $FAC_PRIO -- \
          else
            logger -t $TAG -p $FAC_PRIO -- \
-           "- `echo -e $PLUTO_PEER_ID` $PLUTO_PEER_CLIENT == $PLUTO_PEER -- $PLUTO_ME"
+           "- $PLUTO_PEER_ID $PLUTO_PEER_CLIENT == $PLUTO_PEER -- $PLUTO_ME"
          fi
        fi
        ;;
          fi
        fi
        ;;
@@ -422,13 +430,11 @@ up-client:iptables)
        if [ "$PLUTO_PEER_CLIENT" != "$PLUTO_MY_SOURCEIP/32" ]
        then
          iptables -I FORWARD 1 -o $PLUTO_INTERFACE -p $PLUTO_PEER_PROTOCOL \
        if [ "$PLUTO_PEER_CLIENT" != "$PLUTO_MY_SOURCEIP/32" ]
        then
          iptables -I FORWARD 1 -o $PLUTO_INTERFACE -p $PLUTO_PEER_PROTOCOL \
-             -s $PLUTO_MY_CLIENT_NET/$PLUTO_MY_CLIENT_MASK $S_MY_PORT \
-             -d $PLUTO_PEER_CLIENT_NET/$PLUTO_PEER_CLIENT_MASK $D_PEER_PORT \
-                $IPSEC_POLICY_OUT -j ACCEPT
+             -s $PLUTO_MY_CLIENT $S_MY_PORT \
+             -d $PLUTO_PEER_CLIENT $D_PEER_PORT $IPSEC_POLICY_OUT -j ACCEPT
          iptables -I FORWARD 1 -i $PLUTO_INTERFACE -p $PLUTO_MY_PROTOCOL \
          iptables -I FORWARD 1 -i $PLUTO_INTERFACE -p $PLUTO_MY_PROTOCOL \
-             -s $PLUTO_PEER_CLIENT_NET/$PLUTO_PEER_CLIENT_MASK $S_PEER_PORT \
-             -d $PLUTO_MY_CLIENT_NET/$PLUTO_MY_CLIENT_MASK $D_MY_PORT \
-                $IPSEC_POLICY_IN -j ACCEPT
+             -s $PLUTO_PEER_CLIENT $S_PEER_PORT \
+             -d $PLUTO_MY_CLIENT $D_MY_PORT $IPSEC_POLICY_IN -j ACCEPT
        fi
        #
        # a virtual IP requires an INPUT and OUTPUT rule on the host
        fi
        #
        # a virtual IP requires an INPUT and OUTPUT rule on the host
@@ -436,25 +442,23 @@ up-client:iptables)
        if [ -n "$PLUTO_MY_SOURCEIP" -o -n "$PLUTO_HOST_ACCESS" ]
        then
          iptables -I INPUT 1 -i $PLUTO_INTERFACE -p $PLUTO_MY_PROTOCOL \
        if [ -n "$PLUTO_MY_SOURCEIP" -o -n "$PLUTO_HOST_ACCESS" ]
        then
          iptables -I INPUT 1 -i $PLUTO_INTERFACE -p $PLUTO_MY_PROTOCOL \
-             -s $PLUTO_PEER_CLIENT_NET/$PLUTO_PEER_CLIENT_MASK $S_PEER_PORT \
-             -d $PLUTO_MY_CLIENT_NET/$PLUTO_MY_CLIENT_MASK $D_MY_PORT \
-                $IPSEC_POLICY_IN -j ACCEPT
+             -s $PLUTO_PEER_CLIENT $S_PEER_PORT \
+             -d $PLUTO_MY_CLIENT $D_MY_PORT $IPSEC_POLICY_IN -j ACCEPT
          iptables -I OUTPUT 1 -o $PLUTO_INTERFACE -p $PLUTO_PEER_PROTOCOL \
          iptables -I OUTPUT 1 -o $PLUTO_INTERFACE -p $PLUTO_PEER_PROTOCOL \
-             -s $PLUTO_MY_CLIENT_NET/$PLUTO_MY_CLIENT_MASK $S_MY_PORT \
-             -d $PLUTO_PEER_CLIENT_NET/$PLUTO_PEER_CLIENT_MASK $D_PEER_PORT \
-                $IPSEC_POLICY_OUT -j ACCEPT
+             -s $PLUTO_MY_CLIENT $S_MY_PORT \
+             -d $PLUTO_PEER_CLIENT $D_PEER_PORT $IPSEC_POLICY_OUT -j ACCEPT
        fi
        #
        # log IPsec client connection setup
        if [ $VPN_LOGGING ]
        then
        fi
        #
        # log IPsec client connection setup
        if [ $VPN_LOGGING ]
        then
-         if [ "$PLUTO_PEER_CLIENT" == "$PLUTO_PEER/32" ]
+         if [ "$PLUTO_PEER_CLIENT" = "$PLUTO_PEER/32" ]
          then
            logger -t $TAG -p $FAC_PRIO \
          then
            logger -t $TAG -p $FAC_PRIO \
-             "+ `echo -e $PLUTO_PEER_ID` $PLUTO_PEER -- $PLUTO_ME == $PLUTO_MY_CLIENT"
+             "+ $PLUTO_PEER_ID $PLUTO_PEER -- $PLUTO_ME == $PLUTO_MY_CLIENT"
          else
            logger -t $TAG -p $FAC_PRIO \
          else
            logger -t $TAG -p $FAC_PRIO \
-             "+ `echo -e $PLUTO_PEER_ID` $PLUTO_PEER_CLIENT == $PLUTO_PEER -- $PLUTO_ME == $PLUTO_MY_CLIENT"
+             "+ $PLUTO_PEER_ID $PLUTO_PEER_CLIENT == $PLUTO_PEER -- $PLUTO_ME == $PLUTO_MY_CLIENT"
          fi
        fi
        ;;
          fi
        fi
        ;;
@@ -465,12 +469,12 @@ down-client:iptables)
        if [ "$PLUTO_PEER_CLIENT" != "$PLUTO_MY_SOURCEIP/32" ]
        then
          iptables -D FORWARD -o $PLUTO_INTERFACE -p $PLUTO_PEER_PROTOCOL \
        if [ "$PLUTO_PEER_CLIENT" != "$PLUTO_MY_SOURCEIP/32" ]
        then
          iptables -D FORWARD -o $PLUTO_INTERFACE -p $PLUTO_PEER_PROTOCOL \
-             -s $PLUTO_MY_CLIENT_NET/$PLUTO_MY_CLIENT_MASK $S_MY_PORT \
-             -d $PLUTO_PEER_CLIENT_NET/$PLUTO_PEER_CLIENT_MASK $D_PEER_PORT \
+             -s $PLUTO_MY_CLIENT $S_MY_PORT \
+             -d $PLUTO_PEER_CLIENT $D_PEER_PORT \
                 $IPSEC_POLICY_OUT -j ACCEPT
          iptables -D FORWARD -i $PLUTO_INTERFACE -p $PLUTO_MY_PROTOCOL \
                 $IPSEC_POLICY_OUT -j ACCEPT
          iptables -D FORWARD -i $PLUTO_INTERFACE -p $PLUTO_MY_PROTOCOL \
-             -s $PLUTO_PEER_CLIENT_NET/$PLUTO_PEER_CLIENT_MASK $S_PEER_PORT \
-             -d $PLUTO_MY_CLIENT_NET/$PLUTO_MY_CLIENT_MASK $D_MY_PORT \
+             -s $PLUTO_PEER_CLIENT $S_PEER_PORT \
+             -d $PLUTO_MY_CLIENT $D_MY_PORT \
                 $IPSEC_POLICY_IN -j ACCEPT
        fi
        #
                 $IPSEC_POLICY_IN -j ACCEPT
        fi
        #
@@ -479,25 +483,25 @@ down-client:iptables)
        if [ -n "$PLUTO_MY_SOURCEIP" -o -n "$PLUTO_HOST_ACCESS" ]
        then
          iptables -D INPUT -i $PLUTO_INTERFACE -p $PLUTO_MY_PROTOCOL \
        if [ -n "$PLUTO_MY_SOURCEIP" -o -n "$PLUTO_HOST_ACCESS" ]
        then
          iptables -D INPUT -i $PLUTO_INTERFACE -p $PLUTO_MY_PROTOCOL \
-             -s $PLUTO_PEER_CLIENT_NET/$PLUTO_PEER_CLIENT_MASK $S_PEER_PORT \
-             -d $PLUTO_MY_CLIENT_NET/$PLUTO_MY_CLIENT_MASK $D_MY_PORT \
+             -s $PLUTO_PEER_CLIENT $S_PEER_PORT \
+             -d $PLUTO_MY_CLIENT $D_MY_PORT \
                 $IPSEC_POLICY_IN -j ACCEPT
          iptables -D OUTPUT -o $PLUTO_INTERFACE -p $PLUTO_PEER_PROTOCOL \
                 $IPSEC_POLICY_IN -j ACCEPT
          iptables -D OUTPUT -o $PLUTO_INTERFACE -p $PLUTO_PEER_PROTOCOL \
-             -s $PLUTO_MY_CLIENT_NET/$PLUTO_MY_CLIENT_MASK $S_MY_PORT \
-             -d $PLUTO_PEER_CLIENT_NET/$PLUTO_PEER_CLIENT_MASK $D_PEER_PORT \
+             -s $PLUTO_MY_CLIENT $S_MY_PORT \
+             -d $PLUTO_PEER_CLIENT $D_PEER_PORT \
                 $IPSEC_POLICY_OUT -j ACCEPT
        fi
        #
        # log IPsec client connection teardown
        if [ $VPN_LOGGING ]
        then
                 $IPSEC_POLICY_OUT -j ACCEPT
        fi
        #
        # log IPsec client connection teardown
        if [ $VPN_LOGGING ]
        then
-         if [ "$PLUTO_PEER_CLIENT" == "$PLUTO_PEER/32" ]
+         if [ "$PLUTO_PEER_CLIENT" = "$PLUTO_PEER/32" ]
          then
            logger -t $TAG -p $FAC_PRIO -- \
          then
            logger -t $TAG -p $FAC_PRIO -- \
-             "- `echo -e $PLUTO_PEER_ID` $PLUTO_PEER -- $PLUTO_ME == $PLUTO_MY_CLIENT"
+             "- $PLUTO_PEER_ID $PLUTO_PEER -- $PLUTO_ME == $PLUTO_MY_CLIENT"
          else
            logger -t $TAG -p $FAC_PRIO -- \
          else
            logger -t $TAG -p $FAC_PRIO -- \
-             "- `echo -e $PLUTO_PEER_ID` $PLUTO_PEER_CLIENT == $PLUTO_PEER -- $PLUTO_ME == $PLUTO_MY_CLIENT"
+             "- $PLUTO_PEER_ID $PLUTO_PEER_CLIENT == $PLUTO_PEER -- $PLUTO_ME == $PLUTO_MY_CLIENT"
          fi
        fi
        ;;
          fi
        fi
        ;;
@@ -514,11 +518,11 @@ unroute-host-v6:*|unroute-client-v6:*)
        # connection to me or my client subnet being unrouted
        #downroute_v6
        ;;
        # connection to me or my client subnet being unrouted
        #downroute_v6
        ;;
-up-host-v6:*)
+up-host-v6:)
        # connection to me coming up
        # If you are doing a custom version, firewall commands go here.
        ;;
        # connection to me coming up
        # If you are doing a custom version, firewall commands go here.
        ;;
-down-host-v6:*)
+down-host-v6:)
        # connection to me going down
        # If you are doing a custom version, firewall commands go here.
        ;;
        # connection to me going down
        # If you are doing a custom version, firewall commands go here.
        ;;
@@ -530,6 +534,136 @@ down-client-v6:)
        # connection to my client subnet going down
        # If you are doing a custom version, firewall commands go here.
        ;;
        # connection to my client subnet going down
        # If you are doing a custom version, firewall commands go here.
        ;;
+up-host-v6:iptables)
+       # connection to me, with (left/right)firewall=yes, coming up
+       # This is used only by the default updown script, not by your custom
+       # ones, so do not mess with it; see CAUTION comment up at top.
+       ip6tables -I INPUT 1 -i $PLUTO_INTERFACE -p $PLUTO_MY_PROTOCOL \
+           -s $PLUTO_PEER_CLIENT $S_PEER_PORT \
+           -d $PLUTO_ME $D_MY_PORT $IPSEC_POLICY_IN -j ACCEPT
+       ip6tables -I OUTPUT 1 -o $PLUTO_INTERFACE -p $PLUTO_PEER_PROTOCOL \
+           -s $PLUTO_ME $S_MY_PORT $IPSEC_POLICY_OUT \
+           -d $PLUTO_PEER_CLIENT $D_PEER_PORT -j ACCEPT
+       #
+       # log IPsec host connection setup
+       if [ $VPN_LOGGING ]
+       then
+         if [ "$PLUTO_PEER_CLIENT" = "$PLUTO_PEER/128" ]
+         then
+           logger -t $TAG -p $FAC_PRIO \
+             "+ $PLUTO_PEER_ID $PLUTO_PEER -- $PLUTO_ME"
+         else
+           logger -t $TAG -p $FAC_PRIO \
+             "+ $PLUTO_PEER_ID $PLUTO_PEER_CLIENT == $PLUTO_PEER -- $PLUTO_ME"
+         fi
+       fi      
+       ;;
+down-host-v6:iptables)
+       # connection to me, with (left/right)firewall=yes, going down
+       # This is used only by the default updown script, not by your custom
+       # ones, so do not mess with it; see CAUTION comment up at top.
+       ip6tables -D INPUT -i $PLUTO_INTERFACE -p $PLUTO_MY_PROTOCOL \
+           -s $PLUTO_PEER_CLIENT $S_PEER_PORT \
+           -d $PLUTO_ME $D_MY_PORT $IPSEC_POLICY_IN -j ACCEPT
+       ip6tables -D OUTPUT -o $PLUTO_INTERFACE -p $PLUTO_PEER_PROTOCOL \
+           -s $PLUTO_ME $S_MY_PORT $IPSEC_POLICY_OUT \
+           -d $PLUTO_PEER_CLIENT $D_PEER_PORT -j ACCEPT
+       #
+       # log IPsec host connection teardown
+       if [ $VPN_LOGGING ]
+       then
+         if [ "$PLUTO_PEER_CLIENT" = "$PLUTO_PEER/128" ]
+         then
+           logger -t $TAG -p $FAC_PRIO -- \
+             "- $PLUTO_PEER_ID $PLUTO_PEER -- $PLUTO_ME"
+         else
+           logger -t $TAG -p $FAC_PRIO -- \
+           "- $PLUTO_PEER_ID $PLUTO_PEER_CLIENT == $PLUTO_PEER -- $PLUTO_ME"
+         fi
+       fi
+       ;;
+up-client-v6:iptables)
+       # connection to client subnet, with (left/right)firewall=yes, coming up
+       # This is used only by the default updown script, not by your custom
+       # ones, so do not mess with it; see CAUTION comment up at top.
+       if [ "$PLUTO_PEER_CLIENT" != "$PLUTO_MY_SOURCEIP/128" ]
+       then
+         ip6tables -I FORWARD 1 -o $PLUTO_INTERFACE -p $PLUTO_PEER_PROTOCOL \
+             -s $PLUTO_MY_CLIENT $S_MY_PORT \
+             -d $PLUTO_PEER_CLIENT $D_PEER_PORT $IPSEC_POLICY_OUT -j ACCEPT
+         ip6tables -I FORWARD 1 -i $PLUTO_INTERFACE -p $PLUTO_MY_PROTOCOL \
+             -s $PLUTO_PEER_CLIENT $S_PEER_PORT \
+             -d $PLUTO_MY_CLIENT $D_MY_PORT $IPSEC_POLICY_IN -j ACCEPT
+       fi
+       #
+       # a virtual IP requires an INPUT and OUTPUT rule on the host
+       # or sometimes host access via the internal IP is needed
+       if [ -n "$PLUTO_MY_SOURCEIP" -o -n "$PLUTO_HOST_ACCESS" ]
+       then
+         ip6tables -I INPUT 1 -i $PLUTO_INTERFACE -p $PLUTO_MY_PROTOCOL \
+             -s $PLUTO_PEER_CLIENT $S_PEER_PORT \
+             -d $PLUTO_MY_CLIENT $D_MY_PORT $IPSEC_POLICY_IN -j ACCEPT
+         ip6tables -I OUTPUT 1 -o $PLUTO_INTERFACE -p $PLUTO_PEER_PROTOCOL \
+             -s $PLUTO_MY_CLIENT $S_MY_PORT \
+             -d $PLUTO_PEER_CLIENT $D_PEER_PORT $IPSEC_POLICY_OUT -j ACCEPT
+       fi
+       #
+       # log IPsec client connection setup
+       if [ $VPN_LOGGING ]
+       then
+         if [ "$PLUTO_PEER_CLIENT" = "$PLUTO_PEER/128" ]
+         then
+           logger -t $TAG -p $FAC_PRIO \
+             "+ $PLUTO_PEER_ID $PLUTO_PEER -- $PLUTO_ME == $PLUTO_MY_CLIENT"
+         else
+           logger -t $TAG -p $FAC_PRIO \
+             "+ $PLUTO_PEER_ID $PLUTO_PEER_CLIENT == $PLUTO_PEER -- $PLUTO_ME == $PLUTO_MY_CLIENT"
+         fi
+       fi
+       ;;
+down-client-v6:iptables)
+       # connection to client subnet, with (left/right)firewall=yes, going down
+       # This is used only by the default updown script, not by your custom
+       # ones, so do not mess with it; see CAUTION comment up at top.
+       if [ "$PLUTO_PEER_CLIENT" != "$PLUTO_MY_SOURCEIP/128" ]
+       then
+         ip6tables -D FORWARD -o $PLUTO_INTERFACE -p $PLUTO_PEER_PROTOCOL \
+             -s $PLUTO_MY_CLIENT $S_MY_PORT \
+             -d $PLUTO_PEER_CLIENT $D_PEER_PORT \
+                $IPSEC_POLICY_OUT -j ACCEPT
+         ip6tables -D FORWARD -i $PLUTO_INTERFACE -p $PLUTO_MY_PROTOCOL \
+             -s $PLUTO_PEER_CLIENT $S_PEER_PORT \
+             -d $PLUTO_MY_CLIENT $D_MY_PORT \
+                $IPSEC_POLICY_IN -j ACCEPT
+       fi
+       #
+       # a virtual IP requires an INPUT and OUTPUT rule on the host
+       # or sometimes host access via the internal IP is needed
+       if [ -n "$PLUTO_MY_SOURCEIP" -o -n "$PLUTO_HOST_ACCESS" ]
+       then
+         ip6tables -D INPUT -i $PLUTO_INTERFACE -p $PLUTO_MY_PROTOCOL \
+             -s $PLUTO_PEER_CLIENT $S_PEER_PORT \
+             -d $PLUTO_MY_CLIENT $D_MY_PORT \
+                $IPSEC_POLICY_IN -j ACCEPT
+         ip6tables -D OUTPUT -o $PLUTO_INTERFACE -p $PLUTO_PEER_PROTOCOL \
+             -s $PLUTO_MY_CLIENT $S_MY_PORT \
+             -d $PLUTO_PEER_CLIENT $D_PEER_PORT \
+                $IPSEC_POLICY_OUT -j ACCEPT
+       fi
+       #
+       # log IPsec client connection teardown
+       if [ $VPN_LOGGING ]
+       then
+         if [ "$PLUTO_PEER_CLIENT" = "$PLUTO_PEER/128" ]
+         then
+           logger -t $TAG -p $FAC_PRIO -- \
+             "- $PLUTO_PEER_ID $PLUTO_PEER -- $PLUTO_ME == $PLUTO_MY_CLIENT"
+         else
+           logger -t $TAG -p $FAC_PRIO -- \
+             "- $PLUTO_PEER_ID $PLUTO_PEER_CLIENT == $PLUTO_PEER -- $PLUTO_ME == $PLUTO_MY_CLIENT"
+         fi
+       fi
+       ;;
 *)     echo "$0: unknown verb \`$PLUTO_VERB' or parameter \`$1'" >&2
        exit 1
        ;;
 *)     echo "$0: unknown verb \`$PLUTO_VERB' or parameter \`$1'" >&2
        exit 1
        ;;