]>
git.ipfire.org Git - people/teissler/ipfire-2.x.git/blob - config/forwardfw/convert-xtaccess
3db7da65ea9de7b7aac54c6002071b8dce44cafb
5 require '/var/ipfire/general-functions.pl';
6 my $xtaccessconfig = "${General::swroot}/xtaccess/config";
7 my $inputfwconfig = "${General::swroot}/forward/input";
8 my $aliasconfig = "${General::swroot}/ethernet/aliases";
11 my $field2=''; #ON or emtpy
12 my $field3=''; #std_net_src or src_addr
13 my $field4=''; #ALL or IP-Address with /32
15 my $field6=''; #Default IP or alias name
16 my $field11='ON'; #use target port
17 my $field12=''; #TCP or UDP
18 my $field13='All ICMP-Types';
19 my $field14='TGT_PORT';
20 my $field15=''; #Port Number
21 my $field16=''; #remark
24 open(FILE
, $xtaccessconfig) or die 'Unable to open config file.';
27 open(FILE1
, $aliasconfig) or die 'Unable to open config file.';
30 &General
::readhasharray
($inputfwconfig,\
%configinputfw);
32 foreach my $line (@current){
33 my ($a,$b,$c,$d,$e,$f) = split (",",$line);
42 if ($a eq 'tcp'){ $field12 ='TCP';}else{$field12='UDP';}
44 if ($b eq '0.0.0.0/0'){
45 $field3='std_net_src';
47 }elsif($b =~/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/){
50 }elsif ($b =~ /^(.*?)\/(.*?
)$/) {
54 print "Regel konnte nicht konvertiert werden!\n";
58 $field6 = 'Default IP';
60 foreach my $line (@alias){
61 my ($ip,$state,$aliasname) = split (",",$line);
63 $aliasname =~ s/\R//g;
71 if ($c =~ /^(\D)\:(\d+)$/) {
74 if ($c =~ /^(\d+)\:(\D)$/) {
79 #print "0:$field0 1:$field1 2:$field2 3:$field3 4:$field4 5:$field5 6:$field6 11:$field11 12:$field12 13:$field13 14:$field14 15:$field15 16:$field16 26:$field26 27:$field27\n";
80 my $key = &General
::findhasharraykey
(\
%configinputfw);
81 foreach my $i (0 .. 27) { $configinputfw{$key}[$i] = "";}
82 $configinputfw{$key}[0] = $field0;
83 $configinputfw{$key}[1] = $field1;
84 $configinputfw{$key}[2] = $field2;
85 $configinputfw{$key}[3] = $field3;
86 $configinputfw{$key}[4] = $field4;
87 $configinputfw{$key}[5] = $field5;
88 $configinputfw{$key}[6] = $field6;
89 $configinputfw{$key}[7] = '';
90 $configinputfw{$key}[8] = '';
91 $configinputfw{$key}[9] = '';
92 $configinputfw{$key}[10] = '';
93 $configinputfw{$key}[11] = $field11;
94 $configinputfw{$key}[12] = $field12;
95 $configinputfw{$key}[13] = $field13;
96 $configinputfw{$key}[14] = $field14;
97 $configinputfw{$key}[15] = $field15;
98 $configinputfw{$key}[16] = $field16;
99 $configinputfw{$key}[17] = '';
100 $configinputfw{$key}[18] = '';
101 $configinputfw{$key}[19] = '';
102 $configinputfw{$key}[20] = '';
103 $configinputfw{$key}[21] = '';
104 $configinputfw{$key}[22] = '';
105 $configinputfw{$key}[23] = '';
106 $configinputfw{$key}[24] = '';
107 $configinputfw{$key}[25] = '';
108 $configinputfw{$key}[26] = $field26;
109 $configinputfw{$key}[27] = $field27;
110 &General
::writehasharray
($inputfwconfig,\
%configinputfw);