X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=ipif%2Fudptunnel;fp=ipif%2Fudptunnel;h=09595d104bf80d4d73672cbe2bfa642844560de6;hb=92bbf44b78dc7ad8a9372a27571e0cb9b7cf5ad3;hp=720517b6179f7393aaa53b4cf4617a0e50b0751a;hpb=a05221914d20b87c4e06e4e3c7ec8b8bf5f11892;p=userv-utils.git diff --git a/ipif/udptunnel b/ipif/udptunnel index 720517b..09595d1 100755 --- a/ipif/udptunnel +++ b/ipif/udptunnel @@ -19,7 +19,7 @@ # , # , # ,,, -# , +# ,[,] # # [ [ ...] ] # @@ -41,7 +41,7 @@ # , # , # ,,, -# , +# ,[,] # # @@ -227,8 +227,16 @@ m/^([.0-9]+),([.0-9]+),(\d+),(slip|cslip)$/ ($lva,$rva,$mtu,$proto) = ($1,$2,$3,$4); $_= shift @ARGV; -m/^(\d+),(\d+)$/ or quit("keepalive,timeout missing or bad syntax"); -($keepalive,$timeout)= ($1,$2); +if (m/^(\d+),(\d+)$/) { + ($keepalive,$timeout,$reannounce)= ($1+0,$2+0,0); + $ka_to_ra= "$keepalive,$timeout"; +} elsif (m/^(\d+),(\d+),(\d+)$/) { + ($keepalive,$timeout,$reannounce)= ($1+0,$2+0,$3); + "$keepalive,$timeout", + $ka_to_ra= "$keepalive,$timeout,$reannounce"; +} else { + quit("keepalive,timeout missing or bad syntax"); +} $keepalive && ($timeout > $keepalive*2) or quit("timeout must be < 2*keepalive") if $timeout; @@ -269,7 +277,7 @@ if (@ARGV) { "$rad,$rpd", $masq ? 'Wait,Wait' : $las eq 'Any' ? "Wait,$lpd" : $lapd, "$rva,$lva,$mtu,$proto", - "$keepalive,$timeout", + $ka_to_ra, $rexn, $lexn); debug("remote command @rcmd"); @@ -361,7 +369,7 @@ $xfwdopts.= 'w' if $dump; @fcmd= ($fcmd, $xfwdopts, fileno(L), fileno(DW), fileno(UR), fileno(DUMPKEYS), - $mtu, $keepalive, $timeout, + $mtu, $keepalive, $timeout, $reannounce, @rapf, @encryption); debug("forwarding command @fcmd.");