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@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@ipfire.org Date: Sun Aug 29 12:57:02 2010 +0200
Removed squashfs and tools.
commit 769c84ce599b86f814003f86b0bb60ff2eff7d23 Author: Arne Fitzenreiter arne_f@ipfire.org Date: Sun Aug 29 12:49:25 2010 +0200
Kernel: update (2.6.32.21).
commit 4478da7ca3428a16c93adcfbbb6f2085a164ff02 Author: Arne Fitzenreiter arne_f@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§ion=" + 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] + "');" + '"' + "' + >» " + 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 = " "; + } + + 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> </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: + <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 = "<<span class='remoteuser'>$u</span>>"; + } else { + # outgoing message + my $u = $localuser; + $u =~ s/@.*//g; + $user = "<<span class='localuser'>$u</span>>"; + } + } elsif ($type eq "2") { + if ( $direction eq "0" ){ + # incoming file + my $u = $remoteuser; + $u =~ s/@.*//g; + $user = "<<span class='remoteuser'><b><i>$u</i></b></span>>"; + } else { + # outgoing file + my $u = $localuser; + $u =~ s/@.*//g; + $user = "<<span class='localuser'><b><i>$u</i></b></span>>"; + } + } + + 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/&/&/g; + $value =~ s/</</g; + $value =~ s/>/>/g; + $value =~ s/"/"/g; + $value =~ s/'/'/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: </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: </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): </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