Merge branch 'master' of ssh://earl@git.ipfire.org/pub/git/ipfire-2.x
authorJan Paul Tuecking <earl@ipfire.org>
Sat, 9 Oct 2010 11:04:02 +0000 (13:04 +0200)
committerJan Paul Tuecking <earl@ipfire.org>
Sat, 9 Oct 2010 11:04:02 +0000 (13:04 +0200)
66 files changed:
config/backup/includes/imspector [new file with mode: 0644]
config/cfgroot/time-settings
config/etc/fstab
config/guardian/guardian.pl
config/guardian/guardian_block.sh
config/guardian/guardian_unblock.sh
config/imspector/imspector.conf [new file with mode: 0644]
config/menu/EX-imspector.menu [new file with mode: 0644]
config/outgoingfw/outgoingfw.pl
config/rootfiles/common/configroot
config/rootfiles/common/initscripts
config/rootfiles/common/openvpn
config/rootfiles/common/snort
config/rootfiles/common/strongswan
config/rootfiles/core/40/exclude
config/rootfiles/core/40/filelists/files
config/rootfiles/core/40/filelists/snort [new symlink]
config/rootfiles/core/40/filelists/strongswan [new symlink]
config/rootfiles/core/40/update.sh
config/rootfiles/core/41/exclude [new file with mode: 0644]
config/rootfiles/core/41/filelists/files [new file with mode: 0644]
config/rootfiles/core/41/meta [new file with mode: 0644]
config/rootfiles/core/41/update.sh [new file with mode: 0644]
config/rootfiles/packages/cups
config/rootfiles/packages/imspector [new file with mode: 0644]
config/rootfiles/packages/ipfireseeder
doc/packages-list.txt
html/cgi-bin/backup.cgi
html/cgi-bin/ids.cgi
html/cgi-bin/imspector.cgi [new file with mode: 0644]
html/cgi-bin/outgoingfw.cgi
html/cgi-bin/outgoinggrp.cgi
html/cgi-bin/pppsetup.cgi
html/cgi-bin/qos.cgi
html/cgi-bin/samba.cgi
html/cgi-bin/speed.cgi
html/cgi-bin/wlanap.cgi
langs/de/cgi-bin/de.pl
langs/en/cgi-bin/en.pl
langs/es/cgi-bin/es.pl
langs/fr/cgi-bin/fr.pl
lfs/configroot
lfs/cups
lfs/dnsmasq
lfs/guardian
lfs/hostapd
lfs/htop
lfs/igb [new file with mode: 0644]
lfs/imspector [new file with mode: 0644]
lfs/initscripts
lfs/ipfireseeder
lfs/mpd
lfs/openvpn
lfs/samba
lfs/snort
lfs/strongswan
make.sh
src/initscripts/init.d/firewall
src/initscripts/init.d/imspector [new file with mode: 0644]
src/initscripts/init.d/ipfireseeder
src/initscripts/init.d/networking/red
src/initscripts/init.d/ntp
src/paks/ipfireseeder/install.sh
src/paks/ipfireseeder/uninstall.sh
src/paks/ipfireseeder/update.sh
src/ppp/ip-up

diff --git a/config/backup/includes/imspector b/config/backup/includes/imspector
new file mode 100644 (file)
index 0000000..cc7ef16
--- /dev/null
@@ -0,0 +1,3 @@
+/etc/imspector/acl.txt
+/etc/imspector/badwords.txt
+/etc/imspector/imspector.conf
\ No newline at end of file
index 577b0b3455e700a1eaf6977c4a7ffebf0a67b8c1..d10a86d9f18e9d5c1be9970bc7794f39f45df309 100644 (file)
@@ -1,7 +1,7 @@
-NTP_ADDR_2=pool.ntp.org
+NTP_ADDR_2=1.ipfire.pool.ntp.org
 UPDATE_PERIOD=daily
 UPDATE_VALUE=1
 UPDATE_METHOD=manually
 ENABLENTP=off
-NTP_ADDR_1=de.pool.ntp.org
+NTP_ADDR_1=0.ipfire.pool.ntp.org
 VALID=yes
index c0f98b3a4df7b259896dd278ff8e9d865c7376a3..4860d6f9444d502d90c9c201717e97ba25c7d3a1 100644 (file)
@@ -10,5 +10,5 @@ sysfs /sys    sysfs   defaults        0       0
 devpts /dev/pts        devpts   gid=4,mode=620  0     0
 #none  /tmp            tmpfs   defaults        0       0
 none   /var/log/rrd    tmpfs   defaults,size=64M       0       0
-none   /var/lock       tmpfs   defaults,size=2M        0       0
+none   /var/lock       tmpfs   defaults,size=8M        0       0
 none   /var/run        tmpfs   defaults,size=2M        0       0
index 8c2e3b7046e98a3094bd1f28e8a7908dbbd7c866..0c37c34f4f8e22e4bd59c44dfcf9bd9069a7029e 100644 (file)
@@ -94,7 +94,7 @@ for (;;) {
                while (<ALERT2>) {
                        chop;
                        if ($_=~/.*sshd.*Failed password for root from.*/) {
-                               my @array=split(/ /,$_);&checkssh ($array[10], "possible SSH-Bruteforce Attack");}
+                               my @array=split(/ /,$_);&checkssh ($array[11], "possible SSH-Bruteforce Attack");}
                        }
        }
 
index bc344d1534991a8fce9816e22a13410ce85b53b5..0a44325f187755e5047d63a1105eb17f8fc1f3b7 100644 (file)
@@ -8,4 +8,4 @@
 # done inside guardian itself.
 source=$1
 
-/sbin/iptables -I INPUT -s $source -j DROP
+/sbin/iptables -I GUARDIANINPUT -s $source -j DROP
index 5e0b379037d82ff7b060d9ee1ff4d95c648d3496..e0d3b5d4812093557cf8838bce4f0f9ca24a386f 100644 (file)
@@ -6,4 +6,4 @@
 # and the script will issue a command to remove the block that was created with # block.sh address. 
 source=$1
 
-/sbin/iptables -D INPUT -s $source -j DROP
+/sbin/iptables -D GUARDIANINPUT -s $source -j DROP
diff --git a/config/imspector/imspector.conf b/config/imspector/imspector.conf
new file mode 100644 (file)
index 0000000..a37241d
--- /dev/null
@@ -0,0 +1,24 @@
+# The listening port for redirected connections
+port=16667
+
+# For dropping privs - you probably want to do this.
+user=nobody
+group=nobody
+
+# Prefix and postfix to all responses using all responder plugins
+response_prefix=Message from IMSpector: -=
+response_postfix==-
+
+# Will load enabled plugins in plugin_dir
+icq_protocol=on
+irc_protocol=on
+msn_protocol=on
+yahoo_protocol=on
+gg_protocol=on
+jabber_protocol=on
+
+# Location where the file logging plugin will start from.
+file_logging_dir=/var/log/imspector/
+log_typing_events=on
+
+plugin_dir=/usr/lib/imspector
diff --git a/config/menu/EX-imspector.menu b/config/menu/EX-imspector.menu
new file mode 100644 (file)
index 0000000..c88866f
--- /dev/null
@@ -0,0 +1,5 @@
+    $subipfire->{'30.imspector'} = {'caption' => 'Imspector',
+                                 'uri' => '/cgi-bin/imspector.cgi',
+                                 'title' => 'Imspector',
+                                 'enabled' => 1,
+                                 };
index 1bdd6127b8436a1320b4dad1d4176d6d666ddb46..8d4d27d313136ab2ae486a50dece740d4f54b9ab 100644 (file)
@@ -2,7 +2,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2005-2010  IPTifre Team                                       #
+# Copyright (C) 2005-2010  IPFire Team                                        #
 #                                                                             #
 # 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        #
@@ -94,7 +94,7 @@ if ( $outfwsettings{'POLICY'} eq 'MODE1' ) {
 } elsif ( $outfwsettings{'POLICY'} eq 'MODE2' ) {
        $outfwsettings{'STATE'} = "DENY";
        $POLICY = "ACCEPT";
-       $DO = "DROP -m comment --comment 'DROP_OUTGOINGFW'";
+       $DO = "DROP -m comment --comment 'DROP_OUTGOINGFW '";
 }
 
 ### Initialize IPTables
@@ -102,15 +102,23 @@ system("/sbin/iptables --flush OUTGOINGFW >/dev/null 2>&1");
 system("/sbin/iptables --delete-chain OUTGOINGFW >/dev/null 2>&1");
 system("/sbin/iptables -N OUTGOINGFW >/dev/null 2>&1");
 
+system("/sbin/iptables --flush OUTGOINGFWMAC >/dev/null 2>&1");
+system("/sbin/iptables --delete-chain OUTGOINGFWMAC >/dev/null 2>&1");
+system("/sbin/iptables -N OUTGOINGFWMAC >/dev/null 2>&1");
+
 if ( $outfwsettings{'POLICY'} eq 'MODE0' ) {
        exit 0
 }
 
 if ( $outfwsettings{'POLICY'} eq 'MODE1' ) {
        $CMD = "/sbin/iptables -A OUTGOINGFW -m state --state ESTABLISHED,RELATED -j ACCEPT";
+       if ($DEBUG) { print "$CMD\n"; } else { system("$CMD"); }
+       $CMD = "/sbin/iptables -A OUTGOINGFWMAC -m state --state ESTABLISHED,RELATED -j ACCEPT";
        if ($DEBUG) { print "$CMD\n"; } else { system("$CMD"); }
                $CMD = "/sbin/iptables -A OUTGOINGFW -p icmp -j ACCEPT";
        if ($DEBUG) { print "$CMD\n"; } else { system("$CMD"); }
+               $CMD = "/sbin/iptables -A OUTGOINGFWMAC -p icmp -j ACCEPT";
+       if ($DEBUG) { print "$CMD\n"; } else { system("$CMD"); }
 }
 
 foreach $configentry (sort @configs)
@@ -145,19 +153,24 @@ foreach $configentry (sort @configs)
                } elsif ($configline[2] eq 'ip') {
                        @SOURCE = ("$configline[5]");
                        $DEV = "";
+               } elsif ($configline[2] eq 'mac') {
+                       @SOURCE = ("$configline[6]");
+                       $DEV = "";
                } elsif ($configline[2] eq 'all') {
                        @SOURCE = ("0/0");
                        $DEV = "";
                } else {
-                       if ( -e "/var/ipfire/outgoing/groups/ipgroups/$configline[2]" )
-                       {
+                       if ( -e "/var/ipfire/outgoing/groups/ipgroups/$configline[2]" ) {
                                @SOURCE = `cat /var/ipfire/outgoing/groups/ipgroups/$configline[2]`;
+                       } elsif ( -e "/var/ipfire/outgoing/groups/macgroups/$configline[2]" ) {
+                               @SOURCE = `cat /var/ipfire/outgoing/groups/macgroups/$configline[2]`;
+                               $configline[2] = "mac";
                        }
                        $DEV = "";
                }
 
                if ($configline[7]) { $DESTINATION = "$configline[7]"; } else { $DESTINATION = "0/0"; }
-               
+
                if ($configline[3] eq 'tcp') {
                        @PROTO = ("tcp");
                } elsif ($configline[3] eq 'udp') {
@@ -174,9 +187,14 @@ foreach $configentry (sort @configs)
                        foreach $SOURCE (@SOURCE) {
                                $SOURCE =~ s/\s//gi;
 
-                                if ( $SOURCE eq "" ){next;}
+                               if ( $SOURCE eq "" ){next;}
 
-                               $CMD = "/sbin/iptables -A OUTGOINGFW -s $SOURCE -d $DESTINATION -p $PROTO";
+                               if ( ( $configline[6] ne "" || $configline[2] eq 'mac' ) && $configline[2] ne 'all'){
+                                       $SOURCE =~ s/[^a-zA-Z0-9]/:/gi;
+                                       $CMD = "/sbin/iptables -A OUTGOINGFWMAC -m mac --mac-source $SOURCE -d $DESTINATION -p $PROTO";
+                               } else {
+                                       $CMD = "/sbin/iptables -A OUTGOINGFW -s $SOURCE -d $DESTINATION -p $PROTO";
+                               }
 
                                 if ($configline[8] && ( $configline[3] ne 'esp' || $configline[3] ne 'gre') ) {
                                        $DPORT = "$configline[8]";
@@ -187,11 +205,6 @@ foreach $configentry (sort @configs)
                                        $CMD = "$CMD -i $DEV";
                                }
 
-                               if ($configline[6]) {
-                                       $MAC = "$configline[6]";
-                                       $CMD = "$CMD -m mac --mac-source $MAC";
-                               }
-
                                if ($configline[17] && $configline[18]) {
                                        if ($configline[10]){$DAY = "Mon,"}
                                        if ($configline[11]){$DAY .= "Tue,"}
@@ -263,10 +276,10 @@ if ( $outfwsettings{'POLICY'} eq 'MODE1' ) {
                }
         }
 
-       $CMD = "/sbin/iptables -A OUTGOINGFW -o $netsettings{'RED_DEV'} -j DROP -m comment --comment 'DROP_OUTGOINGFW'";
+       $CMD = "/sbin/iptables -A OUTGOINGFW -o $netsettings{'RED_DEV'} -j DROP -m comment --comment 'DROP_OUTGOINGFW '";
        if ($DEBUG) {
                print "$CMD\n";
        } else {
                system("$CMD");
        }
-}
+}
\ No newline at end of file
index d0471048b34845c8a3ca88f4f251b7ab6a635b93..5f0faf3a08c4a4902e4abbb9d4f0c9d26b474aac 100644 (file)
@@ -79,6 +79,7 @@ var/ipfire/menu.d/70-log.menu
 #var/ipfire/menu.d/EX-apcupsd.menu
 #var/ipfire/menu.d/EX-asterisk.menu
 #var/ipfire/menu.d/EX-bluetooth.menu
+#var/ipfire/menu.d/EX-imspector.menu
 #var/ipfire/menu.d/EX-mpfire.menu
 #var/ipfire/menu.d/EX-samba.menu
 #var/ipfire/menu.d/EX-tripwire.menu
@@ -101,7 +102,7 @@ var/ipfire/outgoing
 var/ipfire/outgoing/defaultservices
 #var/ipfire/outgoing/groups
 #var/ipfire/outgoing/groups/ipgroups
-#var/ipfire/outgoing/ipgroups
+#var/ipfire/outgoing/groups/macgroups
 #var/ipfire/outgoing/p2protocols
 #var/ipfire/outgoing/rules
 #var/ipfire/outgoing/settings
index 180666fe7759b15952c116f74b23df10d9f86a6c..0a99dc97a9ca97d533b626c30f4b1785ddd76075 100644 (file)
@@ -1,4 +1,3 @@
-etc/init.d
 #etc/rc.d
 #etc/rc.d/helper
 etc/rc.d/helper/getdnsfromdhcpc.pl
@@ -33,21 +32,26 @@ etc/rc.d/init.d/functions
 etc/rc.d/init.d/halt
 #etc/rc.d/init.d/hostapd
 #etc/rc.d/init.d/icecream
+#etc/rc.d/init.d/imspector
 #etc/rc.d/init.d/ipfireseeder
 etc/rc.d/init.d/ipsec
 #etc/rc.d/init.d/lcd4linux
 #etc/rc.d/init.d/lcr
 etc/rc.d/init.d/leds
 etc/rc.d/init.d/localnet
+etc/rc.d/init.d/mISDN
+#etc/rc.d/init.d/mdadm
 #etc/rc.d/init.d/mediatomb
 #etc/rc.d/init.d/messagebus
+#etc/rc.d/init.d/miau
 #etc/rc.d/init.d/mldonkey
-etc/rc.d/init.d/mISDN
 etc/rc.d/init.d/modules
+#etc/rc.d/init.d/motion
 etc/rc.d/init.d/mountfs
 etc/rc.d/init.d/mountkernfs
 #etc/rc.d/init.d/mpd
 #etc/rc.d/init.d/mysql
+#etc/rc.d/init.d/netsnmpd
 etc/rc.d/init.d/network
 #etc/rc.d/init.d/networking
 etc/rc.d/init.d/networking/any
@@ -78,10 +82,10 @@ etc/rc.d/init.d/networking/red.up/50-ipsec
 etc/rc.d/init.d/networking/red.up/50-ovpn
 etc/rc.d/init.d/networking/red.up/99-U-dialctrl.pl
 etc/rc.d/init.d/networking/red.up/99-pakfire-update
-#etc/rc.d/init.d/openvmtools
 #etc/rc.d/init.d/nfs-server
 etc/rc.d/init.d/ntp
 #etc/rc.d/init.d/nut
+#etc/rc.d/init.d/openvmtools
 #etc/rc.d/init.d/portmap
 #etc/rc.d/init.d/postfix
 #etc/rc.d/init.d/pound
@@ -104,26 +108,33 @@ etc/rc.d/init.d/sysklogd
 etc/rc.d/init.d/teamspeak
 etc/rc.d/init.d/template
 #etc/rc.d/init.d/tftpd
+etc/rc.d/init.d/tmpfs
 etc/rc.d/init.d/udev
 etc/rc.d/init.d/udev_retry
 etc/rc.d/init.d/upnpd
 #etc/rc.d/init.d/vdr
+#etc/rc.d/init.d/vdradmin
 #etc/rc.d/init.d/vsftpd
 #etc/rc.d/init.d/watchdog
 #etc/rc.d/init.d/winbind
 #etc/rc.d/init.d/xinetd
 #etc/rc.d/rc0.d
+#etc/rc.d/rc0.d/K01imspetor
+#etc/rc.d/rc0.d/K01motion
+#etc/rc.d/rc0.d/K01vdradmin
 #etc/rc.d/rc0.d/K02mediatomb
 #etc/rc.d/rc0.d/K02sslh
 etc/rc.d/rc0.d/K08fcron
 etc/rc.d/rc0.d/K28apache
 etc/rc.d/rc0.d/K30sshd
 etc/rc.d/rc0.d/K45random
+etc/rc.d/rc0.d/K49cyrus-sasl
 etc/rc.d/rc0.d/K78snort
 etc/rc.d/rc0.d/K79leds
 etc/rc.d/rc0.d/K80network
 #etc/rc.d/rc0.d/K84bluetooth
 #etc/rc.d/rc0.d/K85messagebus
+etc/rc.d/rc0.d/K85tmpfs
 etc/rc.d/rc0.d/K90sysklogd
 etc/rc.d/rc0.d/K99beep
 etc/rc.d/rc0.d/S60sendsignals
@@ -132,6 +143,7 @@ etc/rc.d/rc0.d/S80mountfs
 etc/rc.d/rc0.d/S90swap
 etc/rc.d/rc0.d/S99halt
 #etc/rc.d/rc3.d
+etc/rc.d/rc3.d/S01tmpfs
 etc/rc.d/rc3.d/S10sysklogd
 #etc/rc.d/rc3.d/S15messagebus
 #etc/rc.d/rc3.d/S16bluetooth
@@ -139,6 +151,7 @@ etc/rc.d/rc3.d/S10sysklogd
 etc/rc.d/rc3.d/S19smartenabler
 etc/rc.d/rc3.d/S20network
 etc/rc.d/rc3.d/S21leds
+etc/rc.d/rc3.d/S24cyrus-sasl
 etc/rc.d/rc3.d/S25random
 etc/rc.d/rc3.d/S30sshd
 etc/rc.d/rc3.d/S32apache
@@ -147,18 +160,26 @@ etc/rc.d/rc3.d/S40fcron
 etc/rc.d/rc3.d/S98rc.local
 #etc/rc.d/rc3.d/S98sslh
 etc/rc.d/rc3.d/S99beep
+#etc/rc.d/rc3.d/S99imspetor
+#etc/rc.d/rc3.d/S99motion
+#etc/rc.d/rc3.d/S99vdradmin
 #etc/rc.d/rc6.d
+#etc/rc.d/rc6.d/K01imspetor
+#etc/rc.d/rc6.d/K01motion
+#etc/rc.d/rc6.d/K01vdradmin
 #etc/rc.d/rc6.d/K02mediatomb
 #etc/rc.d/rc6.d/K02sslh
 etc/rc.d/rc6.d/K08fcron
 etc/rc.d/rc6.d/K28apache
 etc/rc.d/rc6.d/K30sshd
 etc/rc.d/rc6.d/K45random
+etc/rc.d/rc6.d/K49cyrus-sasl
 etc/rc.d/rc6.d/K78snort
 etc/rc.d/rc6.d/K79leds
 etc/rc.d/rc6.d/K80network
 #etc/rc.d/rc6.d/K84bluetooth
 #etc/rc.d/rc6.d/K85messagebus
+etc/rc.d/rc6.d/K85tmpfs
 etc/rc.d/rc6.d/K90sysklogd
 etc/rc.d/rc6.d/K99beep
 etc/rc.d/rc6.d/S60sendsignals
@@ -186,24 +207,4 @@ etc/sysconfig/firewall.local
 etc/sysconfig/modules
 etc/sysconfig/rc
 etc/sysconfig/rc.local
-etc/rc.d/init.d/tmpfs
-etc/rc.d/rc0.d/K85tmpfs
-etc/rc.d/rc3.d/S01tmpfs
-etc/rc.d/rc6.d/K85tmpfs
-#etc/rc.d/init.d/vdradmin
-#etc/rc.d/rc0.d/K01vdradmin
-#etc/rc.d/rc3.d/S99vdradmin
-#etc/rc.d/rc6.d/K01vdradmin
-#etc/rc.d/init.d/motion
-#etc/rc.d/rc0.d/K01motion
-#etc/rc.d/rc3.d/S99motion
-#etc/rc.d/rc6.d/K01motion
-#etc/rc.d/init.d/miau
-#etc/rc.d/rc0.d/K01miau
-#etc/rc.d/rc3.d/S99miau
-#etc/rc.d/rc6.d/K01miau
-#etc/rc.d/init.d/netsnmpd
-#etc/rc.d/init.d/mdadm
-etc/rc.d/rc0.d/K49cyrus-sasl
-etc/rc.d/rc3.d/S24cyrus-sasl
-etc/rc.d/rc6.d/K49cyrus-sasl
+etc/init.d
index 47b42f991b6df109b08b3ea10bca540f93f32337..23742b3d8bdb5adfb2ed8ace5b9fd673c8ace8a6 100644 (file)
@@ -1,3 +1,4 @@
+lib/openvpn-auth-pam.so
 usr/sbin/openvpn
 #usr/share/doc/openvpn
 #usr/share/man/man8/openvpn.8
index 91970dd1c15ad36e8de096df77a2977fa4718374..2357b4d966fe4bb59935a9f0625f59114747ed25 100644 (file)
@@ -52,7 +52,6 @@ usr/lib/snort_dynamicpreprocessor
 #usr/lib/snort_dynamicpreprocessor/libsf_ssl_preproc.so
 #usr/lib/snort_dynamicpreprocessor/libsf_ssl_preproc.so.0
 #usr/lib/snort_dynamicpreprocessor/libsf_ssl_preproc.so.0.0.0
-#usr/man/man8/snort.8
 usr/sbin/snort
 #usr/share/doc/snort
 #usr/share/doc/snort/AUTHORS
@@ -106,4 +105,5 @@ usr/sbin/snort
 #usr/share/doc/snort/USAGE
 #usr/share/doc/snort/WISHLIST
 #usr/share/doc/snort/generators
+#usr/share/man/man8/snort.8
 var/log/snort
index bd0f1dee6ade31db84b3df07618c34170253b12b..8b9ec78a6df2ebc15f74359c7e3b8e0a183081f2 100644 (file)
@@ -1,5 +1,4 @@
 etc/ipsec.conf
-etc/ipsec.user.conf
 #etc/ipsec.d
 etc/ipsec.d/aacerts
 etc/ipsec.d/acerts
@@ -10,7 +9,6 @@ etc/ipsec.d/ocspcerts
 etc/ipsec.d/private
 etc/ipsec.d/reqs
 etc/ipsec.secrets
-etc/ipsec.user.secrets
 etc/strongswan.conf
 #usr/lib/libcharon.a
 #usr/lib/libcharon.la
@@ -81,6 +79,9 @@ usr/libexec/ipsec/plugins/libstrongswan-random.so
 #usr/libexec/ipsec/plugins/libstrongswan-resolve.a
 #usr/libexec/ipsec/plugins/libstrongswan-resolve.la
 usr/libexec/ipsec/plugins/libstrongswan-resolve.so
+#usr/libexec/ipsec/plugins/libstrongswan-revocation.a
+#usr/libexec/ipsec/plugins/libstrongswan-revocation.la
+usr/libexec/ipsec/plugins/libstrongswan-revocation.so
 #usr/libexec/ipsec/plugins/libstrongswan-sha1.a
 #usr/libexec/ipsec/plugins/libstrongswan-sha1.la
 usr/libexec/ipsec/plugins/libstrongswan-sha1.so
@@ -99,6 +100,9 @@ usr/libexec/ipsec/plugins/libstrongswan-updown.so
 #usr/libexec/ipsec/plugins/libstrongswan-x509.a
 #usr/libexec/ipsec/plugins/libstrongswan-x509.la
 usr/libexec/ipsec/plugins/libstrongswan-x509.so
+#usr/libexec/ipsec/plugins/libstrongswan-xauth.a
+#usr/libexec/ipsec/plugins/libstrongswan-xauth.la
+usr/libexec/ipsec/plugins/libstrongswan-xauth.so
 #usr/libexec/ipsec/plugins/libstrongswan-xcbc.a
 #usr/libexec/ipsec/plugins/libstrongswan-xcbc.la
 usr/libexec/ipsec/plugins/libstrongswan-xcbc.so
@@ -136,3 +140,5 @@ usr/sbin/ipsec
 #usr/share/man/man8/pluto.8
 #usr/share/man/man8/scepclient.8
 #usr/share/man/man8/starter.8
+etc/ipsec.user.conf
+etc/ipsec.user.secrets
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..086e44529cc04edb38e7efdf4185bbf3e114aadd 100644 (file)
@@ -0,0 +1,4 @@
+etc/ipsec.conf
+etc/ipsec.secrets
+etc/ipsec.user.conf
+etc/ipsec.user.secrets
index 883eb86e282bad123717af0ef441a7d38b2accde..aee6ea302523803d23827ffadb729ad7f6400d66 100644 (file)
@@ -1,13 +1,22 @@
 etc/system-release
+etc/ppp/ip-up
 var/ipfire/langs/en.pl
 var/ipfire/langs/de.pl
 var/ipfire/langs/es.pl
 var/ipfire/langs/fr.pl
 var/ipfire/dhcp/dhcpd.conf.local
+var/ipfire/outgoing/bin/outgoingfw.pl
 etc/rc.d/init.d/dnsmasq
+etc/rc.d/init.d/firewall
 etc/rc.d/init.d/functions
+etc/rc.d/init.d/networking/red
+srv/web/ipfire/cgi-bin/backup.cgi
 srv/web/ipfire/cgi-bin/dhcp.cgi
+srv/web/ipfire/cgi-bin/ids.cgi
 srv/web/ipfire/cgi-bin/time.cgi
+srv/web/ipfire/cgi-bin/pppsetup.cgi
+srv/web/ipfire/cgi-bin/outgoinggrp.cgi
+srv/web/ipfire/cgi-bin/outgoingfw.cgi
 srv/web/ipfire/cgi-bin/qos.cgi
 usr/lib/python2.7/ipaddr.pyc
 usr/lib/python2.7/site-packages/drv_libxml2.py
@@ -19,4 +28,8 @@ lib/modules/2.6.32.15-ipfire/kernel/drivers/usb/serial/option.ko
 lib/modules/2.6.32.15-ipfire-xen/kernel/drivers/usb/serial/option.ko
 lib/modules/2.6.32.15-ipfire/kernel/drivers/usb/serial/usbserial.ko
 lib/modules/2.6.32.15-ipfire-xen/kernel/drivers/usb/serial/usbserial.ko
+lib/modules/2.6.32.15-ipfire/kernel/drivers/net/igb/igb.ko
+lib/modules/2.6.32.15-ipfire/kernel/drivers/net/igb/igb.ko.org
+lib/modules/2.6.32.15-ipfire-xen/kernel/drivers/net/igb/igb.ko
+lib/modules/2.6.32.15-ipfire-xen/kernel/drivers/net/igb/igb.ko.org
 usr/sbin/openvpn
diff --git a/config/rootfiles/core/40/filelists/snort b/config/rootfiles/core/40/filelists/snort
new file mode 120000 (symlink)
index 0000000..9406ce0
--- /dev/null
@@ -0,0 +1 @@
+../../../common/snort
\ No newline at end of file
diff --git a/config/rootfiles/core/40/filelists/strongswan b/config/rootfiles/core/40/filelists/strongswan
new file mode 120000 (symlink)
index 0000000..90c727e
--- /dev/null
@@ -0,0 +1 @@
+../../../common/strongswan
\ No newline at end of file
index 887820032f4219d1485053f077fe7ad63a742a96..fa420c16cf45d8173e5313b2032a8277b5975abe 100644 (file)
@@ -45,12 +45,17 @@ perl -e "require '/var/ipfire/lang.pl'; &Lang::BuildCacheLang"
 # Change var lock size to 8MB
 grep -v "/var/lock" /etc/fstab > /tmp/fstab.tmp
 mv /tmp/fstab.tmp /etc/fstab
-echo non        /var/lock        tmpfs   defaults,size=8M      0       0 >> /etc/fstab
+echo none      /var/lock       tmpfs   defaults,size=8M        0       0 >> /etc/fstab
 
 
 #Rebuild module dep's
 depmod 2.6.32.15-ipfire
 depmod 2.6.32.15-ipfire-xen
+
+#Create the misssing mac group
+mkdir /var/ipfire/outgoing/macgroups
+chown nobody.nobody /var/ipfire/outgoing/macgroups
+
 #
 #Finish
 #Don't report the exitcode last command
diff --git a/config/rootfiles/core/41/exclude b/config/rootfiles/core/41/exclude
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/config/rootfiles/core/41/filelists/files b/config/rootfiles/core/41/filelists/files
new file mode 100644 (file)
index 0000000..0037af1
--- /dev/null
@@ -0,0 +1 @@
+etc/system-release
diff --git a/config/rootfiles/core/41/meta b/config/rootfiles/core/41/meta
new file mode 100644 (file)
index 0000000..d547fa8
--- /dev/null
@@ -0,0 +1 @@
+DEPS=""
diff --git a/config/rootfiles/core/41/update.sh b/config/rootfiles/core/41/update.sh
new file mode 100644 (file)
index 0000000..6b54995
--- /dev/null
@@ -0,0 +1,48 @@
+#!/bin/bash
+############################################################################
+#                                                                          #
+# This file is part of the IPFire Firewall.                                #
+#                                                                          #
+# IPFire 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.                                      #
+#                                                                          #
+# IPFire 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 IPFire; if not, write to the Free Software                    #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
+#                                                                          #
+# Copyright (C) 2010 IPFire-Team <info@ipfire.org>.                        #
+#                                                                          #
+############################################################################
+#
+. /opt/pakfire/lib/functions.sh
+/usr/local/bin/backupctrl exclude >/dev/null 2>&1
+
+#
+#Stop services
+
+#
+#Extract files
+extract_files
+
+#
+#Start services
+
+#
+#Update Language cache
+#perl -e "require '/var/ipfire/lang.pl'; &Lang::BuildCacheLang"
+
+#Rebuild module dep's
+#depmod 2.6.32.15-ipfire
+#depmod 2.6.32.15-ipfire-xen
+
+#
+#Finish
+#Don't report the exitcode last command
+exit 0
index 4ed85c6850ca463eba0d6fd881d8d06e98431ae2..b2f0d8c1d39f9c36959cbe9fc09af8165fe07272 100644 (file)
@@ -446,6 +446,147 @@ usr/share/cups/templates/header.tmpl
 usr/share/cups/templates/help-header.tmpl
 usr/share/cups/templates/help-printable.tmpl
 usr/share/cups/templates/help-trailer.tmpl
+#usr/share/cups/templates/id
+#usr/share/cups/templates/id/add-class.tmpl
+#usr/share/cups/templates/id/add-printer.tmpl
+#usr/share/cups/templates/id/add-rss-subscription.tmpl
+#usr/share/cups/templates/id/admin.tmpl
+#usr/share/cups/templates/id/choose-device.tmpl
+#usr/share/cups/templates/id/choose-make.tmpl
+#usr/share/cups/templates/id/choose-model.tmpl
+#usr/share/cups/templates/id/choose-serial.tmpl
+#usr/share/cups/templates/id/choose-uri.tmpl
+#usr/share/cups/templates/id/class-added.tmpl
+#usr/share/cups/templates/id/class-confirm.tmpl
+#usr/share/cups/templates/id/class-deleted.tmpl
+#usr/share/cups/templates/id/class-jobs-header.tmpl
+#usr/share/cups/templates/id/class-modified.tmpl
+#usr/share/cups/templates/id/class.tmpl
+#usr/share/cups/templates/id/classes-header.tmpl
+#usr/share/cups/templates/id/classes.tmpl
+#usr/share/cups/templates/id/command.tmpl
+#usr/share/cups/templates/id/edit-config.tmpl
+#usr/share/cups/templates/id/error-op.tmpl
+#usr/share/cups/templates/id/error.tmpl
+#usr/share/cups/templates/id/header.tmpl
+#usr/share/cups/templates/id/help-header.tmpl
+#usr/share/cups/templates/id/help-printable.tmpl
+#usr/share/cups/templates/id/help-trailer.tmpl
+#usr/share/cups/templates/id/job-cancel.tmpl
+#usr/share/cups/templates/id/job-hold.tmpl
+#usr/share/cups/templates/id/job-move.tmpl
+#usr/share/cups/templates/id/job-moved.tmpl
+#usr/share/cups/templates/id/job-release.tmpl
+#usr/share/cups/templates/id/job-restart.tmpl
+#usr/share/cups/templates/id/jobs-header.tmpl
+#usr/share/cups/templates/id/jobs.tmpl
+#usr/share/cups/templates/id/list-available-printers.tmpl
+#usr/share/cups/templates/id/modify-class.tmpl
+#usr/share/cups/templates/id/modify-printer.tmpl
+#usr/share/cups/templates/id/norestart.tmpl
+#usr/share/cups/templates/id/option-boolean.tmpl
+#usr/share/cups/templates/id/option-conflict.tmpl
+#usr/share/cups/templates/id/option-header.tmpl
+#usr/share/cups/templates/id/option-pickmany.tmpl
+#usr/share/cups/templates/id/option-pickone.tmpl
+#usr/share/cups/templates/id/option-trailer.tmpl
+#usr/share/cups/templates/id/pager.tmpl
+#usr/share/cups/templates/id/printer-accept.tmpl
+#usr/share/cups/templates/id/printer-added.tmpl
+#usr/share/cups/templates/id/printer-configured.tmpl
+#usr/share/cups/templates/id/printer-confirm.tmpl
+#usr/share/cups/templates/id/printer-default.tmpl
+#usr/share/cups/templates/id/printer-deleted.tmpl
+#usr/share/cups/templates/id/printer-jobs-header.tmpl
+#usr/share/cups/templates/id/printer-modified.tmpl
+#usr/share/cups/templates/id/printer-purge.tmpl
+#usr/share/cups/templates/id/printer-reject.tmpl
+#usr/share/cups/templates/id/printer-start.tmpl
+#usr/share/cups/templates/id/printer-stop.tmpl
+#usr/share/cups/templates/id/printer.tmpl
+#usr/share/cups/templates/id/printers-header.tmpl
+#usr/share/cups/templates/id/printers.tmpl
+#usr/share/cups/templates/id/restart.tmpl
+#usr/share/cups/templates/id/samba-export.tmpl
+#usr/share/cups/templates/id/samba-exported.tmpl
+#usr/share/cups/templates/id/search.tmpl
+#usr/share/cups/templates/id/set-printer-options-header.tmpl
+#usr/share/cups/templates/id/set-printer-options-trailer.tmpl
+#usr/share/cups/templates/id/subscription-added.tmpl
+#usr/share/cups/templates/id/subscription-canceled.tmpl
+#usr/share/cups/templates/id/test-page.tmpl
+#usr/share/cups/templates/id/trailer.tmpl
+#usr/share/cups/templates/id/users.tmpl
+#usr/share/cups/templates/it
+#usr/share/cups/templates/it/add-class.tmpl
+#usr/share/cups/templates/it/add-printer.tmpl
+#usr/share/cups/templates/it/add-rss-subscription.tmpl
+#usr/share/cups/templates/it/admin.tmpl
+#usr/share/cups/templates/it/choose-device.tmpl
+#usr/share/cups/templates/it/choose-make.tmpl
+#usr/share/cups/templates/it/choose-model.tmpl
+#usr/share/cups/templates/it/choose-serial.tmpl
+#usr/share/cups/templates/it/choose-uri.tmpl
+#usr/share/cups/templates/it/class-added.tmpl
+#usr/share/cups/templates/it/class-confirm.tmpl
+#usr/share/cups/templates/it/class-deleted.tmpl
+#usr/share/cups/templates/it/class-jobs-header.tmpl
+#usr/share/cups/templates/it/class-modified.tmpl
+#usr/share/cups/templates/it/class.tmpl
+#usr/share/cups/templates/it/classes-header.tmpl
+#usr/share/cups/templates/it/classes.tmpl
+#usr/share/cups/templates/it/command.tmpl
+#usr/share/cups/templates/it/edit-config.tmpl
+#usr/share/cups/templates/it/error-op.tmpl
+#usr/share/cups/templates/it/error.tmpl
+#usr/share/cups/templates/it/help-header.tmpl
+#usr/share/cups/templates/it/help-printable.tmpl
+#usr/share/cups/templates/it/help-trailer.tmpl
+#usr/share/cups/templates/it/job-cancel.tmpl
+#usr/share/cups/templates/it/job-hold.tmpl
+#usr/share/cups/templates/it/job-move.tmpl
+#usr/share/cups/templates/it/job-moved.tmpl
+#usr/share/cups/templates/it/job-release.tmpl
+#usr/share/cups/templates/it/job-restart.tmpl
+#usr/share/cups/templates/it/jobs-header.tmpl
+#usr/share/cups/templates/it/jobs.tmpl
+#usr/share/cups/templates/it/list-available-printers.tmpl
+#usr/share/cups/templates/it/modify-class.tmpl
+#usr/share/cups/templates/it/modify-printer.tmpl
+#usr/share/cups/templates/it/norestart.tmpl
+#usr/share/cups/templates/it/option-boolean.tmpl
+#usr/share/cups/templates/it/option-conflict.tmpl
+#usr/share/cups/templates/it/option-header.tmpl
+#usr/share/cups/templates/it/option-pickmany.tmpl
+#usr/share/cups/templates/it/option-pickone.tmpl
+#usr/share/cups/templates/it/option-trailer.tmpl
+#usr/share/cups/templates/it/pager.tmpl
+#usr/share/cups/templates/it/printer-accept.tmpl
+#usr/share/cups/templates/it/printer-added.tmpl
+#usr/share/cups/templates/it/printer-configured.tmpl
+#usr/share/cups/templates/it/printer-confirm.tmpl
+#usr/share/cups/templates/it/printer-default.tmpl
+#usr/share/cups/templates/it/printer-deleted.tmpl
+#usr/share/cups/templates/it/printer-jobs-header.tmpl
+#usr/share/cups/templates/it/printer-modified.tmpl
+#usr/share/cups/templates/it/printer-purge.tmpl
+#usr/share/cups/templates/it/printer-reject.tmpl
+#usr/share/cups/templates/it/printer-start.tmpl
+#usr/share/cups/templates/it/printer-stop.tmpl
+#usr/share/cups/templates/it/printer.tmpl
+#usr/share/cups/templates/it/printers-header.tmpl
+#usr/share/cups/templates/it/printers.tmpl
+#usr/share/cups/templates/it/restart.tmpl
+#usr/share/cups/templates/it/samba-export.tmpl
+#usr/share/cups/templates/it/samba-exported.tmpl
+#usr/share/cups/templates/it/search.tmpl
+#usr/share/cups/templates/it/set-printer-options-header.tmpl
+#usr/share/cups/templates/it/set-printer-options-trailer.tmpl
+#usr/share/cups/templates/it/subscription-added.tmpl
+#usr/share/cups/templates/it/subscription-canceled.tmpl
+#usr/share/cups/templates/it/test-page.tmpl
+#usr/share/cups/templates/it/trailer.tmpl
+#usr/share/cups/templates/it/users.tmpl
 #usr/share/cups/templates/ja
 #usr/share/cups/templates/ja/add-class.tmpl
 #usr/share/cups/templates/ja/add-printer.tmpl
@@ -797,6 +938,8 @@ usr/share/doc/cups/help
 #usr/share/doc/cups/help/standard.html
 #usr/share/doc/cups/help/translation.html
 #usr/share/doc/cups/help/whatsnew.html
+#usr/share/doc/cups/id
+#usr/share/doc/cups/id/index.html
 usr/share/doc/cups/images
 #usr/share/doc/cups/images/color-wheel.png
 #usr/share/doc/cups/images/cups-block-diagram.png
@@ -813,6 +956,8 @@ usr/share/doc/cups/images
 #usr/share/doc/cups/images/unsel.gif
 #usr/share/doc/cups/images/wait.gif
 usr/share/doc/cups/index.html
+#usr/share/doc/cups/it
+#usr/share/doc/cups/it/index.html
 #usr/share/doc/cups/ja
 #usr/share/doc/cups/ja/index.html
 #usr/share/doc/cups/pl
@@ -826,6 +971,7 @@ usr/share/doc/cups/robots.txt
 #usr/share/locale/eu/cups_eu.po
 #usr/share/locale/fi/cups_fi.po
 #usr/share/locale/fr/cups_fr.po
+#usr/share/locale/id/cups_id.po
 #usr/share/locale/it/cups_it.po
 #usr/share/locale/ja/cups_ja.po
 #usr/share/locale/ko/cups_ko.po
@@ -901,4 +1047,4 @@ var/run/cups
 var/run/cups/certs
 var/spool/cups
 var/spool/cups/tmp
-etc/rc.d/init.d/cups
+etc/rc.d/init.d/cups
\ No newline at end of file
diff --git a/config/rootfiles/packages/imspector b/config/rootfiles/packages/imspector
new file mode 100644 (file)
index 0000000..945c377
--- /dev/null
@@ -0,0 +1,28 @@
+etc/imspector
+etc/imspector.conf
+#etc/imspector/acl.txt
+#etc/imspector/badwords.txt
+#etc/imspector/imspector.conf
+usr/lib/imspector
+usr/lib/imspector/aclfilterplugin.so
+usr/lib/imspector/badwordsfilterplugin.so
+usr/lib/imspector/catsloggingplugin.so
+usr/lib/imspector/censordfilterplugin.so
+usr/lib/imspector/debugloggingplugin.so
+usr/lib/imspector/fileloggingplugin.so
+usr/lib/imspector/ggprotocolplugin.so
+usr/lib/imspector/httpsprotocolplugin.so
+usr/lib/imspector/icqprotocolplugin.so
+usr/lib/imspector/ircprotocolplugin.so
+usr/lib/imspector/jabberprotocolplugin.so
+usr/lib/imspector/miscfilterplugin.so
+usr/lib/imspector/msnprotocolplugin.so
+usr/lib/imspector/yahooprotocolplugin.so
+usr/lib/libimspector.so
+usr/sbin/imspector
+var/ipfire/backup/addons/includes/imspector
+var/lib/imspector
+var/log/imspector
+etc/rc.d/init.d/imspector
+srv/web/ipfire/cgi-bin/imspector.cgi
+var/ipfire/menu.d/EX-imspector.menu
index 64898bef21aacb31c042e3a2e38350da173cecd2..bacd4dda611cf127b0da6de081bbf67cd70ac8a2 100644 (file)
@@ -1,5 +1,5 @@
 etc/rc.d/init.d/ipfireseeder
 #var/ipfire/seeder
-var/ipfire/seeder/ipfire-2.7.i586-full-core39.iso.torrent
+var/ipfire/seeder/ipfire-2.7.i586-full-core40.iso.torrent
 #var/log/seeder
 var/log/seeder/info
index b6f9f881da78fb78ff52d49c3e624041243865f0..b4d15fadd21c27091c52caa92836a7622e128144 100644 (file)
@@ -75,7 +75,7 @@
 * cpufrequtils-007
 * cryptodev-20091126-kmod-2.6.32.15-ipfire
 * cryptodev-20091126-kmod-2.6.32.15-ipfire-xen
-* cups-1.4.2
+* cups-1.4.4
 * curl-7.19.5
 * cyrus-imapd-2.2.12
 * cyrus-sasl-2.1.21
 * hdparm-8.9
 * hostapd-0.7.2
 * hplip-2.7.10
-* htop-0.8.1
+* htop-0.8.3
 * httpd-2.2.15
 * hwdata
 * iana-etc-2.10
 * icecream-0.9.4.8
 * icegenerator-0.5.5-pre2
 * iftop-0.17
+* igb-2.3.4-kmod-2.6.32.15-ipfire
+* igb-2.3.4-kmod-2.6.32.15-ipfire-xen
 * igmpproxy-0.1
+* imspector-20101008
 * inetutils-1.4.2
 * ipaddr-1.2
 * iperf-2.0.4
 * module-init-tools-3.5
 * motion-3.2.11
 * mpc-0.19
-* mpd-0.15.8
+* mpd-0.15.12
 * mpeg2dec-0.4.0b
 * mpfire-ipfire
 * mtd-CVS-20070507
 * rssdler-0.4.0a
 * rsync-3.0.7
 * rtorrent-0.8.6
-* samba-3.5.4
+* samba-3.5.6
 * sane-1.0.19
 * screen-4.0.3
 * sdparm-1.01
 * shadow-4.0.15
 * slang-1.4.9
 * smartmontools-5.39.1
-* snort-2.8.6
+* snort-2.8.6.1
 * sox-12.18.1
 * spandsp-0.0.6pre12
 * splix-2.0.0-rc2
 * sshfs-fuse-2.2
 * sslh-1.7a
 * streamripper-1.63.5
-* strongswan-4.4.0
+* strongswan-4.4.1
 * sudo-1.6.8p12
 * sysfsutils-1.3.0
 * sysklogd-1.5
index d160349ff1d2e36f4302c02b02238b6dfe63ca73..86814e9719e9e09c12b5a1ecfe3db0c92cc84249 100644 (file)
@@ -252,7 +252,7 @@ print <<END
        <td align='right' width='5'>
                <form method='post' action='$ENV{'SCRIPT_NAME'}'>
                <input type='hidden' name='ACTION' value='delete' />
-               <input type='hidden' name='FILE' value='addons/backup/$_.ipf' />
+               <input type='hidden' name='FILE' value='addons//backup/$_.ipf' />
                <input type='image' alt='$Lang::tr{'delete'}' title='$Lang::tr{'delete'}' src='/images/user-trash.png' />
                </form>
        </td>
index 4d66d22d76bee20635896603b64031b50c78ef52..1b70ca693b7b173d547beb19897c39bf2d66b6a8 100644 (file)
@@ -264,11 +264,11 @@ if (-e "/etc/snort/snort.conf") {
 
 if ($snortsettings{'RULES'} eq 'subscripted') {
        #$url="http://dl.snort.org/sub-rules/snortrules-snapshot-2.8_s.tar.gz?oink_code=$snortsettings{'OINKCODE'}";
-       $url=" http://www.snort.org/reg-rules/snortrules-snapshot-2860_s.tar.gz/$snortsettings{'OINKCODE'}";
+       $url=" http://www.snort.org/reg-rules/snortrules-snapshot-2861_s.tar.gz/$snortsettings{'OINKCODE'}";
        #$url="http://www.snort.org/pub-bin/oinkmaster.cgi/$snortsettings{'OINKCODE'}/snortrules-snapshot-2.8_s.tar.gz";
 } elsif ($snortsettings{'RULES'} eq 'registered') {
        #$url="http://dl.snort.org/reg-rules/snortrules-snapshot-2.8.tar.gz?oink_code=$snortsettings{'OINKCODE'}";
-       $url=" http://www.snort.org/reg-rules/snortrules-snapshot-2860.tar.gz/$snortsettings{'OINKCODE'}";
+       $url=" http://www.snort.org/reg-rules/snortrules-snapshot-2861.tar.gz/$snortsettings{'OINKCODE'}";
        #$url="http://www.snort.org/pub-bin/oinkmaster.cgi/$snortsettings{'OINKCODE'}/snortrules-snapshot-2.8.tar.gz";
 } else {
        $url="http://www.emergingthreats.net/rules/emerging.rules.tar.gz";
diff --git a/html/cgi-bin/imspector.cgi b/html/cgi-bin/imspector.cgi
new file mode 100644 (file)
index 0000000..7cc2e64
--- /dev/null
@@ -0,0 +1,607 @@
+#!/usr/bin/perl
+#
+# IMSpector real-time log viewer
+# (c) SmoothWall Ltd 2008
+#
+# Released under the GPL v2.
+
+use POSIX qw(strftime);
+
+# Common configuration parameters.
+
+my $logbase = "/var/log/imspector/";
+my $oururl = '/cgi-bin/imspector.cgi';
+
+# Colours
+
+my $protocol_colour     = '#06264d';
+my $local_colour        = '#1d398b';
+my $remote_colour       = '#2149c1';
+my $conversation_colour = '#335ebe';
+
+my $local_user_colour   = 'blue';
+my $remote_user_colour  = 'green';
+
+# No need to change anything from this point
+
+# Page declaration, The following code should parse the CGI headers, and render the page
+# accordingly... How you do this depends what environment you're in.
+
+my %cgiparams;
+
+print "Content-type: text/html\n";
+print "\n";
+
+if ($ENV{'QUERY_STRING'})
+{
+       my @vars = split('\&', $ENV{'QUERY_STRING'});
+       foreach $_ (@vars)
+       {
+               my ($var, $val) = split(/\=/);
+               $cgiparams{$var} = $val;
+       }
+}
+
+# Act in Tail mode (as in just generate the raw logs and pass back to the other CGI
+
+if ( defined $cgiparams{'mode'} and $cgiparams{'mode'} eq "render" ){
+       &parser( $cgiparams{'section'}, $cgiparams{'offset'}, $cgiparams{'conversation'}, $cgiparams{'skimhtml'} );
+       exit;
+}
+
+# Start rendering the Page using Express' rendering functions
+
+my $script = &scriptheader();
+
+# Print Some header information 
+
+print qq|
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+       <title>IMSpector real-time log viewer</title>
+       $script
+</head>
+<body>
+|;
+
+print &pagebody();
+
+# and now finish off the HTML page.
+
+print qq|
+</body>
+</html>
+|;
+
+exit;
+
+# -----------------------------------------------------------------------------
+# ---------------------- IMSPector Log Viewer Code ----------------------------
+# -----------------------------------------------------------------------------
+#           ^"^                                                 ^"^
+
+# Scriptheader
+# ------------
+# Return the bulk of the page, which should reside in the pages <head> field
+
+sub scriptheader
+{
+       my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday ) = localtime( time() );
+       $year += 1900; $mon++;
+       my $conversation = sprintf( "%.4d-%.2d-%.2d", $year, $mon, $mday );
+
+       my $script = qq {
+<script language="Javascript">
+var section         ='none';
+var moveit          = 1;
+var skimhtml        = 1;
+var the_timeout;
+var offset          = 0;
+var fragment        = "";
+var conversationdate = "$conversation";
+
+function xmlhttpPost()
+{
+       var self = this;
+       
+       if (window.XMLHttpRequest) {
+               // Mozilla/Safari
+               self.xmlHttpReq = new XMLHttpRequest();
+       } else if (window.ActiveXObject) {
+               // IE
+               self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
+       }
+
+       var url = "$url" + "?mode=render&section=" + section + "&skimhtml=" + skimhtml + "&offset=" + offset + "&conversation=" + conversationdate;
+       self.xmlHttpReq.open('POST', url, true);
+       self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
+
+       self.xmlHttpReq.onreadystatechange = function() {
+               if ( self.xmlHttpReq && self.xmlHttpReq.readyState == 4) {
+                       updatepage(self.xmlHttpReq.responseText);
+               }
+       }
+
+       document.getElementById('status').style.display = "inline";
+
+       self.xmlHttpReq.send( url );
+       delete self;
+}
+
+function updatepage(str){
+       /* update the list of conversations ( if we need to ) */
+
+       var parts = str.split( "--END--\\n" );
+
+       var lines = parts[0].split( "\\n" );
+
+       for ( var line = 0 ; line < lines.length ; line ++ ){
+               var a = lines[line].split("|");
+
+               if ( !a[1] || !a[2] || !a[3] ){
+                       continue;
+               }
+
+               /* convert the modification stamp into something sensible */
+               a[5] = parseInt( a[5] * 24 * 60 * 60 );
+
+               /* create titling information if needed */
+               if ( !document.getElementById( a[1] ) ){
+                       document.getElementById('conversations').innerHTML += "<div id='" + a[1] + "_t' style='width: 100%; background-color: #d9d9f3; color: $protocol_colour;'>" + a[1] + "</div><div id='" + a[1] + "' style='width: 100%; background-color: #e5e5f3;'></div>";
+               }
+
+               if ( !document.getElementById( a[1] + "_" + a[2] ) ){
+                       document.getElementById( a[1] ).innerHTML += "<div id='" + a[1] + "_" + a[2] + "_t' style='width: 100%; color: $local_colour; padding-left: 5px;'>" + a[2] + "</div><div id='" + a[1] + "_" + a[2] + "' style='width: 100%; background-color: #efeffa; border-bottom: solid 1px #d9d9f3;'></div>";
+               }
+
+               if ( !document.getElementById( a[1] + "_" + a[2] + "_" + a[3] ) ){
+                       document.getElementById( a[1] + "_" + a[2] ).innerHTML += "<div id='" + a[1] + "_" + a[2] + "_" + a[3] + "_t' style='width: 100%; color: $remote_colour; padding-left: 10px; cursor: pointer;' onClick=" + '"' + "setsection('" + a[1] + "|" + a[2] + "|" + a[3] + "|" + a[4] + "');" + '"' + "' + >&raquo;&nbsp;" + a[3] + "</div><div id='" + a[1] + "_" + a[2] + "_" + a[3] + "' style='width: 1%; display: none;'></div>";
+               }
+
+               if ( document.getElementById( a[1] + "_" + a[2] + "_" + a[3] ) && a[5] <= 60 ){
+                       /* modified within the last minute! */
+                       document.getElementById( a[1] + "_" + a[2] + "_" + a[3] + "_t" ).style.fontWeight = "bold";
+               } else {
+                       document.getElementById( a[1] + "_" + a[2] + "_" + a[3] + "_t" ).style.fontWeight = "normal";
+               }
+               delete a;
+       }
+
+       delete lines;
+
+       /* rework the list of active conversation dates ... */
+
+       var lines = parts[1].split( "\\n" );
+
+       var the_select = document.getElementById('conversationdates');
+       the_select.options.length = 0;
+               
+       for ( var line = 0 ; line < lines.length ; line ++ ){
+               if ( lines[ line ] != "" ){
+                       the_select.options.length ++;
+                       the_select.options[ line ].text  = lines[line];
+                       the_select.options[ line ].value = lines[line];
+                       if ( lines[line] == conversationdate ){
+                               the_select.selectedIndex = line;
+                       }
+               }
+       }
+
+       delete the_select;
+       delete lines;
+
+       /* determine the title of this conversation */
+       if ( parts[2] ){
+               var details = parts[2].split(",");
+               var title = details[0] + " conversation between <span style='color: $local_user_colour;'>" + details[ 1 ] + "</span> and <span style='color: $remote_user_colour;'>" + details[2] + "</span>";
+               if ( !details[1] ){
+                       title = "&nbsp;";
+               }
+
+               document.getElementById('status').style.display = "none";
+       
+               var bottom  = parseInt( document.getElementById('content').scrollTop );
+               var bottom2 = parseInt( document.getElementById('content').style.height );
+               var absheight = parseInt( bottom + bottom2 );
+
+               if ( absheight == document.getElementById('content').scrollHeight ){    
+                       moveit = 1;
+               }
+
+               fragment += parts[4];
+               document.getElementById('content').innerHTML = "<table style='width: 100%'>" + fragment + "</table>";
+               if (moveit == 1 ){
+                       document.getElementById('content').scrollTop = 0;
+                       document.getElementById('content').scrollTop = document.getElementById('content').scrollHeight;
+               }
+
+               document.getElementById('content_title').innerHTML = title;
+               delete details;
+               delete title;
+               delete bottom;
+               delete bottom2;
+               delete absheight;
+       }
+
+       /* set the file offset */
+       offset = parts[3];
+
+       if ( moveit == 1 ){
+               document.getElementById('scrlck').style.color = 'green';
+       } else {
+               document.getElementById('scrlck').style.color = '#202020';
+       }
+
+       if ( skimhtml == 1 ){
+               document.getElementById('skimhtml').style.color = 'green';
+       } else {
+               document.getElementById('skimhtml').style.color = '#202020';
+       }
+
+       delete parts;
+
+       the_timeout = setTimeout( "xmlhttpPost();", 5000 );
+}
+
+function setsection( value )
+{
+       section = value;
+       offset = 0;
+       fragment = "";
+       moveit = 1;
+       clearTimeout(the_timeout);
+       xmlhttpPost();
+       document.getElementById('content').scrollTop = 0;
+       document.getElementById('content').scrollTop = document.getElementById('content').scrollHeight;
+}
+
+function togglescrlck()
+{
+       if ( moveit == 1 ){
+               moveit = 0;
+               document.getElementById('scrlck').style.color = '#202020';
+       } else {
+               moveit = 1;
+               document.getElementById('scrlck').style.color = 'green';
+       }
+}
+
+function toggleskimhtml()
+{
+       if ( skimhtml == 1 ){
+               skimhtml = 0;
+               document.getElementById('skimhtml').style.color = '#202020';
+       } else {
+               skimhtml = 1;
+               document.getElementById('skimhtml').style.color = 'green';
+       }
+       clearTimeout(the_timeout);
+       xmlhttpPost();
+}
+
+function setDate()
+{
+       var the_select = document.getElementById('conversationdates');
+       conversationdate = the_select.options[ the_select.selectedIndex ].value;
+       document.getElementById('conversations').innerHTML = "";
+       fragment = "";
+       offset = 0;
+       section = "";
+       clearTimeout(the_timeout);
+       xmlhttpPost();
+}
+
+</script>
+       };
+
+       return $script;
+}
+
+# pagebody function 
+# -----------------
+# Return the HTML fragment which includes the page body.
+
+sub pagebody
+{
+       my $body = qq {
+       <div style='width: 100%; text-align: right;'><span id='status' style='background-color: #fef1b5; display: none;'>Updating</span>&nbsp;</div>
+       <style>
+       
+.powerbutton {
+       color:  #202020;
+       font-size: 9pt;
+       cursor: pointer;
+}
+
+.remoteuser {
+       color: $remote_user_colour;
+       font-size: 9pt;
+}
+
+.localuser {
+       color: $local_user_colour;
+       font-size: 9pt;
+}
+
+       </style>
+       <table style='width: 100%;'>
+               <tr>
+                       <td style='width: 170px; text-align: left; vertical-align: top; overflow: auto; font-size: 8pt; border: solid 1px #c0c0c0;'><div id='conversations' style='height: 400px; overflow: auto; font-size: 10px; overflow-x: hidden;'></div></td>
+                       <td style='border: solid 1px #c0c0c0;'>
+                               <div id='content_title' style='height: 20px; overflow: auto; vertical-align: top; background-color: #E6E8FA; border-bottom: solid 1px #c0c0c0;'></div>
+                               <div id='content' style='height: 376px; overflow: auto; vertical-align: bottom; border-bottom: solid 1px #c0c0c0; overflow-x: hidden;'></div>
+                               <div id='content_subtitle' style='height: 24px; overflow: auto; vertical-align: top; background-color: #E6E8FA; width: 100%; padding: 2px;'>
+                                       <div style='width: 60%; float: left;' id='statuswindow'>
+                                               For conversations on:&nbsp;
+                                               <select id='conversationdates' onChange='setDate()';>
+                                               </select>
+                                       </div>
+                                       <div style='width: 40%; text-align: right; float: right;'>
+                                               <span class='powerbutton' id='skimhtml' onClick='toggleskimhtml();'>[HTML]</span>
+                                               <span class='powerbutton' id='scrlck' onClick='togglescrlck();'>[SCROLL LOCK]</span>
+                                       </div>
+                               </div>
+                       </td>
+               </tr>
+       </table>
+       <script>xmlhttpPost();</script>
+       };
+       return $body;
+}
+
+# Parser function ...
+# ---------------
+# Retrieves the IMspector logs from their nestling place and displays them accordingly.
+
+sub parser
+{
+       my ( $section, $offset, $conversationdate, $skimhtml ) = @_;
+       # render the user list ...
+
+       chomp $offset;  
+
+       unless ( $offset =~ /^([\d]*)$/ ){
+               print STDERR "Illegal offset ($offset $1) resetting...\n";
+               $offset = 0;
+       }
+
+       # browse for the available protocols
+       unless ( opendir DIR, $logbase ){
+               exit;
+       }
+
+       my %conversationaldates;
+       my @protocols = grep {!/^\./} readdir(DIR);             
+
+       foreach my $protocol ( @protocols ){
+               unless ( opendir LUSER, "$logbase$protocol" ){
+                       next;
+               }
+       
+               my @localusers = grep {!/^\./} readdir(LUSER);          
+               foreach my $localuser ( @localusers ){
+                       unless ( opendir RUSER, "$logbase$protocol/$localuser/" ){
+                               next;
+                       }
+                       my @remoteusers = grep {!/^\./} readdir( RUSER );
+                       foreach my $remoteuser ( @remoteusers ){
+                               unless ( opendir CONVERSATIONS, "$logbase$protocol/$localuser/$remoteuser/" ){
+                                       next;
+                               }
+                               my @conversations = grep {!/^\./} readdir( CONVERSATIONS );
+                               foreach my $conversation ( @conversations ){
+                                       $conversationaldates{ $conversation } = $localuser;
+                               }
+
+                               closedir CONVERSATIONS;
+
+                               my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday ) = localtime( time() );
+                               $year += 1900; $mon++;
+                               my $conversation = sprintf( "%.4d-%.2d-%.2d", $year, $mon, $mday );
+
+                               $conversation = $conversationdate if ( defined $conversationdate and $conversationdate ne "" );
+
+                               if ( -e "$logbase$protocol/$localuser/$remoteuser/$conversation" ){
+                                       my $modi = -M "$logbase$protocol/$localuser/$remoteuser/$conversation";
+                                       print "|$protocol|$localuser|$remoteuser|$conversation|$modi\n";
+                               }
+                       }
+                       closedir RUSER;
+               }
+               closedir LUSER;
+       }
+       closedir DIR;
+
+       print "--END--\n";
+
+       # display a list of conversational dates .. i.e. the dates which we have conversations on.
+       foreach my $key ( sort keys %conversationaldates ){
+               print "$key\n";
+       }
+       
+       print "--END--\n";
+
+
+       # now check the log file ...
+       
+       if ( $section ne "none" ){
+               my ( $protocol, $localuser, $remoteuser, $conversation ) = split /\|/, $section;
+               
+               print "$protocol, $localuser, $remoteuser, $conversation\n";
+               print "--END--\n";
+               
+               my $filename = "$logbase$protocol/$localuser/$remoteuser/$conversation";
+               
+               unless ( open(FD, "$filename" ) ){
+                       exit;
+               };
+
+               # perform some *reasonably* complicated file hopping and stuff of that ilk.
+               # it's not beyond reason that logs *could* be extremely large, so what we
+               # should do to speed up their processing is to jump to the end of the file,
+               # then backtrack a little (say a meg, which is a reasonably amount of logs)
+               # and parse from that point onwards.  This, *post* filtering might of course
+               # not leave us with the desired resolution for the tail.  If this is the case,
+               # we keep that array and jump back another meg and have another go, concatinating
+               # the logs as we go.... <wheh>
+
+               my $jumpback = 100000; # not quite a meg, but hey ho    
+               my $goneback = 0;
+               my $gonebacklimit = 1000000000;  # don't go back more than 100MB
+
+               # firstly jump to the end of the file.
+               seek( FD, 0, 2 );
+
+               my $log_position = tell( FD );
+               my $end = $log_position;
+               my $end_position = $log_position;
+
+               my $lines;
+               my @content;
+
+               my $TAILSIZE = 100;
+
+               do {
+                       $end_position = $log_position;
+
+                       if ( $offset != 0 ){
+                               # we were given a hint as to where we should have been anyhow ..
+                               # so we might as well use that to go back to.
+                               $log_position = $offset;
+                               $goneback = $end_position - $log_position;
+                       } else {
+                               $log_position -= $jumpback;
+                               $goneback += $jumpback;
+                       }
+
+                       last if ( $goneback > $gonebacklimit );
+
+                       if ( $log_position > 0 ){
+                               seek( FD, $log_position, 0 );
+                       } else {
+                               seek( FD, 0, 0 );
+                       }
+       
+                       my @newcontent;
+
+                       while ( my $line = <FD> and ( tell( FD ) <= $end_position ) ){
+                               chomp $line;
+                               push @content, $line;
+                       }
+                       shift @content if $#content >= $TAILSIZE;
+               } while ( $#content < $TAILSIZE and $log_position > 0 and $offset == 0 );
+
+               # trim the content down as we may have more entries than we should.
+       
+               while ( $#content > $TAILSIZE ){ shift @content; };
+               close FD;
+
+               print "$end_position\n--END--\n";
+
+               foreach my $line ( @content ){
+                       my ( $address, $timestamp, $direction, $type, $filtered, $cat, $data );
+
+                       ( $address, $timestamp, $direction, $type, $filtered, $cat, $data ) = ( $line =~ /([^,]*),(\d+),(\d+),(\d+),(\d+),([^,]*),(.*)/ );
+
+                       # are we using the oldstyle or new style logs ?
+                       if ( not defined $address and not defined $timestamp ){
+                               ( $address, $timestamp, $type, $data ) = ( $line =~ /([^,]*),([^,]*),([^,]*),(.*)/ );
+                               if ( $type eq "1" ){
+                                       $direction = 0;
+                                       $type      = 1;
+                               } elsif ( $type eq "2" ){
+                                       $direction = 1;
+                                       $type      = 1;
+                               } elsif ( $type eq "3" ){
+                                       $direction = 0;
+                                       $type      = 2;
+                               } elsif ( $type eq "4" ){
+                                       $direction = 1;
+                                       $type      = 4;
+                               }
+                       }
+                       
+                       my ( $severity, $classification ) = '0', 'None';
+                       if ($cat) {
+                               ( $severity, $classification) = split(/ /, $cat, 2); }
+                       else {
+                               $cat = 'N/A'; }
+
+                       my $red = 255;
+                       my $green = 255;
+                       my $blue = 255;
+
+                       if ($severity < 0 && $severity >= -5) {
+                               $red = 0; $green = abs($severity) * (255 / 5); $blue = 0; }
+                       elsif ($severity > 0 && $severity <= 5) {
+                               $red = $severity * (255 / 5); $green = 0; $blue = 0; }
+                       else {
+                               $red = 0; $green = 0; $blue = 0; }
+                       
+                       my $severitycolour = '';
+                       if ($cat ne 'N/A') {
+                               $severitycolour = sprintf("background-color: #%02x%02x%02x;", $red, $green, $blue); }
+
+                       # some protocols (ICQ, I'm looking in your direction) have a habit of starting 
+                       # and ending each sentence with HTML (evil program)             
+
+                       if ( defined $skimhtml and $skimhtml eq "1" ){  
+                               $data =~ s/^<HTML><BODY[^>]*><FONT[^>]*>//ig;   
+                               $data =~ s/<\/FONT><\/BODY><\/HTML>//ig;        
+                       }
+
+                       $data = &htmlescape($data);
+                       $data =~ s/\r\\n/<br>\n/g;
+                       my $user = "";
+
+                       my $bstyle = "";
+                       $bstyle = "style='background-color: #FFE4E1;'" if ( $filtered eq "1" );
+
+                       if ( $type eq "1" ){
+                               # a message message (from remote user)
+                               if ( $direction eq "0" ){
+                                       # incoming
+                                       my $u = $remoteuser;
+                                       $u =~ s/\@.*//g;
+                                       $user = "&lt;<span class='remoteuser'>$u</span>&gt;";
+                               } else { 
+                                       # outgoing message
+                                       my $u = $localuser;
+                                       $u =~ s/\@.*//g;
+                                       $user = "&lt;<span class='localuser'>$u</span>&gt;";
+                               }
+                       } elsif ($type eq "2") {
+                               if ( $direction eq "0" ){
+                                       # incoming file
+                                       my $u = $remoteuser;
+                                       $u =~ s/\@.*//g;
+                                       $user = "&lt;<span class='remoteuser'><b><i>$u</i></b></span>&gt;";
+                               } else {
+                                       # outgoing file
+                                       my $u = $localuser;
+                                       $u =~ s/\@.*//g;
+                                       $user = "&lt;<span class='localuser'><b><i>$u</i></b></span>&gt;";
+                               }
+                       }
+
+                       my $t = strftime "%H:%M:%S", localtime($timestamp);
+                       if ($type eq "3" or $type eq "4") {
+                               $data = "<b><i>$data</i></b>";
+                       }
+                       print "<tr $bstyle><td style='width: 30px; vertical-align: top;'>[$t]</td><td style='width: 10px; $severitycolour' title='$cat'><td style=' width: 60px; vertical-align: top;'>$user</td><td style='vertical-align: top;'>$data</td></tr>";
+               }
+       }
+       return;
+}
+
+sub htmlescape
+{
+       my ($value) = @_;
+       $value =~ s/&/\&amp;/g;
+       $value =~ s/</\&lt;/g;
+       $value =~ s/>/\&gt;/g;
+       $value =~ s/"/\&quot;/g;
+       $value =~ s/'/\&#39;/g;
+       return $value;
+}
index b746a8e36b2cbc1890bd82ad2de54133e5615f6c..27a8927e6c1258f4209339900977d8db59c832f2 100644 (file)
@@ -310,6 +310,11 @@ if ($outfwsettings{'ACTION'} eq $Lang::tr{'delete'})
 if ($outfwsettings{'ACTION'} eq $Lang::tr{'add'})
 {
        if ( $outfwsettings{'VALID'} eq 'yes' ) {
+
+               if ( $outfwsettings{'SNET'} eq "all" ) {
+                       $outfwsettings{'SIP'} ="";
+                       $outfwsettings{'SMAC'}="";
+               }
                open( FILE, ">> $configfile" ) or die "Unable to write $configfile";
                print FILE <<END
 $outfwsettings{'STATE'};$outfwsettings{'ENABLED'};$outfwsettings{'SNET'};$outfwsettings{'PROT'};$outfwsettings{'NAME'};$outfwsettings{'SIP'};$outfwsettings{'SMAC'};$outfwsettings{'DIP'};$outfwsettings{'DPORT'};$outfwsettings{'LOG'};$outfwsettings{'TIME_MON'};$outfwsettings{'TIME_TUE'};$outfwsettings{'TIME_WED'};$outfwsettings{'TIME_THU'};$outfwsettings{'TIME_FRI'};$outfwsettings{'TIME_SAT'};$outfwsettings{'TIME_SUN'};$outfwsettings{'TIME_FROM'};$outfwsettings{'TIME_TO'};
@@ -321,7 +326,7 @@ END
                $outfwsettings{'ACTION'} = 'Add rule';
        }
 }
-if ($outfwsettings{'ACTION'} eq 'Add rule')
+if ($outfwsettings{'ACTION'} eq $Lang::tr{'Add Rule'})
 {
        &addrule();
        exit
@@ -343,7 +348,7 @@ if ($outfwsettings{'POLICY'} ne 'MODE0'){
        &Header::openbox('100%', 'center', 'Rules');
                print <<END
        <form method='post' action='$ENV{'SCRIPT_NAME'}'>
-               <input type='submit' name='ACTION' value='Add rule' />
+               <input type='submit' name='ACTION' value='$Lang::tr{'Add Rule'}' />
        </form>
 END
 ;
@@ -462,14 +467,22 @@ END
 END
 ;
                                        if (($outfwsettings{'SIP'}) || ($outfwsettings{'SMAC'})) {
-                                               unless ($outfwsettings{'SIP'}) { $outfwsettings{'DISPLAY_SIP'} = 'ALL'; } else { $outfwsettings{'DISPLAY_SIP'} = $outfwsettings{'SIP'}; }
-                                               unless ($outfwsettings{'SMAC'}) { $outfwsettings{'DISPLAY_SMAC'} = 'ALL'; } else { $outfwsettings{'DISPLAY_SMAC'} = $outfwsettings{'SMAC'}; }
-                                               print <<END
-                                               <tr><td width='14%' align='right'>$Lang::tr{'source ip or net'}:
-                                                   <td width='14%' align='left'>$outfwsettings{'DISPLAY_SIP'}
-                                                   <td width='44%' colspan='2' align='center'>
-END
-;
+
+                                               unless ($outfwsettings{'SIP'}) {
+                                                       $outfwsettings{'DISPLAY_SIP'} = 'ALL';
+                                               } else {
+                                                       $outfwsettings{'DISPLAY_SIP'} = $outfwsettings{'SIP'};
+                                               }
+
+                                               unless ($outfwsettings{'SMAC'}) {
+                                                       $outfwsettings{'DISPLAY_SMAC'} = 'ALL';
+                                                       print "<tr><td /><td align='left'>$Lang::tr{'source ip or net'}: </td>";
+                                                       print "<td align='left' colspan='2'>$outfwsettings{'DISPLAY_SIP'}</td>";
+                                               } else {
+                                                       $outfwsettings{'DISPLAY_SMAC'} = $outfwsettings{'SMAC'};
+                                                       print "<tr><td /><td align='left'>$Lang::tr{'source'} $Lang::tr{'mac address'}: </td>";
+                                                       print "<td align='left' colspan='2'>$outfwsettings{'DISPLAY_SMAC'}</td>";
+                                               }
                                        }
                                                print <<END
                                                <tr><td width='14%' align='right'>$Lang::tr{'time'} -  </td>
@@ -559,13 +572,13 @@ END
                if ($p2pline[2] eq 'on') {
                        print <<END
                                <input type='hidden' name='ACTION' value='disable' />
-                               <input type='image' name='submit' src='/images/stock_ok.png' alt='$Lang::tr{'outgoingfw p2p allow'}' title='$Lang::tr{'outgoingfw p2p allow'}'/>
+                               <input type='image' name='submit' src='/images/stock_ok.png' alt='$Lang::tr{'outgoing firewall p2p allow'}' title='$Lang::tr{'outgoing firewall p2p allow'}'/>
 END
 ;
                } else {
                        print <<END
                                <input type='hidden' name='ACTION' value='enable' />
-                               <input type='image' name='submit' src='/images/stock_stop.png' alt='$Lang::tr{'outgoingfw p2p deny'}' title='$Lang::tr{'outgoingfw p2p deny'}' />
+                               <input type='image' name='submit' src='/images/stock_stop.png' alt='$Lang::tr{'outgoing firewall p2p deny'}' title='$Lang::tr{'outgoing firewall p2p deny'}' />
 END
 ;
                }
@@ -576,7 +589,7 @@ END
        }
        print <<END
        </table>
-  <br />$Lang::tr{'outgoingfw p2p description 1'} <img src='/images/stock_ok.png' align='absmiddle' alt='$Lang::tr{'outgoingfw p2p deny'}'> $Lang::tr{'outgoingfw p2p description 2'} <img src='/images/stock_stop.png' align='absmiddle' alt='$Lang::tr{'outgoingfw p2p deny'}'> $Lang::tr{'outgoingfw p2p description 3'}
+  <br />$Lang::tr{'outgoing firewall p2p description 1'} <img src='/images/stock_ok.png' align='absmiddle' alt='$Lang::tr{'outgoing firewall p2p deny'}'> $Lang::tr{'outgoing firewall p2p description 2'} <img src='/images/stock_stop.png' align='absmiddle' alt='$Lang::tr{'outgoing firewall p2p deny'}'> $Lang::tr{'outgoing firewall p2p description 3'}
 END
 ;
        &Header::closebox();
@@ -586,9 +599,9 @@ END
 print <<END
        <form method='post' action='$ENV{'SCRIPT_NAME'}'>
        <table width='100%'>
-               <tr><td width='10%' align='left'><b>$Lang::tr{'mode'} 0:</b><td width='90%' align='left' colspan='2'>$Lang::tr{'outgoingfw mode0'}</td></tr>
-               <tr><td width='10%' align='left'><b>$Lang::tr{'mode'} 1:</b><td width='90%' align='left' colspan='2'>$Lang::tr{'outgoingfw mode1'}</td></tr>
-               <tr><td width='10%' align='left'><b>$Lang::tr{'mode'} 2:</b><td width='90%' align='left' colspan='2'>$Lang::tr{'outgoingfw mode2'}</td></tr>
+               <tr><td width='10%' align='left'><b>$Lang::tr{'mode'} 0:</b><td width='90%' align='left' colspan='2'>$Lang::tr{'outgoing firewall mode0'}</td></tr>
+               <tr><td width='10%' align='left'><b>$Lang::tr{'mode'} 1:</b><td width='90%' align='left' colspan='2'>$Lang::tr{'outgoing firewall mode1'}</td></tr>
+               <tr><td width='10%' align='left'><b>$Lang::tr{'mode'} 2:</b><td width='90%' align='left' colspan='2'>$Lang::tr{'outgoing firewall mode2'}</td></tr>
                <tr><td colspan='3'><hr /></td></tr>
                <tr><td width='10%' align='left'>       <select name='POLICY' style="width: 85px"><option value='MODE0' $selected{'POLICY'}{'MODE0'}>$Lang::tr{'mode'} 0</option><option value='MODE1' $selected{'POLICY'}{'MODE1'}>$Lang::tr{'mode'} 1</option><option value='MODE2' $selected{'POLICY'}{'MODE2'}>$Lang::tr{'mode'} 2</option></select>
                    <td width='45%' align='left'><input type='submit' name='ACTION' value=$Lang::tr{'save'} />
@@ -597,7 +610,7 @@ END
 ;
        if ($outfwsettings{'POLICY'} ne 'MODE0') {
                print <<END
-                   $Lang::tr{'outgoingfw reset'}: <input type='submit' name='ACTION' value=$Lang::tr{'reset'} />
+                   $Lang::tr{'outgoing firewall reset'}: <input type='submit' name='ACTION' value=$Lang::tr{'reset'} />
 END
 ;
        }
@@ -627,7 +640,7 @@ print <<END
                        <td width='30%' align='left' colspan='2'><input type='checkbox' name='ENABLED' $selected{'ENABLED'} /></td>
                </tr>
                <tr>
-                       <td width='20%' align='right'>$Lang::tr{'protocol'}:</td>
+                       <td width='20%' align='right'>$Lang::tr{'protocol'}</td>
                        <td width='30%' align='left'>
                                <select name='PROT'>
                                        <option value='all' $selected{'PROT'}{'all'}>All</option>
@@ -655,6 +668,9 @@ END
                                <select name='SNET'>
                                        <optgroup label='---'>
                                                <option value='all' $selected{'SNET'}{'ALL'}>$Lang::tr{'all'}</option>
+                                       <optgroup label='$Lang::tr{'mac address'}'>
+                                               <option value='mac' $selected{'SNET'}{'mac'}>$Lang::tr{'source'} $Lang::tr{'mac address'}</option>
+                                       </optgroup>
                                        <optgroup label='$Lang::tr{'ip address'}'>
                                                <option value='ip' $selected{'SNET'}{'ip'}>$Lang::tr{'source ip or net'}</option>
                                                <option value='red' $selected{'SNET'}{'red'}>$Lang::tr{'red'} IP</option>
@@ -674,19 +690,35 @@ END
        }
        print <<END
                                        </optgroup>
-                                       <optgroup label='$Lang::tr{'advproxy NCSA group'}'>
+                                       <optgroup label='IP $Lang::tr{'advproxy NCSA group'}'>
 END
 ;
        my @ipgroups = qx(ls $configpath/ipgroups/);
        foreach (sort @ipgroups){
                print "\t\t\t\t\t<option value='$_' $selected{'SNET'}{'$_'}>$_</option>\n";
        }
+       print <<END
+                                       </optgroup>
+                                       <optgroup label='MAC $Lang::tr{'advproxy NCSA group'}'>
+END
+;
+       my @macgroups = qx(ls $configpath/macgroups/);
+       foreach (sort @macgroups){
+               print "\t\t\t\t\t<option value='$_' $selected{'SNET'}{'$_'}>$_</option>\n";
+       }
        print <<END
                                        </optgroup>
                                </select>
                        </td>
-                       <td width='20%' align='right' colspan='2'>$Lang::tr{'source ip or net'}<img src='/blob.gif' /></td>
-                       <td width='30%' align='left' colspan='2'><input type='text' name='SIP' value='$outfwsettings{'SIP'}' /></td>
+                       <td align='right' colspan='4'><font color='red'>$Lang::tr{'outgoing firewall warning'}</font></td>
+               </tr>
+               <tr>
+                       <td align='right' colspan='4' >$Lang::tr{'source ip or net'}<img src='/blob.gif' /></td>
+                       <td align='left' colspan='4' ><input type='text' name='SIP' value='$outfwsettings{'SIP'}' /></td>
+               </tr>
+               <tr>
+                       <td align='right' colspan='4' >$Lang::tr{'source'} $Lang::tr{'mac address'}: <img src='/blob.gif' />
+                       <td align='left' colspan='4' ><input type='text' name='SMAC' maxlength='23' value='$outfwsettings{'SMAC'}' />
                </tr>
                <tr>
                        <td width='20%' align='right'>$Lang::tr{'logging'}:</td>
index a94ac820b8f45b2d160a597e7dea3311f788bcf2..f99468e4fcdec808b548641c9f4ebe1700facc33 100644 (file)
@@ -48,13 +48,13 @@ my %mainsettings = ();
 ### Values that have to be initialized
 $outgrpsettings{'ACTION'} = '';
 $outgrpsettings{'ipgroup'} = 'none';
-$outgrpsettings{'portgroup'} = 'none';
+$outgrpsettings{'macgroup'} = 'none';
 
 &Header::getcgihash(\%outgrpsettings);
 delete $outgrpsettings{'__CGI__'};delete $outgrpsettings{'x'};delete $outgrpsettings{'y'};
 
 $selected{'ipgroup'}{$outgrpsettings{'ipgroup'}} = "selected='selected'";
-$selected{'portgroup'}{$outgrpsettings{'portgroup'}} = "selected='selected'";
+$selected{'macgroup'}{$outgrpsettings{'macgroup'}} = "selected='selected'";
 
 &Header::openpage($Lang::tr{'outgoing firewall groups'}, 1, '');
 &Header::openbigbox('100%', 'left', '', $errormessage);
@@ -75,24 +75,54 @@ $selected{'portgroup'}{$outgrpsettings{'portgroup'}} = "selected='selected'";
 ############################################################################################################################
 ############################################################################################################################
 
-if ($errormessage)
-{
-       &Header::openbox('100%', 'left', $Lang::tr{'error messages'});
-       print "<class name='base'>$errormessage\n";
-       print "&nbsp;</class>\n";
-       &Header::closebox();
-}
-
 if ($outgrpsettings{'ACTION'} eq 'newipgroup')
 {
        &newipgroup();
 } elsif ($outgrpsettings{'ACTION'} eq 'deleteipgroup' ) {
        unlink("$configpath/ipgroups/$outgrpsettings{'ipgroup'}");
 } elsif ($outgrpsettings{'ACTION'} eq 'addipgroup') {
-       open (FILE, ">$configpath/ipgroups/$outgrpsettings{'ipgroup'}") or die "Can't save $outgrpsettings{'ipgroup'} settings $!";
-       flock (FILE, 2);
-       print FILE $outgrpsettings{'ipgroupcontent'}."\n";
-       close FILE;
+
+       if ( -e "$configpath/macgroups/$outgrpsettings{'ipgroup'}" ){
+               $errormessage =  "$Lang::tr{'outgoing firewall group error'}";
+       } elsif ( $outgrpsettings{'ipgroup'} eq "all" || $outgrpsettings{'ipgroup'} eq "red" || $outgrpsettings{'ipgroup'} eq "blue" ||
+                       $outgrpsettings{'ipgroup'} eq "green" || $outgrpsettings{'ipgroup'} eq "orange" || $outgrpsettings{'ipgroup'} eq "ip" ||
+                       $outgrpsettings{'ipgroup'} eq "mac" || $outgrpsettings{'ipgroup'} eq "ovpn" || $outgrpsettings{'ipgroup'} eq "ipsec" ) {
+               $errormessage =  "$Lang::tr{'outgoing firewall reserved groupname'}";
+       } else {
+               open (FILE, ">$configpath/ipgroups/$outgrpsettings{'ipgroup'}") or die "Can't save $outgrpsettings{'ipgroup'} settings $!";
+               flock (FILE, 2);
+               print FILE $outgrpsettings{'ipgroupcontent'}."\n";
+               close FILE;
+       }
+}
+
+if ($outgrpsettings{'ACTION'} eq 'newmacgroup')
+{
+       &newmacgroup();
+} elsif ($outgrpsettings{'ACTION'} eq 'deletemacgroup' ) {
+       unlink("$configpath/macgroups/$outgrpsettings{'macgroup'}");
+} elsif ($outgrpsettings{'ACTION'} eq 'addmacgroup') {
+
+       if ( -e "$configpath/ipgroups/$outgrpsettings{'macgroup'}" ){
+               $errormessage =  "$Lang::tr{'outgoing firewall group error'}";
+       } elsif ( $outgrpsettings{'macgroup'} eq "all" || $outgrpsettings{'macgroup'} eq "red" || $outgrpsettings{'macgroup'} eq "blue" ||
+                       $outgrpsettings{'macgroup'} eq "green" || $outgrpsettings{'macgroup'} eq "orange" || $outgrpsettings{'macgroup'} eq "ip" ||
+                       $outgrpsettings{'macgroup'} eq "mac" || $outgrpsettings{'macgroup'} eq "ovpn" || $outgrpsettings{'macgroup'} eq "ipsec" ) {
+               $errormessage =  "$Lang::tr{'outgoing firewall reserved groupname'}";
+       } else {
+               open (FILE, ">$configpath/macgroups/$outgrpsettings{'macgroup'}") or die "Can't save $outgrpsettings{'macgroup'} settings $!";
+               flock (FILE, 2);
+               print FILE $outgrpsettings{'macgroupcontent'}."\n";
+               close FILE;
+       }
+}
+
+if ($errormessage)
+{
+       &Header::openbox('100%', 'left', $Lang::tr{'error messages'});
+       print "<class name='base'><font color=red>$errormessage\n</font>";
+       print "&nbsp;</class>\n";
+       &Header::closebox();
 }
 
 ############################################################################################################################
@@ -107,6 +137,7 @@ $ipgroupcontent =~ s/\n/<br \/>/g;
 &Header::openbox('100%', 'center', $Lang::tr{'outgoing firewall ip groups'});
 
 print <<END
+<a name="outgoing showipgroup"</a>
 <br />
 <form method='post' action='$ENV{'SCRIPT_NAME'}#outgoing showipgroup'>
 <table width='95%' cellspacing='0'>
@@ -171,9 +202,91 @@ END
 ;
 &Header::closebox();
 
+############################################################################################################################
+############################################################################################################################
+
+my @macgroups = qx(ls $configpath/macgroups/);
+if ($outgrpsettings{'macgroup'} eq "none" and $#macgroups >= 0 ){ $outgrpsettings{'macgroup'} = $macgroups[0];}
+
+my $macgroupcontent = `cat $configpath/macgroups/$outgrpsettings{'macgroup'} 2>/dev/null`;
+$macgroupcontent =~ s/\n/<br \/>/g;
+
+&Header::openbox('100%', 'center', $Lang::tr{'outgoing firewall mac groups'});
+
+print <<END
+<a name="outgoing showmacgroup"</a>
+<br />
+<form method='post' action='$ENV{'SCRIPT_NAME'}#outgoing showmacgroup'>
+<table width='95%' cellspacing='0'>
+       <tr>
+               <td bgcolor='$color{'color20'}' colspan='3' align='left'><b>$Lang::tr{'outgoing firewall mac groups'}</b></td>
+       </tr>
+       <tr>
+               <td colspan='3'  align='left'><br /></td>
+       </tr>
+       <tr>
+               <td  align='left' colspan='2'><select name='macgroup' style="width: 200px">
+END
+;
+foreach my $member (@macgroups) {chomp $member;print"                  <option value='$member' $selected{'macgroup'}{$member}>$member</option>\n";}
+print <<END
+               </select></td>
+               <td  align='left'>
+                               <input type='hidden' name='ACTION' value='showmacgroup' />
+                               <input type='image' alt='$Lang::tr{'outgoing firewall view group'}' title='$Lang::tr{'outgoing firewall view group'}' src='/images/format-justify-fill.png' />
+               </td>
+       </tr>
+       <tr>
+               <td colspan='3' align='left'><br /></td>
+       </tr>
+       <tr>
+               <td colspan='3' align='left'><font size=1>$macgroupcontent</font></td>
+       </tr>
+       <tr>
+               <td colspan='3' align='left'><br /></td>
+       </tr>
+       <tr>
+               <td colspan='3' align='center'><font size=1>$Lang::tr{'outgoing firewall mac groups'} - $outgrpsettings{'macgroup'}</font></td>
+       </tr>
+</table>
+</form>
+<table width='10%' cellspacing='0'>
+<tr>
+       <td align='center'>
+               <form method='post' action='$ENV{'SCRIPT_NAME'}#outgoing showmacgroup'>
+                       <input type='hidden' name='ACTION' value='newmacgroup' />
+                       <input type='image' alt='$Lang::tr{'new'}' title='$Lang::tr{'new'}' src='/images/list-add.png' />
+               </form>
+       </td>
+       <td align='center'>
+               <form method='post' action='$ENV{'SCRIPT_NAME'}#outgoing showmacgroup'>
+                       <input type='hidden' name='ACTION' value='savemacgroup' />
+                       <input type='hidden' name='macgroup' value='$outgrpsettings{'macgroup'}' />
+                       <input type='image' alt='$Lang::tr{'save'}' title='$Lang::tr{'save'}' src='/images/media-floppy.png' />
+               </form>
+       </td>
+       <td align='center'>
+               <form method='post' action='$ENV{'SCRIPT_NAME'}#outgoing showmacgroup'>
+                       <input type='hidden' name='ACTION' value='deletemacgroup' />
+                       <input type='hidden' name='macgroup' value='$outgrpsettings{'macgroup'}' />
+                       <input type='image' alt='$Lang::tr{'delete'}' title='$Lang::tr{'delete'}' src='/images/user-trash.png' />
+               </form>
+       </td>
+</tr>
+</table>
+
+END
+;
+&Header::closebox();
+
 &Header::closebigbox();
 &Header::closepage();
 
+
+############################################################################################################################
+############################################################################################################################
+
+
 sub newipgroup
 {
        &Header::openbox('100%', 'center', $Lang::tr{'outgoing firewall add ip group'});
@@ -210,3 +323,40 @@ END
        &Header::closepage();
        exit 0;
 }
+
+sub newmacgroup
+{
+       &Header::openbox('100%', 'center', $Lang::tr{'outgoing firewall add mac group'});
+
+print <<END
+       <form method='post' action='$ENV{'SCRIPT_NAME'}#outgoing showmacgroup'>
+       <table width='95%' cellspacing='0'>
+               <tr>
+                       <td bgcolor='$color{'color20'}' colspan='3' align='left'><b>$Lang::tr{'outgoing firewall add mac group'}</b></td>
+               </tr>
+               <tr>
+                       <td colspan='3'  align='left'><br /></td>
+               </tr>
+               <tr>
+                       <td  align='left' colspan='2'>
+                               <input type='text' name='macgroup' value='newgroup' size="30" />
+                       </td>
+                       <td  align='left'>
+                               <input type='hidden' name='ACTION' value='addmacgroup' />
+                               <input type='image' alt='$Lang::tr{'save'}' title='$Lang::tr{'save'}' src='/images/media-floppy.png' />
+                       </td>
+               </tr>
+               <tr>
+                       <td  align='left' colspan='3'>
+                               <textarea name="macgroupcontent" cols="20" rows="5" Wrap="off">00:24:F6:04:5F:2b\n14:26:36:5A:5F:2B\n</textarea>
+                       </td>
+               </tr>
+       </table>
+       </form>
+END
+;
+       &Header::closebox();
+       &Header::closebigbox();
+       &Header::closepage();
+       exit 0;
+}
\ No newline at end of file
index a39d4f722c99249da6d98ea41521f4e3b6530480..fc28e70bba13537e06ed55d57b3fe06a2f69b3f8 100644 (file)
@@ -727,7 +727,7 @@ END
 ;
 }
 
-        if ($pppsettings{'TYPE'} eq 'vdsl') {
+        if ($pppsettings{'TYPE'} =~ /^(pppoe|vdsl|pppoeatm)$/) {
 print <<END
 <tr>
         <td colspan='4' width='100%' bgcolor='$color{'color20'}'><b>IPTV:</b></td>
index 26e0eef5084c815cfe67eee1860bde0e493e89a1..60c75d73654f4cf9aacc0d1bee3ea40fea1b298e 100644 (file)
@@ -76,7 +76,7 @@ $qossettings{'ACK'} = '';
 $qossettings{'MTU'} = '1492';
 $qossettings{'SFQ_PERTUB'} = '10';
 $qossettings{'QLENGTH'} = '30';
-$qossettings{'RED_DEV'} = `cat /var/ipfire/red/iface`;
+$qossettings{'RED_DEV'} = 'ppp0';
 $qossettings{'IMQ_DEV'} = 'imq0';
 $qossettings{'VALID'} = 'yes';
 ### Values that have to be initialized
@@ -113,6 +113,8 @@ $qossettings{'TOS'} = '';
 &General::readhash("${General::swroot}/qos/settings", \%qossettings);
 &Header::getcgihash(\%qossettings);
 
+$qossettings{'RED_DEV'} = `cat /var/ipfire/red/iface`;
+
 my %color = ();
 my %mainsettings = ();
 &General::readhash("${General::swroot}/main/settings", \%mainsettings);
index 712f085492aef0be49dcc2bee15287ea28edfe50..3315bbf9460265a755fd133919712438f0f49b84 100644 (file)
@@ -102,6 +102,7 @@ $sambasettings{'DISPLAYCHARSET'} = 'CP850';
 $sambasettings{'SOCKETOPTIONS'} = 'TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 SO_KEEPALIVE';
 $sambasettings{'WIDELINKS'} = 'on';
 $sambasettings{'UNIXEXTENSION'} = 'off';
+$sambasettings{'SMB2'} = 'off';
 ### Values that have to be initialized
 $sambasettings{'ACTION'} = '';
 ### Samba CUPS Variablen
@@ -183,6 +184,9 @@ if ($sambasettings{'ACTION'} eq 'globalresetyes')
        $sambasettings{'DOMAINMASTER'} = 'off';
        $sambasettings{'PREFERREDMASTER'} = 'off';
        $sambasettings{'SOCKETOPTIONS'} = 'TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 SO_KEEPALIVE';
+       $sambasettings{'WIDELINKS'} = 'on';
+       $sambasettings{'UNIXEXTENSION'} = 'off';
+       $sambasettings{'SMB2'} = 'off';
        $PDCOPTIONS = `cat ${General::swroot}/samba/pdc`;
        system("/usr/local/bin/sambactrl smbreload");
        refreshpage();
@@ -276,7 +280,14 @@ passdb backend = smbpasswd
 
 wide links = $sambasettings{'WIDELINKS'}
 unix extensions = $sambasettings{'UNIXEXTENSION'}
+END
+;
 
+if ($sambasettings{'SMB2'} eq 'on'){
+       print FILE "max protocol = smb2\n";
+}
+
+print FILE <<END
 keep alive = 30
 os level = $sambasettings{'OSLEVEL'}
 fstype = NTFS
@@ -400,6 +411,9 @@ $checked{'WIDELINKS'}{$sambasettings{'WIDELINKS'}} = "checked='checked'";
 $checked{'UNIXEXTENSION'}{'off'} = '';
 $checked{'UNIXEXTENSION'}{'on'} = '';
 $checked{'UNIXEXTENSION'}{$sambasettings{'UNIXEXTENSION'}} = "checked='checked'";
+$checked{'SMB2'}{'off'} = '';
+$checked{'SMB2'}{'on'} = '';
+$checked{'SMB2'}{$sambasettings{'SMB2'}} = "checked='checked'";
 $checked{'GREEN'}{'off'} = '';
 $checked{'GREEN'}{'on'} = '';
 $checked{'GREEN'}{$sambasettings{'GREEN'}} = "checked='checked'";
@@ -504,6 +518,8 @@ print <<END
                                                                                                                                                                                        <input type='radio' name='WIDELINKS' value='off' $checked{'WIDELINKS'}{'off'} /> off</td></tr>
 <tr><td align='left' width='40%'>Unix extension</td><td align='left'>on <input type='radio' name='UNIXEXTENSION' value='on' $checked{'UNIXEXTENSION'}{'on'} />/
                                                                                                                                                                                        <input type='radio' name='UNIXEXTENSION' value='off' $checked{'UNIXEXTENSION'}{'off'} /> off</td></tr>
+<tr><td align='left' width='40%'>SMB2 $Lang::tr{'protocol'}</td><td align='left'>on <input type='radio' name='SMB2' value='on' $checked{'SMB2'}{'on'} />/
+                                                                                                                                                                                       <input type='radio' name='SMB2' value='off' $checked{'SMB2'}{'off'} /> off</td></tr>
 <tr><td align='left'><br /></td><td></td></tr>
 <tr bgcolor='$color{'color20'}'><td colspan='2' align='left'><b>$Lang::tr{'security options'}</b></td></tr>
 <tr><td align='left' width='40%'>$Lang::tr{'security'}</td><td align='left'><select name='SECURITY' style="width: 165px">
index 3445ec1aa93d7a08675060861de6877a6242191e..b714d679cf4fa0fea72d6e0ad881499d5100af03 100644 (file)
@@ -73,6 +73,7 @@ else
        $tx_kbs = int($tx_kbs);
 }
 
+print "pragma: no-cache\n";
 print "Content-type: text/xml\n\n";
 print "<?xml version=\"1.0\"?>\n";
 print <<END
index 2e12a6512e71669bbf2e386ef271b3ba23c718ff..03018952e67f388b85ce06b89ac80ed6c8573477 100644 (file)
@@ -2,7 +2,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2009  Michael Tremer & Christian Schmidt                      #
+# Copyright (C) 2005-2010  IPTifre Team                                       #
 #                                                                             #
 # 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        #
@@ -69,6 +69,7 @@ $wlanapsettings{'PWD'} = 'IPFire-2.x';
 $wlanapsettings{'SYSLOGLEVEL'} = '0';
 $wlanapsettings{'DEBUG'} = '4';
 $wlanapsettings{'DRIVER'} = 'MADWIFI';
+$wlanapsettings{'HTCAPS'} = '';
 
 &General::readhash("/var/ipfire/wlanap/settings", \%wlanapsettings);
 &Header::getcgihash(\%wlanapsettings);
@@ -379,6 +380,7 @@ foreach $txpower (@txpower){
 print <<END
        </select></td></tr>
 <tr><td width='25%' class='base'>Passphrase:&nbsp;</td><td class='base' colspan='3'><input type='text' name='PWD' size='63' value='$wlanapsettings{'PWD'}' /></td></tr>
+<tr><td width='25%' class='base'>HT Caps:&nbsp;</td><td class='base' colspan='3'><input type='text' name='HTCAPS' size='63' value='$wlanapsettings{'HTCAPS'}' /></td></tr>
 <tr><td width='25%' class='base'>Loglevel (hostapd):&nbsp;</td><td class='base' width='25%'>
        <select name='SYSLOGLEVEL'>
                <option value='0' $selected{'SYSLOGLEVEL'}{'0'}>0 ($Lang::tr{'wlanap verbose'})</option>
@@ -474,6 +476,8 @@ END
        print CONFIGFILE <<END
 hw_mode=g
 ieee80211n=1
+wmm_enabled=1
+ht_capab=$wlanapsettings{'HTCAPS'}
 END
 ;
 
index 7d558571d771cc049cc6d0b2f82d8fe6fb71fe8f..6b01831d5a8833b92f5dd6137fd65e13d472c079 100644 (file)
@@ -22,6 +22,8 @@
 'ConnSched scheduled actions' => 'Geplante Aktionen',
 'ConnSched scheduler' => 'Scheduler',
 'ConnSched select profile' => 'Wähle Profil',
+'outgoing firewall warning' => 'Nur die Auswahl Quell IP / MAC aktiviert diese',
+'outgoing firewall outgoing firewall reserved groupname' => 'Bitte einen anderen Gruppennamen verwenden, dieser ist ein reserviertes Wort.',
 'ConnSched time' => 'Zeit:',
 'ConnSched up' => 'Hoch',
 'ConnSched weekdays' => 'Wochentage:',
 'outgoing firewall groups' => 'Firewall Gruppen',
 'outgoing firewall add ip group' => 'IP Adressgruppen hinzufügen',
 'outgoing firewall ip groups' => 'Ausgehende Firewall IP Adressgruppen',
+'outgoing firewall add mac group' => 'MAC Adressgruppen hinzufügen',
+'outgoing firewall mac groups' => 'Ausgehende Firewall MAC Adressgruppen',
 'outgoing firewall view group' => 'Gruppe anzeigen',
+'outgoing firewall group error' => 'Eine Gruppe mit dem selben Namen existiert bereits.',
 'outgoing traffic in bytes per second' => 'Abgehender Verkehr',
-'outgoingfw mode0' => 'In diesem Modus ist es allen Rechnern im Netzwerk uneingeschränkt möglich Verbindungen ins Internet aufzubauen.',
-'outgoingfw mode1' => 'In diesem Modus werden nur Verbindungen nach den oben definierten Regeln zugelassen.',
-'outgoingfw mode2' => 'In diesem Modus werden sämtliche Verbindungen erlaubt, bis auf die oben definierten Block-Regeln.',
-'outgoingfw p2p description 1' => 'Das Symbol',
-'outgoingfw p2p description 2' => 'bedeutet, dass das P2P-Protokoll erlaubt wird oder',
-'outgoingfw p2p description 3' => 'das P2P-Protokoll gesperrt wird.',
-'outgoingfw p2p deny' => 'P2P-Protokoll ist gesperrt!',
-'outgoingfw p2p allow' => 'P2P-Protokoll ist erlaubt!',
-'outgoingfw reset' => 'Alle Regeln löschen',
+'outgoing firewall mode0' => 'In diesem Modus ist es allen Rechnern im Netzwerk uneingeschränkt möglich Verbindungen ins Internet aufzubauen.',
+'outgoing firewall mode1' => 'In diesem Modus werden nur Verbindungen nach den oben definierten Regeln zugelassen.',
+'outgoing firewall mode2' => 'In diesem Modus werden sämtliche Verbindungen erlaubt, bis auf die oben definierten Block-Regeln.',
+'outgoing firewall p2p description 1' => 'Das Symbol',
+'outgoing firewall p2p description 2' => 'bedeutet, dass das P2P-Protokoll erlaubt wird oder',
+'outgoing firewall p2p description 3' => 'das P2P-Protokoll gesperrt wird.',
+'outgoing firewall p2p deny' => 'P2P-Protokoll ist gesperrt!',
+'outgoing firewall p2p allow' => 'P2P-Protokoll ist erlaubt!',
+'outgoing firewall reset' => 'Alle Regeln löschen',
 'override mtu' => 'Überschreibe Standard MTU',
 'ovpn' => 'OpenVPN',
 'ovpn con stat' => 'OpenVPN Verbindungs-Statistik',
index a66ec677d840f54eb61df87ba3e237092fb96a92..907de5d800d8a8eef9f60bf052592f0dda8e6c2c 100644 (file)
@@ -19,6 +19,8 @@
 'ConnSched ipsecstop' => 'IPSec stop',
 'ConnSched reconnect' => 'Reconnect',
 'ConnSched scheduled actions' => 'Scheduled actions',
+'outgoing firewall warning' => 'Not selecting source ip or mac ignores them',
+'outgoing firewall outgoing firewall reserved groupname' => 'Please use another group name, this name is reserved.',
 'ConnSched scheduler' => 'Scheduler',
 'ConnSched select profile' => 'Select profile',
 'modify' => 'Modify',
 'dhcp bootp pxe data' => 'Enter optional bootp pxe data for this fixed lease',
 'dhcp configuration' => 'DHCP configuration',
 'dhcp create fixed leases' => 'Create fixed leases',
-'dhcp fixed lease err1' => 'For a fix lease you have to enter the MAC adress or the hostname, or you enter both.',
+'dhcp fixed lease err1' => 'For a fix lease you have to enter the MAC address or the hostname, or you enter both.',
 'dhcp fixed lease help1' => 'IP Addresses might be entered as FQDN',
 'dhcp mode' => 'DHCP',
 'dhcp server' => 'DHCP Server',
 'mac address' => 'MAC Address',
 'mac address menu' => 'Assign MAC-address',
 'mac address in use' => 'MAC address already in use',
-'mac address title' => 'Medium Access Control Adresse',
+'mac address title' => 'Medium Access Control Address',
 'mac address header' => 'MAC address on red0',
 'mac address error not valid' => 'MAC addresse not valid!',
 'mac address error not 00' => 'MAC addresse has to start with 00!',
 'outgoing firewall' => 'Outgoing Firewall',
 'outgoing firewall groups' => 'Firewall Groups',
 'outgoing firewall add ip group' => 'Add IP Address Group',
-'outgoing firewall ip groups' => 'Outgoing Firewall IP Adress Groups',
+'outgoing firewall ip groups' => 'Outgoing Firewall IP Address Groups',
+'outgoing firewall add mac group' => 'Add MAC Address Group',
+'outgoing firewall mac groups' => 'Outgoing Firewall MAC Address Groups',
 'outgoing firewall view group' => 'View group',
+'outgoing firewall group error' => 'A group with the same name exists.',
 'outgoing traffic in bytes per second' => 'Outgoing Traffic',
-'outgoingfw mode0' => 'Using this mode, all clients are able to access the internet without any restrictions.',
-'outgoingfw mode1' => 'Using this mode, only connections based on the defined rules are allowed.',
-'outgoingfw mode2' => 'Using this mode, all connections are allowed despited off the defined ones.',
-'outgoingfw p2p description 1' => 'The button',
-'outgoingfw p2p description 2' => 'means that the p2p protocol is allowed or',
-'outgoingfw p2p description 3' => 'that the p2p protocol is denied.',
-'outgoingfw p2p deny' => 'p2p protocol is denied',
-'outgoingfw p2p allow' => 'p2p protocol is allowed',
-'outgoingfw reset' => 'Reset all',
+'outgoing firewall mode0' => 'Using this mode, all clients are able to access the internet without any restrictions.',
+'outgoing firewall mode1' => 'Using this mode, only connections based on the defined rules are allowed.',
+'outgoing firewall mode2' => 'Using this mode, all connections are allowed despited off the defined ones.',
+'outgoing firewall p2p description 1' => 'The button',
+'outgoing firewall p2p description 2' => 'means that the p2p protocol is allowed or',
+'outgoing firewall p2p description 3' => 'that the p2p protocol is denied.',
+'outgoing firewall p2p deny' => 'p2p protocol is denied',
+'outgoing firewall p2p allow' => 'p2p protocol is allowed',
+'outgoing firewall reset' => 'Reset all',
 'override mtu' => 'Override default MTU',
 'ovpn' => 'OpenVPN',
 'ovpn con stat' => 'OpenVPN Connection Statistics',
index 5a2fbe342bded1414c29300f2e26658054f6816f..8074cd29dc95a7bb78c547d724ae98fe00239275 100644 (file)
@@ -18,6 +18,8 @@
 'ConnSched ipsecstop' => 'Detener IPSec',
 'ConnSched reconnect' => 'Reconectar',
 'ConnSched scheduled actions' => 'Acciones planificadas',
+'outgoing firewall warning' => 'No seleccionar ip origen o mac las ignora',
+'outgoing firewall outgoing firewall reserved groupname' => 'Por favor, utilice otro nombre de grupo, este nombre está reservado',
 'ConnSched scheduler' => 'Planificador',
 'ConnSched select profile' => 'Elegir Perfil',
 'modify' => 'Modificar',
 'outgoing' => 'salida',
 'outgoing firewall' => 'Firewall de salida',
 'outgoing traffic in bytes per second' => 'Tráfico de salida',
-'outgoingfw mode0' => 'Usando este modo, todos los clientes tienen acceso al internet sin restricciones.',
-'outgoingfw mode1' => 'Usando este modo, solamente las conexión basadas en las reglas definidas son permitidas.',
-'outgoingfw mode2' => 'Usando este modo, todas las conexioens son permitidas sin importar las ya definidias.',
-'outgoingfw p2p description' => 'Presiones el botón correspondiente para activar/desactivar el módulo de bloqueo P2P',
-'outgoingfw reset' => 'Restablecer todo',
+'outgoing firewall mode0' => 'Usando este modo, todos los clientes tienen acceso al internet sin restricciones.',
+'outgoing firewall mode1' => 'Usando este modo, solamente las conexión basadas en las reglas definidas son permitidas.',
+'outgoing firewall mode2' => 'Usando este modo, todas las conexioens son permitidas sin importar las ya definidias.',
+'outgoing firewall p2p description' => 'Presiones el botón correspondiente para activar/desactivar el módulo de bloqueo P2P',
+'outgoing firewall reset' => 'Restablecer todo',
 'override mtu' => 'Sobreescribir MTU por defecto',
 'ovpn' => 'OpenVPN',
 'ovpn con stat' => 'Estadisticas de conexión OpenVPN',
index dbc11bf365cd0b8f55141016a93c2e775946de66..7904bb631d2ec812384513181d219989dcdc02aa 100644 (file)
@@ -18,6 +18,8 @@
 'ConnSched ipsecstart' => 'IPSec (re)démarrage',
 'ConnSched ipsecstop' => 'IPSec arrêt',
 'ConnSched reconnect' => 'Reconnecter',
+'outgoing firewall warning' => 'Ne pas choisir IP source ou Mac ignore les',
+'outgoing firewall outgoing firewall reserved groupname' => 'S il vous plaît utilisez un autre nom de groupe, ce nom est réservé.',
 'ConnSched scheduled actions' => 'Actions planifiées',
 'ConnSched scheduler' => 'Planificateur',
 'ConnSched select profile' => 'Sélectionner profil',
 'outgoing firewall groups' => 'Groupes de pare-feu',
 'outgoing firewall add ip group' => 'Ajouter un groupe d\'adresses IP',
 'outgoing firewall ip groups' => 'Groupes d\'adresses IP du pare-feu sortant',
+'outgoing firewall add mac group' => 'Ajouter un groupe d\'adresses MAC',
+'outgoing firewall mac groups' => 'Groupes d\'adresses MAC du pare-feu sortant',
 'outgoing firewall view group' => 'Voir le groupe',
+'outgoing firewall group error' => 'Un groupe portant le même nom existe.',
 'outgoing traffic in bytes per second' => 'Trafic sortant',
-'outgoingfw mode0' => 'En utilisant ce mode, tous les clients peuvent avoir accès à Internet sans restrictions.',
-'outgoingfw mode1' => 'En utilisant ce mode, seules les connexions basées sur les règles prédéfinies sont autorisées.',
-'outgoingfw mode2' => 'En utilisant ce mode, toutes les connexions sont autorisées sans tenir compte de la liste de définitions.',
-'outgoingfw p2p description 1' => 'Le bouton',
-'outgoingfw p2p description 2' => ' signifie que le protocol est autorisé ou',
-'outgoingfw p2p description 3' => 'que le protocole p2p est bloqué.',
-'outgoingfw p2p deny' => 'le protocole p2p est refusé',
-'outgoingfw p2p allow' => 'le protocole p2p est autorisé',
-'outgoingfw reset' => 'Tout réinitialiser',
+'outgoing firewall mode0' => 'En utilisant ce mode, tous les clients peuvent avoir accès à Internet sans restrictions.',
+'outgoing firewall mode1' => 'En utilisant ce mode, seules les connexions basées sur les règles prédéfinies sont autorisées.',
+'outgoing firewall mode2' => 'En utilisant ce mode, toutes les connexions sont autorisées sans tenir compte de la liste de définitions.',
+'outgoing firewall p2p description 1' => 'Le bouton',
+'outgoing firewall p2p description 2' => ' signifie que le protocol est autorisé ou',
+'outgoing firewall p2p description 3' => 'que le protocole p2p est bloqué.',
+'outgoing firewall p2p deny' => 'le protocole p2p est refusé',
+'outgoing firewall p2p allow' => 'le protocole p2p est autorisé',
+'outgoing firewall reset' => 'Tout réinitialiser',
 'override mtu' => 'Outrepasser le MTU par défaut',
 'ovpn' => 'OpenVPN',
 'ovpn con stat' => 'Statistiques de connexions OpenVPN',
index 544bb25811dd97dc8df58d6a9f259d9da68f0910..ff1a2062a86f3d0b6a84ffa2e8599467beb346ae 100644 (file)
@@ -51,12 +51,12 @@ $(TARGET) :
 
        # Create all directories
        for i in addon-lang auth backup ca certs connscheduler crls ddns dhcp dhcpc dmzholes dns \
-           ethernet extrahd/bin fwlogs isdn key langs logging mac main  menu.d modem net-traffic \
+                       ethernet extrahd/bin fwlogs isdn key langs logging mac main  menu.d modem net-traffic \
                        net-traffic/templates nfs optionsfw outgoing/bin outgoing/groups outgoing/groups/ipgroups \
-                       patches pakfire portfw ppp private proxy/advanced/cre proxy/calamaris/bin qos/bin red \
-                       remote sensors snort time tripwire/report updatexlrator/bin updatexlrator/autocheck \
-                       urlfilter/autoupdate urlfilter/bin upnp vpn \
-           wakeonlan wireless xtaccess ; do \
+                       outgoing/groups/macgroups patches pakfire portfw ppp private proxy/advanced/cre \
+                       proxy/calamaris/bin qos/bin red remote sensors snort time tripwire/report \
+                       updatexlrator/bin updatexlrator/autocheck urlfilter/autoupdate urlfilter/bin upnp vpn \
+                       wakeonlan wireless xtaccess ; do \
                mkdir -p $(CONFIG_ROOT)/$$i; \
        done
 
index 938037b6544a715799c10805438873d66a2b94f7..e8d9cc0e7e08e8ef7e0160ca901f84585263fdb4 100644 (file)
--- a/lfs/cups
+++ b/lfs/cups
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 1.4.2
+VER        = 1.4.4
 
 THISAPP    = cups-$(VER)
 DL_FILE    = $(THISAPP)-source.tar.bz2
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/cups-$(VER)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = cups
-PAK_VER    = 5
+PAK_VER    = 6
 
 DEPS       = "ghostscript"
 
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = d95e2d588e3d36e563027a963b117b1b
+$(DL_FILE)_MD5 = 8776403ad60fea9e85eab9c04d88560d
 
 install : $(TARGET)
 
index 4804c1d9465956c78f51dc28106609e8b0f3f088..29fb9b38dfc3c7b10f9054b451226c4a4d4c3a5d 100644 (file)
@@ -73,6 +73,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        cd $(DIR_APP) && sed -i -e 's|/usr/local|/usr|g' Makefile
        cd $(DIR_APP)/src && sed -i \
                -e 's|^\/\* #define HAVE_ISC_READER .*$$|#define HAVE_ISC_READER\n#define NO_IPV6|' \
+               -e 's|^#define HAVE_TFTP *$$|//#define HAVE_TFTP|' \
                -e 's/^#define CHUSER .*$$/#define CHUSER "dnsmasq"/' config.h
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
index e08a469de8cb5320f5fccf778d86b50bfcddf411..6cec09bd9dcc498ed0f790b4e6accc16f1f6d15c 100644 (file)
@@ -30,7 +30,7 @@ THISAPP    = guardian-$(VER)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = guardian
-PAK_VER    = 4
+PAK_VER    = 6
 
 DEPS       = ""
 
index 17915933b40c85cfdce2917654327260545b3993..90b35db28243267348d1d626c8085a2245b55f79 100644 (file)
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = hostapd
-PAK_VER    = 18
+PAK_VER    = 19
 
 DEPS       = ""
 
index 357b73dcf5f2e911a2aa13227f7ec751e73d5953..c88995bbe67d94462358d99cc6115dd737193446 100644 (file)
--- a/lfs/htop
+++ b/lfs/htop
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 0.8.1
+VER        = 0.8.3
 
 THISAPP    = htop-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = htop
-PAK_VER    = 2
+PAK_VER    = 3
 
 DEPS       = ""
 
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = f0b259ca29175656de48bf0fa0a2e619
+$(DL_FILE)_MD5 = 5c9f093f9eaddf6e77aa6d54c2116d0c
 
 install : $(TARGET)
 
diff --git a/lfs/igb b/lfs/igb
new file mode 100644 (file)
index 0000000..522a801
--- /dev/null
+++ b/lfs/igb
@@ -0,0 +1,90 @@
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2010  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
+
+ifeq "$(XEN)" "1"
+       VERSUFIX = ipfire-xen
+else
+       VERSUFIX = ipfire
+endif
+
+VER        = 2.3.4
+
+THISAPP    = igb-$(VER)
+DL_FILE    = $(THISAPP).tar.gz
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)-kmod-$(KVER)-$(VERSUFIX)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = b0ea2a70198746b69392ef935b61454a
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+dist: 
+       $(PAK)
+
+###############################################################################
+# 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)
+       #Save original igb module
+       -mv /lib/modules/$(KVER)-$(VERSUFIX)/kernel/drivers/net/igb/igb.ko \
+           /lib/modules/$(KVER)-$(VERSUFIX)/kernel/drivers/net/igb/igb.ko.org
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP)/src && make -C /lib/modules/$(KVER)-$(VERSUFIX)/build/ \
+               SUBDIRS=$(DIR_APP)/src modules
+       cd $(DIR_APP)/src && install -m 644 igb.ko \
+               /lib/modules/$(KVER)-$(VERSUFIX)/kernel/drivers/net/igb
+       @rm -rf $(DIR_APP)
+       @$(POSTBUILD)
diff --git a/lfs/imspector b/lfs/imspector
new file mode 100644 (file)
index 0000000..092211b
--- /dev/null
@@ -0,0 +1,88 @@
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2010  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/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 20101008
+
+THISAPP    = imspector-$(VER)
+DL_FILE    = $(THISAPP).tar.gz
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+PROG       = imspector
+PAK_VER    = 2
+
+DEPS       = ""
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = 032407bb13ccddb77328f83eded102ee
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+dist: 
+       @$(PAK)
+
+###############################################################################
+# 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_SRC)/imspector && make install
+       -mv /usr/etc/imspector /etc/imspector
+       -mv /etc/imspector/imspector /etc/imspector
+       install -v -m 755 $(DIR_CONF)/imspector/imspector.conf /etc/imspector.conf
+       install -v -m 644 $(DIR_SRC)/config/backup/includes/imspector /var/ipfire/backup/addons/includes/imspector
+       chmod 755 /srv/web/ipfire/cgi-bin/imspector.cgi
+       chown nobody:nobody -R /var/log/imspector
+       @rm -rf $(DIR_APP)
+       @$(POSTBUILD)
index a9fadf4de8bbd047b3a06a1691b35bc2c25d8db5..ffb18c942f276fde3bf6355c6b2eeeeb8baf6bd9 100644 (file)
@@ -146,6 +146,9 @@ $(TARGET) :
        ln -sf ../init.d/motion      /etc/rc.d/rc3.d/S99motion
        ln -sf ../init.d/motion      /etc/rc.d/rc0.d/K01motion
        ln -sf ../init.d/motion      /etc/rc.d/rc6.d/K01motion
+       ln -sf ../init.d/imspetor    /etc/rc.d/rc3.d/S99imspetor
+       ln -sf ../init.d/imspetor    /etc/rc.d/rc0.d/K01imspetor
+       ln -sf ../init.d/imspetor    /etc/rc.d/rc6.d/K01imspetor
        ln -sf  ../init.d/cyrus-sasl /etc/rc.d/rc0.d/K49cyrus-sasl
        ln -sf  ../init.d/cyrus-sasl /etc/rc.d/rc3.d/S24cyrus-sasl
        ln -sf  ../init.d/cyrus-sasl /etc/rc.d/rc6.d/K49cyrus-sasl
index 3d1a32fa37e57b94ef22e829367d7e04a1799492..b2a65ca0fa6e3bf3137193ca436d96a1e353b1a0 100644 (file)
@@ -27,13 +27,13 @@ include Config
 VER        = 1.00
 
 THISAPP    = ipfireseeder-$(VER)
-DL_FILE    = ipfire-2.7.i586-full-core39.iso.torrent
+DL_FILE    = ipfire-2.7.i586-full-core40.iso.torrent
 
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = ipfireseeder
-PAK_VER    = 13
+PAK_VER    = 15
 
 DEPS       = "rtorrent"
 
@@ -45,7 +45,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = fb86055370d1cd5c0736c47b3e4f68f6
+$(DL_FILE)_MD5 = 6475e2d772a39db73ea869328f98d2f3
 
 install : $(TARGET)
 
diff --git a/lfs/mpd b/lfs/mpd
index 3e0999ce4ad6da7e384be3f2d12ae81d71fa86b4..e6d86ab039ee195b5545c9281923c2ea2edf872c 100644 (file)
--- a/lfs/mpd
+++ b/lfs/mpd
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 0.15.8
+VER        = 0.15.12
 
 THISAPP    = mpd-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/${THISAPP}
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = mpd
-PAK_VER    = 10
+PAK_VER    = 11
 
 DEPS       = "alsa faad2 ffmpeg-libs glib lame libshout libogg libid3tag libvorbis"
 
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 824e1ce46c0f468865d9e5e403cdaf5d
+$(DL_FILE)_MD5 = b00b289a20ecd9accfd4972d6395135c
 
 install : $(TARGET)
 
index 8c8ad71116c09cc4490799f479ef0b54946d77df..792de60dab18452df2ced2797e156df90d021343 100644 (file)
@@ -75,6 +75,8 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
        cd $(DIR_APP) && cp -Rvf $(DIR_SRC)/config/ovpn /var/ipfire
+       cd $(DIR_APP)/plugin/auth-pam && make
+       cp -pvf $(DIR_APP)/plugin/auth-pam/openvpn-auth-pam.so /lib/
        -mkdir -vp /var/ipfire/ovpn/ca
        -mkdir -vp /var/ipfire/ovpn/crls
        touch /var/ipfire/ovpn/ovpn-leases.db
index 8a8712eb4798f5d44af4088ad125ce8e14e02976..8a354d85dff61410d7b768d91c4932b478cae326 100644 (file)
--- a/lfs/samba
+++ b/lfs/samba
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 3.5.4
+VER        = 3.5.6
 
 THISAPP    = samba-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = samba
-PAK_VER    = 29
+PAK_VER    = 31
 
 DEPS       = "cups"
 
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 22c8c977eaa18be50f3878c6d0e0c2f0
+$(DL_FILE)_MD5 = bf6c09ea497a166df8bd672db1d8da8f
 
 install : $(TARGET)
 
index 4b2e348e4b8793ae6019be8edb3d929d324e3f06..c44b14e384a610795792245ed4379d9429a32064 100644 (file)
--- a/lfs/snort
+++ b/lfs/snort
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 2.8.6
+VER        = 2.8.6.1
 
 THISAPP    = snort-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = b1c2d3ddb1c0a859a47c5a31d19e60ad
+$(DL_FILE)_MD5 = b1119396a32e9df0d80404e4b6c49166
 
 install : $(TARGET)
 
index 6e8c74780be7bb1b187a1cd4bf59718c80eff0ca..51fae7773c9d89724cdf11a83b1d9bc8287b2843 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 4.4.0
+VER        = 4.4.1
 
 THISAPP    = strongswan-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = bfb0f1c8ef1344e1ae8157bdde060fed
+$(DL_FILE)_MD5 = b5730083d8d98e71eada2f7aa93f74af
 
 install : $(TARGET)
 
diff --git a/make.sh b/make.sh
index a7cda0919aad22b8b24d51df98ceb8b76cb590b2..166f9ecab485b9dd426f28fc375d7090fea4733a 100755 (executable)
--- a/make.sh
+++ b/make.sh
@@ -25,8 +25,8 @@
 NAME="IPFire"                                                  # Software name
 SNAME="ipfire"                                                 # Short name
 VERSION="2.7"                                                  # Version number
-CORE="40"                                                      # Core Level (Filename)
-PAKFIRE_CORE="39"                                              # Core Level (PAKFIRE)
+CORE="41"                                                      # Core Level (Filename)
+PAKFIRE_CORE="40"                                              # Core Level (PAKFIRE)
 GIT_BRANCH=`git status | head -n1 | cut -d" " -f4`             # Git Branch
 SLOGAN="www.ipfire.org"                                                # Software slogan
 CONFIG_ROOT=/var/ipfire                                                # Configuration rootdir
@@ -355,6 +355,7 @@ buildipfire() {
   ipfiremake r8101                     XEN=1
   ipfiremake e1000                     XEN=1
   ipfiremake e1000e                    XEN=1
+  ipfiremake igb                       XEN=1
   ipfiremake linux
   ipfiremake kqemu
   ipfiremake kvm-kmod
@@ -370,6 +371,7 @@ buildipfire() {
   ipfiremake r8101
   ipfiremake e1000
   ipfiremake e1000e
+  ipfiremake igb
   ipfiremake pkg-config
   ipfiremake linux-atm
   ipfiremake cpio
@@ -643,6 +645,7 @@ buildipfire() {
   ipfiremake pound
   ipfiremake minicom
   ipfiremake ddrescue
+  ipfiremake imspector
   echo Build on $HOSTNAME > $BASEDIR/build/var/ipfire/firebuild
   cat /proc/version >> $BASEDIR/build/var/ipfire/firebuild
   echo >> $BASEDIR/build/var/ipfire/firebuild
@@ -1017,11 +1020,12 @@ uploadsrc)
                beautify message FAIL
                exit 1
        fi
+
        URL_SOURCE=$(grep URL_SOURCE lfs/Config | awk '{ print $3 }')
-       REMOTE_FILES=$(echo "ls -1" | sftp -C ${IPFIRE_USER}@${URL_SOURCE})
+       REMOTE_FILES=$(echo "ls -1 --ignore=toolchains" | sftp -C ${IPFIRE_USER}@${URL_SOURCE})
 
        cd $BASEDIR/cache/
-       for file in $(ls -1); do
+       for file in $(ls -1 --ignore=toolchains); do
                grep -q "$file" <<<$REMOTE_FILES && continue
                NEW_FILES="$NEW_FILES $file"
        done
index a2b3fd06dd7f2f6bcf1c7eccaafbdf5762ab7848..366ae071c83f52e20598991997f0799c413b7e6a 100644 (file)
@@ -140,11 +140,14 @@ case "$1" in
        # CUSTOM chains, can be used by the users themselves
        /sbin/iptables -N CUSTOMINPUT
        /sbin/iptables -A INPUT -j CUSTOMINPUT
+       /sbin/iptables -N GUARDIANINPUT
+       /sbin/iptables -A INPUT -j GUARDIANINPUT
        /sbin/iptables -N CUSTOMFORWARD
        /sbin/iptables -A FORWARD -j CUSTOMFORWARD
        /sbin/iptables -N CUSTOMOUTPUT
        /sbin/iptables -A OUTPUT -j CUSTOMOUTPUT
        /sbin/iptables -N OUTGOINGFW
+       /sbin/iptables -N OUTGOINGFWMAC
        /sbin/iptables -A OUTPUT -j OUTGOINGFW
        /sbin/iptables -t nat -N CUSTOMPREROUTING
        /sbin/iptables -t nat -A PREROUTING -j CUSTOMPREROUTING
@@ -180,6 +183,7 @@ case "$1" in
        /sbin/iptables -t nat -A POSTROUTING -j IPSECNAT
 
        # Outgoing Firewall
+       /sbin/iptables -A FORWARD -j OUTGOINGFWMAC
        /sbin/iptables -A FORWARD -j OUTGOINGFW
 
        # localhost and ethernet.
diff --git a/src/initscripts/init.d/imspector b/src/initscripts/init.d/imspector
new file mode 100644 (file)
index 0000000..7a5a986
--- /dev/null
@@ -0,0 +1,54 @@
+#!/bin/sh
+# Begin $rc_base/init.d/imspector
+
+. /etc/sysconfig/rc
+. $rc_functions
+
+case "$1" in
+       start)
+               boot_mesg "Inserting imspector redirects..."
+                       iptables -t nat -A CUSTOMPREROUTING -p tcp --destination-port 1863 -j REDIRECT --to-ports 16667
+                       iptables -t nat -A CUSTOMPREROUTING -p tcp --destination-port 5222 -j REDIRECT --to-ports 16667
+                       iptables -t nat -A CUSTOMPREROUTING -p tcp --destination-port 5223 -j REDIRECT --to-ports 16667
+                       iptables -t nat -A CUSTOMPREROUTING -p tcp --destination-port 5190 -j REDIRECT --to-ports 16667
+                       iptables -t nat -A CUSTOMPREROUTING -p tcp --destination-port 5050 -j REDIRECT --to-ports 16667
+                       iptables -t nat -A CUSTOMPREROUTING -p tcp --destination-port 6667 -j REDIRECT --to-ports 16667
+                       iptables -t nat -A CUSTOMPREROUTING -p tcp --destination-port 8074 -j REDIRECT --to-ports 16667
+
+               boot_mesg "Starting imspector Deamon..."
+                       loadproc imspector -c /etc/imspector/imspector.conf
+                       evaluate_retval 
+               ;;
+
+       stop)
+               boot_mesg "Stopping imspector Deamon..."
+               killproc /usr/sbin/imspector
+               evaluate_retval
+
+               boot_mesg "Remove imspector redirects..."
+                       iptables -t nat -D CUSTOMPREROUTING -p tcp --destination-port 1863 -j REDIRECT --to-ports 16667
+                       iptables -t nat -D CUSTOMPREROUTING -p tcp --destination-port 5222 -j REDIRECT --to-ports 16667
+                       iptables -t nat -D CUSTOMPREROUTING -p tcp --destination-port 5223 -j REDIRECT --to-ports 16667
+                       iptables -t nat -D CUSTOMPREROUTING -p tcp --destination-port 5190 -j REDIRECT --to-ports 16667
+                       iptables -t nat -D CUSTOMPREROUTING -p tcp --destination-port 5050 -j REDIRECT --to-ports 16667
+                       iptables -t nat -D CUSTOMPREROUTING -p tcp --destination-port 6667 -j REDIRECT --to-ports 16667
+                       iptables -t nat -D CUSTOMPREROUTING -p tcp --destination-port 8074 -j REDIRECT --to-ports 16667
+               ;;
+
+       restart)
+               $0 stop
+               sleep 1
+               $0 start
+               ;;
+
+       status)
+               statusproc /usr/sbin/imspector
+               ;;
+
+       *)
+               echo "Usage: $0 {start|stop|restart|status}"
+               exit 1
+               ;;
+esac
+
+# End $rc_base/init.d/imspector
index def3292031e3a2fd3e60f9507410c79682b5591b..5ce5cdf6c07817a34ee8a206a9d35b44473893d9 100644 (file)
@@ -30,6 +30,7 @@ case "${1}" in
                evaluate_retval
                if ! grep -q "35700:35700" /var/ipfire/xtaccess/config ; then
                        echo "tcp,0.0.0.0/0,35700:35700,on,0.0.0.0,IPFireSeeder" >> /var/ipfire/xtaccess/config
+                       echo "udp,0.0.0.0/0,35700:35700,on,0.0.0.0,IPFireSeeder" >> /var/ipfire/xtaccess/config
                        /usr/local/bin/setxtaccess
                fi
                ;;
index a574050d74010392d11f0e09ab8c10cc98a27e60..1940169f4e686be00d6a2c52060285a01812414d 100644 (file)
@@ -236,6 +236,21 @@ case "${1}" in
 
                        PPP_NIC=${DEVICE}
 
+
+                       if [ "$TYPE" == "pppoeatm" ] || [ "$TYPE" == "pptpatm" ]; then
+                               PPP_NIC=nas0            
+                               DEVICE=nas0
+                               boot_mesg "Createing ATM-Bridge as $PPP_NIC ..."
+                               br2684ctl -c0 -e${ENCAP} -a0.${VPI}.${VCI} >/dev/null 2>&1 &
+                               sleep 1
+                               if [ "$TYPE" == "pppoeatm" ]; then
+                                       TYPE="pppoe"
+                               fi
+                               if [ "$TYPE" == "pptpatm" ]; then
+                                       TYPE="pptp"
+                               fi
+                       fi
+
                        if [ "$TYPE" == "vdsl" ]; then
                                boot_mesg "Createing VLAN Interface ${DEVICE}.${RED_VDSL_INET_VLAN} ..."
                                modprobe 8021q
@@ -249,67 +264,55 @@ case "${1}" in
                                sleep 0.2
                                ip link set ${PPP_NIC} up
                                TYPE="pppoe"
-                               if [ "${RED_VDSL_IPTV_DISABLE}" == "0" ]; then
-                                       PIDFILE="/var/run/dhcpcd-${DEVICE}.${RED_VDSL_IPTV_VLAN}.pid"
-                                       LEASEINFO="/var/ipfire/dhcpc/dhcpcd-${DEVICE}.${RED_VDSL_IPTV_VLAN}.info"
-                                       # Test to see if there is a stale pid file
-                                       if [ -f "$PIDFILE" ]; then
-                                               ps `cat "$PIDFILE"` | grep dhcpcd > /dev/null
-                                               if [ $? != 0 ]; then
-                                                       rm -f /var/run/dhcpcd-${DEVICE}.${RED_VDSL_IPTV_VLAN}.pid > /dev/null
-                                               fi
+                       fi
+                       if [ "${IPTV}" == "enable" ]; then
+                               PIDFILE="/var/run/dhcpcd-${DEVICE}.${RED_VDSL_IPTV_VLAN}.pid"
+                               LEASEINFO="/var/ipfire/dhcpc/dhcpcd-${DEVICE}.${RED_VDSL_IPTV_VLAN}.info"
+                               # Test to see if there is a stale pid file
+                               if [ -f "$PIDFILE" ]; then
+                                       ps `cat "$PIDFILE"` | grep dhcpcd > /dev/null
+                                       if [ $? != 0 ]; then
+                                               rm -f /var/run/dhcpcd-${DEVICE}.${RED_VDSL_IPTV_VLAN}.pid > /dev/null
                                        fi
+                               fi
 
-                                       if [ ! -f "$PIDFILE" ]; then
-                                               boot_mesg "Createing VLAN Interface ${DEVICE}.${RED_VDSL_IPTV_VLAN} ..."
-                                               vconfig add ${DEVICE} ${RED_VDSL_IPTV_VLAN}
-                                               if [ -n "$MAC2" ]; then
-                                                       boot_mesg "Setting mac address on ${DEVICE}.${RED_VDSL_IPTV_VLAN} to ${MAC2}"   
-                                                       ip link set dev ${DEVICE}.${RED_VDSL_IPTV_VLAN} address ${MAC2}
-                                                       evaluate_retval
-                                               fi
-                                               boot_mesg -n "Starting dhcpcd on the ${DEVICE}.${RED_VDSL_IPTV_VLAN} interface..."
-                                               /sbin/dhcpcd ${DEVICE}.${RED_VDSL_IPTV_VLAN} ${DHCP_START} >/dev/null 2>&1
-                                               RET="$?"
+                               if [ ! -f "$PIDFILE" ]; then
+                                       boot_mesg "Createing VLAN Interface ${DEVICE}.${RED_VDSL_IPTV_VLAN} ..."
+                                       modprobe 8021q
+                                       vconfig add ${DEVICE} ${RED_VDSL_IPTV_VLAN}
+                                       if [ -n "$MAC2" ]; then
+                                               boot_mesg "Setting mac address on ${DEVICE}.${RED_VDSL_IPTV_VLAN} to ${MAC2}"   
+                                               ip link set dev ${DEVICE}.${RED_VDSL_IPTV_VLAN} address ${MAC2}
+                                               evaluate_retval
+                                       fi
+                                       boot_mesg -n "Starting dhcpcd on the ${DEVICE}.${RED_VDSL_IPTV_VLAN} interface..."
+                                       /sbin/dhcpcd ${DEVICE}.${RED_VDSL_IPTV_VLAN} ${DHCP_START} >/dev/null 2>&1
+                                       RET="$?"
 
-                                               if [ "$RET" = "0" ]; then
-                                                       . /var/ipfire/dhcpc/dhcpcd-${DEVICE}.${RED_VDSL_IPTV_VLAN}.info
-                                                       echo ""
-                                                       echo_ok
-                                                       boot_mesg "           DHCP Assigned Settings for ${DEVICE}.${RED_VDSL_IPTV_VLAN}:"
-                                                       boot_mesg_flush
-                                                       boot_mesg "           IP Address:      $ip_address"
-                                                       boot_mesg_flush
-                                                       boot_mesg "           Hostname:        $RED_DHCP_HOSTNAME"
-                                                       boot_mesg_flush
-                                                       boot_mesg "           Subnet Mask:     $subnet_mask"
-                                                       boot_mesg_flush
-                                                       boot_mesg "           Default Gateway: $routers"
-                                                       boot_mesg_flush
-                                                       boot_mesg "           DNS Server:      $domain_name_servers"
-                                                       boot_mesg_flush
+                                       if [ "$RET" = "0" ]; then
+                                               . /var/ipfire/dhcpc/dhcpcd-${DEVICE}.${RED_VDSL_IPTV_VLAN}.info
+                                               echo ""
+                                               echo_ok
+                                               boot_mesg "           DHCP Assigned Settings for ${DEVICE}.${RED_VDSL_IPTV_VLAN}:"
+                                               boot_mesg_flush
+                                               boot_mesg "           IP Address:      $ip_address"
+                                               boot_mesg_flush
+                                               boot_mesg "           Hostname:        $RED_DHCP_HOSTNAME"
+                                               boot_mesg_flush
+                                               boot_mesg "           Subnet Mask:     $subnet_mask"
+                                               boot_mesg_flush
+                                               boot_mesg "           Default Gateway: $routers"
+                                               boot_mesg_flush
+                                               boot_mesg "           DNS Server:      $domain_name_servers"
+                                               boot_mesg_flush
 
-                                               else
-                                                       echo ""
-                                                       $(exit "$RET")
-                                                       evaluate_retval
-                                               fi
+                                       else
+                                               echo ""
+                                               $(exit "$RET")
+                                               evaluate_retval
                                        fi
                                fi
                        fi
-
-                       if [ "$TYPE" == "pppoeatm" ] || [ "$TYPE" == "pptpatm" ]; then
-                               PPP_NIC=nas0            
-                               boot_mesg "Createing ATM-Bridge as $PPP_NIC ..."
-                               br2684ctl -c0 -e${ENCAP} -a0.${VPI}.${VCI} >/dev/null 2>&1 &
-                               sleep 1
-                               if [ "$TYPE" == "pppoeatm" ]; then
-                                       TYPE="pppoe"
-                               fi
-                               if [ "$TYPE" == "pptpatm" ]; then
-                                       TYPE="pptp"
-                               fi
-                       fi
                        if [ "$TYPE" == "pppoe" ] || [ "$TYPE" == "pptp" ]; then
                                if [ "$PPP_NIC" == "" ]; then
                                        boot_mesg "No device for red interface given. Check netsetup or dialprofile!" ${FAILURE}
index ef94de153330e5a713acbadc13d149aaf50fdf0e..92f174d8afdd356d3689856ccad5acd2d35bf2b4 100644 (file)
@@ -9,7 +9,7 @@ eval $(/usr/local/bin/readhash /var/ipfire/time/settings)
 case "$1" in
        start)
                if [ "$ENABLESETONBOOT" == "on" ]; then
-                       boot_mesg "Setting time on booot..."
+                       boot_mesg "Setting time on boot..."
                        loadproc /usr/local/bin/settime $(cat /var/ipfire/time/settime.conf)
                fi  
 
index 76f1efec9130dd75dee4dc51f9a7f03c2adceb12..81abf5aa373ebaa569aa26eb4d964c0276bb2a67 100644 (file)
@@ -23,4 +23,7 @@
 #
 . /opt/pakfire/lib/functions.sh
 extract_files
+ln -s ../../ipfireseeder /etc/rc.d/init.d/networking/red.up/90-S-ipfireseeder
+ln -s ../../ipfireseeder /etc/rc.d/init.d/networking/red.down/01-K-ipfireseeder
+
 start_service --delay 90 --background ${NAME}
index 973a2f92b295d95460228a77b57e358a439c4599..888c7016f57dd88ff8629de9557bf679c31d6ef7 100644 (file)
@@ -31,4 +31,12 @@ cat /opt/pakfire/db/rootfiles/ipfireseeder | \
 mv /opt/pakfire/db/rootfiles/ipfireseeder.tmp \
     /opt/pakfire/db/rootfiles/ipfireseeder
 
+grep -v "IPFireSeeder" /var/ipfire/xtaccess/config > /var/ipfire/xtaccess/config.tmp
+mv /var/ipfire/xtaccess/config.tmp /var/ipfire/xtaccess/config
+chown nobody:nobody /var/ipfire/xtaccess/config
+chmod 644 /var/ipfire/xtaccess/config
+
+rm -f /etc/rc.d/rc?.d/???ipfireseeder
+rm -f /etc/rc.d/init.d/networking/red.*/??-?-ipfireseeder
+
 remove_files
index 10b3490d664ff4e040a94faa3f36ce337ee691af..89c40d0d7c5d3dd57b5944f3af4977d5f8d76760 100644 (file)
@@ -22,5 +22,5 @@
 ############################################################################
 #
 . /opt/pakfire/lib/functions.sh
-/etc/init.d/ipfireseeder stop
+./uninstall.sh
 ./install.sh
index 683b15504d0a76ecd657912ca6d8c7301ee3edba..fdd204b93cd402dea5359b1d5465a9263fdd10f5 100644 (file)
@@ -74,7 +74,7 @@ else
            echo "$FIRE gateway" >> /tmp/hosts
        else
            #DNS lookup failed use direct ip
-           echo "85.88.28.125  gateway" >> /tmp/hosts
+           echo "178.63.73.246 gateway" >> /tmp/hosts
        fi
 fi
 mv /tmp/hosts /etc/hosts