chiark / gitweb /
@@ -1,6 +1,7 @@
[userv-utils.git] / ipif / udptunnel
index 1b5031c7d2f1f2e3406e0a4bbb21a8ddaec865ff..d7a00368cc96308c4dfe14a2e2f6496ac957beef 100755 (executable)
@@ -3,20 +3,26 @@
 #
 # usage:
 #  udptunnel
-#        [ -l[<local-command/arg>] ... . ]
-#            <public-local-host/addr>,<public-local-port>
-#            <public-remote-host/addr>,<public-remote-port>
+#        [ -l[<local-command/arg>] ... .
+#          -e<encryption-mech>[/<encryption-parameter>...]
+#          ...
+#        ]
+#            <public-local-addr>,<public-local-port>
+#            <public-remote-addr>,<public-remote-port>
 #            <private-local-addr>,<private-remote-addr>,<mtu>,<proto>
 #            <keepalive>,<timeout>
 #            <extra-local-nets> <extra-remote-nets>
 #          [ <remote-command> [<remote-args> ...] ]
 #
+#
+# <..-addr> may also be hostname
+#
 # <local-public-port> may be number or `print' or `silent'
 #
 # <remote-public-port> may number or `command', in which case
 # <remote-command> must be specified and should run udptunnel at the
 # remote end; it will be invoked as
-#    <remote-command> <public-remote-host/addr>,print
+#    <remote-command> <public-remote-addr>,print
 #                     <public-local-addr>,<public-local-port>
 #                     <private-remote-addr>,<private-local-addr>,<mtu>,<proto>
 #                     <keepalive>,<timeout>
 # udptunnel will userv ipif locally, as
 #    userv root ipif <private-local-addr>,<private-remote-addr>,<mtu>,<proto>
 #                    <extra-local-nets>
-# or, if -lc was given, userv root ipif is replaced with the argument(s) to
-# successive -lc options.
+# or, if -l was given, userv root ipif is replaced with the argument(s) to
+# successive -l options.
+
+# Copyright (C) 1999 Ian Jackson
+#
+# This is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with userv-utils; if not, write to the Free Software
+# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# $Id$
 
 use Socket;
 use POSIX;
@@ -45,7 +69,7 @@ sub warning ($) { warn "$progname - $hostname: $_[0]\n"; }
 
 sub eat_addr_port ($) {
     my ($x) = @_;
-    @ARGV or quit("<host/addr>,<port> missing");
+    @ARGV or quit("<addr>,<port> missing");
     $_= shift(@ARGV);
     $_ =~ m/^([^,]+)\,(\d+|$x)$/ or quit("$_: <host/addr>,<port> bad syntax");
     return ($1,$2);
@@ -78,7 +102,7 @@ while ($ARGV[0] =~ m/^-/) {
     last if $_ eq '--';
     if (s/^-l//) {
        push @lcmd,$_ if length;
-       while (@ARGV && ($_= shift @ARGV) ne '-') { push @lcmd, $_; }
+       while (@ARGV && ($_= shift @ARGV) ne '.') { push @lcmd, $_; }
     } else {
        quit("unknown option \`$_'");
     }