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
This commit is contained in:
maniacikarus
2007-07-09 16:51:43 +00:00
parent 01413a443f
commit cf29614f54
17 changed files with 390 additions and 159 deletions

49
config/backup/backup.pl Normal file
View File

@@ -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 = <DATEI>;
close(DATEI);
foreach (@Zeilen){
if ( $_ =~ /\*/){
my @files = `ls $_`;
foreach (@files){
push(@include,$_);
}
}
else {push(@include,$_);}
}
}

1
config/backup/exclude Normal file
View File

@@ -0,0 +1 @@
*.tmp

3
config/backup/include Normal file
View File

@@ -0,0 +1,3 @@
/var/ipfire/*/settings
/var/ipfire/*/*.conf
/var/ipfire/*/*.pem

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

82
html/cgi-bin/backup.cgi Normal file
View File

@@ -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 "<font color='red'>$message</font>"; }
&Header::openbox('100%', 'center', $Lang::tr{'backup'});
print <<END
<form method='post' action='$ENV{'SCRIPT_NAME'}'>
<table width='95%' cellspacing='0'>
<tr><td align='left' width='40%'>$Lang::tr{'logs'}</td><td align='left'>include Logfiles <input type='radio' name='BACKUPLOGS' value='include' checked='checked'/>/
<input type='radio' name='BACKUPLOGS' value='exclude'/> exclude Logfiles</td></tr>
<tr><td align='center' colspan='2'><input type='hidden' name='ACTION' value='backup' />
<input type='image' alt='$Lang::tr{'Scan for Files'}' title='$Lang::tr{'Scan for Files'}' src='/images/edit-find.png' /></td></tr>
</table>
</form>
END
;
&Header::closebox();
&Header::openbox('100%', 'center', $Lang::tr{'backups'});
print <<END
<form method='post' action='$ENV{'SCRIPT_NAME'}'>
<table width='95%' cellspacing='0'>
END
;
foreach (@backups){
print "<tr><td align='left' width='40%'>$Lang::tr{'backup from'}</td><td align='left'>$_</td></tr>";
}
print <<END
</table>
</form>
END
;
&Header::closebox();
&Header::closebigbox();
&Header::closepage();

View File

@@ -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 "<TABLE width='100%'><TR><TD VALIGN='TOP'><TABLE>";
print "<form method='post'>";
#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 "<TABLE width='100%'><TR><TD VALIGN='TOP'><TABLE>";
#
# print "<form method='post'>";
#
# # 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 "</TABLE></TD><TD VALIGN='TOP'><TABLE>";
# $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 "<TR><TD CLASS='base' VALIGN='TOP'><INPUT TYPE='checkbox' NAME='SNORT_RULE_$rulefile' $rulechecked> <A HREF='$rulefilelink'>$rulefile</A></TD></TR>";
# print "<TR><TD CLASS='base' VALIGN='TOP'>";
#
# # Check for empty 'Description'
# if ($snortrules{$rulefile}{'Description'} eq '') {
# print "<TABLE WIDTH='100%'><TR><TD CLASS='base'>No description available</TD></TR>";
# } else {
# # Output rule file 'Description'
# print "<TABLE WIDTH='100%'><TR><TD CLASS='base'>$snortrules{$rulefile}{'Description'}</TD></TR>";
# }
#
# # Check for display flag
# if ($displayrulefilerules) {
# # Rule file definition rule display
# print "<TR><TD CLASS='base' VALIGN='TOP'><TABLE border=1><TR>";
#
# # 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 "</TR><TR>";
# $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 "<TD CLASS='base'><INPUT TYPE='checkbox' NAME='$checkboxname' $ruledefchecked> $snortrules{$rulefile}{'Definition'}{$ruledef}{'Description'}</TD>";
#
# # Increment count
# $ruledefdisplaycnt++;
# }
#
# # If do not have second rule for row, create empty cell
# if (($ruledefdisplaycnt % 2) != 0) {
# print "<TD CLASS='base'></TD>";
# }
#
# # Close display table
# print "</TR></TABLE></TD></TR>";
# }
#
# # Close display table
# print "</TABLE>";
#
# # Increment ruledisplaycnt
# $ruledisplaycnt++;
# }
#
# print "</TD></TR></TABLE></TD></TR></TABLE>";
# print <<END
#<table width='100%'>
#<tr>
# <td width='33%'>&nbsp;</td>
# <td width='33%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'update'}' /></td>
# <td width='33%'>
# &nbsp; <!-- space for future online help link -->
# </td>
#</tr>
#</table>
#</form>
#END
#;
# &Header::closebox();
#}
# 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 "</TABLE></TD><TD VALIGN='TOP'><TABLE>";
$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 "<TR><TD CLASS='base' VALIGN='TOP'><INPUT TYPE='checkbox' NAME='SNORT_RULE_$rulefile' $rulechecked> <A HREF='$rulefilelink'>$rulefile</A></TD></TR>";
print "<TR><TD CLASS='base' VALIGN='TOP'>";
# Check for empty 'Description'
if ($snortrules{$rulefile}{'Description'} eq '') {
print "<TABLE WIDTH='100%'><TR><TD CLASS='base'>No description available</TD></TR>";
} else {
# Output rule file 'Description'
print "<TABLE WIDTH='100%'><TR><TD CLASS='base'>$snortrules{$rulefile}{'Description'}</TD></TR>";
}
# Check for display flag
if ($displayrulefilerules) {
# Rule file definition rule display
print "<TR><TD CLASS='base' VALIGN='TOP'><TABLE border=1><TR>";
# 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 "</TR><TR>";
$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 "<TD CLASS='base'><INPUT TYPE='checkbox' NAME='$checkboxname' $ruledefchecked> $snortrules{$rulefile}{'Definition'}{$ruledef}{'Description'}</TD>";
# Increment count
$ruledefdisplaycnt++;
}
# If do not have second rule for row, create empty cell
if (($ruledefdisplaycnt % 2) != 0) {
print "<TD CLASS='base'></TD>";
}
# Close display table
print "</TR></TABLE></TD></TR>";
}
# Close display table
print "</TABLE>";
# Increment ruledisplaycnt
$ruledisplaycnt++;
}
print "</TD></TR></TABLE></TD></TR></TABLE>";
print <<END
<table width='100%'>
<tr>
<td width='33%'>&nbsp;</td>
<td width='33%' align='center'><input type='submit' name='ACTION' value='$Lang::tr{'update'}' /></td>
<td width='33%'>
&nbsp; <!-- space for future online help link -->
</td>
</tr>
</table>
</form>
END
;
&Header::closebox();
}
####################### End added for snort rules control #################################
&Header::closebigbox();
&Header::closepage();

View File

@@ -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 "<TR BGCOLOR='$color{'color8'}'>\n";}
if ( ($color % 10) == 9 ){print "<TR BGCOLOR='$color{'color9'}'>\n";}
if ( ($color % 10) == 0 ){print "<TR BGCOLOR='$color{'color10'}'>\n";}
if ( $linesjc ne "0")
{
my $dif;
$dif = $linesjc - $total;
$percent = $dif * 100 / $linesjc;
@@ -480,6 +483,7 @@ print <<END
END
;
}
}
print <<END
</TABLE>
END

View File

@@ -459,6 +459,8 @@ if ( ($color % 10) == 8 ){print "<TR BGCOLOR='$color{'color8'}'>\n";}
if ( ($color % 10) == 9 ){print "<TR BGCOLOR='$color{'color9'}'>\n";}
if ( ($color % 10) == 0 ){print "<TR BGCOLOR='$color{'color10'}'>\n";}
if ( $linesjc ne "0")
{
my $dif;
$dif = $linesjc - $total;
$percent = $dif * 100 / $linesjc;
@@ -472,6 +474,7 @@ print <<END
END
;
}
}
print <<END
</TABLE>
END

View File

@@ -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',

View File

@@ -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',

68
lfs/backup Normal file
View File

@@ -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 <rod@sunsetsystems.com> #
# #
###############################################################################
###############################################################################
# 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)

View File

@@ -504,6 +504,7 @@ buildipfire() {
ipfiremake asterisk
ipfiremake mpg123
ipfiremake mpfire
ipfiremake backup
ipfiremake libmad
ipfiremake libogg
ipfiremake libvorbis

View File

@@ -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";

View File

@@ -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)