/[pdpsoft]/trunk/nl.nikhef.ndpf.tools/foundry-tracl/tr-acl.pl
ViewVC logotype

Diff of /trunk/nl.nikhef.ndpf.tools/foundry-tracl/tr-acl.pl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2635 by davidg, Wed Feb 2 10:00:34 2011 UTC revision 2636 by davidg, Thu Jun 27 09:49:24 2013 UTC
# Line 233  sub parse_rule($) { Line 233  sub parse_rule($) {
233          $rule{"proto"} = $tok[$i++];          $rule{"proto"} = $tok[$i++];
234                    
235          # source IP address          # source IP address
236          if ( $tok[$i] eq "any" ) {          if ( $tok[$i] eq "any" or $tok[$i] eq "SELF" ) {
237                  $rule{"src"} = "0.0.0.0/0";                  $rule{"src"} = "0.0.0.0/0";
238          } elsif ( $tok[$i] eq "host" ) {          } elsif ( $tok[$i] eq "host" ) {
239                  $i++;                  $i++;
# Line 262  sub parse_rule($) { Line 262  sub parse_rule($) {
262          }          }
263    
264          # destination IP address          # destination IP address
265          if ( $tok[$i] eq "any" ) {          if ( $tok[$i] eq "any" or $tok[$i] eq "SELF" ) {
266                  $rule{"dst"} = "0.0.0.0/0";                  $rule{"dst"} = "0.0.0.0/0";
267          } elsif ( $tok[$i] eq "host" ) {          } elsif ( $tok[$i] eq "host" ) {
268                  $i++;                  $i++;
# Line 376  sub generate_acls() { Line 376  sub generate_acls() {
376                              $verb and print "  ! source ".$rule->{"src"}." entirely within $net\n";                              $verb and print "  ! source ".$rule->{"src"}." entirely within $net\n";
377                            }                            }
378                          }                          }
379                          print "  ".$rule->{"text"}."\n" if $matched;                          if ( $matched ) {
380                          $aclcount++ if $matched;                            if ( $rule->{"text"} =~ /SELF/ ) {
381                          $aclc_simple++ if $matched and rule_issimple($rule->{"text"});                              foreach my $net (@{$interface{$iface}{"network"}} ) {
382                          $aclc_one++ if $matched and rule_isonesided($rule->{"text"});                                if ( $net eq "127.0.0.0/8" ) { next; }
383                          $aclc_two++ if $matched and rule_istwosided($rule->{"text"});                                ( my $mline = $rule->{"text"} ) =~ s/SELF/$net/g;
384                          $aclc_complex++ if $matched and rule_iscomplex($rule->{"text"});                                print "  $mline\n";
385                          $verb and print "  ! suppressed: ".$rule->{"text"}."\n" unless $matched;                              }
386                              } else {
387                                print "  ".$rule->{"text"}."\n"
388                              }
389                              $aclcount++ if $matched;
390                              $aclc_simple++ if $matched and rule_issimple($rule->{"text"});
391                              $aclc_one++ if $matched and rule_isonesided($rule->{"text"});
392                              $aclc_two++ if $matched and rule_istwosided($rule->{"text"});
393                              $aclc_complex++ if $matched and rule_iscomplex($rule->{"text"});
394                            } else {
395                              $verb and print "  ! suppressed: ".$rule->{"text"}."\n" unless $matched;
396                            }
397                  }                  }
398                  foreach my $rule (@{$interface{$iface}{"append"}} ) {                  foreach my $rule (@{$interface{$iface}{"append"}} ) {
399                          print "  $rule\n";                          print "  $rule\n";

Legend:
Removed from v.2635  
changed lines
  Added in v.2636

grid.support@nikhef.nl
ViewVC Help
Powered by ViewVC 1.1.28