This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPFire 2.x development tree".
The branch, next has been updated via d8ef6a9537537ed43d7766ced22d3500b965ed1a (commit) via ea566f8485462dee02e9385aa5b5e4d7935d131d (commit) via 6d92ee11de904562936921d593332e695e82d9f4 (commit) via 8b20ca2de4d1b07f2bb2237b97a591cc40deebc4 (commit) via 93a017cbcffafaa63b64e3ff51e8d6c37dce3d5b (commit) via c07eea1d38de0334e79f531710e33f656dbd5f8c (commit) from e70aa2e0b89e87316a3ea92509c0662c077fb539 (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- commit d8ef6a9537537ed43d7766ced22d3500b965ed1a Author: Peter Müller peter.mueller@link38.eu Date: Mon May 7 17:23:52 2018 +0200
display country data for remote IPs on ovpnmain.cgi
This makes debugging easier, especially when it comes to GeoIP related firewall rules and database related issues such as #11482.
Signed-off-by: Peter Müller peter.mueller@link38.eu Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit ea566f8485462dee02e9385aa5b5e4d7935d131d Author: Peter Müller peter.mueller@link38.eu Date: Mon May 7 17:01:58 2018 +0200
fix aesthetic issues in remote.cgi and ship them
Fix some minor cosmetic issues on remote.cgi as well as a typo in the language files ("sesstions" -> "sessions"). The changes are listed in "filelists" for Core Update 121.
Signed-off-by: Peter Müller peter.mueller@link38.eu Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 6d92ee11de904562936921d593332e695e82d9f4 Author: Alexander Marx alexander.marx@ipfire.org Date: Wed May 2 13:27:07 2018 +0200
BUG11559: fwhosts
When creating firewallrules or using firewall groups, it should be possible to select a single IpSec subnet if there is more than one.
This patch adds the changes to the firewall groups. Signed-off-by: Alexander Marx alexander.marx@ipfire.org Tested-by: Peter Müller peter.mueller@link38.eu Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 8b20ca2de4d1b07f2bb2237b97a591cc40deebc4 Author: Alexander Marx alexander.marx@ipfire.org Date: Wed May 2 13:27:06 2018 +0200
BUG11559: firewall-lib
When creating firewallrules or using firewall groups, it should be possible to select a single IpSec subnet if there is more than one.
This patch has neccessary changes for the firewall-lib. While the network name of the IpSec changes on save (subnet is added to name) we need to split the name or normalise the field before using it. Signed-off-by: Alexander Marx alexander.marx@ipfire.org Tested-by: Peter Müller peter.mueller@link38.eu Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit 93a017cbcffafaa63b64e3ff51e8d6c37dce3d5b Author: Alexander Marx alexander.marx@ipfire.org Date: Wed May 2 13:27:05 2018 +0200
BUG11559: firewall.cgi
When creating firewallrules or using firewall groups, it should be possible to select a single IpSec subnet if there is more than one.
This patch has the changes for firewall.cgi Signed-off-by: Alexander Marx alexander.marx@ipfire.org Tested-by: Peter Müller peter.mueller@link38.eu Signed-off-by: Michael Tremer michael.tremer@ipfire.org
commit c07eea1d38de0334e79f531710e33f656dbd5f8c Author: Alexander Marx alexander.marx@ipfire.org Date: Wed May 2 13:27:04 2018 +0200
BUG11559: Languagefiles
When creating firewallrules or using firewall groups, it should be possible to select a single IpSec subnet if there is more than one.
This patch adds a new languagefileword "fwdfw all subnets" which is used in firewall.cgi and fwhosts.cgi Signed-off-by: Alexander Marx alexander.marx@ipfire.org Tested-by: Peter Müller peter.mueller@link38.eu Signed-off-by: Michael Tremer michael.tremer@ipfire.org
-----------------------------------------------------------------------
Summary of changes: config/firewall/firewall-lib.pl | 17 ++++-- config/rootfiles/core/121/filelists/files | 3 ++ html/cgi-bin/firewall.cgi | 36 +++++++++++-- html/cgi-bin/fwhosts.cgi | 87 +++++++++++++++++++------------ html/cgi-bin/ovpnmain.cgi | 10 +++- html/cgi-bin/remote.cgi | 24 +++++---- langs/de/cgi-bin/de.pl | 3 +- langs/en/cgi-bin/en.pl | 3 +- 8 files changed, 132 insertions(+), 51 deletions(-)
Difference in files: diff --git a/config/firewall/firewall-lib.pl b/config/firewall/firewall-lib.pl index eabd9a42f..9b7f55c9d 100644 --- a/config/firewall/firewall-lib.pl +++ b/config/firewall/firewall-lib.pl @@ -150,6 +150,9 @@ sub get_ipsec_net_ip my $val=shift; my $field=shift; foreach my $key (sort {$a <=> $b} keys %ipsecconf){ + #adapt $val to reflect real name without subnet (if rule with only one ipsec subnet is created) + my @tmpval = split (/|/, $val); + $val = $tmpval[0]; if($ipsecconf{$key}[1] eq $val){ return $ipsecconf{$key}[$field]; } @@ -390,10 +393,16 @@ sub get_address
# IPsec networks. } elsif ($key ~~ ["ipsec_net_src", "ipsec_net_tgt", "IpSec Network"]) { - my $network_address = &get_ipsec_net_ip($value, 11); - my @nets = split(/|/, $network_address); - foreach my $net (@nets) { - push(@ret, [$net, ""]); + #Check if we have multiple subnets and only want one of them + if ( $value =~ /|/ ){ + my @parts = split(/|/, $value); + push(@ret, [$parts[1], ""]); + }else{ + my $network_address = &get_ipsec_net_ip($value, 11); + my @nets = split(/|/, $network_address); + foreach my $net (@nets) { + push(@ret, [$net, ""]); + } }
# The firewall's own IP addresses. diff --git a/config/rootfiles/core/121/filelists/files b/config/rootfiles/core/121/filelists/files index 4ce37f9ed..fc07ad7e9 100644 --- a/config/rootfiles/core/121/filelists/files +++ b/config/rootfiles/core/121/filelists/files @@ -1,3 +1,6 @@ etc/system-release etc/issue etc/ssl/certs/ca-bundle.crt +srv/web/ipfire/cgi-bin/ovpnmain.cgi +srv/web/ipfire/cgi-bin/remote.cgi +var/ipfire/langs diff --git a/html/cgi-bin/firewall.cgi b/html/cgi-bin/firewall.cgi index face0f460..499f279d1 100644 --- a/html/cgi-bin/firewall.cgi +++ b/html/cgi-bin/firewall.cgi @@ -1161,11 +1161,31 @@ END #IPsec netze foreach my $key (sort { ncmp($ipsecconf{$a}[1],$ipsecconf{$b}[1]) } keys %ipsecconf) { if ($ipsecconf{$key}[3] eq 'net' || ($optionsfw{'SHOWDROPDOWN'} eq 'on' && $ipsecconf{$key}[3] ne 'host')){ - print"<tr><td valign='top'><input type='radio' name='$grp' value='ipsec_net_$srctgt' $checked{$grp}{'ipsec_net_'.$srctgt}></td><td >$Lang::tr{'fwhost ipsec net'}</td><td align='right'><select name='ipsec_net_$srctgt' style='width:200px;'>" if ($show eq ''); + print"<tr><td valign='top'><input type='radio' name='$grp' id='ipsec_net_$srctgt' value='ipsec_net_$srctgt' $checked{$grp}{'ipsec_net_'.$srctgt}></td><td >$Lang::tr{'fwhost ipsec net'}</td><td align='right'><select name='ipsec_net_$srctgt' style='width:200px;'>" if ($show eq ''); $show='1'; + + #Check if we have more than one REMOTE subnet in config + my @arr1 = split /|/, $ipsecconf{$key}[11]; + my $cnt1 += @arr1; + print "<option "; - print "selected='selected'" if ($fwdfwsettings{$fwdfwsettings{$grp}} eq $ipsecconf{$key}[1]); - print ">$ipsecconf{$key}[1]</option>"; + print "value=$ipsecconf{$key}[1]"; + print " selected " if ($fwdfwsettings{$fwdfwsettings{$grp}} eq "$ipsecconf{$key}[1]"); + print ">$ipsecconf{$key}[1] "; + print "($Lang::tr{'fwdfw all subnets'})" if $cnt1 > 1; #If this Conenction has more than one subnet, print one option for all subnets + print "</option>"; + + if ($cnt1 > 1){ + foreach my $val (@arr1){ + #normalize subnet to cidr notation + my ($val1,$val2) = split ///, $val; + my $val3 = &General::iporsubtocidr($val2); + print "<option "; + print "value='$ipsecconf{$key}[1]|$val1/$val3'"; + print "selected " if ($fwdfwsettings{$fwdfwsettings{$grp}} eq "$ipsecconf{$key}[1]|$val1/$val3"); + print ">$ipsecconf{$key}[1] ($val1/$val3)</option>"; + } + } } } if($optionsfw{'SHOWDROPDOWN'} eq 'on' && $show eq ''){ @@ -2575,6 +2595,11 @@ END #SOURCE my $ipfireiface; &getcolor($$hash{$key}[3],$$hash{$key}[4],%customhost); + # Check SRC Host and replace "|" with space + if ($$hash{$key}[4] =~ /|/){ + $$hash{$key}[4] =~ s/|/ (/g; + $$hash{$key}[4] = $$hash{$key}[4].")"; + } print"<td align='center' width='30%' $tdcolor>"; if ($$hash{$key}[3] eq 'ipfire_src'){ $ipfireiface=$Lang::tr{'fwdfw iface'}; @@ -2640,6 +2665,11 @@ END print<<END; <td align='center' $tdcolor> END + # Check TGT Host and replace "|" with space + if ($$hash{$key}[6] =~ /|/){ + $$hash{$key}[6] =~ s/|/ (/g; + $$hash{$key}[6] = $$hash{$key}[6].")"; + } #Is this a DNAT rule? my $natstring; if ($$hash{$key}[31] eq 'dnat' && $$hash{$key}[28] eq 'ON'){ diff --git a/html/cgi-bin/fwhosts.cgi b/html/cgi-bin/fwhosts.cgi index 10217425d..576701ac6 100644 --- a/html/cgi-bin/fwhosts.cgi +++ b/html/cgi-bin/fwhosts.cgi @@ -54,6 +54,7 @@ my %fwinp=(); my %fwout=(); my %ovpnsettings=(); my %netsettings=(); +my %optionsfw=();
my $errormessage; my $hint; @@ -70,6 +71,7 @@ my $configgeoipgrp = "${General::swroot}/fwhosts/customgeoipgrp"; my $fwconfigfwd = "${General::swroot}/firewall/config"; my $fwconfiginp = "${General::swroot}/firewall/input"; my $fwconfigout = "${General::swroot}/firewall/outgoing"; +my $fwoptions = "${General::swroot}/optionsfw/settings"; my $configovpn = "${General::swroot}/ovpn/settings"; my $configipsecrw = "${General::swroot}/vpn/settings";
@@ -87,8 +89,9 @@ unless (-e $configgeoipgrp) { system("touch $configgeoipgrp"); } &General::readhasharray("$configipsec", %ipsecconf); &General::readhash("$configipsecrw", %ipsecsettings); &General::readhash("/var/ipfire/ethernet/settings", %netsettings); -&Header::getcgihash(%fwhostsettings); +&General::readhash($fwoptions, %optionsfw);
+&Header::getcgihash(%fwhostsettings); &Header::showhttpheaders(); &Header::openpage($Lang::tr{'fwhost menu'}, 1, ''); &Header::openbigbox('100%', 'center'); @@ -1548,27 +1551,30 @@ END print"</select></td></tr>"; } #IPsec networks - my @IPSEC_N2N=(); + foreach my $key (sort { ncmp($ipsecconf{$a}[0],$ipsecconf{$b}[0]) } keys %ipsecconf) { - if ($ipsecconf{$key}[3] eq 'net'){ - $show='1'; - push (@IPSEC_N2N,$ipsecconf{$key}[1]); - } - } - if ($show eq '1'){ - $show=''; - print<<END; - <td style='width:15em;'> - <label> - <input type='radio' name='grp2' id='IPSEC_NET' value='ipsec_net' $checked{'grp2'}{'ipsec_net'}> - $Lang::tr{'fwhost ipsec net'} - </label> - </td> - <td style='text-align:right;'> - <select name='IPSEC_NET' style='width:16em;'>" -END - foreach(@IPSEC_N2N){ - print"<option value='$_'>$_</option>"; + if ($ipsecconf{$key}[3] eq 'net' || ($optionsfw{'SHOWDROPDOWN'} eq 'on' && $ipsecconf{$key}[3] ne 'host')){ + print "<td style='width:15em;'><label><input type='radio' name='grp2' id='IPSEC_NET' value='ipsec_net' $checked{'grp2'}{'ipsec_net'}>$Lang::tr{'fwhost ipsec net'}</label></td><td style='text-align:right;'><select name='IPSEC_NET' style='width:16em;'>" if $show eq ''; + $show=1; + #Check if we have more than one REMOTE subnet in config + my @arr1 = split /|/, $ipsecconf{$key}[11]; + my $cnt1 += @arr1; + + print"<option value=$ipsecconf{$key}[1]>"; + print"$ipsecconf{$key}[1]"; + print" ($Lang::tr{'fwdfw all subnets'})" if $cnt1 > 1; #If this Conenction has more than one subnet, print one option for all subnets + print"</option>"; + + if ($cnt1 > 1){ + foreach my $val (@arr1){ + #normalize subnet to cidr notation + my ($val1,$val2) = split ///, $val; + my $val3 = &General::iporsubtocidr($val2); + print "<option "; + print "value='$ipsecconf{$key}[1]|$val1/$val3'"; + print ">$ipsecconf{$key}[1] ($val1/$val3)</option>"; + } + } } } print"</select></td></tr>"; @@ -2116,14 +2122,15 @@ sub viewtablegrp print "<td width='39%' align='left' $col>"; if($customgrp{$key}[3] eq 'Standard Network'){ print &get_name($customgrp{$key}[2])."</td>"; + }elsif($customgrp{$key}[3] eq "IpSec Network" && $customgrp{$key}[2] =~ /|/){ + my ($a,$b) = split /|/, $customgrp{$key}[2]; + print "$a</td>"; }else{ print "$customgrp{$key}[2]</td>"; } if ($ip eq '' && $customgrp{$key}[2] ne $Lang::tr{'fwhost err emptytable'}){ print "<td align='center' $col>$Lang::tr{'fwhost deleted'}</td><td align='center' $col>$Lang::tr{'fwhost '.$customgrp{$key}[3]}</td><td width='1%' $col><form method='post'>"; }else{ - my ($colip,$colsub) = split("/",$ip); - $ip="$colip/".&General::iporsubtocidr($colsub) if ($colsub); print"<td align='center' $col>".&getcolor($ip)."</td><td align='center' $col>$Lang::tr{'fwhost '.$customgrp{$key}[3]}</td><td width='1%' $col><form method='post'>"; } if ($delflag > 0 && $ip ne ''){ @@ -2896,7 +2903,23 @@ sub getipforgroup if ($type eq 'IpSec Network'){ foreach my $key (keys %ipsecconf) { if ($ipsecconf{$key}[1] eq $name){ - return $ipsecconf{$key}[11]; + if ($ipsecconf{$key}[11] =~ /|/) { + my $string; + my @parts = split /|/ , $ipsecconf{$key}[11]; + foreach my $key1 (@parts){ + my ($val1,$val2) = split (///, $key1); + my $val3 = &Network::convert_netmask2prefix($val2) || $val2; + $string .= "$val1/$val3<br>"; + } + return $string; + }else{ + return $ipsecconf{$key}[11]; + } + }else{ + if ($name =~ /|/) { + my ($a,$b) = split /|/, $name; + return $b; + } } } &deletefromgrp($name,$configgrp); @@ -2917,7 +2940,7 @@ sub getipforgroup foreach my $key (keys %ccdhost) { if($ccdhost{$key}[1] eq $name){ my ($a,$b) = split ("/",$ccdhost{$key}[11]); - $b=&General::iporsubtodec($b); + $b=&Network::convert_netmask2prefix($b) || ($b); return "$a/$b"; } } @@ -2929,7 +2952,7 @@ sub getipforgroup foreach my $key (keys %ccdhost) { if($ccdhost{$key}[1] eq $name){ my ($a,$b) = split (///,$ccdhost{$key}[33]); - $b=&General::iporsubtodec($b); + $b=&Network::convert_netmask2prefix($b) || ($b) ; return "$a/$b"; } } @@ -2941,7 +2964,7 @@ sub getipforgroup foreach my $key (keys %ccdnet) { if ($ccdnet{$key}[0] eq $name){ my ($a,$b) = split (///,$ccdnet{$key}[1]); - $b=&General::iporsubtodec($b); + $b=&Network::convert_netmask2prefix($b) || ($b); return "$a/$b"; } } @@ -2961,7 +2984,7 @@ sub getipforgroup if ($type eq 'Custom Network'){ foreach my $key (keys %customnetwork) { if($customnetwork{$key}[0] eq $name){ - return $customnetwork{$key}[1]."/".$customnetwork{$key}[2]; + return $customnetwork{$key}[1]."/".&Network::convert_netmask2prefix($customnetwork{$key}[2]) || $customnetwork{$key}[2]; } } } @@ -2976,20 +2999,20 @@ sub getipforgroup if ($name eq 'GREEN'){ my %hash=(); &General::readhash("${General::swroot}/ethernet/settings",%hash); - return $hash{'GREEN_NETADDRESS'}."/".$hash{'GREEN_NETMASK'}; + return $hash{'GREEN_NETADDRESS'}."/".&Network::convert_netmask2prefix($hash{'GREEN_NETMASK'}) || $hash{'GREEN_NETMASK'}; } if ($name eq 'BLUE'){ my %hash=(); &General::readhash("${General::swroot}/ethernet/settings",%hash); - return $hash{'BLUE_NETADDRESS'}."/".$hash{'BLUE_NETMASK'}; + return $hash{'BLUE_NETADDRESS'}."/".&Network::convert_netmask2prefix($hash{'BLUE_NETMASK'}) || $hash{'BLUE_NETMASK'}; } if ($name eq 'ORANGE'){ my %hash=(); &General::readhash("${General::swroot}/ethernet/settings",%hash); - return $hash{'ORANGE_NETADDRESS'}."/".$hash{'ORANGE_NETMASK'}; + return $hash{'ORANGE_NETADDRESS'}."/".&Network::convert_netmask2prefix($hash{'ORANGE_NETMASK'}) || $hash{'ORANGE_NETMASK'}; } if ($name eq 'ALL'){ - return "0.0.0.0/0.0.0.0"; + return "0.0.0.0/0"; } if ($name =~ /IPsec/i){ my %hash=(); diff --git a/html/cgi-bin/ovpnmain.cgi b/html/cgi-bin/ovpnmain.cgi index 94e723ba2..eac962e6c 100644 --- a/html/cgi-bin/ovpnmain.cgi +++ b/html/cgi-bin/ovpnmain.cgi @@ -35,6 +35,7 @@ require '/var/ipfire/general-functions.pl'; require "${General::swroot}/lang.pl"; require "${General::swroot}/header.pl"; require "${General::swroot}/countries.pl"; +require "${General::swroot}/geoip-functions.pl";
# enable only the following on debugging purpose #use warnings; @@ -2991,6 +2992,7 @@ END <tr> <th><b>$Lang::tr{'common name'}</b></th> <th><b>$Lang::tr{'real address'}</b></th> + <th><b>$Lang::tr{'country'}</b></th> <th><b>$Lang::tr{'virtual address'}</b></th> <th><b>$Lang::tr{'loged in at'}</b></th> <th><b>$Lang::tr{'bytes sent'}</b></th> @@ -3030,6 +3032,11 @@ END $users[$uid]{'BytesSent'} = &sizeformat($match[4]); $users[$uid]{'Since'} = $match[5]; $users[$uid]{'Proto'} = $proto; + + # get country code for "RealAddress"... + my $ccode = &GeoIP::lookup((split ':', $users[$uid]{'RealAddress'})[0]); + my $flag_icon = &GeoIP::get_flag_icon($ccode); + $users[$uid]{'Country'} = "<a href='country.cgi#$ccode'><img src='$flag_icon' border='0' align='absmiddle' alt='$ccode' title='$ccode' /></a>"; $uid++; } } @@ -3056,7 +3063,8 @@ END } print "<td align='left' $col>$users[$idx-1]{'CommonName'}</td>"; print "<td align='left' $col>$users[$idx-1]{'RealAddress'}</td>"; - print "<td align='left' $col>$users[$idx-1]{'VirtualAddress'}</td>"; + print "<td align='center' $col>$users[$idx-1]{'Country'}</td>"; + print "<td align='center' $col>$users[$idx-1]{'VirtualAddress'}</td>"; print "<td align='left' $col>$users[$idx-1]{'Since'}</td>"; print "<td align='left' $col>$users[$idx-1]{'BytesSent'}</td>"; print "<td align='left' $col>$users[$idx-1]{'BytesReceived'}</td>"; diff --git a/html/cgi-bin/remote.cgi b/html/cgi-bin/remote.cgi index 5acce4e99..1b3dfed70 100644 --- a/html/cgi-bin/remote.cgi +++ b/html/cgi-bin/remote.cgi @@ -174,14 +174,20 @@ END
print "</form>\n";
-&Header::openbox('100%', 'left', $Lang::tr{'ssh host keys'}); +&Header::openbox('100%', 'center', $Lang::tr{'ssh host keys'});
-print "<table>\n"; +print "<table class='tbl'>\n";
print <<END -<tr><td class='boldbase'><b>$Lang::tr{'ssh key'}</b></td> - <td class='boldbase'><b>$Lang::tr{'ssh fingerprint'}</b></td> - <td class='boldbase'><b>$Lang::tr{'ssh key size'}</b></td></tr> +<thead> + <tr> + <th align="center"><strong>$Lang::tr{'ssh key'}</strong></th> + <th align="center"><strong>$Lang::tr{'type'}</strong></th> + <th align="center"><strong>$Lang::tr{'ssh fingerprint'}</strong></th> + <th align="center"><strong>$Lang::tr{'ssh key size'}</strong></th> + </tr> +</thead> +<tbody> END ;
@@ -191,11 +197,11 @@ END &viewkey("/etc/ssh/ssh_host_ecdsa_key.pub","ECDSA"); &viewkey("/etc/ssh/ssh_host_ed25519_key.pub","ED25519");
-print "</table>\n"; +print "</tbody>\n</table>\n";
&Header::closebox();
-&Header::openbox('100%', 'center', $Lang::tr{'ssh active sesstions'}); +&Header::openbox('100%', 'center', $Lang::tr{'ssh active sessions'});
print <<END; <table class="tbl" width='66%'> @@ -242,7 +248,7 @@ sub viewkey my @temp = split(/ /,`/usr/bin/ssh-keygen -l -f $key`); my $keysize = &Header::cleanhtml($temp[0],"y"); my $fingerprint = &Header::cleanhtml($temp[1],"y"); - print "<tr><td>$key ($name)</td><td><code>$fingerprint</code></td><td align='center'>$keysize</td></tr>\n"; + print "<tr><td><code>$key</code></td><td align='center'>$name</td><td><code>$fingerprint</code></td><td align='center'>$keysize</td></tr>\n"; } }
@@ -287,7 +293,7 @@ sub printactivelogins() <tr bgcolor='$table_colour'> <td>$username</td> <td>$logintime</td> - <td>$remoteip</td> + <td align='center'><a href='ipinfo.cgi?ip=$remoteip'>$remoteip</a></td> <td align='center'><a href='country.cgi#$ccode'><img src='$flag_icon' border='0' alt='$ccode' title='$ccode' /></a></td> <td>$rdns</td> </tr> diff --git a/langs/de/cgi-bin/de.pl b/langs/de/cgi-bin/de.pl index 68dce535f..edff684ea 100644 --- a/langs/de/cgi-bin/de.pl +++ b/langs/de/cgi-bin/de.pl @@ -1065,6 +1065,7 @@ 'fwdfw additional' => 'Weitere Einstellungen', 'fwdfw addrule' => 'Regel hinzufügen/ändern:', 'fwdfw all icmp' => 'Alle ICMP-Typen', +'fwdfw all subnets' => 'Alle Subnetze', 'fwdfw change' => 'Aktualisieren', 'fwdfw copy' => 'Kopieren', 'fwdfw delete' => 'Löschen', @@ -2148,7 +2149,7 @@ 'ssh' => 'SSH', 'ssh access' => 'SSH-Zugriff', 'ssh access tip' => 'IPFire SSH läuft auf dem nicht-standard Port 222!', -'ssh active sesstions' => 'Aktive Benutzeranmeldungen', +'ssh active sessions' => 'Aktive Benutzeranmeldungen', 'ssh fingerprint' => 'Fingerabdruck', 'ssh host keys' => 'SSH Host Schlüssel', 'ssh is disabled' => 'Secure Shell ist deaktiviert. Halte an.', diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl index 595e00a55..0c77ce4b2 100644 --- a/langs/en/cgi-bin/en.pl +++ b/langs/en/cgi-bin/en.pl @@ -1092,6 +1092,7 @@ 'fwdfw additional' => 'Additional settings', 'fwdfw addrule' => 'Add/Edit rule:', 'fwdfw all icmp' => 'All ICMP types', +'fwdfw all subnets' => 'All subnets', 'fwdfw change' => 'Update', 'fwdfw copy' => 'Copy', 'fwdfw delete' => 'Delete', @@ -2186,7 +2187,7 @@ 'ssh' => 'SSH', 'ssh access' => 'SSH Access', 'ssh access tip' => 'IPFire SSH is not using default port 222!', -'ssh active sesstions' => 'Active logins', +'ssh active sessions' => 'Active logins', 'ssh fingerprint' => 'Fingerprint', 'ssh host keys' => 'SSH Host Keys', 'ssh is disabled' => 'SSH is disabled. Stopping.',
hooks/post-receive -- IPFire 2.x development tree