[prev in list] [next in list] [prev in thread] [next in thread] 

List:       ipfire-scm
Subject:    [IPFire-SCM] [git.ipfire.org] IPFire 2.x development tree branch, next, updated. b6af41a572eb83e7387
From:       git () ipfire ! org (Arne Fitzenreiter)
Date:       2010-08-29 13:53:51
Message-ID: 20100829135351.3F690206DC () argus ! ipfire ! org
[Download RAW message or body]

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "IPFire 2.x development tree".

The branch, next has been updated
       via  b6af41a572eb83e73875b1f8d450405fbee8eb0a (commit)
       via  1d9242b1b0942938aadbe630b11bd040637cd1ea (commit)
       via  769c84ce599b86f814003f86b0bb60ff2eff7d23 (commit)
       via  4478da7ca3428a16c93adcfbbb6f2085a164ff02 (commit)
       via  4d17a269dbd948f6c48f561552c328ab52b085ec (commit)
       via  6e346fe0651118e27d01c895e0b82dea8cf9aa3c (commit)
       via  e30c283719b9aa4e8623cb79688bc32dfb81cc8a (commit)
       via  ae23a606c8e22c64d18484e39f2ce61f23e2f1c1 (commit)
       via  aac0f7118f0630a1987324c4d29c642be06a9f94 (commit)
       via  bef4096f65580b95f585194c0341a08e6efcb77c (commit)
       via  e050adc8c1ef7082c0d26fab4b999f83d35db303 (commit)
       via  363a19ee8c387706bc6a6a7c1a9f822e68d6f7dc (commit)
       via  7c42d6855321cb3247e476235fbc7538cb81f479 (commit)
       via  d6d19d9280b1232629ed21643b2646e98d01fcaf (commit)
       via  c0ab03b580b939db4f7581fb00dc59f2211b6842 (commit)
       via  1f10d162dce4014536a16afc960650a2f728c215 (commit)
      from  a500f481856700c218d6723fa28104f1510d6abe (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit b6af41a572eb83e73875b1f8d450405fbee8eb0a
Merge: 1d9242b 4d17a26
Author: Arne Fitzenreiter <arne_f at ipfire.org>
Date:   Sun Aug 29 12:59:53 2010 +0200

    Merge branch 'master' into next
    
    Conflicts:
    	config/rootfiles/core/40/filelists/files
    	make.sh

commit 1d9242b1b0942938aadbe630b11bd040637cd1ea
Author: Arne Fitzenreiter <arne_f at ipfire.org>
Date:   Sun Aug 29 12:57:02 2010 +0200

    Removed squashfs and tools.

commit 769c84ce599b86f814003f86b0bb60ff2eff7d23
Author: Arne Fitzenreiter <arne_f at ipfire.org>
Date:   Sun Aug 29 12:49:25 2010 +0200

    Kernel: update (2.6.32.21).

commit 4478da7ca3428a16c93adcfbbb6f2085a164ff02
Author: Arne Fitzenreiter <arne_f at ipfire.org>
Date:   Sun Aug 29 11:41:27 2010 +0200

    Kernel: disabled rcu stalled cpu detection.

-----------------------------------------------------------------------

Summary of changes:
 config/backup/includes/imspector            |    3 +
 config/cfgroot/time-settings                |    4 +-
 config/guardian/guardian_block.sh           |    2 +-
 config/guardian/guardian_unblock.sh         |    2 +-
 config/imspector/imspector.conf             |   24 +
 config/kernel/kernel.config.i586-ipfire     |    7 +-
 config/kernel/kernel.config.i586-ipfire-xen |    7 +-
 config/menu/EX-imspector.menu               |    5 +
 config/rootfiles/common/configroot          |    1 +
 config/rootfiles/common/initscripts         |    1 +
 config/rootfiles/common/squashfstools       |    1 -
 config/rootfiles/core/test/update.sh        |    2 +-
 config/rootfiles/packages/imspector         |   27 ++
 doc/packages-list.txt                       |    3 +-
 html/cgi-bin/backup.cgi                     |    2 +-
 html/cgi-bin/imspector.cgi                  |  607 +++++++++++++++++++++++++++
 html/cgi-bin/qos.cgi                        |    4 +-
 html/cgi-bin/wlanap.cgi                     |    6 +-
 lfs/guardian                                |    2 +-
 lfs/hostapd                                 |    2 +-
 lfs/{faad2 => imspector}                    |   15 +-
 lfs/initscripts                             |    3 +
 lfs/ipfireseeder                            |    2 +-
 lfs/linux                                   |    8 +-
 lfs/squashfstools                           |   76 ----
 lfs/squidclamav                             |    6 +-
 make.sh                                     |    7 +-
 src/initscripts/init.d/firewall             |    2 +
 src/initscripts/init.d/imspector            |   54 +++
 src/initscripts/init.d/ipfireseeder         |    1 +
 src/paks/ipfireseeder/install.sh            |    3 +
 src/paks/ipfireseeder/uninstall.sh          |    8 +
 src/paks/ipfireseeder/update.sh             |    2 +-
 src/paks/linux-xen/install.sh               |    2 +-
 src/ppp/ip-up                               |    2 +-
 35 files changed, 785 insertions(+), 118 deletions(-)
 create mode 100644 config/backup/includes/imspector
 create mode 100644 config/imspector/imspector.conf
 create mode 100644 config/menu/EX-imspector.menu
 delete mode 100644 config/rootfiles/common/squashfstools
 create mode 100644 config/rootfiles/packages/imspector
 create mode 100644 html/cgi-bin/imspector.cgi
 copy lfs/{faad2 => imspector} (87%)
 delete mode 100644 lfs/squashfstools
 create mode 100644 src/initscripts/init.d/imspector

Difference in files:
diff --git a/config/backup/includes/imspector b/config/backup/includes/imspector
new file mode 100644
index 0000000..cc7ef16
--- /dev/null
+++ b/config/backup/includes/imspector
@@ -0,0 +1,3 @@
+/etc/imspector/acl.txt
+/etc/imspector/badwords.txt
+/etc/imspector/imspector.conf
\ No newline at end of file
diff --git a/config/cfgroot/time-settings b/config/cfgroot/time-settings
index 577b0b3..d10a86d 100644
--- a/config/cfgroot/time-settings
+++ b/config/cfgroot/time-settings
@@ -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
diff --git a/config/guardian/guardian_block.sh b/config/guardian/guardian_block.sh
index bc344d1..0a44325 100644
--- a/config/guardian/guardian_block.sh
+++ b/config/guardian/guardian_block.sh
@@ -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
diff --git a/config/guardian/guardian_unblock.sh \
b/config/guardian/guardian_unblock.sh index 5e0b379..e0d3b5d 100644
--- a/config/guardian/guardian_unblock.sh
+++ b/config/guardian/guardian_unblock.sh
@@ -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
index 0000000..a37241d
--- /dev/null
+++ b/config/imspector/imspector.conf
@@ -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/kernel/kernel.config.i586-ipfire \
b/config/kernel/kernel.config.i586-ipfire index 0303349..6072dfc 100644
--- a/config/kernel/kernel.config.i586-ipfire
+++ b/config/kernel/kernel.config.i586-ipfire
@@ -3589,10 +3589,7 @@ CONFIG_JFFS2_CMODE_PRIORITY=y
 # CONFIG_JFFS2_CMODE_FAVOURLZO is not set
 # CONFIG_UBIFS_FS is not set
 # CONFIG_CRAMFS is not set
-CONFIG_SQUASHFS=y
-CONFIG_SQUASHFS_LZMA=y
-# CONFIG_SQUASHFS_EMBEDDED is not set
-CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_SQUASHFS is not set
 # CONFIG_VXFS_FS is not set
 # CONFIG_MINIX_FS is not set
 # CONFIG_OMFS_FS is not set
@@ -3723,7 +3720,7 @@ CONFIG_DEBUG_BUGVERBOSE=y
 CONFIG_DEBUG_MEMORY_INIT=y
 CONFIG_ARCH_WANT_FRAME_POINTERS=y
 CONFIG_FRAME_POINTER=y
-CONFIG_RCU_CPU_STALL_DETECTOR=y
+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
 # CONFIG_LATENCYTOP is not set
 # CONFIG_SYSCTL_SYSCALL_CHECK is not set
 CONFIG_USER_STACKTRACE_SUPPORT=y
diff --git a/config/kernel/kernel.config.i586-ipfire-xen \
b/config/kernel/kernel.config.i586-ipfire-xen index 9dc576b..746d60c 100644
--- a/config/kernel/kernel.config.i586-ipfire-xen
+++ b/config/kernel/kernel.config.i586-ipfire-xen
@@ -3381,10 +3381,7 @@ CONFIG_JFFS2_CMODE_PRIORITY=y
 # CONFIG_JFFS2_CMODE_FAVOURLZO is not set
 # CONFIG_UBIFS_FS is not set
 # CONFIG_CRAMFS is not set
-CONFIG_SQUASHFS=y
-CONFIG_SQUASHFS_LZMA=y
-# CONFIG_SQUASHFS_EMBEDDED is not set
-CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_SQUASHFS is not set
 # CONFIG_VXFS_FS is not set
 # CONFIG_MINIX_FS is not set
 # CONFIG_OMFS_FS is not set
@@ -3514,7 +3511,7 @@ CONFIG_DEBUG_BUGVERBOSE=y
 CONFIG_DEBUG_MEMORY_INIT=y
 CONFIG_ARCH_WANT_FRAME_POINTERS=y
 CONFIG_FRAME_POINTER=y
-CONFIG_RCU_CPU_STALL_DETECTOR=y
+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
 # CONFIG_LATENCYTOP is not set
 # CONFIG_SYSCTL_SYSCALL_CHECK is not set
 CONFIG_USER_STACKTRACE_SUPPORT=y
diff --git a/config/menu/EX-imspector.menu b/config/menu/EX-imspector.menu
new file mode 100644
index 0000000..c88866f
--- /dev/null
+++ b/config/menu/EX-imspector.menu
@@ -0,0 +1,5 @@
+    $subipfire->{'30.imspector'} = {'caption' => 'Imspector',
+				  'uri' => '/cgi-bin/imspector.cgi',
+				  'title' => 'Imspector',
+				  'enabled' => 1,
+				  };
diff --git a/config/rootfiles/common/configroot b/config/rootfiles/common/configroot
index d047104..abc1ee3 100644
--- a/config/rootfiles/common/configroot
+++ b/config/rootfiles/common/configroot
@@ -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
diff --git a/config/rootfiles/common/initscripts \
b/config/rootfiles/common/initscripts index a43b7f0..5fd0c17 100644
--- a/config/rootfiles/common/initscripts
+++ b/config/rootfiles/common/initscripts
@@ -34,6 +34,7 @@ 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
diff --git a/config/rootfiles/common/squashfstools \
b/config/rootfiles/common/squashfstools deleted file mode 100644
index 888f86a..0000000
--- a/config/rootfiles/common/squashfstools
+++ /dev/null
@@ -1 +0,0 @@
-#bin/mksquashfs
diff --git a/config/rootfiles/core/test/update.sh \
b/config/rootfiles/core/test/update.sh index 7d136c8..a531e91 100644
--- a/config/rootfiles/core/test/update.sh
+++ b/config/rootfiles/core/test/update.sh
@@ -24,7 +24,7 @@
 . /opt/pakfire/lib/functions.sh
 /usr/local/bin/backupctrl exclude >/dev/null 2>&1
 #
-KVER="2.6.32.19"
+KVER="2.6.32.21"
 MOUNT=`grep "kernel" /boot/grub/grub.conf | tail -n 1`
 # Nur den letzten Parameter verwenden
 echo $MOUNT > /dev/null
diff --git a/config/rootfiles/packages/imspector \
b/config/rootfiles/packages/imspector new file mode 100644
index 0000000..0cd6ee8
--- /dev/null
+++ b/config/rootfiles/packages/imspector
@@ -0,0 +1,27 @@
+etc/imspector
+#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
diff --git a/doc/packages-list.txt b/doc/packages-list.txt
index ef6b635..ae670ea 100644
--- a/doc/packages-list.txt
+++ b/doc/packages-list.txt
@@ -149,6 +149,7 @@
 * icegenerator-0.5.5-pre2
 * iftop-0.17
 * igmpproxy-0.1
+* imspector-0.9
 * inetutils-1.4.2
 * ipaddr-1.2
 * iperf-2.0.4
@@ -313,7 +314,7 @@
 * squashfs-lzma-cvs20100214
 * squid-2.7.STABLE9
 * squidGuard-1.4.1
-* squidclamav-5.3
+* squidclamav-5.4
 * sshfs-fuse-2.2
 * sslh-1.7a
 * streamripper-1.63.5
diff --git a/html/cgi-bin/backup.cgi b/html/cgi-bin/backup.cgi
index d160349..86814e9 100644
--- a/html/cgi-bin/backup.cgi
+++ b/html/cgi-bin/backup.cgi
@@ -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>
diff --git a/html/cgi-bin/imspector.cgi b/html/cgi-bin/imspector.cgi
new file mode 100644
index 0000000..7cc2e64
--- /dev/null
+++ b/html/cgi-bin/imspector.cgi
@@ -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;
+}
diff --git a/html/cgi-bin/qos.cgi b/html/cgi-bin/qos.cgi
index 26e0eef..60c75d7 100644
--- a/html/cgi-bin/qos.cgi
+++ b/html/cgi-bin/qos.cgi
@@ -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);
diff --git a/html/cgi-bin/wlanap.cgi b/html/cgi-bin/wlanap.cgi
index 2e12a65..0301895 100644
--- a/html/cgi-bin/wlanap.cgi
+++ b/html/cgi-bin/wlanap.cgi
@@ -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
 ;
 
diff --git a/lfs/guardian b/lfs/guardian
index e08a469..65f14cb 100644
--- a/lfs/guardian
+++ b/lfs/guardian
@@ -30,7 +30,7 @@ THISAPP    = guardian-$(VER)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = guardian
-PAK_VER    = 4
+PAK_VER    = 5
 
 DEPS       = ""
 
diff --git a/lfs/hostapd b/lfs/hostapd
index 1791593..90b35db 100644
--- a/lfs/hostapd
+++ b/lfs/hostapd
@@ -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       = ""
 
diff --git a/lfs/imspector b/lfs/imspector
new file mode 100644
index 0000000..31e358d
--- /dev/null
+++ b/lfs/imspector
@@ -0,0 +1,87 @@
+###############################################################################
+#                                                                             #
+# 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        = 0.9
+
+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    = 1
+
+DEPS       = ""
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = 626abf7c2b8f15d56df679ad66624575
+
+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_APP) && make install
+	-mv /usr/etc/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)
diff --git a/lfs/initscripts b/lfs/initscripts
index 1dbf65d..7388d2f 100644
--- a/lfs/initscripts
+++ b/lfs/initscripts
@@ -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
diff --git a/lfs/ipfireseeder b/lfs/ipfireseeder
index 3d1a32f..a0921c6 100644
--- a/lfs/ipfireseeder
+++ b/lfs/ipfireseeder
@@ -33,7 +33,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = ipfireseeder
-PAK_VER    = 13
+PAK_VER    = 14
 
 DEPS       = "rtorrent"
 
diff --git a/lfs/linux b/lfs/linux
index 3b96464..3816ef3 100644
--- a/lfs/linux
+++ b/lfs/linux
@@ -24,8 +24,8 @@
 
 include Config
 
-PATCHLEVEL = .19
-VER        = 2.6.32.19
+PATCHLEVEL = .21
+VER        = 2.6.32.21
 
 THISAPP    = linux-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
@@ -35,7 +35,7 @@ CFLAGS     =
 CXXFLAGS   =
 
 PROG	   = linux-xen
-PAK_VER    = 11
+PAK_VER    = 12
 DEPS	   = ""
 
 # Normal build or XEN build.
@@ -66,7 +66,7 @@ reiser4-for-2.6.32.patch.bz2		= \
$(URL_IPFIRE)/reiser4-for-2.6.32.patch.bz2  \
squashfs-lzma-linux-2.6.32-kernel-patches.tar.bz2 = \
$(URL_IPFIRE)/squashfs-lzma-linux-2.6.32-kernel-patches.tar.bz2  \
xen-patches-2.6.32-2c.tar.bz2		= $(URL_IPFIRE)/xen-patches-2.6.32-2c.tar.bz2  
-$(DL_FILE)_MD5				= 7f32112095a164e1330c07be72966ccb
+$(DL_FILE)_MD5				= e4acefa00c5b8fcc539d9cbf34d88cdb
 netfilter-layer7-v2.22.tar.gz_MD5	= 98dff8a3d5a31885b73341633f69501f
 patch-2.6.16-nath323-1.3.bz2_MD5	= f926409ff703a307baf54b57ab75d138
 reiser4-for-2.6.32.patch.bz2_MD5	= 3246397973d9271eb8e6d7c97c5d2d91
diff --git a/lfs/squashfstools b/lfs/squashfstools
deleted file mode 100644
index bc1eb65..0000000
--- a/lfs/squashfstools
+++ /dev/null
@@ -1,76 +0,0 @@
-###############################################################################
-#                                                                             #
-# IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007  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        = cvs20100214
-
-THISAPP    = squashfs-lzma-$(VER)
-DL_FILE    = $(THISAPP).tar.bz2
-DL_FROM    = $(URL_IPFIRE)
-DIR_APP    = $(DIR_SRC)/$(THISAPP)
-TARGET     = $(DIR_INFO)/$(THISAPP)
-
-###############################################################################
-# Top-level Rules
-###############################################################################
-
-objects = $(DL_FILE)
-
-$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-
-$(DL_FILE)_MD5 = 6bcc0500dd126cb8cafa85f111f8496e
-
-install : $(TARGET)
-
-check : $(patsubst %,$(DIR_CHK)/%,$(objects))
-
-download :$(patsubst %,$(DIR_DL)/%,$(objects))
-
-md5 : $(subst %,%_MD5,$(objects))
-
-###############################################################################
-# Downloading, checking, md5sum
-###############################################################################
-
-$(patsubst %,$(DIR_CHK)/%,$(objects)) :
-	@$(CHECK)
-
-$(patsubst %,$(DIR_DL)/%,$(objects)) :
-	@$(LOAD)
-
-$(subst %,%_MD5,$(objects)) :
-	@$(MD5)
-
-###############################################################################
-# Installation Details
-###############################################################################
-
-$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
-	@$(PREBUILD)
-	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
-	cd $(DIR_APP)/squashfs-tools && make mksquashfs
-	cd $(DIR_APP)/squashfs-tools && cp -f mksquashfs /bin
-	@rm -rf $(DIR_APP)
-	@$(POSTBUILD)
diff --git a/lfs/squidclamav b/lfs/squidclamav
index e718f5d..662594a 100644
--- a/lfs/squidclamav
+++ b/lfs/squidclamav
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 5.3
+VER        = 5.4
 
 THISAPP    = squidclamav-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = squidclamav
-PAK_VER    = 12
+PAK_VER    = 13
 
 DEPS       = "clamav"
 
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 39f4b98294782039840b2052eab543e2
+$(DL_FILE)_MD5 = e2adab89b1d46ace78b4ec5200dd1285
 
 install : $(TARGET)
 
diff --git a/make.sh b/make.sh
index 453c380..4d4529f 100755
--- a/make.sh
+++ b/make.sh
@@ -415,7 +415,6 @@ buildipfire() {
   ipfiremake cdrtools
   ipfiremake dnsmasq
   ipfiremake dosfstools
-  ipfiremake squashfstools
   ipfiremake reiserfsprogs
   ipfiremake xfsprogs
   ipfiremake sysfsutils
@@ -646,6 +645,7 @@ buildipfire() {
   ipfiremake minicom
   ipfiremake ddrescue
   ipfiremake tcl
+  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
@@ -994,11 +994,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
diff --git a/src/initscripts/init.d/firewall b/src/initscripts/init.d/firewall
index a2b3fd0..c38cce5 100644
--- a/src/initscripts/init.d/firewall
+++ b/src/initscripts/init.d/firewall
@@ -140,6 +140,8 @@ 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
diff --git a/src/initscripts/init.d/imspector b/src/initscripts/init.d/imspector
new file mode 100644
index 0000000..7a5a986
--- /dev/null
+++ b/src/initscripts/init.d/imspector
@@ -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
diff --git a/src/initscripts/init.d/ipfireseeder \
b/src/initscripts/init.d/ipfireseeder index def3292..5ce5cdf 100644
--- a/src/initscripts/init.d/ipfireseeder
+++ b/src/initscripts/init.d/ipfireseeder
@@ -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
 		;;
diff --git a/src/paks/ipfireseeder/install.sh b/src/paks/ipfireseeder/install.sh
index 76f1efe..81abf5a 100644
--- a/src/paks/ipfireseeder/install.sh
+++ b/src/paks/ipfireseeder/install.sh
@@ -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}
diff --git a/src/paks/ipfireseeder/uninstall.sh b/src/paks/ipfireseeder/uninstall.sh
index 973a2f9..888c701 100644
--- a/src/paks/ipfireseeder/uninstall.sh
+++ b/src/paks/ipfireseeder/uninstall.sh
@@ -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
diff --git a/src/paks/ipfireseeder/update.sh b/src/paks/ipfireseeder/update.sh
index 10b3490..89c40d0 100644
--- a/src/paks/ipfireseeder/update.sh
+++ b/src/paks/ipfireseeder/update.sh
@@ -22,5 +22,5 @@
 ############################################################################
 #
 . /opt/pakfire/lib/functions.sh
-/etc/init.d/ipfireseeder stop
+./uninstall.sh
 ./install.sh
diff --git a/src/paks/linux-xen/install.sh b/src/paks/linux-xen/install.sh
index 68c36ea..91d1655 100644
--- a/src/paks/linux-xen/install.sh
+++ b/src/paks/linux-xen/install.sh
@@ -24,7 +24,7 @@
 . /opt/pakfire/lib/functions.sh
 extract_files
 #
-KVER=2.6.32.19
+KVER=2.6.32.21
 ROOT=`grep "root=" /boot/grub/grub.conf | cut -d"=" -f2 | cut -d" " -f1 | tail -n 1`
 MOUNT=`grep "kernel" /boot/grub/grub.conf | tail -n 1`
 # Nur den letzten Parameter verwenden
diff --git a/src/ppp/ip-up b/src/ppp/ip-up
index 683b155..fdd204b 100644
--- a/src/ppp/ip-up
+++ b/src/ppp/ip-up
@@ -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


hooks/post-receive
--
IPFire 2.x development tree


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic