make an optional XAUTH user ID available in the updown script
[strongswan.git] / src / _updown_espmark / _updown_espmark
index 2b41ef2..163ef55 100644 (file)
@@ -15,8 +15,6 @@
 # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 # or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 # for more details.
-#
-# RCSID $Id$
 
 
 
@@ -38,7 +36,7 @@
 #              specifies the name of the operation to be performed
 #              (prepare-host, prepare-client, up-host, up-client,
 #              down-host, or down-client).  If the address family
-#              for security gateway to security gateway communica­
+#              for security gateway to security gateway communica-
 #              tions is IPv6, then a suffix of -v6 is added to the
 #              verb.
 #
@@ -95,7 +93,7 @@
 #              is the CA which issued the cert of our peer.
 #
 #       PLUTO_PEER_CLIENT
-#              is the IP address / count of the peer's client sub­
+#              is the IP address / count of the peer's client sub-
 #              net.   If the client is just the peer, this will be
 #              the peer's own IP address / max (where  max  is  32
 #              for IPv4 and 128 for IPv6).
 #              is  the  UDP/TCP  port  to  which  the IPsec SA  is
 #              restricted on the peer side.
 #
+#              PLUTO_XAUTH_USER
+#                              is an optional user ID employed by the XAUTH protocol
 
 # logging of VPN connections
 #
@@ -201,15 +201,12 @@ doroute() {
 
        if [ -z "$PLUTO_MY_SOURCEIP" ]
        then
-           if [ -f /etc/sysconfig/defaultsource ]
-           then
-               . /etc/sysconfig/defaultsource
-           fi
-
-           if [ -f /etc/conf.d/defaultsource ]
-           then
-               . /etc/conf.d/defaultsource
-           fi
+            for dir in /etc/sysconfig /etc/conf.d; do
+                if [ -f "$dir/defaultsource" ]
+                then
+                    . "$dir/defaultsource"
+                fi
+            done
 
            if [ -n "$DEFAULTSOURCE" ]
            then
@@ -277,6 +274,10 @@ then
        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:*)
@@ -333,13 +334,13 @@ up-host:*)
            -s $PLUTO_ME $S_MY_PORT \
            -d $PLUTO_PEER_CLIENT_NET/$PLUTO_PEER_CLIENT_MASK $D_PEER_PORT -j ACCEPT
        #
-       if [ "$PLUTO_PEER_CLIENT" == "$PLUTO_PEER/32" ]
+       if [ "$PLUTO_PEER_CLIENT" = "$PLUTO_PEER/32" ]
        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 \
-           "+ `echo -e $PLUTO_PEER_ID` $PLUTO_PEER_CLIENT == $PLUTO_PEER -- $PLUTO_ME"
+           "+ $PLUTO_PEER_ID $PLUTO_PEER_CLIENT == $PLUTO_PEER -- $PLUTO_ME"
        fi
        ;;
 down-host:*)
@@ -354,13 +355,13 @@ down-host:*)
            -s $PLUTO_ME $S_MY_PORT \
            -d $PLUTO_PEER_CLIENT_NET/$PLUTO_PEER_CLIENT_MASK $D_PEER_PORT -j ACCEPT
        #
-       if [ "$PLUTO_PEER_CLIENT" == "$PLUTO_PEER/32" ]
+       if [ "$PLUTO_PEER_CLIENT" = "$PLUTO_PEER/32" ]
        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 -- \
-         "- `echo -e $PLUTO_PEER_ID` $PLUTO_PEER_CLIENT == $PLUTO_PEER -- $PLUTO_ME"
+         "- $PLUTO_PEER_ID $PLUTO_PEER_CLIENT == $PLUTO_PEER -- $PLUTO_ME"
        fi
        ;;
 up-client:)
@@ -374,13 +375,13 @@ up-client:)
            -d $PLUTO_MY_CLIENT_NET/$PLUTO_MY_CLIENT_MASK $D_MY_PORT \
               $CHECK_MARK -j ACCEPT
        #
-       if [ "$PLUTO_PEER_CLIENT" == "$PLUTO_PEER/32" ]
+       if [ "$PLUTO_PEER_CLIENT" = "$PLUTO_PEER/32" ]
        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 \
-           "+ `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
        ;;
 down-client:)
@@ -394,13 +395,13 @@ down-client:)
            -d $PLUTO_MY_CLIENT_NET/$PLUTO_MY_CLIENT_MASK $D_MY_PORT \
               $CHECK_MARK -j ACCEPT
        #
-       if [ "$PLUTO_PEER_CLIENT" == "$PLUTO_PEER/32" ]
+       if [ "$PLUTO_PEER_CLIENT" = "$PLUTO_PEER/32" ]
        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 -- \
-           "- `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
        ;;
 up-client:ipfwadm)