From: maniacikarus Date: Mon, 9 Jul 2007 16:51:43 +0000 (+0000) Subject: Korrekturen im IDS System X-Git-Tag: v2.3-beta1~593 X-Git-Url: http://git.ipfire.org/?p=people%2Fpmueller%2Fipfire-2.x.git;a=commitdiff_plain;h=cf29614f54246b1e33130f967221335b1a13af0d Korrekturen im IDS System Division by 0 in den grafischen Firewallogs unterbunden Backup Loesung fuer IPFire angefangen fehlende Perl Module ins MPFire Paket eingebunden Writeipac auf neue Config Types angepasst git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@666 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8 --- diff --git a/config/backup/backup.pl b/config/backup/backup.pl new file mode 100644 index 0000000000..ae9fec08ac --- /dev/null +++ b/config/backup/backup.pl @@ -0,0 +1,49 @@ +#!/usr/bin/perl + +require '/var/ipfire/general-functions.pl'; +require "${General::swroot}/lang.pl"; +require "${General::swroot}/header.pl"; + +my $debug = 1; +my @include = ""; +my ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat, $Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time); +$Jahr = $Jahr + 1900;$Monat = $Monat + 1; +$Monat = sprintf("%02d", $Monat); +$Monatstag = sprintf("%02d", $Monatstag); +$Stunden = sprintf("%02d", $Stunden); +$Minuten = sprintf("%02d", $Minuten); + +if ($ARGV[0] eq 'include') { + &createinclude; + open(DATEI, ">/tmp/include") || die "Could not save temp include file"; + print DATEI @include; + close(DATEI); + system("tar -cvzf /var/ipfire/backup/$Jahr$Monat$Monatstag-$Stunden:$Minuten.ipf --files-from=/tmp/include --exclude-from=/var/ipfire/backup/exclude"); + system("rm /tmp/include"); +} + +if ($ARGV[0] eq 'exclude') { + &createinclude; + open(DATEI, ">/tmp/include") || die "Could not save temp include file"; + print DATEI @include; + close(DATEI); + system("tar -cvzf /var/ipfire/backup/$Jahr$Monat$Monatstag-$Stunden:$Minuten.ipf --files-from='/tmp/include' --exclude-from='/var/ipfire/backup/exclude'"); + system("rm /tmp/include"); +} + +sub createinclude(){ + + open(DATEI, "<${General::swroot}/backup/include") || die "Can not open include file"; + my @Zeilen = ; + close(DATEI); + + foreach (@Zeilen){ + if ( $_ =~ /\*/){ + my @files = `ls $_`; + foreach (@files){ + push(@include,$_); + } + } + else {push(@include,$_);} + } +} diff --git a/config/backup/exclude b/config/backup/exclude new file mode 100644 index 0000000000..1944fd61e7 --- /dev/null +++ b/config/backup/exclude @@ -0,0 +1 @@ +*.tmp diff --git a/config/backup/include b/config/backup/include new file mode 100644 index 0000000000..49fce8f20e --- /dev/null +++ b/config/backup/include @@ -0,0 +1,3 @@ +/var/ipfire/*/settings +/var/ipfire/*/*.conf +/var/ipfire/*/*.pem diff --git a/config/rootfiles/common/apache2 b/config/rootfiles/common/apache2 index a6abb6f734..3866702160 100644 --- a/config/rootfiles/common/apache2 +++ b/config/rootfiles/common/apache2 @@ -1259,6 +1259,7 @@ srv/web/ipfire/cgi-bin/aliases.cgi #srv/web/ipfire/cgi-bin/asterisk.cgi/calls #srv/web/ipfire/cgi-bin/asterisk.cgi/conf #srv/web/ipfire/cgi-bin/asterisk.cgi/status +srv/web/ipfire/cgi-bin/backup.cgi srv/web/ipfire/cgi-bin/chpasswd.cgi srv/web/ipfire/cgi-bin/connections.cgi srv/web/ipfire/cgi-bin/connscheduler.cgi diff --git a/config/rootfiles/packages/mpfire b/config/rootfiles/packages/mpfire index e5c798816a..258cd6d9d7 100644 --- a/config/rootfiles/packages/mpfire +++ b/config/rootfiles/packages/mpfire @@ -7,3 +7,8 @@ var/ipfire/mpfire/db var/ipfire/mpfire/db/songs.db var/ipfire/mpfire/playlist var/ipfire/mpfire/settings +usr/lib/perl5/site_perl/5.8.8/MP3/Info.pm +usr/lib/perl5/site_perl/5.8.8/MP3/Tag.pm +usr/lib/perl5/site_perl/5.8.8/MP3/Tag/File.pm +usr/lib/perl5/site_perl/5.8.8/MP3/Tag/ID3v1.pm +usr/lib/perl5/site_perl/5.8.8/MP3/Tag/ID3v2.pm diff --git a/doc/language_issues.de b/doc/language_issues.de index 11216b3cc2..12244c8bc8 100644 --- a/doc/language_issues.de +++ b/doc/language_issues.de @@ -41,7 +41,6 @@ WARNING: translation string unused: apply WARNING: translation string unused: archive not exist WARNING: translation string unused: available updates WARNING: translation string unused: average -WARNING: translation string unused: backup WARNING: translation string unused: backup config floppy WARNING: translation string unused: backup configuration WARNING: translation string unused: backup export key diff --git a/doc/language_issues.en b/doc/language_issues.en index a91d08f974..36afc0c167 100644 --- a/doc/language_issues.en +++ b/doc/language_issues.en @@ -43,7 +43,6 @@ WARNING: translation string unused: apply WARNING: translation string unused: archive not exist WARNING: translation string unused: available updates WARNING: translation string unused: average -WARNING: translation string unused: backup WARNING: translation string unused: backup archive WARNING: translation string unused: backup clear archive WARNING: translation string unused: backup config floppy diff --git a/html/cgi-bin/backup.cgi b/html/cgi-bin/backup.cgi new file mode 100644 index 0000000000..372d9080c5 --- /dev/null +++ b/html/cgi-bin/backup.cgi @@ -0,0 +1,82 @@ +#!/usr/bin/perl +# +# IPFire CGIs +# +# This code is distributed under the terms of the GPL +# +# (c) The IPFire Team + +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"; + +my %color = (); +my %mainsettings = (); +my %backupsettings = (); +my %checked = (); +my $message = ""; +my $errormessage = ""; +my @backups = `cd /var/ipfire/backup/ && ls *.ipf`; + + +&General::readhash("${General::swroot}/main/settings", \%mainsettings); +&General::readhash("/srv/web/ipfire/html/themes/".$mainsettings{'THEME'}."/include/colors.txt", \%color); + +&Header::showhttpheaders(); +&Header::getcgihash(\%backupsettings); + +&Header::openpage($Lang::tr{'backup'}, 1, ""); +&Header::openbigbox('100%', 'left', '', $errormessage); + +############################################################################################################################ +######################################## Scanne Verzeichnisse nach Mp3 Dateien ############################################# + +if ( $backupsettings{'ACTION'} eq "backup" ) +{ + if ( $backupsettings{'BACKUPLOGS'} eq "include" ){system("/usr/local/bin/backupctrl include");} + else {system("/usr/local/bin/backupctrl exclude");} +} + +############################################################################################################################ +########################################### rekursiv nach neuen Mp3s Scannen ##############################################ä + +if ( $message ne "" ) { print "$message"; } + +&Header::openbox('100%', 'center', $Lang::tr{'backup'}); + +print < + + + +
$Lang::tr{'logs'}include Logfiles / + exclude Logfiles
+
+ +END +; +&Header::closebox(); + +&Header::openbox('100%', 'center', $Lang::tr{'backups'}); + +print < + +END +; +foreach (@backups){ +print ""; +} +print < + +END +; +&Header::closebox(); +&Header::closebigbox(); +&Header::closepage(); diff --git a/html/cgi-bin/ids.cgi b/html/cgi-bin/ids.cgi index 5914888451..30589567bd 100644 --- a/html/cgi-bin/ids.cgi +++ b/html/cgi-bin/ids.cgi @@ -52,7 +52,7 @@ $snortsettings{'INSTALLMD5'} = ''; &Header::getcgihash(\%snortsettings, {'wantfile' => 1, 'filevar' => 'FH'}); ####################### Added for snort rules control ################################# -my $snortrulepath; +my $snortrulepath; # change to "/etc/snort/rules" - maniac my @snortconfig; my $restartsnortrequired = 0; my %snortrules; @@ -75,9 +75,14 @@ if (-e "/etc/snort/snort.conf") { # Loop over each line foreach my $line (@snortconfig) { - # Trim the line + # Trim the line chomp $line; + # my @rules = `ls $snortrulepath`; With this loop the rule might be display with correct rulepath set + # foreach my $line (@rules) { + # # Trim the line + # chomp $line; + # Check for a line with .rules if ($line =~ /\.rules$/) { # Parse out rule file name @@ -448,155 +453,156 @@ if ($results ne '') { &Header::closebox(); ####################### Added for snort rules control ################################# -if ( -e "${General::swroot}/snort/enable" || -e "${General::swroot}/snort/enable_green" || -e "${General::swroot}/snort/enable_blue" || -e "${General::swroot}/snort/enable_orange" ) { - &Header::openbox('100%', 'LEFT', $Lang::tr{'intrusion detection system rules'}); - # Output display table for rule files - print "
$Lang::tr{'backup from'}$_
"; - - print ""; - - # Local vars - my $ruledisplaycnt = 1; - my $rulecnt = keys %snortrules; - $rulecnt++; - $rulecnt = $rulecnt / 2; - - # Loop over each rule file - foreach my $rulefile (sort keys(%snortrules)) { - my $rulechecked = ''; - - # Check if reached half-way through rule file rules to start new column - if ($ruledisplaycnt > $rulecnt) { - print "
"; - $ruledisplaycnt = 0; - } - - # Check if rule file is enabled - if ($snortrules{$rulefile}{"State"} eq 'Enabled') { - $rulechecked = 'CHECKED'; - } - - # Create rule file link, vars array, and display flag - my $rulefilelink = "?RULEFILE=$rulefile"; - my $rulefiletoclose = ''; - my @queryvars = (); - my $displayrulefilerules = 0; - - # Check for passed in query string - if ($ENV{'QUERY_STRING'}) { - # Split out vars - @queryvars = split(/\&/, $ENV{'QUERY_STRING'}); - - # Loop over values - foreach $value (@queryvars) { - # Split out var pairs - ($var, $linkedrulefile) = split(/=/, $value); - - # Check if var is 'RULEFILE' - if ($var eq 'RULEFILE') { - # Check if rulefile equals linkedrulefile - if ($rulefile eq $linkedrulefile) { - # Set display flag - $displayrulefilerules = 1; - - # Strip out rulefile from rulefilelink - $rulefilelink =~ s/RULEFILE=$linkedrulefile//g; - } else { - # Add linked rule file to rulefilelink - $rulefilelink .= "&RULEFILE=$linkedrulefile"; - } - } - } - } - - # Strip out extra & & ? from rulefilelink - $rulefilelink =~ s/^\?\&/\?/i; - - # Check for a single '?' and replace with page for proper link display - if ($rulefilelink eq '?') { - $rulefilelink = "ids.cgi"; - } - - # Output rule file name and checkbox - print ""; - print " +# +# +# +# +#
$rulefile
"; - - # Check for empty 'Description' - if ($snortrules{$rulefile}{'Description'} eq '') { - print ""; - } else { - # Output rule file 'Description' - print "
No description available
"; - } - - # Check for display flag - if ($displayrulefilerules) { - # Rule file definition rule display - print ""; - } - - # Close display table - print "
$snortrules{$rulefile}{'Description'}
"; - - # Local vars - my $ruledefdisplaycnt = 0; - my $ruledefcnt = keys %{$snortrules{$rulefile}{"Definition"}}; - $ruledefcnt++; - $ruledefcnt = $ruledefcnt / 2; - - # Loop over rule file rules - foreach my $ruledef (sort {$a <=> $b} keys(%{$snortrules{$rulefile}{"Definition"}})) { - # Local vars - my $ruledefchecked = ''; - - # If have display 2 rules, start new row - if (($ruledefdisplaycnt % 2) == 0) { - print ""; - $ruledefdisplaycnt = 0; - } - - # Check for rules state - if ($snortrules{$rulefile}{'Definition'}{$ruledef}{'State'} eq 'Enabled') { - $ruledefchecked = 'CHECKED'; - } - - # Create rule file rule's checkbox - $checkboxname = "SNORT_RULE_$rulefile"; - $checkboxname .= "_$ruledef"; - print ""; - - # Increment count - $ruledefdisplaycnt++; - } - - # If do not have second rule for row, create empty cell - if (($ruledefdisplaycnt % 2) != 0) { - print ""; - } - - # Close display table - print "
$snortrules{$rulefile}{'Definition'}{$ruledef}{'Description'}
"; - - # Increment ruledisplaycnt - $ruledisplaycnt++; - } +#if ( -e "${General::swroot}/snort/enable" || -e "${General::swroot}/snort/enable_green" || -e "${General::swroot}/snort/enable_blue" || -e "${General::swroot}/snort/enable_orange" ) { +# &Header::openbox('100%', 'LEFT', $Lang::tr{'intrusion detection system rules'}); +# # Output display table for rule files +# print "
"; +# +# print ""; +# +# # Local vars +# my $ruledisplaycnt = 1; +# my $rulecnt = keys %snortrules; +# $rulecnt++; +# $rulecnt = $rulecnt / 2; +# +# # Loop over each rule file +# foreach my $rulefile (sort keys(%snortrules)) { +# my $rulechecked = ''; +# +# # Check if reached half-way through rule file rules to start new column +# if ($ruledisplaycnt > $rulecnt) { +# print "
"; +# $ruledisplaycnt = 0; +# } +# +# # Check if rule file is enabled +# if ($snortrules{$rulefile}{"State"} eq 'Enabled') { +# $rulechecked = 'CHECKED'; +# } +# +# # Create rule file link, vars array, and display flag +# my $rulefilelink = "?RULEFILE=$rulefile"; +# my $rulefiletoclose = ''; +# my @queryvars = (); +# my $displayrulefilerules = 0; +# +# # Check for passed in query string +# if ($ENV{'QUERY_STRING'}) { +# # Split out vars +# @queryvars = split(/\&/, $ENV{'QUERY_STRING'}); +# +# # Loop over values +# foreach $value (@queryvars) { +# # Split out var pairs +# ($var, $linkedrulefile) = split(/=/, $value); +# +# # Check if var is 'RULEFILE' +# if ($var eq 'RULEFILE') { +# # Check if rulefile equals linkedrulefile +# if ($rulefile eq $linkedrulefile) { +# # Set display flag +# $displayrulefilerules = 1; +# +# # Strip out rulefile from rulefilelink +# $rulefilelink =~ s/RULEFILE=$linkedrulefile//g; +# } else { +# # Add linked rule file to rulefilelink +# $rulefilelink .= "&RULEFILE=$linkedrulefile"; +# } +# } +# } +# } +# +# # Strip out extra & & ? from rulefilelink +# $rulefilelink =~ s/^\?\&/\?/i; +# +# # Check for a single '?' and replace with page for proper link display +# if ($rulefilelink eq '?') { +# $rulefilelink = "ids.cgi"; +# } +# +# # Output rule file name and checkbox +# print ""; +# print "
$rulefile
"; +# +# # Check for empty 'Description' +# if ($snortrules{$rulefile}{'Description'} eq '') { +# print ""; +# } else { +# # Output rule file 'Description' +# print "
No description available
"; +# } +# +# # Check for display flag +# if ($displayrulefilerules) { +# # Rule file definition rule display +# print ""; +# } +# +# # Close display table +# print "
$snortrules{$rulefile}{'Description'}
"; +# +# # Local vars +# my $ruledefdisplaycnt = 0; +# my $ruledefcnt = keys %{$snortrules{$rulefile}{"Definition"}}; +# $ruledefcnt++; +# $ruledefcnt = $ruledefcnt / 2; +# +# # Loop over rule file rules +# foreach my $ruledef (sort {$a <=> $b} keys(%{$snortrules{$rulefile}{"Definition"}})) { +# # Local vars +# my $ruledefchecked = ''; +# +# # If have display 2 rules, start new row +# if (($ruledefdisplaycnt % 2) == 0) { +# print ""; +# $ruledefdisplaycnt = 0; +# } +# +# # Check for rules state +# if ($snortrules{$rulefile}{'Definition'}{$ruledef}{'State'} eq 'Enabled') { +# $ruledefchecked = 'CHECKED'; +# } +# +# # Create rule file rule's checkbox +# $checkboxname = "SNORT_RULE_$rulefile"; +# $checkboxname .= "_$ruledef"; +# print ""; +# +# # Increment count +# $ruledefdisplaycnt++; +# } +# +# # If do not have second rule for row, create empty cell +# if (($ruledefdisplaycnt % 2) != 0) { +# print ""; +# } +# +# # Close display table +# print "
$snortrules{$rulefile}{'Definition'}{$ruledef}{'Description'}
"; +# +# # Increment ruledisplaycnt +# $ruledisplaycnt++; +# } +# +# print "
"; +# print < +#
  +#   +#
+# +#END +#; +# &Header::closebox(); +#} - print "
"; - print < - -   - - -   - - - - -END -; - &Header::closebox(); -} ####################### End added for snort rules control ################################# &Header::closebigbox(); &Header::closepage(); diff --git a/html/cgi-bin/logs.cgi/firewalllogip.dat b/html/cgi-bin/logs.cgi/firewalllogip.dat index 6090472d9b..b3f5535191 100644 --- a/html/cgi-bin/logs.cgi/firewalllogip.dat +++ b/html/cgi-bin/logs.cgi/firewalllogip.dat @@ -423,6 +423,7 @@ my $show=0; my $s; my $percent; + for($s=0;$s<$lines;$s++) { $show++; @@ -466,6 +467,8 @@ if ( ($color % 10) == 8 ){print "\n";} if ( ($color % 10) == 9 ){print "\n";} if ( ($color % 10) == 0 ){print "\n";} +if ( $linesjc ne "0") +{ my $dif; $dif = $linesjc - $total; $percent = $dif * 100 / $linesjc; @@ -480,6 +483,7 @@ print < END diff --git a/html/cgi-bin/logs.cgi/firewalllogport.dat b/html/cgi-bin/logs.cgi/firewalllogport.dat index 3ecc26b214..92c620beb8 100644 --- a/html/cgi-bin/logs.cgi/firewalllogport.dat +++ b/html/cgi-bin/logs.cgi/firewalllogport.dat @@ -459,6 +459,8 @@ if ( ($color % 10) == 8 ){print "\n";} if ( ($color % 10) == 9 ){print "\n";} if ( ($color % 10) == 0 ){print "\n";} +if ( $linesjc ne "0") +{ my $dif; $dif = $linesjc - $total; $percent = $dif * 100 / $linesjc; @@ -472,6 +474,7 @@ print < END diff --git a/langs/de/cgi-bin/de.pl b/langs/de/cgi-bin/de.pl index 2d9bc39e7b..4dcea18dcb 100644 --- a/langs/de/cgi-bin/de.pl +++ b/langs/de/cgi-bin/de.pl @@ -328,6 +328,7 @@ 'backup config floppy' => 'Backup-Konfiguration - Diskette', 'backup configuration' => 'Backup-Konfiguration:', 'backup export key' => 'Exportiere Backup Schlüssel', +'backup from' => 'Backup von', 'backup generate key' => 'Erzeuge Schlüssel', 'backup import dat file' => 'Importiere eine Backup- (.dat) Datei', 'backup key' => 'Chriffrierungs-Schlüssel sichern', @@ -336,6 +337,7 @@ 'backup sets' => 'Datensicherungssätze', 'backup to floppy' => 'Datensicherung auf Diskette', 'backupprofile' => 'Falls die Wiederverbindung scheitert, auf Profil umschalten', +'backups' => 'Sicherungen', 'bad characters in' => 'Ungültige Zeichen in ', 'bad characters in script field' => 'Nicht erlaubte Zeichen im Skriptnamen', 'bad characters in the telephone number field' => 'Nicht erlaubte(s) Zeichen im Feld Telefonnummer.', @@ -944,6 +946,7 @@ 'logging' => 'Logging', 'logging server' => 'Protokollierungs-Server', 'loginlogout' => 'Login/Logout', +'logs' => 'Logdateien', 'lookup failed' => 'Reverse Lookup gescheitert', 'loosedirectorychecking' => 'Loose directorychecking', 'low' => 'Niedrig', diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl index 63f61f5bfd..7cbafd5ad4 100644 --- a/langs/en/cgi-bin/en.pl +++ b/langs/en/cgi-bin/en.pl @@ -340,6 +340,7 @@ 'backup explain key no2' => 'legacy floppy backups are not concerned with this key.', 'backup export key' => 'Export key', 'backup extract key' => 'Extract key', +'backup from' => 'backup from', 'backup generate key' => 'Generate key', 'backup import dat file' => 'Import a backup (.dat) file', 'backup import key' => 'Import key', @@ -352,6 +353,7 @@ 'backup sets' => 'Backup Sets', 'backup to floppy' => 'Backup to floppy', 'backupprofile' => 'In case reconnection fails, switch to profile', +'backups' => 'backups', 'bad characters in script field' => 'Bad characters in script field', 'bad characters in the telephone number field' => 'Bad characters in the telephone number field.', 'bad destination range' => 'The Destination port range has a first value that is greater than or equal to the second value.', @@ -956,6 +958,7 @@ 'logging' => 'Logging', 'logging server' => 'Logging server', 'loginlogout' => 'Login/Logout', +'logs' => 'logs', 'lookup failed' => 'Reverse lookup failed', 'loosedirectorychecking' => 'Loosedirectorychecking', 'low' => 'Low', diff --git a/lfs/backup b/lfs/backup new file mode 100644 index 0000000000..30db794019 --- /dev/null +++ b/lfs/backup @@ -0,0 +1,68 @@ +############################################################################### +# This file is part of the IPCop Firewall. # +# # +# IPCop 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 2 of the License, or # +# (at your option) any later version. # +# # +# IPCop 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 IPCop; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Makefiles are based on LFSMake, which is # +# Copyright (C) 2002 Rod Roard # +# # +############################################################################### + +############################################################################### +# Definitions +############################################################################### + +include Config + +VER = ipfire + +THISAPP = backup-$(VER) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) +PROG = backup +PAK_VER = 1 + +DESCDE = "In Backup sind alle notwendigen Dateien für das Backup des IPFire enthalten" +DESCEN = "Backup contains all Files necessary for backup the IPFire" +DEPS = "backup" + +############################################################################### +# Top-level Rules +############################################################################### + +objects = + +install : $(TARGET) + +check : + +download : + +md5 : + +dist: + @$(PAK) + +############################################################################### +# Installation Details +############################################################################### + +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) + @$(PREBUILD) + -mkdir -p /var/ipfire/backup/bin + install -v -m 755 $(DIR_SRC)/config/backup/backup.pl /var/ipfire/backup/bin + install -v -m 644 $(DIR_SRC)/config/backup/include /var/ipfire/backup/ + install -v -m 644 $(DIR_SRC)/config/backup/exclude /var/ipfire/backup/ + @$(POSTBUILD) diff --git a/make.sh b/make.sh index 5b24fbdcf0..e45b28a20e 100755 --- a/make.sh +++ b/make.sh @@ -504,6 +504,7 @@ buildipfire() { ipfiremake asterisk ipfiremake mpg123 ipfiremake mpfire + ipfiremake backup ipfiremake libmad ipfiremake libogg ipfiremake libvorbis diff --git a/src/initscripts/helper/writeipac.pl b/src/initscripts/helper/writeipac.pl index ff6792f465..7312a0e3e4 100644 --- a/src/initscripts/helper/writeipac.pl +++ b/src/initscripts/helper/writeipac.pl @@ -30,7 +30,7 @@ print FILE "outgoing GREEN ($settings{'GREEN_DEV'})|ipac~i|$settings{'GREEN_DEV' print FILE "forwarded incoming GREEN ($settings{'GREEN_DEV'})|ipac~fi|$settings{'GREEN_DEV'}|all|||\n"; print FILE "forwarded outgoing GREEN ($settings{'GREEN_DEV'})|ipac~fo|$settings{'GREEN_DEV'}|all|||\n"; -if ($settings{'CONFIG_TYPE'} =~ /^(1|3|5|7)$/ ) +if ($settings{'CONFIG_TYPE'} =~ /^(2|4)$/ ) { print FILE "incoming ORANGE ($settings{'ORANGE_DEV'})|ipac~o|$settings{'ORANGE_DEV'}|all|||\n"; print FILE "outgoing ORANGE ($settings{'ORANGE_DEV'})|ipac~i|$settings{'ORANGE_DEV'}|all|||\n"; @@ -38,7 +38,7 @@ if ($settings{'CONFIG_TYPE'} =~ /^(1|3|5|7)$/ ) print FILE "forwarded outgoing ORANGE ($settings{'ORANGE_DEV'})|ipac~fo|$settings{'ORANGE_DEV'}|all|||\n"; } -if ($settings{'CONFIG_TYPE'} =~ /^(4|5|6|7)$/ ) +if ($settings{'CONFIG_TYPE'} =~ /^(3|4)$/ ) { print FILE "incoming BLUE ($settings{'BLUE_DEV'})|ipac~o|$settings{'BLUE_DEV'}|all|||\n"; print FILE "outgoing BLUE ($settings{'BLUE_DEV'})|ipac~i|$settings{'BLUE_DEV'}|all|||\n"; diff --git a/src/initscripts/init.d/snort b/src/initscripts/init.d/snort index 60b937835b..e0d93c6ec5 100755 --- a/src/initscripts/init.d/snort +++ b/src/initscripts/init.d/snort @@ -40,7 +40,7 @@ if [ "$ENABLE_SNORT" == "on" ]; then else exit 1 ## Add error handling here fi - DEVICES+="`cat /var/ipfire/red/iface` " + DEVICES+=`cat /var/ipfire/red/iface` fi COUNT=`echo $HOME_NET | wc -m` @@ -62,7 +62,7 @@ case "$1" in start) for DEVICE in $DEVICES; do boot_mesg "Starting Intrusion Detection System on $DEVICE..." - /usr/sbin/snort -c /etc/snort/snort.conf -i $DEVICE -D -l /var/log/snort --pid-path /var/run/snort_$DEVICE.pid + /usr/sbin/snort -c /etc/snort/snort.conf -i $DEVICE -D -l /var/log/snort --pid-path /var/run/ evaluate_retval chmod 644 /var/run/snort_$DEVICE.pid done @@ -79,14 +79,18 @@ case "$1" in if [ -r /var/run/snort_$ORANGE_DEV.pid ]; then DEVICES+="$ORANGE_DEV " fi - if [ "$ENABLE_SNORT" == "on" ]; then - DEVICES+="`cat /var/ipfire/red/iface` " + + RED=`cat /var/ipfire/red/iface` + if [ -r /var/run/snort_$RED.pid ]; then + DEVICES+=`cat /var/ipfire/red/iface` fi - for DEVICE in $DEVICES; do + for DEVICE in $DEVICES; do boot_mesg "Stopping Intrusion Detection System on $DEVICE..." killproc -p /var/run/snort_$DEVICE.pid /var/run done + + rm /var/run/snort_* ;; status)