X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=ipif%2Fudptunnel;fp=ipif%2Fudptunnel;h=08b75a35e2d49f175cf1961434782cc4a660e0ac;hb=09966b4959fa31ea3f6746b6b6583907744484e1;hp=c2da428f9a2a5d020cc4875fa66383650b574103;hpb=9d4e63db418172c744c7bc98a7bc21c1c876f1ef;p=userv-utils.git diff --git a/ipif/udptunnel b/ipif/udptunnel index c2da428..08b75a3 100755 --- a/ipif/udptunnel +++ b/ipif/udptunnel @@ -8,6 +8,7 @@ # | -m (`masquerade support': subcommand gets `Wait' instead of our addr/port) # | -d (`dump keys': when no subcmd, spew keys rather than reading them; # we always send keys to our subcmd if there is one) +# | -Dcrypto (debug crypto - use with care, prints keys, packets &c on screen!) # | -f # ... # ] @@ -172,6 +173,7 @@ $|=1; $masq= 0; $dump= 0; $fcmd= 'udptunnel-forwarder'; +$xfwdopts= ''; while ($ARGV[0] =~ m/^-/) { $_= shift @ARGV; @@ -191,6 +193,8 @@ while ($ARGV[0] =~ m/^-/) { $masq= 1; } elsif (s/^-d/-/) { $dump= 1; + } elsif (s/^-Dcrypto$/-/) { + $xfwdopts.= 'K'; } else { quit("unknown option \`$_'"); } @@ -345,11 +349,12 @@ if (!$c_lcmd) { close UW; close DR; -@fcmd= ($fcmd, - fileno(L), fileno(DW), fileno(UR), +$xfwdopts.= 'w' if $dump; + +@fcmd= ($fcmd, $xfwdopts, + fileno(L), fileno(DW), fileno(UR), fileno(DUMPKEYS), $mtu, $keepalive, $timeout, @rapf, - fileno(DUMPKEYS), $dump ? 'y' : '', @encryption); debug("forwarding command @fcmd.");