X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=userapps%2Fopensource%2Fipsec-tools%2Fsrc%2Fracoon%2Fcontrib%2Fsp.pl;fp=userapps%2Fopensource%2Fipsec-tools%2Fsrc%2Fracoon%2Fcontrib%2Fsp.pl;h=d1f9cafec20c50299133ef1181531a5a8b2f7612;hb=864458111a0e69d94bbae210d5b7349ca072a6b7;hp=0000000000000000000000000000000000000000;hpb=57a096f051259ceaefd5977f30d269884e1dd248;p=bcm963xx.git diff --git a/userapps/opensource/ipsec-tools/src/racoon/contrib/sp.pl b/userapps/opensource/ipsec-tools/src/racoon/contrib/sp.pl new file mode 100755 index 00000000..d1f9cafe --- /dev/null +++ b/userapps/opensource/ipsec-tools/src/racoon/contrib/sp.pl @@ -0,0 +1,21 @@ +#! /usr/pkg/bin/perl + +die "insufficient arguments" if (scalar(@ARGV) < 2); +$src = $ARGV[0]; +$dst = $ARGV[1]; +$mode = 'transport'; +if (scalar(@ARGV) > 2) { + $mode = $ARGV[2]; +} + +open(OUT, "|setkey -c"); +if ($mode eq 'transport') { + print STDERR "install esp transport mode: $src -> $dst\n"; + print OUT "spdadd $src $dst any -P out ipsec esp/transport//require;\n"; + print OUT "spdadd $dst $src any -P in ipsec esp/transport//require;\n"; +} elsif ($mode eq 'delete') { + print STDERR "delete policy: $src -> $dst\n"; + print OUT "spddelete $src $dst any -P out;\n"; + print OUT "spddelete $dst $src any -P in;\n"; +} +close(OUT);