#!/usr/bin/perl
# $Id: menuins,v 1.3 2001/02/07 12:15:24 stes Exp $

$IPMENU=$ENV{'IPMENU'};
require "$IPMENU/ipmenu.lib";

$m=$ARGV[0];
$table=$ARGV[1];
$chain=$ARGV[2];

$menu="$TMP/Menu.$$";
if (!open(MENU,">$menu")) {
  print "`message \"Problem writing to $menu\"`nop\n";exit 0;
}

print MENU "menu=Insert\n";
print MENU "lifetime=shortterm\n";
print MENU "close=`rm -f $menu`nop\n";

$count=0;
open(PIPE,"iptables -t $table -L $chain --line-numbers |");
while (<PIPE>) {
  ($num,$target,$prot,$opt,$source,$dst) = split(/[ \t]+/);
  if ($num =~ /[\d]+/) {
   print MENU "name=$num. $target $prot $source $dst\n";
   print MENU "action=open $IPMENU/$m \"-I $chain $num\"\n";
   $count++;
  }
}
close(PIPE);

close(MENU);
if ($count) {
print "open $menu\n";
} else {
print "open $IPMENU/$m \"-I $chain\"\n";
}

