if (&General::RedIsWireless()) {
$menu->{'01.system'}{'subMenu'}->{'21.wlan'}{'enabled'} = 1;
}
+
+ if ($ethsettings{'RED_TYPE'} eq "PPPOE") {
+ $menu->{'02.status'}{'subMenu'}->{'74.modem-status'}{'enabled'} = 1;
+ }
}
sub showhttpheaders
--- /dev/null
+#!/usr/bin/perl
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2014 IPFire Team <info@ipfire.org> #
+# #
+# This program is free software: you can redistribute it and/or modify #
+# it under the terms of the GNU General Public License as published by #
+# the Free Software Foundation, either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# This program is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
+
+use Device::Modem;
+
+package Modem;
+
+sub new() {
+ my $class = shift;
+
+ my $port = shift;
+ my $baud = shift;
+
+ my $self = {};
+ bless $self, $class;
+
+ # Initialize the connetion to the modem.
+ $self->_initialize($port, $baud);
+
+ if ($self->_is_working()) {
+ return $self;
+ }
+
+ return undef;
+}
+
+sub DESTROY() {
+ my $self = shift;
+
+ # Close connection to modem.
+ if ($self->{modem}) {
+ $self->{modem}->close();
+ }
+}
+
+sub _initialize() {
+ my ($self, $port, $baud) = @_;
+
+ # Establish connection to the modem.
+ $self->{modem} = new Device::Modem(port => $port);
+ $self->{modem}->connect(baudrate => $baud);
+}
+
+sub _is_working() {
+ my $self = shift;
+
+ # Check if the modem responds to AT commands.
+ $self->{modem}->atsend("AT\r\n");
+
+ my $response = $self->{modem}->answer();
+ return ($response eq "OK");
+}
+
+sub _command() {
+ my $self = shift;
+ my $cmd = shift;
+
+ # Terminate the AT command with newline.
+ $cmd .= "\r\n";
+
+ $self->{modem}->atsend($cmd);
+
+ my $response = $self->{modem}->answer();
+ my @response = split(/\n/, $response);
+
+ # Trim leading and trailing spaces.
+ foreach my $line (@response) {
+ $line =~ s/^\s+|\s+$//g;
+ chomp($line);
+ }
+
+ my $last_element = pop(@response);
+ unless ($last_element eq "OK") {
+ push(@response, $last_element);
+ }
+
+ $response = join("\n", @response);
+
+ return $self->_trim($response);
+}
+
+sub _trim() {
+ my $self = shift;
+ my $input = shift;
+
+ my $first_char = substr($input, 0, 1);
+ if ($first_char eq "+") {
+ my @output = split(/:/, $input);
+ if ($#output == 1) {
+ return $output[1];
+ }
+ }
+
+ return $input;
+}
+
+sub get_vendor() {
+ my $self = shift;
+
+ return $self->_command("AT+GMI");
+}
+
+sub get_model() {
+ my $self = shift;
+
+ return $self->_command("AT+GMM");
+}
+
+sub get_software_version() {
+ my $self = shift;
+
+ return $self->_command("AT+GMR");
+}
+
+sub get_imei() {
+ my $self = shift;
+
+ return $self->_command("AT+GSN");
+}
+
+sub get_capabilities() {
+ my $self = shift;
+
+ my $output = $self->_command("AT+GCAP");
+ return split(/,/, $output);
+}
+
+sub is_sim_unlocked() {
+ my $self = shift;
+
+ # TODO
+ return 1;
+}
+
+sub get_sim_imsi() {
+ my $self = shift;
+
+ if ($self->is_sim_unlocked()) {
+ return $self->_command("AT+CIMI");
+ }
+}
+
+sub get_network_registration() {
+ my $self = shift;
+
+ my @elements;
+ foreach my $i ([0, 1]) {
+ my $output = $self->_command("AT+CREG?");
+
+ @elements = split(/,/, $output);
+ if ($#elements != 2) {
+ # Output in wrong format. Resetting.
+ $self->_command("AT+CREG=0");
+ }
+ }
+
+ if ($elements[0] == 0) {
+ if ($elements[1] == 0) {
+ return "NOT REGISTERED, NOT SEARCHING";
+ } elsif ($elements[1] == 1) {
+ return "REGISTERED TO HOME NETWORK";
+ } elsif ($elements[1] == 2) {
+ return "NOT REGISTERED, SEARCHING";
+ } elsif ($elements[1] == 3) {
+ return "REGISTRATION DENIED";
+ } elsif ($elements[1] == 5) {
+ return "REGISTERED, ROAMING";
+ } else {
+ return "UNKNOWN";
+ }
+ }
+}
+
+sub _get_network_operator() {
+ my $self = shift;
+
+ my $output = $self->_command("AT+COPS?");
+ $output =~ s/\"//g;
+
+ my @elements = split(/,/, $output);
+ if ($#elements == 3) {
+ return @elements;
+ }
+}
+
+sub get_network_operator() {
+ my $self = shift;
+
+ my ($mode, $format, $operator, $act) = $self->_get_network_operator();
+
+ return $operator;
+}
+
+sub get_network_mode() {
+ my $self = shift;
+
+ my ($mode, $format, $operator, $act) = $self->_get_network_operator();
+
+ if ($act == 0) {
+ return "GSM";
+ } elsif ($act == 1) {
+ return "Compact GSM";
+ } elsif ($act == 2) {
+ return "UMTS";
+ } elsif ($act == 3) {
+ return "GSM WITH EGPRS";
+ } elsif ($act == 4) {
+ return "UMTS WITH HSDPA";
+ } elsif ($act == 5) {
+ return "UMTS WITH HSUPA";
+ } elsif ($act == 6) {
+ return "UMTS WITH HSDPA+HSUPA";
+ } elsif ($act == 7) {
+ return "LTE";
+ } else {
+ return "UNKNOWN ($act)";
+ }
+}
+
+sub _get_signal_quality() {
+ my $self = shift;
+
+ my $output = $self->_command("AT+CSQ");
+
+ my @elements = split(/,/, $output);
+ if ($#elements == 1) {
+ return @elements;
+ }
+}
+
+sub get_signal_quality() {
+ my $self = shift;
+
+ my ($rssi, $ber) = $self->_get_signal_quality();
+
+ # 99 equals unknown.
+ unless ($rssi == 99) {
+ my $dbm = ($rssi * 2) - 113;
+ return $dbm;
+ }
+
+ return undef;
+}
+
+sub get_bit_error_rate() {
+ my $self = shift;
+
+ my ($rssi, $ber) = $self->_get_signal_quality();
+
+ # 99 indicates unknown.
+ unless ($ber == 99) {
+ return $ber;
+ }
+
+ return undef;
+}
+
+1;
return 0;
}
+ # Convert net mask into correct format for &General::IpInSubnet().
+ $net_mask = &General::iporsubtodec($net_mask);
+
my @addresses = &get_internal_firewall_ip_addresses($use_orange);
foreach my $zone_address (@addresses) {
if (&General::IpInSubnet($zone_address, $net_address, $net_mask)) {
my @VALID_TARGETS = ("ACCEPT", "DROP", "REJECT");
my %fwdfwsettings=();
+my %fwoptions = ();
my %defaultNetworks=();
my %configfwdfw=();;
my %customgrp=();
my $netsettings = "${General::swroot}/ethernet/settings";
&General::readhash("${General::swroot}/firewall/settings", \%fwdfwsettings);
+&General::readhash("${General::swroot}/optionsfw/settings", \%fwoptions);
&General::readhash("$netsettings", \%defaultNetworks);
&General::readhasharray($configfwdfw, \%configfwdfw);
&General::readhasharray($configinput, \%configinputfw);
my @log_limit_options = &make_log_limit_options();
+my $POLICY_INPUT_ALLOWED = 0;
+my $POLICY_FORWARD_ALLOWED = ($fwdfwsettings{"POLICY"} eq "MODE2");
+my $POLICY_OUTPUT_ALLOWED = ($fwdfwsettings{"POLICY1"} eq "MODE2");
+
+my $POLICY_INPUT_ACTION = $fwoptions{"FWPOLICY2"};
+my $POLICY_FORWARD_ACTION = $fwoptions{"FWPOLICY"};
+my $POLICY_OUTPUT_ACTION = $fwoptions{"FWPOLICY1"};
+
# MAIN
&main();
}
sub preparerules {
- if (! -z "${General::swroot}/firewall/config"){
- &buildrules(\%configfwdfw);
- }
if (! -z "${General::swroot}/firewall/input"){
&buildrules(\%configinputfw);
}
if (! -z "${General::swroot}/firewall/outgoing"){
&buildrules(\%configoutgoingfw);
}
+ if (! -z "${General::swroot}/firewall/config"){
+ &buildrules(\%configfwdfw);
+ }
}
sub buildrules {
my $hash = shift;
+ # Search for targets that need to be specially handled when adding
+ # forwarding rules. Additional rules will automatically get inserted
+ # into the INPUT/OUTPUT chains for these targets.
+ my @special_input_targets = ();
+ if (!$POLICY_FORWARD_ALLOWED) {
+ push(@special_input_targets, "ACCEPT");
+ }
+
+ if ($POLICY_INPUT_ACTION eq "DROP") {
+ push(@special_input_targets, "REJECT");
+ } elsif ($POLICY_INPUT_ACTION eq "REJECT") {
+ push(@special_input_targets, "DROP");
+ }
+
+ my @special_output_targets = ();
+ if ($POLICY_OUTPUT_ALLOWED) {
+ push(@special_output_targets, ("DROP", "REJECT"));
+ } else {
+ push(@special_output_targets, "ACCEPT");
+
+ if ($POLICY_OUTPUT_ACTION eq "DROP") {
+ push(@special_output_targets, "REJECT");
+ } elsif ($POLICY_OUTPUT_ACTION eq "REJECT") {
+ push(@special_output_targets, "DROP");
+ }
+ }
+
foreach my $key (sort {$a <=> $b} keys %$hash) {
# Skip disabled rules.
next unless ($$hash{$key}[2] eq 'ON');
# Add time constraint options.
push(@options, @time_options);
- my $firewall_is_in_source_subnet = 0;
+ my $firewall_is_in_source_subnet = 1;
if ($source) {
$firewall_is_in_source_subnet = &firewall_is_in_subnet($source);
}
+ my $firewall_is_in_destination_subnet = 1;
+ if ($destination) {
+ $firewall_is_in_destination_subnet = &firewall_is_in_subnet($destination);
+ }
+
# Process NAT rules.
if ($NAT) {
my $nat_address = &fwlib::get_nat_address($$hash{$key}[29], $source);
}
push(@options, @source_options);
-
- if ($firewall_is_in_source_subnet && ($fwdfwsettings{"POLICY"} eq "MODE1") && ($chain eq $CHAIN_FORWARD)) {
- if ($LOG && !$NAT) {
- run("$IPTABLES -A $CHAIN_INPUT @options @log_limit_options -j LOG --log-prefix '$CHAIN_INPUT '");
- }
- run("$IPTABLES -A $CHAIN_INPUT @options -j $target");
- }
-
push(@options, @destination_options);
# Insert firewall rule.
run("$IPTABLES -A $chain @options @log_limit_options -j LOG --log-prefix '$chain '");
}
run("$IPTABLES -A $chain @options -j $target");
+
+ # Handle forwarding rules and add corresponding rules for firewall access.
+ if ($chain eq $CHAIN_FORWARD) {
+ # If the firewall is part of the destination subnet and access to the destination network
+ # is granted/forbidden for any network that the firewall itself is part of, we grant/forbid access
+ # for the firewall, too.
+ if ($firewall_is_in_destination_subnet && ($target ~~ @special_input_targets)) {
+ if ($LOG && !$NAT) {
+ run("$IPTABLES -A $CHAIN_INPUT @options @log_limit_options -j LOG --log-prefix '$CHAIN_INPUT '");
+ }
+ run("$IPTABLES -A $CHAIN_INPUT @options -j $target");
+ }
+
+ # Likewise.
+ if ($firewall_is_in_source_subnet && ($target ~~ @special_output_targets)) {
+ if ($LOG && !$NAT) {
+ run("$IPTABLES -A $CHAIN_OUTPUT @options @log_limit_options -j LOG --log-prefix '$CHAIN_OUTPUT '");
+ }
+ run("$IPTABLES -A $CHAIN_OUTPUT @options -j $target");
+ }
+ }
}
}
}
}
sub p2pblock {
- my $P2PSTRING = "";
- my $DO;
- open( FILE, "< $p2pfile" ) or die "Unable to read $p2pfile";
- @p2ps = <FILE>;
- close FILE;
- my $CMD = "-m ipp2p";
- foreach my $p2pentry (sort @p2ps) {
- my @p2pline = split( /\;/, $p2pentry );
- if ( $fwdfwsettings{'POLICY'} eq 'MODE1' ) {
- $DO = "ACCEPT";
- if ("$p2pline[2]" eq "on") {
- $P2PSTRING = "$P2PSTRING --$p2pline[1]";
- }
- }else {
- $DO = "RETURN";
- if ("$p2pline[2]" eq "off") {
- $P2PSTRING = "$P2PSTRING --$p2pline[1]";
- }
- }
+ my $search_action;
+ my $target;
+
+ if ($fwdfwsettings{"POLICY"} eq "MODE1") {
+ $search_action = "on";
+ $target = "ACCEPT";
+ } else {
+ $search_action = "off";
+ $target = "DROP";
}
- if($P2PSTRING) {
- run("$IPTABLES -A FORWARDFW $CMD $P2PSTRING -j $DO");
+ open(FILE, "<$p2pfile") or die "Unable to read $p2pfile";
+ my @protocols = ();
+ foreach my $p2pentry (<FILE>) {
+ my @p2pline = split(/\;/, $p2pentry);
+ next unless ($p2pline[2] eq $search_action);
+
+ push(@protocols, "--$p2pline[1]");
+ }
+ close(FILE);
+
+ if (@protocols) {
+ run("$IPTABLES -A FORWARDFW -m ipp2p @protocols -j $target");
}
}
return 0;
}
-
'title' => "$Lang::tr{'qos graphs'}",
'enabled' => 1,
};
+ $substatus->{'74.modem-status'} = {'caption' => $Lang::tr{'modem status'},
+ 'uri' => '/cgi-bin/modem-status.cgi',
+ 'title' => $Lang::tr{'modem status'},
+ 'enabled' => 0,
+ };
$substatus->{'75.atm-status'} = {'caption' => 'Atm-status',
'uri' => '/cgi-bin/atm-status.cgi',
'title' => 'Atm-status',
- $subfirewall->{'10.forward'} = {
- 'caption' => $Lang::tr{'fwdfw menu'},
+ $subfirewall->{'10.firewall'} = {
+ 'caption' => $Lang::tr{'firewall rules'},
'uri' => '/cgi-bin/firewall.cgi',
- 'title' => "$Lang::tr{'fwdfw menu'}",
+ 'title' => "$Lang::tr{'firewall rules'}",
'enabled' => 1,
};
$subfirewall->{'20.fwhost'} = {
srv/web/ipfire/cgi-bin/media.cgi
srv/web/ipfire/cgi-bin/memory.cgi
srv/web/ipfire/cgi-bin/modem.cgi
+srv/web/ipfire/cgi-bin/modem-status.cgi
srv/web/ipfire/cgi-bin/netexternal.cgi
srv/web/ipfire/cgi-bin/netinternal.cgi
srv/web/ipfire/cgi-bin/netother.cgi
var/ipfire/modem
#var/ipfire/modem/defaults
#var/ipfire/modem/settings
+var/ipfire/modem-lib.pl
var/ipfire/net-traffic
#var/ipfire/net-traffic/net-traffic-admin.pl
#var/ipfire/net-traffic/net-traffic-lib.pl
--- /dev/null
+#usr/lib/perl5/site_perl/5.12.3/Device
+#usr/lib/perl5/site_perl/5.12.3/Device/Modem
+usr/lib/perl5/site_perl/5.12.3/Device/Modem.pm
+#usr/lib/perl5/site_perl/5.12.3/Device/Modem/FAQ.pod
+#usr/lib/perl5/site_perl/5.12.3/Device/Modem/Log
+usr/lib/perl5/site_perl/5.12.3/Device/Modem/Log/File.pm
+usr/lib/perl5/site_perl/5.12.3/Device/Modem/Log/Syslog.pm
+#usr/lib/perl5/site_perl/5.12.3/Device/Modem/Protocol
+usr/lib/perl5/site_perl/5.12.3/Device/Modem/Protocol/Xmodem.pm
+usr/lib/perl5/site_perl/5.12.3/Device/Modem/UsRobotics.pm
+#usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/Device/Modem
+#usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/Device/Modem/.packlist
+#usr/share/man/man3/Device::Modem.3
+#usr/share/man/man3/Device::Modem::FAQ.3
+#usr/share/man/man3/Device::Modem::Log::File.3
+#usr/share/man/man3/Device::Modem::Log::Syslog.3
+#usr/share/man/man3/Device::Modem::Protocol::Xmodem.3
+#usr/share/man/man3/Device::Modem::UsRobotics.3
--- /dev/null
+#usr/bin/modemtest
+usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/Device
+usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/Device/SerialPort.pm
+#usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/Device
+#usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/Device/SerialPort
+#usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/Device/SerialPort/.packlist
+#usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/Device/SerialPort/SerialPort.bs
+usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/Device/SerialPort/SerialPort.so
+#usr/share/man/man1/modemtest.1
+#usr/share/man/man3/Device::SerialPort.3
#
# Remove old core updates from pakfire cache to save space...
-core=76
+core=77
for (( i=1; i<=${core}; i++ ))
do
rm -f /var/cache/pakfire/core-upgrade-*-$i.ipfire
WARNING: translation string unused: HDD temperature
WARNING: translation string unused: Level7 rule
WARNING: translation string unused: Local VPN IP
-WARNING: translation string unused: MB written
WARNING: translation string unused: Ping
WARNING: translation string unused: Queuelenght
WARNING: translation string unused: Remote IP
WARNING: translation string unused: expected
WARNING: translation string unused: expertoptions
WARNING: translation string unused: exportkey
+WARNING: translation string unused: external access
WARNING: translation string unused: external access configuration
WARNING: translation string unused: external access rule added
WARNING: translation string unused: external access rule changed
WARNING: translation string unused: fwdfw from
WARNING: translation string unused: fwdfw ipsec network
WARNING: translation string unused: fwdfw man port
+WARNING: translation string unused: fwdfw menu
WARNING: translation string unused: fwdfw natport used
WARNING: translation string unused: fwdfw p2p txt
WARNING: translation string unused: fwdfw rule action
WARNING: translation string unused: original
WARNING: translation string unused: our donors
WARNING: translation string unused: out
+WARNING: translation string unused: outgoing firewall
WARNING: translation string unused: outgoing firewall add ip group
WARNING: translation string unused: outgoing firewall add mac group
WARNING: translation string unused: outgoing firewall edit ip group
WARNING: untranslated string: emerging rules
WARNING: untranslated string: firewall logs country
WARNING: untranslated string: fwhost err hostip
+WARNING: untranslated string: monitor interface
WARNING: untranslated string: qos add subclass
WARNING: untranslated string: route config changed
WARNING: untranslated string: routing config added
WARNING: translation string unused: HDD temperature
WARNING: translation string unused: Level7 rule
WARNING: translation string unused: Local VPN IP
-WARNING: translation string unused: MB written
WARNING: translation string unused: Ping
WARNING: translation string unused: Queuelenght
WARNING: translation string unused: Remote IP
WARNING: translation string unused: expected
WARNING: translation string unused: expertoptions
WARNING: translation string unused: exportkey
+WARNING: translation string unused: external access
WARNING: translation string unused: external access configuration
WARNING: translation string unused: external access rule added
WARNING: translation string unused: external access rule changed
WARNING: translation string unused: fwdfw from
WARNING: translation string unused: fwdfw ipsec network
WARNING: translation string unused: fwdfw man port
+WARNING: translation string unused: fwdfw menu
WARNING: translation string unused: fwdfw natport used
WARNING: translation string unused: fwdfw p2p txt
WARNING: translation string unused: fwdfw rule action
WARNING: translation string unused: original
WARNING: translation string unused: our donors
WARNING: translation string unused: out
+WARNING: translation string unused: outgoing firewall
WARNING: translation string unused: outgoing firewall add ip group
WARNING: translation string unused: outgoing firewall add mac group
WARNING: translation string unused: outgoing firewall edit ip group
WARNING: untranslated string: Scan for Songs
WARNING: untranslated string: bytes
WARNING: untranslated string: fwhost err hostip
+WARNING: untranslated string: monitor interface
WARNING: untranslated string: route config changed
WARNING: untranslated string: routing config added
WARNING: untranslated string: routing config changed
WARNING: translation string unused: expected
WARNING: translation string unused: expertoptions
WARNING: translation string unused: exportkey
+WARNING: translation string unused: external access
WARNING: translation string unused: external access configuration
WARNING: translation string unused: external access rule added
WARNING: translation string unused: external access rule changed
WARNING: translation string unused: or
WARNING: translation string unused: original
WARNING: translation string unused: out
+WARNING: translation string unused: outgoing firewall
WARNING: translation string unused: outgoing firewall mode0
WARNING: translation string unused: outgoing firewall mode1
WARNING: translation string unused: outgoing firewall mode2
WARNING: untranslated string: ConnSched reboot
WARNING: untranslated string: ConnSched shutdown
WARNING: untranslated string: MB read
+WARNING: untranslated string: MB written
WARNING: untranslated string: Number of Countries for the pie chart
WARNING: untranslated string: Scan for Songs
WARNING: untranslated string: Set time on boot
WARNING: untranslated string: attention
WARNING: untranslated string: bit
WARNING: untranslated string: bytes
+WARNING: untranslated string: capabilities
WARNING: untranslated string: ccd add
WARNING: untranslated string: ccd choose net
WARNING: untranslated string: ccd client options
WARNING: untranslated string: fwdfw log
WARNING: untranslated string: fwdfw log rule
WARNING: untranslated string: fwdfw many
-WARNING: untranslated string: fwdfw menu
WARNING: untranslated string: fwdfw movedown
WARNING: untranslated string: fwdfw moveup
WARNING: untranslated string: fwdfw newrule
WARNING: untranslated string: generate dh key
WARNING: untranslated string: grouptype
WARNING: untranslated string: hardware support
+WARNING: untranslated string: imei
+WARNING: untranslated string: imsi
+WARNING: untranslated string: incoming firewall access
WARNING: untranslated string: integrity
WARNING: untranslated string: invalid input for dpd delay
WARNING: untranslated string: invalid input for dpd timeout
WARNING: untranslated string: maximum
WARNING: untranslated string: minimum
WARNING: untranslated string: minute
+WARNING: untranslated string: model
+WARNING: untranslated string: modem hardware details
+WARNING: untranslated string: modem information
+WARNING: untranslated string: modem network bit error rate
+WARNING: untranslated string: modem network information
+WARNING: untranslated string: modem network mode
+WARNING: untranslated string: modem network operator
+WARNING: untranslated string: modem network registration
+WARNING: untranslated string: modem network signal quality
+WARNING: untranslated string: modem no connection
+WARNING: untranslated string: modem no connection message
+WARNING: untranslated string: modem sim information
+WARNING: untranslated string: modem status
+WARNING: untranslated string: monitor interface
WARNING: untranslated string: most preferred
WARNING: untranslated string: no hardware random number generator
WARNING: untranslated string: not a valid dh key
WARNING: untranslated string: openvpn prefix remote subnet
WARNING: untranslated string: openvpn subnet is used
WARNING: untranslated string: other
+WARNING: untranslated string: outgoing firewall access
WARNING: untranslated string: outgoing firewall p2p allow
WARNING: untranslated string: outgoing firewall p2p deny
WARNING: untranslated string: ovpn crypt options
WARNING: untranslated string: server restart
WARNING: untranslated string: show dh
WARNING: untranslated string: snat new source ip address
+WARNING: untranslated string: software version
WARNING: untranslated string: source ip country
WARNING: untranslated string: ssh
WARNING: untranslated string: static routes
WARNING: untranslated string: upload dh key
WARNING: untranslated string: uptime load average
WARNING: untranslated string: urlfilter redirect template
+WARNING: untranslated string: vendor
WARNING: untranslated string: visit us at
WARNING: untranslated string: vpn keyexchange
WARNING: untranslated string: wlan client
WARNING: translation string unused: expected
WARNING: translation string unused: expertoptions
WARNING: translation string unused: exportkey
+WARNING: translation string unused: external access
WARNING: translation string unused: external access configuration
WARNING: translation string unused: external access rule added
WARNING: translation string unused: external access rule changed
WARNING: translation string unused: or
WARNING: translation string unused: original
WARNING: translation string unused: out
+WARNING: translation string unused: outgoing firewall
WARNING: translation string unused: outgoing firewall add ip group
WARNING: translation string unused: outgoing firewall add mac group
WARNING: translation string unused: outgoing firewall edit ip group
WARNING: untranslated string: ConnSched reboot
WARNING: untranslated string: ConnSched shutdown
WARNING: untranslated string: MB read
+WARNING: untranslated string: MB written
WARNING: untranslated string: Number of Countries for the pie chart
WARNING: untranslated string: Scan for Songs
WARNING: untranslated string: addons
WARNING: untranslated string: attention
WARNING: untranslated string: bit
WARNING: untranslated string: bytes
+WARNING: untranslated string: capabilities
WARNING: untranslated string: ccd add
WARNING: untranslated string: ccd choose net
WARNING: untranslated string: ccd client options
WARNING: untranslated string: fwdfw log
WARNING: untranslated string: fwdfw log rule
WARNING: untranslated string: fwdfw many
-WARNING: untranslated string: fwdfw menu
WARNING: untranslated string: fwdfw movedown
WARNING: untranslated string: fwdfw moveup
WARNING: untranslated string: fwdfw newrule
WARNING: untranslated string: generate dh key
WARNING: untranslated string: grouptype
WARNING: untranslated string: hardware support
+WARNING: untranslated string: imei
+WARNING: untranslated string: imsi
+WARNING: untranslated string: incoming firewall access
WARNING: untranslated string: integrity
WARNING: untranslated string: invalid input for dpd delay
WARNING: untranslated string: invalid input for dpd timeout
WARNING: untranslated string: maximum
WARNING: untranslated string: minimum
WARNING: untranslated string: minute
+WARNING: untranslated string: model
+WARNING: untranslated string: modem hardware details
+WARNING: untranslated string: modem information
+WARNING: untranslated string: modem network bit error rate
+WARNING: untranslated string: modem network information
+WARNING: untranslated string: modem network mode
+WARNING: untranslated string: modem network operator
+WARNING: untranslated string: modem network registration
+WARNING: untranslated string: modem network signal quality
+WARNING: untranslated string: modem no connection
+WARNING: untranslated string: modem no connection message
+WARNING: untranslated string: modem sim information
+WARNING: untranslated string: modem status
+WARNING: untranslated string: monitor interface
WARNING: untranslated string: most preferred
WARNING: untranslated string: no hardware random number generator
WARNING: untranslated string: not a valid dh key
WARNING: untranslated string: openvpn prefix remote subnet
WARNING: untranslated string: openvpn subnet is used
WARNING: untranslated string: other
+WARNING: untranslated string: outgoing firewall access
WARNING: untranslated string: ovpn crypt options
WARNING: untranslated string: ovpn dh
WARNING: untranslated string: ovpn dh name
WARNING: untranslated string: show dh
WARNING: untranslated string: snat new source ip address
WARNING: untranslated string: snort working
+WARNING: untranslated string: software version
WARNING: untranslated string: source ip country
WARNING: untranslated string: ssh
WARNING: untranslated string: static routes
WARNING: untranslated string: urlfilter file ext block
WARNING: untranslated string: urlfilter mode block
WARNING: untranslated string: urlfilter redirect template
+WARNING: untranslated string: vendor
WARNING: untranslated string: visit us at
WARNING: untranslated string: vpn keyexchange
WARNING: untranslated string: wlan client
WARNING: translation string unused: expected
WARNING: translation string unused: expertoptions
WARNING: translation string unused: exportkey
+WARNING: translation string unused: external access
WARNING: translation string unused: external access configuration
WARNING: translation string unused: external access rule added
WARNING: translation string unused: external access rule changed
WARNING: translation string unused: original
WARNING: translation string unused: our donors
WARNING: translation string unused: out
+WARNING: translation string unused: outgoing firewall
WARNING: translation string unused: outgoing firewall add ip group
WARNING: translation string unused: outgoing firewall add mac group
WARNING: translation string unused: outgoing firewall edit ip group
WARNING: untranslated string: ConnSched reboot
WARNING: untranslated string: ConnSched shutdown
WARNING: untranslated string: MB read
+WARNING: untranslated string: MB written
WARNING: untranslated string: Number of Countries for the pie chart
WARNING: untranslated string: Scan for Songs
WARNING: untranslated string: addons
WARNING: untranslated string: advproxy proxy port transparent
WARNING: untranslated string: bit
WARNING: untranslated string: bytes
+WARNING: untranslated string: capabilities
WARNING: untranslated string: ccd err isipsecrw
WARNING: untranslated string: ccd err isovpnn2n
WARNING: untranslated string: ccd iroute2
WARNING: untranslated string: fwdfw log
WARNING: untranslated string: fwdfw log rule
WARNING: untranslated string: fwdfw many
-WARNING: untranslated string: fwdfw menu
WARNING: untranslated string: fwdfw movedown
WARNING: untranslated string: fwdfw moveup
WARNING: untranslated string: fwdfw newrule
WARNING: untranslated string: generate dh key
WARNING: untranslated string: grouptype
WARNING: untranslated string: hardware support
+WARNING: untranslated string: imei
+WARNING: untranslated string: imsi
+WARNING: untranslated string: incoming firewall access
WARNING: untranslated string: integrity
WARNING: untranslated string: invalid input for dpd delay
WARNING: untranslated string: invalid input for dpd timeout
WARNING: untranslated string: mac filter
WARNING: untranslated string: maximum
WARNING: untranslated string: minimum
+WARNING: untranslated string: model
+WARNING: untranslated string: modem hardware details
+WARNING: untranslated string: modem information
+WARNING: untranslated string: modem network bit error rate
+WARNING: untranslated string: modem network information
+WARNING: untranslated string: modem network mode
+WARNING: untranslated string: modem network operator
+WARNING: untranslated string: modem network registration
+WARNING: untranslated string: modem network signal quality
+WARNING: untranslated string: modem no connection
+WARNING: untranslated string: modem no connection message
+WARNING: untranslated string: modem sim information
+WARNING: untranslated string: modem status
+WARNING: untranslated string: monitor interface
WARNING: untranslated string: most preferred
WARNING: untranslated string: no hardware random number generator
WARNING: untranslated string: not a valid dh key
WARNING: untranslated string: notice
WARNING: untranslated string: openvpn network
+WARNING: untranslated string: outgoing firewall access
WARNING: untranslated string: ovpn crypt options
WARNING: untranslated string: ovpn dh
WARNING: untranslated string: ovpn dh name
WARNING: untranslated string: routing table
WARNING: untranslated string: show dh
WARNING: untranslated string: snat new source ip address
+WARNING: untranslated string: software version
WARNING: untranslated string: source ip country
WARNING: untranslated string: ssh
WARNING: untranslated string: support donation
WARNING: untranslated string: upload dh key
WARNING: untranslated string: uptime load average
WARNING: untranslated string: urlfilter redirect template
+WARNING: untranslated string: vendor
WARNING: untranslated string: wlan client
WARNING: untranslated string: wlan client advanced settings
WARNING: untranslated string: wlan client and
WARNING: translation string unused: expected
WARNING: translation string unused: expertoptions
WARNING: translation string unused: exportkey
+WARNING: translation string unused: external access
WARNING: translation string unused: external access configuration
WARNING: translation string unused: external access rule added
WARNING: translation string unused: external access rule changed
WARNING: translation string unused: or
WARNING: translation string unused: original
WARNING: translation string unused: out
+WARNING: translation string unused: outgoing firewall
WARNING: translation string unused: outgoing firewall mode0
WARNING: translation string unused: outgoing firewall mode1
WARNING: translation string unused: outgoing firewall mode2
WARNING: untranslated string: ConnSched reboot
WARNING: untranslated string: ConnSched shutdown
WARNING: untranslated string: MB read
+WARNING: untranslated string: MB written
WARNING: untranslated string: Number of Countries for the pie chart
WARNING: untranslated string: Scan for Songs
WARNING: untranslated string: Set time on boot
WARNING: untranslated string: attention
WARNING: untranslated string: bit
WARNING: untranslated string: bytes
+WARNING: untranslated string: capabilities
WARNING: untranslated string: ccd add
WARNING: untranslated string: ccd choose net
WARNING: untranslated string: ccd client options
WARNING: untranslated string: fwdfw log
WARNING: untranslated string: fwdfw log rule
WARNING: untranslated string: fwdfw many
-WARNING: untranslated string: fwdfw menu
WARNING: untranslated string: fwdfw movedown
WARNING: untranslated string: fwdfw moveup
WARNING: untranslated string: fwdfw newrule
WARNING: untranslated string: generate dh key
WARNING: untranslated string: grouptype
WARNING: untranslated string: hardware support
+WARNING: untranslated string: imei
+WARNING: untranslated string: imsi
+WARNING: untranslated string: incoming firewall access
WARNING: untranslated string: integrity
WARNING: untranslated string: invalid input for dpd delay
WARNING: untranslated string: invalid input for dpd timeout
WARNING: untranslated string: maximum
WARNING: untranslated string: minimum
WARNING: untranslated string: minute
+WARNING: untranslated string: model
+WARNING: untranslated string: modem hardware details
+WARNING: untranslated string: modem information
+WARNING: untranslated string: modem network bit error rate
+WARNING: untranslated string: modem network information
+WARNING: untranslated string: modem network mode
+WARNING: untranslated string: modem network operator
+WARNING: untranslated string: modem network registration
+WARNING: untranslated string: modem network signal quality
+WARNING: untranslated string: modem no connection
+WARNING: untranslated string: modem no connection message
+WARNING: untranslated string: modem sim information
+WARNING: untranslated string: modem status
+WARNING: untranslated string: monitor interface
WARNING: untranslated string: most preferred
WARNING: untranslated string: no hardware random number generator
WARNING: untranslated string: not a valid dh key
WARNING: untranslated string: openvpn prefix remote subnet
WARNING: untranslated string: openvpn subnet is used
WARNING: untranslated string: other
+WARNING: untranslated string: outgoing firewall access
WARNING: untranslated string: outgoing firewall p2p allow
WARNING: untranslated string: outgoing firewall p2p deny
WARNING: untranslated string: ovpn crypt options
WARNING: untranslated string: server restart
WARNING: untranslated string: show dh
WARNING: untranslated string: snat new source ip address
+WARNING: untranslated string: software version
WARNING: untranslated string: source ip country
WARNING: untranslated string: ssh
WARNING: untranslated string: static routes
WARNING: untranslated string: upload dh key
WARNING: untranslated string: uptime load average
WARNING: untranslated string: urlfilter redirect template
+WARNING: untranslated string: vendor
WARNING: untranslated string: visit us at
WARNING: untranslated string: vpn keyexchange
WARNING: untranslated string: wlan client
WARNING: translation string unused: expected
WARNING: translation string unused: expertoptions
WARNING: translation string unused: exportkey
+WARNING: translation string unused: external access
WARNING: translation string unused: external access configuration
WARNING: translation string unused: external access rule added
WARNING: translation string unused: external access rule changed
WARNING: translation string unused: or
WARNING: translation string unused: original
WARNING: translation string unused: out
+WARNING: translation string unused: outgoing firewall
WARNING: translation string unused: outgoing firewall add ip group
WARNING: translation string unused: outgoing firewall add mac group
WARNING: translation string unused: outgoing firewall edit ip group
WARNING: untranslated string: ConnSched shutdown
WARNING: untranslated string: Edit an existing route
WARNING: untranslated string: MB read
+WARNING: untranslated string: MB written
WARNING: untranslated string: Number of Countries for the pie chart
WARNING: untranslated string: Scan for Songs
WARNING: untranslated string: addons
WARNING: untranslated string: attention
WARNING: untranslated string: bit
WARNING: untranslated string: bytes
+WARNING: untranslated string: capabilities
WARNING: untranslated string: ccd add
WARNING: untranslated string: ccd choose net
WARNING: untranslated string: ccd client options
WARNING: untranslated string: fwdfw log
WARNING: untranslated string: fwdfw log rule
WARNING: untranslated string: fwdfw many
-WARNING: untranslated string: fwdfw menu
WARNING: untranslated string: fwdfw movedown
WARNING: untranslated string: fwdfw moveup
WARNING: untranslated string: fwdfw newrule
WARNING: untranslated string: generate dh key
WARNING: untranslated string: grouptype
WARNING: untranslated string: hardware support
+WARNING: untranslated string: imei
+WARNING: untranslated string: imsi
+WARNING: untranslated string: incoming firewall access
WARNING: untranslated string: incoming traffic in bytes per second
WARNING: untranslated string: integrity
WARNING: untranslated string: invalid input for dpd delay
WARNING: untranslated string: maximum
WARNING: untranslated string: minimum
WARNING: untranslated string: minute
+WARNING: untranslated string: model
+WARNING: untranslated string: modem hardware details
+WARNING: untranslated string: modem information
+WARNING: untranslated string: modem network bit error rate
+WARNING: untranslated string: modem network information
+WARNING: untranslated string: modem network mode
+WARNING: untranslated string: modem network operator
+WARNING: untranslated string: modem network registration
+WARNING: untranslated string: modem network signal quality
+WARNING: untranslated string: modem no connection
+WARNING: untranslated string: modem no connection message
+WARNING: untranslated string: modem sim information
+WARNING: untranslated string: modem status
+WARNING: untranslated string: monitor interface
WARNING: untranslated string: most preferred
WARNING: untranslated string: no hardware random number generator
WARNING: untranslated string: not a valid dh key
WARNING: untranslated string: openvpn prefix remote subnet
WARNING: untranslated string: openvpn subnet is used
WARNING: untranslated string: other
+WARNING: untranslated string: outgoing firewall access
WARNING: untranslated string: outgoing traffic in bytes per second
WARNING: untranslated string: ovpn crypt options
WARNING: untranslated string: ovpn dh
WARNING: untranslated string: server restart
WARNING: untranslated string: show dh
WARNING: untranslated string: snat new source ip address
+WARNING: untranslated string: software version
WARNING: untranslated string: source ip country
WARNING: untranslated string: ssh
WARNING: untranslated string: static routes
WARNING: untranslated string: upload dh key
WARNING: untranslated string: uptime load average
WARNING: untranslated string: urlfilter redirect template
+WARNING: untranslated string: vendor
WARNING: untranslated string: visit us at
WARNING: untranslated string: vpn keyexchange
WARNING: untranslated string: wlan client
WARNING: translation string unused: HDD temperature
WARNING: translation string unused: Level7 rule
WARNING: translation string unused: Local VPN IP
-WARNING: translation string unused: MB written
WARNING: translation string unused: Ping
WARNING: translation string unused: Queuelenght
WARNING: translation string unused: Remote IP
WARNING: translation string unused: expected
WARNING: translation string unused: expertoptions
WARNING: translation string unused: exportkey
+WARNING: translation string unused: external access
WARNING: translation string unused: external access configuration
WARNING: translation string unused: external access rule added
WARNING: translation string unused: external access rule changed
WARNING: translation string unused: fwdfw from
WARNING: translation string unused: fwdfw ipsec network
WARNING: translation string unused: fwdfw man port
+WARNING: translation string unused: fwdfw menu
WARNING: translation string unused: fwdfw natport used
WARNING: translation string unused: fwdfw p2p txt
WARNING: translation string unused: fwdfw rule action
WARNING: translation string unused: original
WARNING: translation string unused: our donors
WARNING: translation string unused: out
+WARNING: translation string unused: outgoing firewall
WARNING: translation string unused: outgoing firewall add ip group
WARNING: translation string unused: outgoing firewall add mac group
WARNING: translation string unused: outgoing firewall edit ip group
WARNING: untranslated string: Number of Countries for the pie chart
WARNING: untranslated string: Scan for Songs
WARNING: untranslated string: bytes
+WARNING: untranslated string: capabilities
WARNING: untranslated string: count
WARNING: untranslated string: dh
WARNING: untranslated string: dh key warn
WARNING: untranslated string: fwhost err hostip
WARNING: untranslated string: gen dh
WARNING: untranslated string: generate dh key
+WARNING: untranslated string: imei
+WARNING: untranslated string: imsi
+WARNING: untranslated string: incoming firewall access
+WARNING: untranslated string: model
+WARNING: untranslated string: modem hardware details
+WARNING: untranslated string: modem information
+WARNING: untranslated string: modem network bit error rate
+WARNING: untranslated string: modem network information
+WARNING: untranslated string: modem network mode
+WARNING: untranslated string: modem network operator
+WARNING: untranslated string: modem network registration
+WARNING: untranslated string: modem network signal quality
+WARNING: untranslated string: modem no connection
+WARNING: untranslated string: modem no connection message
+WARNING: untranslated string: modem sim information
+WARNING: untranslated string: modem status
+WARNING: untranslated string: monitor interface
WARNING: untranslated string: not a valid dh key
+WARNING: untranslated string: outgoing firewall access
WARNING: untranslated string: ovpn crypt options
WARNING: untranslated string: ovpn dh
WARNING: untranslated string: ovpn dh name
WARNING: untranslated string: routing config changed
WARNING: untranslated string: routing table
WARNING: untranslated string: show dh
+WARNING: untranslated string: software version
WARNING: untranslated string: source ip country
WARNING: untranslated string: upload dh key
+WARNING: untranslated string: vendor
< age ssecond
< attention
< bit
+< capabilities
< ccd add
< ccd choose net
< ccd clientip
< generate dh key
< grouptype
< hardware support
+< imei
+< imsi
+< incoming firewall access
< integrity
< invalid input for dpd delay
< invalid input for dpd timeout
< MB written
< minimum
< minute
+< model
+< modem hardware details
+< modem information
+< modem network bit error rate
+< modem network information
+< modem network mode
+< modem network operator
+< modem network registration
+< modem network signal quality
+< modem no connection
+< modem no connection message
+< modem sim information
+< modem status
< most preferred
< no hardware random number generator
< not a valid dh key
< openvpn subnet is used
< other
< our donors
+< outgoing firewall access
< ovpn crypt options
< ovpn dh
< ovpn dh name
< show dh
< snat new source ip address
< snort working
+< software version
< ssh
< static routes
< support donation
< urlfilter file ext block
< urlfilter mode block
< urlfilter redirect template
+< vendor
< visit us at
< vpn keyexchange
< wlanap access point
< Async logging enabled
< attention
< bit
+< capabilities
< ccd add
< ccd choose net
< ccd clientip
< generate dh key
< grouptype
< hardware support
+< imei
+< imsi
+< incoming firewall access
< integrity
< invalid input for dpd delay
< invalid input for dpd timeout
< MB written
< minimum
< minute
+< model
+< modem hardware details
+< modem information
+< modem network bit error rate
+< modem network information
+< modem network mode
+< modem network operator
+< modem network registration
+< modem network signal quality
+< modem no connection
+< modem no connection message
+< modem sim information
+< modem status
< most preferred
< no hardware random number generator
< not a valid dh key
< openvpn subnet is used
< other
< our donors
+< outgoing firewall access
< outgoing firewall add ip group
< outgoing firewall add mac group
< outgoing firewall edit ip group
< Set time on boot
< show dh
< snat new source ip address
+< software version
< ssh
< static routes
< support donation
< uptime
< uptime load average
< urlfilter redirect template
+< vendor
< visit us at
< vpn keyexchange
< wlanap country
< age ssecond
< attention
< bit
+< capabilities
< ccd add
< ccd choose net
< ccd clientip
< generate dh key
< grouptype
< hardware support
+< imei
+< imsi
+< incoming firewall access
< integrity
< invalid input for dpd delay
< invalid input for dpd timeout
< MB written
< minimum
< minute
+< model
+< modem hardware details
+< modem information
+< modem network bit error rate
+< modem network information
+< modem network mode
+< modem network operator
+< modem network registration
+< modem network signal quality
+< modem no connection
+< modem no connection message
+< modem sim information
+< modem status
< most preferred
< no hardware random number generator
< not a valid dh key
< openvpn subnet is used
< other
< our donors
+< outgoing firewall access
< ovpn crypt options
< ovpn dh
< ovpn dh name
< server restart
< show dh
< snat new source ip address
+< software version
< ssh
< static routes
< support donation
< uptime
< uptime load average
< urlfilter redirect template
+< vendor
< visit us at
< vpn keyexchange
< wlanap country
< age ssecond
< attention
< bit
+< capabilities
< ccd add
< ccd choose net
< ccd clientip
< grouptype
< hardware support
< hour-graph
+< imei
+< imsi
+< incoming firewall access
< incoming traffic in bytes per second
< integrity
< invalid input for dpd delay
< MB written
< minimum
< minute
+< model
+< modem hardware details
+< modem information
+< modem network bit error rate
+< modem network information
+< modem network mode
+< modem network operator
+< modem network registration
+< modem network signal quality
+< modem no connection
+< modem no connection message
+< modem sim information
+< modem status
< month-graph
< most preferred
< no hardware random number generator
< openvpn subnet is used
< other
< our donors
+< outgoing firewall access
< outgoing traffic in bytes per second
< ovpn crypt options
< ovpn dh
< server restart
< show dh
< snat new source ip address
+< software version
< ssh
< static routes
< support donation
< uptime
< uptime load average
< urlfilter redirect template
+< vendor
< visit us at
< vpn keyexchange
< week-graph
&General::readhasharray("$configipsec", \%ipsecconf);
&Header::showhttpheaders();
&Header::getcgihash(\%fwdfwsettings);
-&Header::openpage($Lang::tr{'fwdfw menu'}, 1, '');
+&Header::openpage($Lang::tr{'firewall rules'}, 1, '');
&Header::openbigbox('100%', 'center',$errormessage);
#### JAVA SCRIPT ####
print<<END;
}
}
}
+
+ # Sort protocols alphabetically.
+ @protocols = sort(@protocols);
+
return @protocols;
}
sub getcolor
&General::readhash("/var/ipfire/ethernet/settings", \%netsettings);
&viewtablenew(\%configfwdfw, $configfwdfw, $Lang::tr{'firewall rules'});
- &viewtablenew(\%configinputfw, $configinput, $Lang::tr{'external access'});
- &viewtablenew(\%configoutgoingfw, $configoutgoing, $Lang::tr{'outgoing firewall'});
+ &viewtablenew(\%configinputfw, $configinput, $Lang::tr{'incoming firewall access'});
+ &viewtablenew(\%configoutgoingfw, $configoutgoing, $Lang::tr{'outgoing firewall access'});
}
sub viewtablenew
{
print "<td align='center' $col>$Lang::tr{'fwhost deleted'}</td><td align='center' $col>$customgrp{$key}[3]</td><td width='1%' $col><form method='post'>";
}else{
my ($colip,$colsub) = split("/",$ip);
- $ip="$colip/".&General::subtocidr($colsub) if ($colsub);
+ $ip="$colip/".&General::iporsubtocidr($colsub) if ($colsub);
print"<td align='center' $col>".&getcolor($ip)."</td><td align='center' $col>$customgrp{$key}[3]</td><td width='1%' $col><form method='post'>";
}
if ($delflag > 0 && $ip ne ''){
for(my $i = 1; $i <= $#iostat1; $i++){
if ( $i eq '1' ){
- print "<tr><td align='center' class='boldbase'><b>$Lang::tr{'device'}</b></td><td align='center' class='boldbase'><b>$Lang::tr{'MB read'}</b></td><td align='center' class='boldbase'><b>$Lang::{'MB written'}</b></td></tr>";
+ print "<tr><td align='center' class='boldbase'><b>$Lang::tr{'device'}</b></td><td align='center' class='boldbase'><b>$Lang::tr{'MB read'}</b></td><td align='center' class='boldbase'><b>$Lang::tr{'MB written'}</b></td></tr>";
}else{
print "<tr><td align='center'>$iostat1[$i]</td><td align='center'>$iostat2[$i]</td><td align='center'>$iostat3[$i]</td></tr>";
}
--- /dev/null
+#!/usr/bin/perl
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2008 Michael Tremer & Christian Schmidt #
+# #
+# This program is free software: you can redistribute it and/or modify #
+# it under the terms of the GNU General Public License as published by #
+# the Free Software Foundation, either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# This program is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
+
+use strict;
+
+# enable only the following on debugging purpose
+use warnings;
+use CGI::Carp 'fatalsToBrowser';
+
+require '/var/ipfire/general-functions.pl';
+require "${General::swroot}/lang.pl";
+require "${General::swroot}/header.pl";
+require "${General::swroot}/modem-lib.pl";
+
+my $modem;
+my %ethsettings = {};
+my %pppsettings = {};
+
+&General::readhash("${General::swroot}/ethernet/settings", \%ethsettings);
+
+if ($ethsettings{"RED_TYPE"} eq "PPPOE") {
+ &General::readhash("${General::swroot}/ppp/settings", \%pppsettings);
+
+ # Establish the connection to the modem.
+ my $port = $pppsettings{'MONPORT'};
+ if ($port) {
+ $port = "/dev/$port";
+ $modem = Modem->new($port, $pppsettings{"DTERATE"});
+ }
+}
+
+&Header::showhttpheaders();
+&Header::openpage($Lang::tr{'modem information'}, 1, '');
+&Header::openbigbox('100%', 'left');
+
+if ($modem) {
+ &Header::openbox("100%", "center", $Lang::tr{'modem hardware details'});
+
+ print <<END;
+ <table width="100%">
+ <tbody>
+END
+
+ my $vendor = $modem->get_vendor();
+ if ($vendor) {
+ print <<END;
+ <tr>
+ <td width="33%">$Lang::tr{'vendor'}</td>
+ <td>$vendor</td>
+ </tr>
+END
+ }
+
+ my $model = $modem->get_model();
+ if ($model) {
+ print <<END;
+ <tr>
+ <td width="33%">$Lang::tr{'model'}</td>
+ <td>$model</td>
+ </tr>
+END
+ }
+
+ my $software_version = $modem->get_software_version();
+ if ($software_version) {
+ print <<END;
+ <tr>
+ <td width="33%">$Lang::tr{'software version'}</td>
+ <td>$software_version</td>
+ </tr>
+END
+ }
+
+ my $imei = $modem->get_imei();
+ if ($imei) {
+ print <<END;
+ <tr>
+ <td width="33%">$Lang::tr{'imei'}</td>
+ <td>$imei</td>
+ </tr>
+END
+ }
+
+ my @caps = $modem->get_capabilities();
+ if (@caps) {
+ my $caps_string = join(", ", @caps);
+
+ print <<END;
+ <tr>
+ <td width="33%">$Lang::tr{'capabilities'}</td>
+ <td>$caps_string</td>
+ </tr>
+END
+ }
+
+ print <<END;
+ </tbody>
+ </table>
+END
+ &Header::closebox();
+
+
+ &Header::openbox("100%", "center", $Lang::tr{'modem sim information'});
+ print <<END;
+ <table width="100%">
+ <tbody>
+END
+
+ my $imsi = $modem->get_sim_imsi();
+ if ($imsi) {
+ print <<END;
+ <tr>
+ <td width="33%">$Lang::tr{'imsi'}</td>
+ <td>$imsi</td>
+ </tr>
+END
+ }
+
+ print <<END;
+ </tbody>
+ </table>
+END
+ &Header::closebox();
+
+ &Header::openbox("100%", "center", $Lang::tr{'modem network information'});
+ print <<END;
+ <table width="100%">
+ <tbody>
+END
+
+ my $network_registration = $modem->get_network_registration();
+ if ($network_registration) {
+ print <<END;
+ <tr>
+ <td width="33%">$Lang::tr{'modem network registration'}</td>
+ <td>$network_registration</td>
+ </tr>
+END
+ }
+
+ my $network_operator = $modem->get_network_operator();
+ if ($network_operator) {
+ print <<END;
+ <tr>
+ <td width="33%">$Lang::tr{'modem network operator'}</td>
+ <td>$network_operator</td>
+ </tr>
+END
+ }
+
+ my $network_mode = $modem->get_network_mode();
+ if ($network_mode) {
+ print <<END;
+ <tr>
+ <td width="33%">$Lang::tr{'modem network mode'}</td>
+ <td>$network_mode</td>
+ </tr>
+END
+ }
+
+ my $signal_quality = $modem->get_signal_quality();
+ if ($signal_quality) {
+ print <<END;
+ <tr>
+ <td width="33%">$Lang::tr{'modem network signal quality'}</td>
+ <td>$signal_quality dBm</td>
+ </tr>
+END
+ }
+
+ my $bit_error_rate = $modem->get_bit_error_rate();
+ if ($bit_error_rate) {
+ print <<END;
+ <tr>
+ <td width="33%">$Lang::tr{'modem network bit error rate'}</td>
+ <td>$bit_error_rate</td>
+ </tr>
+END
+ }
+ print <<END;
+ </tbody>
+ </table>
+END
+
+ &Header::closebox();
+} else {
+ &Header::openbox("100%", "center", $Lang::tr{'modem no connection'});
+ print "<p>$Lang::tr{'modem no connection message'}</p>";
+ &Header::closebox();
+}
+
+&Header::closebigbox();
+&Header::closepage();
if ($pppsettings{'TYPE'} =~ /^(modem|serial|isdn)$/ && $pppsettings{'COMPORT'} !~ /^(ttyS0|ttyS1|ttyS2|ttyS3|ttyS4|ttyACM0|ttyACM1|ttyACM2|ttyACM3|ttyUSB0|ttyUSB1|ttyUSB2|ttyUSB3|rfcomm0|rfcomm1|isdn1|isdn2)$/) {
$errormessage = $Lang::tr{'invalid input'};
goto ERROR; }
+ if ($pppsettings{'TYPE'} =~ /^(modem|serial|isdn)$/ && $pppsettings{'MONPORT'} !~ /^(ttyUSB0|ttyUSB1|ttyUSB2|ttyUSB3)$/) {
+ $errormessage = $Lang::tr{'invalid input'};
+ goto ERROR; }
if ($pppsettings{'TYPE'} =~ /^(modem|serial)$/ && $pppsettings{'DTERATE'} !~ /^(9600|19200|38400|57600|115200|230400|460800|921600)$/) {
$errormessage = $Lang::tr{'invalid input'};
goto ERROR; }
$selected{'COMPORT'}{'rfcomm1'} = '';
$selected{'COMPORT'}{$pppsettings{'COMPORT'}} = "selected='selected'";
+$selected{'MONPORT'}{''} = '';
+$selected{'MONPORT'}{'ttyUSB0'} = '';
+$selected{'MONPORT'}{'ttyUSB1'} = '';
+$selected{'MONPORT'}{'ttyUSB2'} = '';
+$selected{'MONPORT'}{'ttyUSB3'} = '';
+$selected{'MONPORT'}{$pppsettings{'MONPORT'}} = "selected='selected'";
+
$selected{'DTERATE'}{'9600'} = '';
$selected{'DTERATE'}{'19200'} = '';
$selected{'DTERATE'}{'38400'} = '';
;
}
print "</select></td> "}
+
+ if ($pppsettings{'TYPE'} =~ /^(modem|serial)$/) {
+ print <<END;
+ <tr>
+ <td colspan='3' width='75%'>$Lang::tr{'monitor interface'}:</td>
+ <td width='25%'>
+ <select name="MONPORT" style="width: 165px;">
+ <option value="" $selected{'MONPORT'}{''}>---</option>
+ <option value="ttyUSB0" $selected{'MONPORT'}{'ttyUSB0'}>ttyUSB0</option>
+ <option value="ttyUSB1" $selected{'MONPORT'}{'ttyUSB1'}>ttyUSB1</option>
+ <option value="ttyUSB2" $selected{'MONPORT'}{'ttyUSB2'}>ttyUSB2</option>
+ <option value="ttyUSB3" $selected{'MONPORT'}{'ttyUSB3'}>ttyUSB3</option>
+ </select>
+ </td>
+ </tr>
+END
+ }
+
if ($pppsettings{'TYPE'} =~ /^(modem|serial)$/ ) {
print <<END
<tr>
{
$pppsettings{'PROFILENAME'} = $Lang::tr{'unnamed'};
$pppsettings{'COMPORT'} = 'ttyS0';
+ $pppsettings{'MONPORT'} = '';
$pppsettings{'DTERATE'} = 115200;
$pppsettings{'SPEAKER'} = 'off';
$pppsettings{'RECONNECTION'} = 'persistent';
'cant change certificates' => 'Kann Zertifikate nicht ändern.',
'cant enable xtaccess' => 'Die zugehörige Port-Weiterleitungsregel ist deaktiviert, daher können Sie den externen Zugang für diese Regel nicht aktivieren.',
'cant start openssl' => 'Kann OpenSSL nicht starten',
+'capabilities' => 'Unterstützte Features',
'caps all' => 'ALLE',
'capsclosed' => 'GETRENNT',
'capsinactive' => 'INAKTIV',
'from email server' => 'Von Email Server',
'from email user' => 'Von Email Benutzer',
'from warn email bad' => 'Von Email Adresse ist nicht gültig',
-'fw blue' => 'Firewall-Optionen für das Blaue Interface',
+'fw blue' => 'Firewalloptionen für das Blaue Interface',
'fw default drop' => 'Firewall Policy',
'fw logging' => 'Firewall-Logging',
'fw settings' => 'Firewall-Einstellungen',
'ike integrity' => 'IKE Integrität:',
'ike lifetime' => 'IKE Lebensdauer:',
'ike lifetime should be between 1 and 8 hours' => 'IKE Lebensdauer sollte zwischen 1 und 8 Stunden betragen.',
+'imei' => 'IMEI',
'import' => 'Import',
'importkey' => 'PSK importieren',
+'imsi' => 'IMSI',
'in' => 'Ein',
'inactive' => 'inaktiv',
'include logfiles' => 'mit Logdateien',
'incoming' => 'eingehend',
+'incoming firewall access' => 'Eingehender Firewallzugang',
'incoming traffic in bytes per second' => 'Eingehender Verkehr',
'incorrect password' => 'Fehlerhaftes Passwort',
'info' => 'Info',
'missing dat' => 'Verschlüsseltes Archiv wurde nicht gefunden',
'missing gz' => 'Nichtverschlüsseltes Archiv wurde nicht gefunden',
'mode' => 'Modus',
+'model' => 'Modell',
'modem' => 'Modem',
'modem configuration' => 'Modem-Konfiguration',
+'modem hardware details' => 'Modem-Hardware',
+'modem information' => 'Modem-Informationen',
+'modem network bit error rate' => 'Bit-Fehlerrate',
+'modem network information' => 'Netzwerkinformationen',
+'modem network mode' => 'Netzwerkmodus',
+'modem network operator' => 'Netzbetreiber',
+'modem network registration' => 'Netzregistrierung',
+'modem network signal quality' => 'Signalqualität',
+'modem no connection' => 'Keine Verbindung',
+'modem no connection message' => 'Es konnte keine Verbindung zum Modem aufgebaut werden.',
'modem on com1' => 'Modem an COM1',
'modem on com2' => 'Modem an COM2',
'modem on com3' => 'Modem an COM3',
'modem on com4' => 'Modem an COM4',
'modem on com5' => 'Modem an COM5',
'modem settings have errors' => 'Modemeinstellungen fehlerhaft',
+'modem sim information' => 'SIM-Informationen',
'modem speaker on' => 'Modemlautsprecher an:',
+'modem status' => 'Modem-Status',
'modify' => 'Ändern',
'modulation' => 'Modulation',
'monday' => 'Montag',
'optional at cmd' => 'zusätzlicher Modembefehl',
'optional data' => '3. Optionale Einstellungen',
'options' => 'Optionen',
-'options fw' => 'Firewall-Optionen',
+'options fw' => 'Firewalloptionen',
'optionsfw portlist hint' => 'Die Liste der Ports muss durch ein Komma getrennt werden (z.B. 137,138). Sie können maximal bis zu 15 Ports pro Protokoll angeben.',
'optionsfw warning' => 'Verändern dieser Optionen bedingt einen Neustart der Firewall',
'or' => 'oder',
'out' => 'Aus',
'outgoing' => 'ausgehend',
'outgoing firewall' => 'Ausgehende Firewall',
+'outgoing firewall access' => 'Ausgehender Firewallzugang',
'outgoing firewall add ip group' => 'IP Adressgruppen hinzufügen',
'outgoing firewall add mac group' => 'MAC Adressgruppen hinzufügen',
'outgoing firewall edit ip group' => 'IP Adressgruppen bearbeiten',
'snort hits' => 'Gesamtanzahl der aktivierten Intrusion-Regeln für',
'snort working' => 'Snort führt gerade eine Aufgabe aus... Bitte warten Sie, bis diese erfolgreich beendet wurde.',
'socket options' => 'Socket Options',
+'software version' => 'Software-Version',
'sort ascending' => 'Sortiere aufsteigend',
'sort descending' => 'Sortiere absteigend',
'sound' => 'Klang',
'valid root certificate already exists' => 'Ein gültiges Root-Zertifikat existiert bereits.',
'valid till' => 'Gültig bis',
'vci number' => 'VCI-Nummer:',
+'vendor' => 'Hersteller',
'view log' => 'Log anzeigen',
'virtual address' => 'Virtuelle Addresse',
'virtual private networking' => 'Virtuelles Privates Netzwerk',
'cant change certificates' => 'Can\'t change certificates.',
'cant enable xtaccess' => 'The associated port forwarding rule is disabled, therefore you cannot enable external access for this rule.',
'cant start openssl' => 'Can\'t start OpenSSL',
+'capabilities' => 'Capabilities',
'caps all' => 'ALL',
'capsclosed' => 'DISCONNECTED',
'capsinactive' => 'INACTIVE',
'ike integrity' => 'IKE Integrity:',
'ike lifetime' => 'IKE Lifetime:',
'ike lifetime should be between 1 and 8 hours' => 'IKE lifetime should be between 1 and 8 hours.',
+'imei' => 'IMEI',
'import' => 'Import',
'importkey' => 'Import PSK',
+'imsi' => 'IMSI',
'in' => 'In',
'inactive' => 'inactive',
'include logfiles' => 'Include logfiles',
'incoming' => 'incoming',
+'incoming firewall access' => 'Incoming Firewall Access',
'incoming traffic in bytes per second' => 'Incoming Traffic',
'incorrect password' => 'Incorrect password',
'info' => 'Info',
'missing dat' => 'Encrypted archive not found',
'missing gz' => 'Unencrypted archive not found',
'mode' => 'Mode',
+'model' => 'Model',
'modem' => 'Modem',
'modem configuration' => 'Modem configuration',
+'modem hardware details' => 'Modem Hardware',
+'modem information' => 'Modem Information',
+'modem network bit error rate' => 'Bit Error Rate',
+'modem network information' => 'Network Information',
+'modem network mode' => 'Network Mode',
+'modem network operator' => 'Network Operator',
+'modem network registration' => 'Network Registration',
+'modem network signal quality' => 'Signal Quality',
+'modem no connection' => 'No Connection',
+'modem no connection message' => 'No connection to the modem could be established.',
'modem on com1' => 'Modem on COM1',
'modem on com2' => 'Modem on COM2',
'modem on com3' => 'Modem on COM3',
'modem on com4' => 'Modem on COM4',
'modem on com5' => 'Modem on COM5',
'modem settings have errors' => 'Modem settings have errors',
+'modem sim information' => 'SIM Information',
'modem speaker on' => 'Modem speaker on:',
+'modem status' => 'Modem Status',
'modify' => 'Modify',
'modulation' => 'Modulation',
'monday' => 'Monday',
'out' => 'Out',
'outgoing' => 'outgoing',
'outgoing firewall' => 'Outgoing Firewall',
+'outgoing firewall access' => 'Outgoing Firewall Access',
'outgoing firewall add ip group' => 'Add IP Address Group',
'outgoing firewall add mac group' => 'Add MAC Address Group',
'outgoing firewall edit ip group' => 'Edit IP Address Group',
'snort hits' => 'Total of number of Intrusion rules activated for',
'snort working' => 'Snort is working ... Please wait until all operations have completed successfully.',
'socket options' => 'Socket options',
+'software version' => 'Software Version',
'sort ascending' => 'Sort ascending',
'sort descending' => 'Sort descending',
'sound' => 'Sound',
'valid root certificate already exists' => 'A valid root certificate already exists.',
'valid till' => 'Valid till',
'vci number' => 'VCI number:',
+'vendor' => 'Vendor',
'view log' => 'view log',
'virtual address' => 'Virtual Address',
'virtual private networking' => 'Virtual Private Networking',
cp $(DIR_SRC)/config/cfgroot/lang.pl $(CONFIG_ROOT)/
cp $(DIR_SRC)/config/cfgroot/countries.pl $(CONFIG_ROOT)/
cp $(DIR_SRC)/config/cfgroot/graphs.pl $(CONFIG_ROOT)/
+ cp $(DIR_SRC)/config/cfgroot/modem-lib.pl $(CONFIG_ROOT)/
cp $(DIR_SRC)/config/cfgroot/advoptions-list $(CONFIG_ROOT)/dhcp/advoptions-list
cp $(DIR_SRC)/config/cfgroot/connscheduler-lib.pl $(CONFIG_ROOT)/connscheduler/lib.pl
cp $(DIR_SRC)/config/cfgroot/connscheduler.conf $(CONFIG_ROOT)/connscheduler
include Config
-VER = 3.10.36
+VER = 3.10.37
RPI_PATCHES = linux-3.10.34-grsec-dea8280
-GRS_PATCHES = grsecurity-2.9.1-3.10.36-ipfire1.patch.xz
+GRS_PATCHES = grsecurity-2.9.1-3.10.37-ipfire1.patch.xz
THISAPP = linux-$(VER)
DL_FILE = linux-$(VER).tar.xz
CFLAGS =
CXXFLAGS =
-PAK_VER = 41
+PAK_VER = 42
DEPS = ""
VERSUFIX=ipfire$(KCFG)
rpi-patches-$(RPI_PATCHES).patch.xz = $(URL_IPFIRE)/rpi-patches-$(RPI_PATCHES).patch.xz
$(GRS_PATCHES) = $(URL_IPFIRE)/$(GRS_PATCHES)
-$(DL_FILE)_MD5 = 721f76050755ec8ec88876ee350a2726
+$(DL_FILE)_MD5 = a08a10ffc31b07d9422af1cd2baa3274
rpi-patches-$(RPI_PATCHES).patch.xz_MD5 = 522683db031f7033b1b5dfe1b1f30e67
-$(GRS_PATCHES)_MD5 = 85717c4d6643ea52eef443ee7bc873e2
+$(GRS_PATCHES)_MD5 = 7b0f44571974217d79dbcdf5d7e33976
install : $(TARGET)
--- /dev/null
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2014 IPFire Team <info@ipfire.org> #
+# #
+# This program is free software: you can redistribute it and/or modify #
+# it under the terms of the GNU General Public License as published by #
+# the Free Software Foundation, either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# This program is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER = 1.56
+
+THISAPP = Device-Modem-$(VER)
+DL_FILE = $(THISAPP).tar.gz
+DL_FROM = $(URL_IPFIRE)
+DIR_APP = $(DIR_SRC)/$(THISAPP)
+TARGET = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = a0ec45c3e313bea27ccb476d3b725955
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+ @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+ @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+ @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+ @$(PREBUILD)
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && perl Makefile.PL
+ cd $(DIR_APP) && make $(MAKETUNING)
+ cd $(DIR_APP) && make install
+ @rm -rf $(DIR_APP)
+ @$(POSTBUILD)
--- /dev/null
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2014 IPFire Team <info@ipfire.org> #
+# #
+# This program is free software: you can redistribute it and/or modify #
+# it under the terms of the GNU General Public License as published by #
+# the Free Software Foundation, either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# This program is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER = 1.000002
+
+THISAPP = Device-SerialPort-$(VER)
+DL_FILE = $(THISAPP).tar.gz
+DL_FROM = $(URL_IPFIRE)
+DIR_APP = $(DIR_SRC)/$(THISAPP)
+TARGET = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = f53db3733679adc5d05d06fa530444b6
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+ @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+ @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+ @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+ @$(PREBUILD)
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && perl Makefile.PL
+ cd $(DIR_APP) && make $(MAKETUNING)
+ cd $(DIR_APP) && make install
+ @rm -rf $(DIR_APP)
+ @$(POSTBUILD)
include Config
-VER = 5.1.2
+VER = 5.1.3
THISAPP = strongswan-$(VER)
DL_FILE = $(THISAPP).tar.bz2
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = d45a2e89c624bceaf2e53c9b9cdddf83
+$(DL_FILE)_MD5 = 1d1c108775242743cd8699215b2918c3
install : $(TARGET)
NAME="IPFire" # Software name
SNAME="ipfire" # Short name
VERSION="2.15" # Version number
-CORE="76-rc1" # Core Level (Filename)
-PAKFIRE_CORE="76" # Core Level (PAKFIRE)
+CORE="77-rc1" # Core Level (Filename)
+PAKFIRE_CORE="77" # Core Level (PAKFIRE)
GIT_BRANCH=`git rev-parse --abbrev-ref HEAD` # Git Branch
SLOGAN="www.ipfire.org" # Software slogan
CONFIG_ROOT=/var/ipfire # Configuration rootdir
ipfiremake perl-GD
ipfiremake GD-Graph
ipfiremake GD-TextUtil
+ ipfiremake perl-Device-SerialPort
+ ipfiremake perl-Device-Modem
ipfiremake gnupg
ipfiremake hdparm
ipfiremake sdparm
# Block OpenVPN transfer networks
iptables -N OVPNBLOCK
iptables -A INPUT -i tun+ -j OVPNBLOCK
- iptables -A OUTPUT -o tun+ -j OVPNBLOCK
iptables -A FORWARD -i tun+ -j OVPNBLOCK
iptables -A FORWARD -o tun+ -j OVPNBLOCK