From 60cbd6e755bb6f49ed804821aea49fe94090ba04 Mon Sep 17 00:00:00 2001 From: ms Date: Sat, 10 Jun 2006 19:21:32 +0000 Subject: [PATCH] Hinzugefuegt: * SquidGuard - mit Patch damit es mit der DB 4.4.20 funktioniert. * wput - wget nur andersrum. * hddtemp/hddgraph * etherwake * Saemtliche Bootscripts vom BLFS * vpn-restart-script... muss noch bearbeitet werden. Geaendert: * Karsten Rechenbachs Emailadresse in die Credits gebaut. git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@168 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8 --- config/cfgroot/header.pl | 94 +++--- config/cfgroot/nfs-server | 4 + doc/packages-list.txt | 5 +- html/cgi-bin/credits.cgi | 2 +- html/cgi-bin/hddgraph.cgi | 66 ++++ html/cgi-bin/proxy.cgi | 5 +- langs/de/cgi-bin/de.pl | 4 + langs/en/cgi-bin/en.pl | 4 + lfs/configroot | 3 +- lfs/etherwake | 78 +++++ lfs/squidguard | 84 ++++++ lfs/startscripts | 3 +- lfs/wput | 79 +++++ make.sh | 3 + src/ROOTFILES.i386 | 22 +- src/init.d/cups | 43 +++ src/init.d/cyrus-sasl | 39 +++ src/init.d/init-functions | 348 ++++++++++++++++++++++ src/init.d/nfs-server | 112 +++++++ src/init.d/postfix | 55 ++++ src/init.d/samba | 54 ++++ src/init.d/winbind | 49 +++ src/init.d/xinetd | 44 +++ src/patches/squidGuard-1.2.0-ipfire.patch | 51 ++++ src/scripts/makegraphs | 83 +++++- src/scripts/vpn-restart | 66 ++++ 26 files changed, 1341 insertions(+), 59 deletions(-) create mode 100644 config/cfgroot/nfs-server create mode 100644 html/cgi-bin/hddgraph.cgi create mode 100644 lfs/etherwake create mode 100644 lfs/squidguard create mode 100644 lfs/wput create mode 100644 src/init.d/cups create mode 100644 src/init.d/cyrus-sasl create mode 100644 src/init.d/init-functions create mode 100644 src/init.d/nfs-server create mode 100644 src/init.d/postfix create mode 100644 src/init.d/winbind create mode 100644 src/init.d/xinetd create mode 100644 src/patches/squidGuard-1.2.0-ipfire.patch create mode 100644 src/scripts/vpn-restart diff --git a/config/cfgroot/header.pl b/config/cfgroot/header.pl index 04ed281d58..cefdc316f5 100644 --- a/config/cfgroot/header.pl +++ b/config/cfgroot/header.pl @@ -117,31 +117,31 @@ sub genmenu { my %subsystemhash = (); my $subsystem = \%subsystemhash; - $subsystem->{'01.home'} = { + $subsystem->{'10.home'} = { 'caption' => $tr{'alt home'}, 'uri' => '/cgi-bin/index.cgi', 'title' => "$tr{'alt home'}", 'enabled' => 1, }; - $subsystem->{'02.passwords'} = { + $subsystem->{'20.passwords'} = { 'caption' => $tr{'sspasswords'}, 'uri' => '/cgi-bin/changepw.cgi', 'title' => "$tr{'sspasswords'}", 'enabled' => 1, }; - $subsystem->{'03.ssh'} = { + $subsystem->{'30.ssh'} = { 'caption' => $tr{'ssh access'}, 'uri' => '/cgi-bin/remote.cgi', 'title' => "$tr{'ssh access'}", 'enabled' => 1, }; - $subsystem->{'04.gui'} = { + $subsystem->{'40.gui'} = { 'caption' => $tr{'gui settings'}, 'uri' => '/cgi-bin/gui.cgi', 'title' => "$tr{'gui settings'}", 'enabled' => 1, }; - $subsystem->{'05.shutdown'} = { + $subsystem->{'50.shutdown'} = { 'caption' => $tr{'shutdown'}, 'uri' => '/cgi-bin/shutdown.cgi', 'title' => "$tr{'shutdown'} / $tr{'reboot'}", @@ -156,51 +156,57 @@ sub genmenu { my %substatushash = (); my $substatus = \%substatushash; - $substatus->{'01.systemstatus'} = { + $substatus->{'10.systemstatus'} = { 'caption' => $tr{'sssystem status'}, 'uri' => '/cgi-bin/status.cgi', 'title' => "$tr{'sssystem status'}", 'enabled' => 1, }; - $substatus->{'02.networkstatus'} = { + $substatus->{'20.networkstatus'} = { 'caption' => $tr{'ssnetwork status'}, 'uri' => '/cgi-bin/netstatus.cgi', 'title' => "$tr{'ssnetwork status'}", 'enabled' => 1, }; - $substatus->{'03.systemgraphs'} = { + $substatus->{'30.systemgraphs'} = { 'caption' => $tr{'system graphs'}, 'uri' => '/cgi-bin/graphs.cgi', 'novars' => 1, 'title' => "$tr{'system graphs'}", 'enabled' => 1, }; - $substatus->{'04.trafficgraphs'} = { + $substatus->{'40.trafficgraphs'} = { 'caption' => $tr{'sstraffic graphs'}, 'uri' => '/cgi-bin/graphs.cgi', 'vars' => 'graph=network', 'title' => "$tr{'sstraffic graphs'}", 'enabled' => 1, }; - $substatus->{'05.proxygraphs'} = { + $substatus->{'50.proxygraphs'} = { 'caption' => $tr{'ssproxy graphs'}, 'uri' => '/cgi-bin/proxygraphs.cgi', 'title' => "$tr{'ssproxy graphs'}", 'enabled' => 1, }; - $substatus->{'06.fwhits'} = { + $substatus->{'60.fwhits'} = { 'caption' => 'Firewall-Diagramme', 'uri' => '/cgi-bin/fwhits.cgi', 'title' => "Firewall-Diagramme", 'enabled' => 1, }; - $substatus->{'07.connections'} = { + $substatus->{'70.hddtemp'} = { + 'caption' => '$tr{'HDD temperature graphs'}', + 'uri' => '/cgi-bin/hddgraph.cgi', + 'title' => "$tr{'HDD temperature graphs'}", + 'enabled' => 1, + }; + $substatus->{'80.connections'} = { 'caption' => $tr{'connections'}, 'uri' => '/cgi-bin/connections.cgi', 'title' => "$tr{'connections'}", 'enabled' => 1, }; - $substatus->{'08.nettraf'} = { + $substatus->{'90.nettraf'} = { 'caption' => $tr{'sstraffic'}, 'uri' => '/cgi-bin/traffic.cgi', 'title' => "$tr{'sstraffic'}", @@ -216,40 +222,40 @@ sub genmenu { my %subnetworkhash = (); my $subnetwork = \%subnetworkhash; - $subnetwork->{'01.proxy'} = {'caption' => 'Webproxy', + $subnetwork->{'10.proxy'} = {'caption' => 'Webproxy', 'uri' => '/cgi-bin/proxy.cgi', 'title' => "Webproxy", 'enabled' => 1, }; - $subnetwork->{'02.urlfilter'} = {'caption' => 'URL-Filter', + $subnetwork->{'20.urlfilter'} = {'caption' => 'URL-Filter', 'uri' => '/cgi-bin/urlfilter.cgi', 'title' => "URL-Filter", 'enabled' => 1, }; - $subnetwork->{'03.dhcp'} = {'caption' => $tr{'dhcp server'}, + $subnetwork->{'30.dhcp'} = {'caption' => $tr{'dhcp server'}, 'uri' => '/cgi-bin/dhcp.cgi', 'title' => "$tr{'dhcp server'}", 'enabled' => 1, }; - $subnetwork->{'04.dialup'} = { + $subnetwork->{'40.dialup'} = { 'caption' => $tr{'alt dialup'}, 'uri' => '/cgi-bin/pppsetup.cgi', 'title' => "$tr{'alt dialup'}", 'enabled' => 1, }; - $subnetwork->{'05.hosts'} = { + $subnetwork->{'50.hosts'} = { 'caption' => $tr{'edit hosts'}, 'uri' => '/cgi-bin/hosts.cgi', 'title' => "$tr{'edit hosts'}", 'enabled' => 1, }; - $subnetwork->{'06.upload'} = { + $subnetwork->{'60.upload'} = { 'caption' => $tr{'upload'}, 'uri' => '/cgi-bin/upload.cgi', 'title' => "$tr{'upload'}", 'enabled' => 0, }; - $subnetwork->{'07.aliases'} = { + $subnetwork->{'70.aliases'} = { 'caption' => $tr{'aliases'}, 'uri' => '/cgi-bin/aliases.cgi', 'title' => "$tr{'aliases'}", @@ -260,34 +266,34 @@ sub genmenu { my $subservices = \%subserviceshash; - $subservices->{'01.openvpn'} = { + $subservices->{'10.openvpn'} = { 'caption' => 'OpenVPN', 'uri' => '/cgi-bin/ovpnmain.cgi', 'title' => "$tr{'virtual private networking'}", 'enabled' => 1, }; - $subservices->{'02.ipsec'} = { + $subservices->{'20.ipsec'} = { 'caption' => 'IPSec', 'uri' => '/cgi-bin/vpnmain.cgi', 'title' => "$tr{'virtual private networking'}", 'enabled' => 1, }; - $subservices->{'03.dyndns'} = {'caption' => $tr{'dynamic dns'}, + $subservices->{'30.dyndns'} = {'caption' => $tr{'dynamic dns'}, 'uri' => '/cgi-bin/ddns.cgi', 'title' => "$tr{'dynamic dns'}", 'enabled' => 1, }; - $subservices->{'04.time'} = {'caption' => $tr{'time server'}, + $subservices->{'40.time'} = {'caption' => $tr{'time server'}, 'uri' => '/cgi-bin/time.cgi', 'title' => "$tr{'time server'}", 'enabled' => 1, }; - $subservices->{'05.qos'} = {'caption' => 'Quality of Service', + $subservices->{'50.qos'} = {'caption' => 'Quality of Service', 'uri' => '/cgi-bin/qos.cgi', 'title' => "Quality of Service", 'enabled' => 1, }; - $subservices->{'06.ids'} = {'caption' => $tr{'intrusion detection'}, + $subservices->{'60.ids'} = {'caption' => $tr{'intrusion detection'}, 'enabled' => 1, 'uri' => '/cgi-bin/ids.cgi', 'title' => "$tr{'intrusion detection system'}", @@ -299,37 +305,37 @@ sub genmenu { my $subfirewall = \%subfirewallhash; - $subfirewall->{'01.dnat'} = { + $subfirewall->{'10.dnat'} = { 'caption' => $tr{'ssport forwarding'}, 'uri' => '/cgi-bin/portfw.cgi', 'title' => "$tr{'ssport forwarding'}", 'enabled' => 1, }; - $subfirewall->{'02.xtaccess'} = { + $subfirewall->{'20.xtaccess'} = { 'caption' => $tr{'external access'}, 'uri' => '/cgi-bin/xtaccess.cgi', 'title' => "$tr{'external access'}", 'enabled' => 1, }; - $subfirewall->{'03.wireless'} = { + $subfirewall->{'30.wireless'} = { 'caption' => $tr{'blue access'}, 'uri' => '/cgi-bin/wireless.cgi', 'title' => "$tr{'blue access'}", 'enabled' => 1, }; - $subfirewall->{'04.dmz'} = { + $subfirewall->{'40.dmz'} = { 'caption' => $tr{'ssdmz pinholes'}, 'uri' => '/cgi-bin/dmzholes.cgi', 'title' => "$tr{'dmz pinhole configuration'}", 'enabled' => 1, }; - $subfirewall->{'05.outgoing'} = { + $subfirewall->{'50.outgoing'} = { 'caption' => $tr{'outgoing firewall'}, 'uri' => '/cgi-bin/outgoingfw.cgi', 'title' => "$tr{'outgoing firewall'}", 'enabled' => 1, }; - $subfirewall->{'06.fwopts'} = { + $subfirewall->{'60.fwopts'} = { 'caption' => $tr{'options fw'}, 'uri' => '/cgi-bin/optionsfw.cgi', 'title' => "$tr{'options fw'}", @@ -339,48 +345,48 @@ sub genmenu { my %sublogshash = (); my $sublogs = \%sublogshash; - $sublogs->{'01.summary'} = {'caption' => $tr{'log summary'}, + $sublogs->{'10.summary'} = {'caption' => $tr{'log summary'}, 'uri' => '/cgi-bin/logs.cgi/summary.dat', 'title' => "$tr{'log summary'}", 'enabled' => 1 }; - $sublogs->{'02.settings'} = {'caption' => $tr{'log settings'}, + $sublogs->{'20.settings'} = {'caption' => $tr{'log settings'}, 'uri' => '/cgi-bin/logs.cgi/config.dat', 'title' => "$tr{'log settings'}", 'enabled' => 1 }; - $sublogs->{'03.proxy'} = {'caption' => $tr{'proxy logs'}, + $sublogs->{'30.proxy'} = {'caption' => $tr{'proxy logs'}, 'uri' => '/cgi-bin/logs.cgi/proxylog.dat', 'title' => "$tr{'proxy logs'}", 'enabled' => 1 }; - $sublogs->{'04.firewall'} = {'caption' => $tr{'firewall logs'}, + $sublogs->{'40.firewall'} = {'caption' => $tr{'firewall logs'}, 'uri' => '/cgi-bin/logs.cgi/firewalllog.dat', 'title' => "$tr{'firewall logs'}", 'enabled' => 1 }; - $sublogs->{'05.ids'} = {'caption' => $tr{'ids logs'}, + $sublogs->{'50.ids'} = {'caption' => $tr{'ids logs'}, 'uri' => '/cgi-bin/logs.cgi/ids.dat', 'title' => "$tr{'ids logs'}", 'enabled' => 1 }; - $sublogs->{'07.urlfilter'} = { + $sublogs->{'60.urlfilter'} = { 'caption' => $tr{'urlfilter log'}, 'uri' => '/cgi-bin/logs.cgi/urlfilter.dat', 'title' => "$tr{'urlfilter log'}", 'enabled' => 1, }; - $sublogs->{'08.openvpn'} = {'caption' => $tr{'openvpn log'}, + $sublogs->{'70.openvpn'} = {'caption' => $tr{'openvpn log'}, 'uri' => '/cgi-bin/logs.cgi/openvpn.dat', 'title' => "$tr{'openvpn log'}", 'enabled' => 1 }; - $sublogs->{'09.system'} = {'caption' => $tr{'system logs'}, + $sublogs->{'80.system'} = {'caption' => $tr{'system logs'}, 'uri' => '/cgi-bin/logs.cgi/log.dat', 'title' => "$tr{'system logs'}", 'enabled' => 1 }; - $sublogs->{'10.userlog'} = {'caption' => $tr{'user proxy logs'}, + $sublogs->{'90.userlog'} = {'caption' => $tr{'user proxy logs'}, 'uri' => '/cgi-bin/logs.cgi/userlog.dat', 'title' => "$tr{'user log'}", 'enabled' => 1 @@ -388,17 +394,17 @@ sub genmenu { my %subipfirehash = (); my $subipfire = \%subipfirehash; - $subipfire->{'01.pakfire'} = {'caption' => 'Pakfire', + $subipfire->{'10.pakfire'} = {'caption' => 'Pakfire', 'uri' => '/cgi-bin/pakfire.cgi', 'title' => "Pakfire", 'enabled' => 1, }; - $subipfire->{'02.asterisk'} = {'caption' => 'Asterisk', + $subipfire->{'20.asterisk'} = {'caption' => 'Asterisk', 'uri' => '/cgi-bin/asterisk.cgi', 'title' => "Asterisk", 'enabled' => 1, }; - $subipfire->{'02.samba'} = {'caption' => 'Samba', + $subipfire->{'30.samba'} = {'caption' => 'Samba', 'uri' => '/cgi-bin/samba.cgi', 'title' => "Samba", 'enabled' => 1, diff --git a/config/cfgroot/nfs-server b/config/cfgroot/nfs-server new file mode 100644 index 0000000000..c137471751 --- /dev/null +++ b/config/cfgroot/nfs-server @@ -0,0 +1,4 @@ +PORT="2049" +PROCESSES="8" +QUOTAS="no" +KILLDELAY="10" diff --git a/doc/packages-list.txt b/doc/packages-list.txt index 544dc611a2..dffa22640a 100644 --- a/doc/packages-list.txt +++ b/doc/packages-list.txt @@ -70,6 +70,7 @@ * edonkeyclc_1.3.0_i386 * espgs-8.15.1-source * ethereal-0.99.0 + * etherwake-1.09 * ethtool-3 * expat-1.95.7 * ez-ipupdate-3.0.11b8 @@ -132,6 +133,7 @@ * libwww-perl-5.803 * libxml2-2.6.22 * linux-2.4.31 + * linux-2.4.31-ipfire * linux-atm-2.4.1 * logrotate-3.7 * logwatch-6.1.2 @@ -198,12 +200,12 @@ * setserial-2.17 * shadow-4.0.4.1 * slang-1.4.5-mini - * snort-2.3.3 * snort-2.4.5 * spandsp-0.0.2pre25 * speedtouch-1.2 * squid-2.5.STABLE14 * squid-graph-3.1 + * squidGuard-1.2.0 * startscripts * stund_0.96_Aug13 * sudo-1.6.8p12 @@ -222,6 +224,7 @@ * vim-6.3 * vlan.1.9 * wget-1.10.2 + * wput-0.6 * xampp-linux-1.5.3a * xinetd-2.3.14 * zlib-1.2.3 diff --git a/html/cgi-bin/credits.cgi b/html/cgi-bin/credits.cgi index 2f82e9fee3..352935b6e4 100644 --- a/html/cgi-bin/credits.cgi +++ b/html/cgi-bin/credits.cgi @@ -41,7 +41,7 @@ Projektmitglied & Developer - Heiner Schmeling Projektmitglied & Supporter - Silvio Rechenbach (sr\@tne.de)
Sponsor - Karsten Rechenbach -(email\@fehlt.com)
+(space\@devilboard.net)
Betatester - Sebastian Winter (sebastian.winter\@gmail.com)

diff --git a/html/cgi-bin/hddgraph.cgi b/html/cgi-bin/hddgraph.cgi new file mode 100644 index 0000000000..71cfef014f --- /dev/null +++ b/html/cgi-bin/hddgraph.cgi @@ -0,0 +1,66 @@ +#!/usr/bin/perl +# +# SmoothWall CGIs +# +# This code is distributed under the terms of the GPL +# +# (c) The SmoothWall Team +# +# $Id: graphs.cgi,v 1.9.2.6 2005/02/22 22:21:55 gespinasse Exp $ +# +# 2006-02-23 modified by weizen_42 for hddgraphs +# +# 2006-02-xx weizen_42 several modifications +# 2006-03-31 weizen_42 link to homepage +# 2006-04-22 weizen_42 v0.1.1 install below proxygraphs in status menu +# + +use strict; + +# enable only the following on debugging purpose +#use warnings; +#use CGI::Carp 'fatalsToBrowser'; + +require '/var/ipfire/general-functions.pl'; +require "${General::swroot}/lang.pl"; +require "${General::swroot}/header.pl"; + +my $version = 'v0.1.1'; + +my %cgiparams=(); +my @cgigraphs=(); +my @graphs=(); + +&Header::showhttpheaders(); + +my $graphdir = "/home/httpd/html/graphs"; + +$ENV{'QUERY_STRING'} =~ s/&//g; +@cgigraphs = split(/graph=/,$ENV{'QUERY_STRING'}); +$cgigraphs[1] = '' unless defined $cgigraphs[1]; + +&Header::openpage($Lang::tr{'harddisk temperature graphs'}, 1, ''); + +&Header::openbigbox('100%', 'left'); + + &Header::openbox('100%', 'center', $Lang::tr{'harddisk temperature'}); + + if (-e "$graphdir/hddtemp-day.png") + { + my $ftime = localtime((stat("$graphdir/hddtemp-day.png"))[9]); + print "
"; + print "$Lang::tr{'the statistics were last updated at'}: $ftime


\n"; + print "
"; + print "
"; + print "
"; + print ""; + } + else + { + print $Lang::tr{'no information available'}; + } + + &Header::closebox(); + +&Header::closebigbox(); +&Header::closepage(); diff --git a/html/cgi-bin/proxy.cgi b/html/cgi-bin/proxy.cgi index 81b6ad12ec..c921ef59fc 100644 --- a/html/cgi-bin/proxy.cgi +++ b/html/cgi-bin/proxy.cgi @@ -19,9 +19,6 @@ require '/var/ipfire/general-functions.pl'; require "${General::swroot}/lang.pl"; require "${General::swroot}/header.pl"; -my $advproxyversion = `cat ${General::swroot}/proxy/advanced/version`; -my $sysupdflagfile = "${General::swroot}/proxy/advanced/.up2date"; - my %proxysettings=(); my %netsettings=(); my %filtersettings=(); @@ -1974,7 +1971,7 @@ print <$Lang::tr{'this field may be blank'} - Advanced Proxy $advproxyversion +   diff --git a/langs/de/cgi-bin/de.pl b/langs/de/cgi-bin/de.pl index cae935bcf9..d0fc043d04 100644 --- a/langs/de/cgi-bin/de.pl +++ b/langs/de/cgi-bin/de.pl @@ -1274,6 +1274,10 @@ 'advproxy update information' => 'Eine aktualisierte Version steht zum Download bereit. Besuchen Sie http://www.advproxy.net für weitere Informationen.', 'linkq' => 'Verbindungsqualität', 'empty profile' => 'Unbenannt', +'HDD temperature' => 'HDD-Temperatur', +'harddisk temperature' => 'Festplattentemperatur', +'harddisk temperature graphs' => 'Festplattentemperatur-Diagramme', +'hdd temperature in' => 'Festplattentemperatur in', ); diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl index d9d958d04a..4e6124d6a7 100644 --- a/langs/en/cgi-bin/en.pl +++ b/langs/en/cgi-bin/en.pl @@ -1307,5 +1307,9 @@ 'advproxy update information' => 'There is an updated version available for download. Visit http://www.advproxy.net for more information.', 'linkq' => 'Link Quality', 'empty profile' => 'empty', +'HDD temperature' => 'HDD temperature', +'harddisk temperature' => 'Harddisk temperature', +'harddisk temperature graphs' => 'harddisk temperature graphs', +'hdd temperature in' => 'Harddisk temperature in', ); diff --git a/lfs/configroot b/lfs/configroot index 22e0516c62..05ad31056a 100644 --- a/lfs/configroot +++ b/lfs/configroot @@ -51,7 +51,7 @@ $(TARGET) : # Create all directories for i in addon-lang alcatelusb auth backup backup/sets ca certs cnx_pci crls ddns dhcp dhcpc dmzholes \ - eagle-usb eciadsl ethernet isdn key langs logging main modem net-traffic optionsfw patches pakfire portfw \ + eagle-usb eciadsl ethernet isdn key langs logging main modem net-traffic nfs optionsfw patches pakfire portfw \ ppp private proxy/advanced red remote shaping snort time uplinks vpn wireless xtaccess ; do \ mkdir -p $(CONFIG_ROOT)/$$i; \ done @@ -80,6 +80,7 @@ $(TARGET) : cp $(DIR_SRC)/config/cfgroot/modem-defaults $(CONFIG_ROOT)/modem/defaults cp $(DIR_SRC)/config/cfgroot/modem-settings $(CONFIG_ROOT)/modem/settings cp $(DIR_SRC)/config/cfgroot/net-traffic-lib.pl $(CONFIG_ROOT)/net-traffic/net-traffic-lib.pl + cp $(DIR_SRC)/config/cfgroot/nfs-server $(CONFIG_ROOT)/nfs/nfs-server cp $(DIR_SRC)/config/cfgroot/proxy-acl $(CONFIG_ROOT)/proxy/acl-1.4 cp $(DIR_SRC)/config/cfgroot/xtaccess-config $(CONFIG_ROOT)/xtaccess/config cp $(DIR_SRC)/config/cfgroot/time-settings $(CONFIG_ROOT)/time/settings diff --git a/lfs/etherwake b/lfs/etherwake new file mode 100644 index 0000000000..27a0f9cb92 --- /dev/null +++ b/lfs/etherwake @@ -0,0 +1,78 @@ +############################################################################### +# This file is part of the IPCop Firewall. # +# # +# IPCop is free software; you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 2 of the License, or # +# (at your option) any later version. # +# # +# IPCop is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with IPCop; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Makefiles are based on LFSMake, which is # +# Copyright (C) 2002 Rod Roard # +# # +############################################################################### + +############################################################################### +# Definitions +############################################################################### + +include Config + +VER = 1.09 + +THISAPP = etherwake-$(VER) +DL_FILE = $(THISAPP)-ipfire.tar.gz +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 = 0e303a24edfa847fe0a057ef6dfa4404 + +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 zxf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && make + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/lfs/squidguard b/lfs/squidguard new file mode 100644 index 0000000000..a6c94b7bc7 --- /dev/null +++ b/lfs/squidguard @@ -0,0 +1,84 @@ +############################################################################### +# This file is part of the IPCop Firewall. # +# # +# IPCop is free software; you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 2 of the License, or # +# (at your option) any later version. # +# # +# IPCop is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with IPCop; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Makefiles are based on LFSMake, which is # +# Copyright (C) 2002 Rod Roard # +# # +############################################################################### + +############################################################################### +# Definitions +############################################################################### + +include Config + +VER = 1.2.0 + +THISAPP = squidGuard-$(VER) +DL_FILE = $(THISAPP).tar.gz +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 = c6e2e9112fdbda0602656f94c1ce31fd + +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 zxf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/squidGuard-$(VER)-ipfire.patch + cd $(DIR_APP) && ./configure --prefix=/usr --datadir=/usr/share \ + --sysconfdir=/etc --localstatedir=/var --infodir=/usr/info --mandir=/usr/man \ + --with-sg-config=/var/ipfire/proxy/squidguard.conf \ + --with-sg-logdir=/var/log/squidguard --with-sg-dbhome=/var/lib/squidguard \ + --with-db=/usr --with-db-inc=/usr/include --with-db-lib=/usr/lib + cd $(DIR_APP) && make + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/lfs/startscripts b/lfs/startscripts index 4612e03d10..f31212100a 100644 --- a/lfs/startscripts +++ b/lfs/startscripts @@ -52,5 +52,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) cd $(DIR_SRC)/src/init.d && cp -fv * /etc/init.d chown root.root /etc/init.d/* chmod 755 /etc/init.d/* - for i in `ls /etc/init.d`; do ln -vfs /etc/init.d/$i /usr/local/bin/rc$i; done + for i in applejuice asterisk cups cyrus-sasl gnump3d nfs-server postfix samba winbind xinetd; do ln -vfs /etc/init.d/$$i /usr/local/bin/rc$$i; done + rm -f /usr/local/bin/rcinit-functions @$(POSTBUILD) \ No newline at end of file diff --git a/lfs/wput b/lfs/wput new file mode 100644 index 0000000000..6cdb081f4b --- /dev/null +++ b/lfs/wput @@ -0,0 +1,79 @@ +############################################################################### +# This file is part of the IPCop Firewall. # +# # +# IPCop is free software; you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 2 of the License, or # +# (at your option) any later version. # +# # +# IPCop is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with IPCop; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Makefiles are based on LFSMake, which is # +# Copyright (C) 2002 Rod Roard # +# # +############################################################################### + +############################################################################### +# Definitions +############################################################################### + +include Config + +VER = 0.6 + +THISAPP = wput-$(VER) +DL_FILE = $(THISAPP).tgz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/wput +TARGET = $(DIR_INFO)/$(THISAPP) + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = 7ddb03154262df66e0e33f0676373ceb + +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 zxf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && ./configure --prefix=/usr --disable-nls + cd $(DIR_APP) && make + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index d1fca3a693..8a09d7e921 100644 --- a/make.sh +++ b/make.sh @@ -659,6 +659,7 @@ buildipcop() { ipcopmake saslauthd PASS=2 ipcopmake squid ipcopmake squid-graph + ipcopmake squidguard ipcopmake tcpdump ipcopmake traceroute ipcopmake vlan @@ -691,6 +692,7 @@ buildipcop() { ipcopmake pwlib ipcopmake openh323 ipcopmake wget + ipcopmake wput ipcopmake bridge-utils ipcopmake screen ipcopmake hddtemp @@ -726,6 +728,7 @@ buildipcop() { ipcopmake nfs ipcopmake ncftp ipcopmake cftp + ipcopmake etherwake ipcopmake ethereal # ipcopmake stunnel # Ausgeschaltet, weil wir es doch nicht nutzen } diff --git a/src/ROOTFILES.i386 b/src/ROOTFILES.i386 index 1912a7b775..f3a8035742 100644 --- a/src/ROOTFILES.i386 +++ b/src/ROOTFILES.i386 @@ -1365,6 +1365,16 @@ usr/local/bin/timecheckctrl #usr/local/bin/tunerrd.pl usr/local/bin/logtailfwhits usr/local/bin/resetusb +usr/local/bin/rcasterisk +usr/local/bin/rcsamba +usr/local/bin/rcapplejuice +usr/local/bin/rcxinetd +usr/local/bin/rccups +usr/local/bin/rccyrus-sasl +usr/local/bin/rcgnump3d +usr/local/bin/rcnfs-server +usr/local/bin/rcpostfix +usr/local/bin/rcwinbind #usr/local/doc #usr/local/etc #usr/local/include @@ -15941,7 +15951,7 @@ bin/zcat #usr/bin/zegrep #usr/bin/zfgrep #usr/bin/zforce -#usr/bin/zgrep +usr/bin/zgrep #usr/bin/zless #usr/bin/zmore #usr/bin/znew @@ -20982,10 +20992,12 @@ etc/httpd/conf/httpd.conf #home/httpd #home/httpd/cgi-bin home/httpd/cgi-bin/aliases.cgi -home/httpd/cgi-bin/backup.cgi +#home/httpd/cgi-bin/backup.cgi #home/httpd/cgi-bin/base.cgi home/httpd/cgi-bin/changepw.cgi +home/httpd/cgi-bin/chpasswd.cgi home/httpd/cgi-bin/connections.cgi +home/httpd/cgi-bin/country.cgi home/httpd/cgi-bin/credits.cgi home/httpd/cgi-bin/ddns.cgi home/httpd/cgi-bin/dhcp.cgi @@ -20994,13 +21006,13 @@ home/httpd/cgi-bin/dmzholes.cgi home/httpd/cgi-bin/graphs.cgi home/httpd/cgi-bin/gui.cgi home/httpd/cgi-bin/hosts.cgi +home/httpd/cgi-bin/hddgraph.cgi home/httpd/cgi-bin/ids.cgi home/httpd/cgi-bin/index.cgi home/httpd/cgi-bin/ipinfo.cgi home/httpd/cgi-bin/fwhits.cgi home/httpd/cgi-bin/ovpnfunc.pl home/httpd/cgi-bin/ovpnmain.cgi -home/httpd/html/images/openvpn.gif #home/httpd/cgi-bin/logs.cgi home/httpd/cgi-bin/logs.cgi/config.dat home/httpd/cgi-bin/logs.cgi/firewalllog.dat @@ -21027,6 +21039,7 @@ home/httpd/cgi-bin/time.cgi #home/httpd/cgi-bin/updates.cgi home/httpd/cgi-bin/upload.cgi home/httpd/cgi-bin/vpnmain.cgi +home/httpd/cgi-bin/webaccess.cgi home/httpd/cgi-bin/wireless.cgi home/httpd/cgi-bin/xtaccess.cgi home/httpd/cgi-bin/traffic.cgi @@ -22198,7 +22211,7 @@ sbin/hdparm etc/ppp/ibod.cf usr/sbin/ibod ## -## initscripts +## initscripts & startscripts ## #etc/rc.d #etc/rc.d/helper @@ -22229,6 +22242,7 @@ etc/rc.d/rc.pulsardsl etc/rc.d/rc.red etc/rc.d/rc.sysinit etc/rc.d/rc.updatered +etc/init.d ## ## iptables-1.3.4 ## diff --git a/src/init.d/cups b/src/init.d/cups new file mode 100644 index 0000000000..2586640db6 --- /dev/null +++ b/src/init.d/cups @@ -0,0 +1,43 @@ +#!/bin/sh +# Begin /etc/init.d/cups + +#$LastChangedBy: bdubbs $ +#$Date: 2005-08-01 14:29:19 -0500 (Mon, 01 Aug 2005) $ + +# Start or stop the CUPS server based upon the first argument to the script. + +. /etc/init.d/init-functions + +case $1 in + start) + boot_mesg "Starting CUPS Printserver..." + loadproc /usr/sbin/cupsd + ;; + + stop) + boot_mesg "Stopping CUPS Printserver..." + killproc /usr/sbin/cupsd + ;; + + reload) + boot_mesg "Reloading CUPS Printserver..." + reloadproc /usr/sbin/cupsd + ;; + + restart) + $0 stop + sleep 1 + $0 start + ;; + + status) + statusproc /usr/sbin/cupsd + ;; + + *) + echo "Usage: $0 {start|stop|reload|restart|status}" + exit 1 + ;; +esac + +# End /etc/init.d/cups diff --git a/src/init.d/cyrus-sasl b/src/init.d/cyrus-sasl new file mode 100644 index 0000000000..6807731211 --- /dev/null +++ b/src/init.d/cyrus-sasl @@ -0,0 +1,39 @@ +#!/bin/sh +# Begin /etc/init.d/cyrus-sasl + +# Based on sysklogd script from LFS-3.1 and earlier. +# Rewritten by Gerard Beekmans - gerard@linuxfromscratch.org + +#$LastChangedBy: bdubbs $ +#$Date: 2005-08-01 14:29:19 -0500 (Mon, 01 Aug 2005) $ + +. /etc/init.d/init-functions + +case "$1" in + start) + boot_mesg "Starting the Cyrus SASL Server..." + loadproc /usr/sbin/saslauthd -a pam + ;; + + stop) + boot_mesg "Stopping the Cyrus SASL Server..." + killproc /usr/sbin/saslauthd + ;; + + restart) + $0 stop + sleep 1 + $0 start + ;; + + status) + statusproc /usr/sbin/saslauthd + ;; + + *) + echo "Usage: $0 {start|stop|restart|status}" + exit 1 + ;; +esac + +# End /etc/init.d/cyrus-sasl diff --git a/src/init.d/init-functions b/src/init.d/init-functions new file mode 100644 index 0000000000..3f1ec24005 --- /dev/null +++ b/src/init.d/init-functions @@ -0,0 +1,348 @@ + +#******************************************************************************* +# Function - start_daemon [-f] [-n nicelevel] [-p pidfile] pathname [args] +# +# Purpose: This runs the specified program as a daemon +# +# Inputs: -f, run the program even if it is already running +# -n nicelevel, specifies a nice level. See nice(1). +# -p pidfile, uses the specified pidfile +# pathname, pathname to the specified program +# args, arguments to pass to specified program +# +# Outputs: return 0 - Success +# return 2 - Invalid or excessive number of arguments, +# warning in stdout +# return 4 - Program or service status is unknown +# +# Dependencies: nice +# +# Todo: none +# +#******************************************************************************* +start_daemon() +{ + local pidfile="" + local forcestart="" + local nicelevel="0" + + while true + do + case "${1}" in + -f) + forcestart="1" + shift 1 + ;; + -n) + nicelevel="${2}" + shift 2 + ;; + -p) + pidfile="${2}" + shift 2 + ;; + -*) + log_failure_msg "Unknown Option: ${1}" + return 2 + ;; + *) + break + ;; + esac + done + + if [ -z "${forcestart}" ]; then + if [ -z "${pidfile}" ]; then + pidofproc "${1}" > /dev/null + else + pidofproc -p "${pidfile}" "${1}" > /dev/null + fi + + case "${?}" in + 0) + log_warning_msg "Unable to continue: ${1} is running" + return 4 + ;; + 1) + log_warning_msg "Unable to continue: ${pidfile} exists" + return 4 + ;; + 3) + ;; + *) + log_failure_msg "Unknown error code from pidofproc: ${?}" + return 4 + ;; + esac + fi + + nice -n "${nicelevel}" "${@}" +} + +#******************************************************************************* +# Function - killproc [-p pidfile] pathname [signal] +# +# Purpose: +# +# Inputs: -p pidfile, uses the specified pidfile +# pathname, pathname to the specified program +# signal, send this signal to pathname +# +# Outputs: return 0 - Success +# return 1 - Invalid or excessive number of arguments, +# warning in stdout +# return 4 - Unknown Status +# +# Dependencies: kill +# +# Todo: test +# +#******************************************************************************* +killproc() +{ + local pidfile="" + local killsig="" + local pidlist="" + while true + do + case "${1}" in + -p) + pidfile="${2}" + shift 2 + ;; + -*) + log_failure_msg "Unknown Option: ${1}" + return 1 + ;; + *) + break + ;; + esac + done + + if [ "${#}" = "2" ]; then + killsig="${2}" + elif [ "${#}" != "1" ]; then + shift 2 + log_failure_msg "Excess Arguments: $@" + return 1 + fi + + if [ -z "${pidfile}" ]; then + pidlist=`pidofproc "${1}"` + else + pidlist=`pidofproc -p "${pidfile}" "${1}"` + fi + + for pid in ${pidlist} + do + kill -${killsig:-TERM} ${pid} 2> /dev/null + if [ -z "${killsig}" ]; then + # Wait up to 3 seconds, for ${pid} to terminate + local dtime=3 + while [ "${dtime}" != "0" ] + do + kill -0 ${pid} 2> /dev/null || break + sleep 1 + dtime=$(( ${dtime} - 1)) + done + # If ${pid} is still running, kill it + kill -0 ${pid} 2> /dev/null && kill -KILL ${pid} 2> /dev/null + fi + done + + if [ -z "${killsig}" ]; then + pidofproc "${1}" 2>&1 > /dev/null + + # Program was terminated + if [ "$?" != "0" ]; then + # Pidfile Exists + if [ -f "${pidfile}" ]; then + rm -f "${pidfile}" 2>&1 > /dev/null + fi + return 0 + else # Program is still running + return 4 # Unknown Status + fi + else + if [ -z "${pidfile}" ]; then + pidofproc "${1}" 2> /dev/null + else + pidofproc -p "${pidfile}" "${1}" 2> /dev/null + fi + fi +} + +#******************************************************************************* +# Function - pidofproc [-p pidfile] pathname +# +# Purpose: This function returns one or more pid(s) for a particular daemon +# +# Inputs: -p pidfile, use the specified pidfile instead of pidof +# pathname, path to the specified program +# +# Outputs: return 0 - Success, pid's in stdout +# return 1 - Invalid or excessive number of arguments, +# warning in stdout +# return 1 - Program is dead, pidfile exists +# return 3 - Program is not running +# +# Dependencies: pidof, echo +# +# Todo: - Invalid or excessive argments, and program is dead pidfile exists +# conflict with eachother +# +#******************************************************************************* +pidofproc() +{ + local pidfile="" + local lpids="" + local pidlist="" + while true + do + case "${1}" in + -p) + pidfile="${2}" + shift 2 + ;; + -*) + log_failure_msg "Unknown Option: ${1}" + return 1 + ;; + *) + break + ;; + esac + done + + if [ "${#}" != "1" ]; then + shift 1 + log_failure_msg "Excess Arguments: $@" + return 1 + fi + + if [ -n "${pidfile}" ]; then + if [ ! -r "${pidfile}" ]; then + return 3 # Program is not running + fi + + lpids=`head -n 1 ${pidfile}` + for pid in ${lpids} + do + if [ "${pid}" -ne "$$" -a "${pid}" -ne "${PPID}" ]; then + kill -0 "${pid}" 2> /dev/null && + pidlist="${pidlist} ${pid}" + fi + echo ${pidlist} + test -z "${pidlist}" && return 1 # Program is dead, pidfile exists + return 0 + done + + else + pidof "${1}" + fi + + if [ "$?" != "0" ]; then + return 3 # Program is not running + fi +} + +# Screen Dimentions +if [ -z "${COLUMNS}" ]; then + COLUMNS=$(stty size) + COLUMNS=${COLUMNS##* } +fi + +# When using remote connections, such as a serial port, stty size returns 0 +if [ "${COLUMNS}" = "0" ]; then + COLUMNS=80 +fi + +# Measurements for positioning result messages +COL=$((${COLUMNS} - 8)) +WCOL=$((${COL} - 2)) + +# Set Cursur Position Commands, used via echo -e +SET_COL="\\033[${COL}G" # at the $COL char +SET_WCOL="\\033[${WCOL}G" # at the $WCOL char +CURS_UP="\\033[1A\\033[0G" # Up one line, at the 0'th char + +# Set color commands, used via echo -e +# Please consult `man console_codes` for more information +# under the "Set Graphics Resolution" section +# +# Warning, when switching from a 8bit to a 9bit font, +# the linux console will reinterpret the bold (1;) to +# the top 256 glyphs of the 9bit font. This does +# not affect framebuffer consoles +NORMAL="\\033[0;39m" # Standard console grey +SUCCESS="\\033[1;32m" # Success is green +WARNING="\\033[1;33m" # Warnings are yellow +FAILURE="\\033[1;31m" # Failures are red +INFO="\\033[1;36m" # Information is light cyan +BRACKET="\\033[1;34m" # Brackets are blue + +BOOTMESG_PREFIX=" * " # Text at the beginning of every line + + +#******************************************************************************* +# Function - log_success_msg "message" +# +# Purpose: Print a success message +# +# Inputs: +# +# Outputs: +# +# Dependencies: echo +# +# Todo: logging +# +#******************************************************************************* +log_success_msg() +{ + echo -n -e "${BOOTMESG_PREFIX}${@}" + echo -e "${SET_COL}""${BRACKET}""[""${SUCCESS}"" OK ""${BRACKET}""]""${NORMAL}" + return 0 +} + +#******************************************************************************* +# Function - log_failure_msg "message" +# +# Purpose: Print a failure message +# +# Inputs: $@ - Message +# +# Outputs: Text output to screen +# +# Dependencies: echo +# +# Todo: logging +# +#******************************************************************************* +log_failure_msg() { + echo -n -e "${BOOTMESG_PREFIX}${@}" + echo -e "${SET_COL}""${BRACKET}""[""${FAILURE}"" FAIL ""${BRACKET}""]""${NORMAL}" + return 0 +} + +#******************************************************************************* +# Function - log_warning_msg "message" +# +# Purpose: print a warning message +# +# Inputs: $@ - Message +# +# Outputs: Text output to screen +# +# Dependencies: echo +# +# Todo: logging +# +#******************************************************************************* +log_warning_msg() { + echo -n -e "${BOOTMESG_PREFIX}${@}" + echo -e "${SET_COL}""${BRACKET}""[""${WARNING}"" WARN ""${BRACKET}""]""${NORMAL}" + return 0 +} + diff --git a/src/init.d/nfs-server b/src/init.d/nfs-server new file mode 100644 index 0000000000..6b50493e46 --- /dev/null +++ b/src/init.d/nfs-server @@ -0,0 +1,112 @@ +#!/bin/sh +# Begin /etc/init.d/nfs-server + +# Based on sysklogd script from LFS-3.1 and earlier. +# Rewritten by Gerard Beekmans - gerard@linuxfromscratch.org + +#$LastChangedBy: randy $ +#$Date: 2006-04-29 22:26:35 -0500 (Sat, 29 Apr 2006) $ + +. /etc/init.d/init-functions +. /var/ipfire/nfs/nfs-server + +case "$1" in + start) + boot_mesg "Starting NFS mountd..." + loadproc /usr/sbin/rpc.mountd + + boot_mesg "Starting NFS nfsd..." + loadproc /usr/sbin/rpc.nfsd -p $PORT $PROCESSES + + boot_mesg "Starting NFS statd..." + loadproc /usr/sbin/rpc.statd + + if [ "$QUOTAS" = "yes" ]; then + boot_mesg "Starting NFS rquotad..." + loadproc /usr/sbin/rpc.rquotad + fi + + # NFSD support only in 2.6 kernel + /bin/uname -r | /bin/grep "2.6" 2>&1 > /dev/null + if [ $? = 0 ]; then + boot_mesg "Mounting nfsd virtual filesystem..." + /bin/mount -t nfsd none /proc/fs/nfsd 2>&1 > /dev/null + evaluate_retval + fi + + # Make ceratin that the list is refreshed on + # a restart. + boot_mesg "Exporting NFS Filesystems..." + /usr/sbin/exportfs -ra 2>&1 > /dev/null + evaluate_retval + ;; + + stop) + boot_mesg "Stopping NFS statd..." + killproc /usr/sbin/rpc.statd + + boot_mesg "Stopping NFS nfsd..." + # nfsd needs HUP.... + TEMPSTOPSIG="$STOPSIG" + STOPSIG="HUP" + ## Special case for nfsd with no full path + killproc nfsd + # return STOPSIG to it's orginal value... + STOPSIG="$TEMPSTOPSIG" + + boot_mesg "Stopping NFS mountd..." + killproc /usr/sbin/rpc.mountd + + if [ "$QUOTAS" = "yes" ]; then + boot_mesg "Stopping NFS rquotad..." + killproc /usr/sbin/rpc.rquotad + fi + + boot_mesg "Refreshing NFS Exported Filesystems..." + /usr/sbin/exportfs -au 2>&1 > /dev/null + evaluate_retval + + # NFSD support only in 2.6 kernel + /bin/uname -r | /bin/grep "2.6" 2>&1 > /dev/null + if [ $? = 0 ]; then + boot_mesg "Unmounting NFS Virtual Filesystem..." + /bin/umount /proc/fs/nfsd 2>&1 > /dev/null + evaluate_retval + fi + + # Remove a pid file that isn't done automatically + boot_mesg "Removing the rpc.statd pid file if it exists" + if [ -f /var/run/rpc.statd.pid ]; then + rm -f /var/run/rpc.statd.pid + fi + ;; + + reload) + boot_mesg "Reloading NFS Server..." + /usr/sbin/exportfs -ra + evaluate_retval + ;; + + restart) + $0 stop + sleep 1 + $0 start + ;; + + status) + statusproc /usr/sbin/rpc.mountd + ## Special case for nfsd with no full path + statusproc nfsd + statusproc /usr/sbin/rpc.statd + if [ "$QUOTA" = "yes" ]; then + statusproc rpc.rquotad + fi + ;; + + *) + echo "Usage: $0 {start|stop|reload|restart|status}" + exit 1 + ;; +esac + +# End /etc/init.d/nfs-server diff --git a/src/init.d/postfix b/src/init.d/postfix new file mode 100644 index 0000000000..59694ab8c3 --- /dev/null +++ b/src/init.d/postfix @@ -0,0 +1,55 @@ +#!/bin/sh +# Begin /etc/init.d/postfix + +# Based on sysklogd script from LFS-3.1 and earlier. +# Rewritten by Gerard Beekmans - gerard@linuxfromscratch.org + +#$LastChangedBy: bdubbs $ +#$Date: 2005-08-01 14:29:19 -0500 (Mon, 01 Aug 2005) $ + +. /etc/init.d/init-functions + +case "$1" in + start) + boot_mesg "Starting Postfix..." + loadproc /usr/sbin/postfix start + ;; + + stop) + boot_mesg "Stopping Postfix..." + loadproc /usr/sbin/postfix stop + ;; + + reload) + boot_mesg "Reloading Postfix..." + loadproc /usr/sbin/postfix reload + ;; + + abort) + boot_mesg "Aborting Postfix..." + loadproc /usr/sbin/postfix abort + ;; + + flush) + boot_mesg "Flushing Postfix..." + loadproc /usr/sbin/postfix flush + ;; + + check) + boot_mesg "Checking Postfix..." + loadproc /usr/sbin/postfix check + ;; + + restart) + $0 stop + sleep 1 + $0 start + ;; + + *) + echo "Usage: $0 {start|stop|reload|abort|flush|check|restart}" + exit 1 + ;; +esac + +# End /etc/init.d/postfix diff --git a/src/init.d/samba b/src/init.d/samba index e69de29bb2..1391e3579b 100644 --- a/src/init.d/samba +++ b/src/init.d/samba @@ -0,0 +1,54 @@ +#!/bin/sh +# Begin /etc/init.d/samba + +# Based on sysklogd script from LFS-3.1 and earlier. +# Rewritten by Gerard Beekmans - gerard@linuxfromscratch.org + +#$LastChangedBy: bdubbs $ +#$Date: 2005-08-01 14:29:19 -0500 (Mon, 01 Aug 2005) $ + +. /etc/init.d/init-functions + +case "$1" in + start) + boot_mesg "Starting nmbd..." + loadproc /usr/sbin/nmbd -D + + boot_mesg "Starting smbd..." + loadproc /usr/sbin/smbd -D + ;; + + stop) + boot_mesg "Stopping smbd..." + killproc /usr/sbin/smbd + + boot_mesg "Stopping nmbd..." + killproc /usr/sbin/nmbd + ;; + + reload) + boot_mesg "Reloading smbd..." + reloadproc /usr/sbin/smbd + + boot_mesg "Reloading nmbd..." + reloadproc /usr/sbin/nmbd + ;; + + restart) + $0 stop + sleep 1 + $0 start + ;; + + status) + statusproc /usr/sbin/nmbd + statusproc /usr/sbin/smbd + ;; + + *) + echo "Usage: $0 {start|stop|reload|restart|status}" + exit 1 + ;; +esac + +# End /etc/init.d/samba diff --git a/src/init.d/winbind b/src/init.d/winbind new file mode 100644 index 0000000000..2d39e9f604 --- /dev/null +++ b/src/init.d/winbind @@ -0,0 +1,49 @@ +#!/bin/bash +# Begin /etc/init.d/winbind + +# Based on sysklogd script from LFS-3.1 and earlier. +# Rewritten by Gerard Beekmans - gerard@linuxfromscratch.org + +#$LastChangedBy: bdubbs $ +#$Date: 2005-08-01 14:29:19 -0500 (Mon, 01 Aug 2005) $ + +. /etc/init.d/init-functions + +PIDFILE="/var/run/winbindd.pid" +KILLDELAY="10" + +case "$1" in + + start) + boot_mesg "Starting winbind..." + loadproc /usr/sbin/winbindd + ;; + + stop) + boot_mesg "Stopping winbind..." + killproc -p ${PIDFILE} /usr/sbin/winbind + ;; + + reload) + boot_mesg "Reloading winbind..." + reloadproc /usr/sbin/winbindd + ;; + + restart) + $0 stop + sleep 1 + $0 start + ;; + + status) + statusproc /usr/sbin/winbindd + ;; + + *) + echo "Usage: $0 {start|stop|reload|restart|status}" + exit 1 + ;; + +esac + +# End /etc/init.d/winbind diff --git a/src/init.d/xinetd b/src/init.d/xinetd new file mode 100644 index 0000000000..b79f807a08 --- /dev/null +++ b/src/init.d/xinetd @@ -0,0 +1,44 @@ +#!/bin/sh +# Begin /etc/init.d/xinetd + +# Based on sysklogd script from LFS-3.1 and earlier. +# Rewritten by Gerard Beekmans - gerard@linuxfromscratch.org + +#$LastChangedBy: bdubbs $ +#$Date: 2005-08-01 14:29:19 -0500 (Mon, 01 Aug 2005) $ + +. /etc/init.d/init-functions + +case "$1" in + start) + boot_mesg "Starting xinetd..." + loadproc /usr/sbin/xinetd + ;; + + stop) + boot_mesg "Stopping xinetd..." + killproc /usr/sbin/xinetd + ;; + + reload) + boot_mesg "Reloading xinetd..." + reloadproc /usr/sbin/xinetd + ;; + + restart) + $0 stop + sleep 1 + $0 start + ;; + + status) + statusproc /usr/sbin/xinetd + ;; + + *) + echo "Usage: $0 {start|stop|reload|restart|status}" + exit 1 + ;; +esac + +# End /etc/init.d/xinetd diff --git a/src/patches/squidGuard-1.2.0-ipfire.patch b/src/patches/squidGuard-1.2.0-ipfire.patch new file mode 100644 index 0000000000..2a28246e36 --- /dev/null +++ b/src/patches/squidGuard-1.2.0-ipfire.patch @@ -0,0 +1,51 @@ +diff -urN squidGuard-1.2.0_orig/configure.in squidGuard-1.2.0/configure.in +--- squidGuard-1.2.0_orig/configure.in 2001-12-18 10:16:36.000000000 +0000 ++++ squidGuard-1.2.0/configure.in 2006-06-10 12:29:26.000000000 +0000 +@@ -71,7 +71,12 @@ + + dnl Checks for libraries. + +-AC_CHECK_LIB(db,db_version,,[ ++AC_CHECK_LIB(db,db_version,, ++AC_CHECK_LIB(db,db_version_4000,, ++AC_CHECK_LIB(db,db_version_4001,, ++AC_CHECK_LIB(db,db_version_4002,, ++AC_CHECK_LIB(db,db_version_4003,, ++AC_CHECK_LIB(db,db_version_4004,,[ + echo + echo "** The Berkley DB library is required for squidGuard" + echo " to compile. Get it from http://www.sleepycat.com" +@@ -79,7 +84,7 @@ + echo " its location. (default is $dbprefix/BerkeleyDB)" + echo + exit 1 +- ]) ++ ])))))) + + dnl Checks for header files. + AC_HEADER_STDC +diff -urN squidGuard-1.2.0_orig/src/sgDb.c squidGuard-1.2.0/src/sgDb.c +--- squidGuard-1.2.0_orig/src/sgDb.c 2001-05-14 13:40:12.000000000 +0000 ++++ squidGuard-1.2.0/src/sgDb.c 2006-06-10 12:27:04.000000000 +0000 +@@ -98,13 +98,21 @@ + if(createdb) + flag = flag | DB_TRUNCATE; + if ((ret = ++#if DB_VERSION_MINOR == 1 || DB_VERSION_MINOR == 2 || DB_VERSION_MINOR == 3 || DB_VERSION_MINOR == 4 ++ Db->dbp->open(Db->dbp, NULL, dbfile, NULL, DB_BTREE, flag, 0664)) != 0) { ++#else + Db->dbp->open(Db->dbp, dbfile, NULL, DB_BTREE, flag, 0664)) != 0) { ++#endif + (void) Db->dbp->close(Db->dbp, 0); + sgLogFatalError("Error db_open: %s", strerror(ret)); + } + } else { + if ((ret = ++#if DB_VERSION_MINOR == 1 || DB_VERSION_MINOR == 2 || DB_VERSION_MINOR == 3 || DB_VERSION_MINOR == 4 ++ Db->dbp->open(Db->dbp, NULL, dbfile, NULL, DB_BTREE, DB_CREATE, 0664)) != 0) { ++#else + Db->dbp->open(Db->dbp, dbfile, NULL, DB_BTREE, DB_CREATE, 0664)) != 0) { ++#endif + sgLogFatalError("Error db_open: %s", strerror(ret)); + } + } diff --git a/src/scripts/makegraphs b/src/scripts/makegraphs index b3ea42f6cc..8cd4de0cf5 100644 --- a/src/scripts/makegraphs +++ b/src/scripts/makegraphs @@ -21,9 +21,7 @@ # Copyright (C) 2004-01-19 Mark Wormgoor . # # # ############################################################################ -# -# $Id: makegraphs,v 1.19.2.18 2006/01/08 13:41:04 eoberlander Exp $ -# + use strict; #use warnings; @@ -57,6 +55,7 @@ if ((${Lang::language} eq 'el') || my $rrdlog = "/var/log/rrd"; my $graphs = "/home/httpd/html/graphs"; $ENV{PATH}="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin"; +my $hdd_device = "/dev/harddisk"; sub gettraffic { my $interface = $_[0]; @@ -674,6 +673,75 @@ sub updatelqgraph { print "Error in RRD::graph for Link Quality: $ERROR\n" if $ERROR; } +sub updatehdddata +{ + if ( ! -e "$rrdlog/hddtemp.rrd") + { + # database did not exist -> create + RRDs::create ("$rrdlog/hddtemp.rrd", "--step=300", + "DS:temperature:GAUGE:600:0:100", + "RRA:AVERAGE:0.5:1:576", + "RRA:AVERAGE:0.5:6:672", + "RRA:AVERAGE:0.5:24:732", + "RRA:AVERAGE:0.5:144:1460"); + $ERROR = RRDs::error; + print "Error in RRD::create for hdd: $ERROR\n" if $ERROR; + } + + my $hdd_output = `/usr/sbin/hddtemp -qn $hdd_device`; + + # I know 4 response possible responses: + # + # /dev/harddisk: harddisk type: S.M.A.R.T. not available + # /dev/harddisk: harddisk type: no sensor + # /dev/harddisk: harddisk type: 37°C or °F + # 37 + + if ( index($hdd_output, "S.M.A.R.T.") != -1 ) + { + $temp = 0; + } + elsif ( index($hdd_output, "no sensor") != -1 ) + { + $temp = 1; + } + elsif ( index($hdd_output, "$hdd_device") != -1 ) + { + $hdd_output =~ /.*:.*:\s*(\d+).*\s/; + $temp = $1; + } + else + { + $hdd_output =~ /(\d+)\s/; + $temp = $1; + } + + RRDs::update ("$rrdlog/hddtemp.rrd", "-t", "temperature", "N:$temp"); + + $ERROR = RRDs::error; + print "Error in RRD::update for hdd: $ERROR\n" if $ERROR; +} + +sub updatehddgraph { + my $period = $_[0]; + + RRDs::graph ("$graphs/hddtemp-$period.png", + "--start", "-1$period", "-aPNG", "-i", "-z", + "--alt-y-grid", "-w 600", "-h 100", + "--color", "SHADEA#EAE9EE", + "--color", "SHADEB#EAE9EE", + "--color", "BACK#FFFFFF", + "-t $tr{'harddisk temperature'} ($tr{'graph per'} $tr{$period})", + "DEF:temperature=$rrdlog/hddtemp.rrd:temperature:AVERAGE", + "LINE2:temperature#0000FF:$tr{'hdd temperature in'} °C", + "GPRINT:temperature:MAX:$tr{'maximal'}\\:%3.0lf °C", + "GPRINT:temperature:AVERAGE:$tr{'average'}\\:%3.0lf °C", + "GPRINT:temperature:LAST:$tr{'current'}\\:%3.0lf °C", + ); + $ERROR = RRDs::error; + print "Error in RRD::graph for cpu: $ERROR\n" if $ERROR; +} + ## Update ipac logs system ('/usr/sbin/fetchipac'); sleep 8; @@ -851,6 +919,15 @@ updatelqgraph("week"); updatelqgraph("month"); updatelqgraph("year"); +### +### HDDTEMP-Graphs for /dev/harddisk +### +updatehdddata(); +updatehddgraph ("day"); +updatehddgraph ("week"); +updatehddgraph ("month"); +updatehddgraph ("year"); + ### ### Network Graphs ### diff --git a/src/scripts/vpn-restart b/src/scripts/vpn-restart new file mode 100644 index 0000000000..68472635dd --- /dev/null +++ b/src/scripts/vpn-restart @@ -0,0 +1,66 @@ +#!/bin/sh +# VPN Restart/Checker by Figo + +##################################################### +part=xxxx #partner frei Wählbar +net=xxxx.homeip.net #Partner DYNDNS Adresse +vpn=xxxx #VPN Name wie unter GUI +iplocal=192.168.x.x #Lokale IP +ipremote=192.168.x.x #Partner IP +LOGFILE=/var/log/vpn_$vpn.log +maxlog=2000 #Max groesse des Logfiles in Byte +##################################################### +ping -c 3 $net +if [ $? != 0 ] ; then +clear +echo "##############################################" +echo "# $part ist offline #" +echo "# Verbindung zu $part nicht moeglich #" +echo "$(date) $part ist offline #" >> $LOGFILE +echo "$(date) Verbindung zu $part nicht moeglich #" >> $LOGFILE +echo "##############################################" +else +clear +echo "##############################################" +echo "# Na ein Glueck $part is online #" +echo "##############################################" +/usr/bin/ping -i 2 -c 2 -n -I $iplocal $ipremote +if test $? -ne 0; then +clear +echo "##############################################" +echo "# `grep -c ms $LOGFILE` #" +echo "# $(date) #" +echo "##############################################" +echo "$(date) Tunnel zu $part ist NICHT da #" >> $LOGFILE +echo "$(date) Starte Tunnel $vpn neu #" >> $LOGFILE +echo "# Tunnel zu $part ist NICHT da #" +echo "# Starte Tunnel $vpn neu #" +echo "##############################################" +ipsec auto --replace $vpn +ipsec auto --rereadsecrets +ipsec auto --up $vpn +else +clear +echo "###############################################" +echo "$(date) Tunnel zu $part steht #" >> $LOGFILE +echo "# $(date) #" +echo "# Tunnel zu $part steht #" +echo " seine WAN IP ist `host $net | cut -d" " -f4` " +echo "# seine Lokale IP ist $ipremote #" +echo "###############################################" + + +if test `stat -c %s $LOGFILE` -lt $maxlog; then +echo "# $LOGFILE < $maxlog Bytes #" +else +echo "##############################################" +echo "# $LOGFILE > $maxlog Bytes #" +echo "# Maximale groesse des Logfile #" +echo "# Logfile wird geloescht #" +echo "##############################################" +rm $LOGFILE +fi + +fi +fi +exit 0 -- 2.39.2