From 39a7cc119ab47d4ef5c06d61c99abbeb09a9f130 Mon Sep 17 00:00:00 2001
From: ms
Date: Mon, 5 Jun 2006 11:30:07 +0000
Subject: [PATCH] =?UTF-8?q?Hinzugef=C3=BCgt:=20=20=20*=20Kleiner=20Tux=20i?=
=?UTF-8?q?m=20Webinterface=20f=C3=BCr=20den=20eXciter=20und=20den=20Benne?=
=?UTF-8?q?=20:)=20Ge=C3=A4ndert:=20=20=20*=20time.cgi=20=C3=BCberarbeitet?=
=?UTF-8?q?=20und=20Funktion=20verbessert.=20=20=20*=20index.cgi=20-=20noc?=
=?UTF-8?q?h=20ein=20Paar=20Fehler=20behoben=20oder=20was=20hinzugef=C3=BC?=
=?UTF-8?q?gt.=20=20=20*=20FLASH-Eintrag=20aus=20der=20crontab=20gel=C3=B6?=
=?UTF-8?q?scht.=20=20=20*=20Online-Hilfe-Rettungsringe=20(die=20h=C3=A4ss?=
=?UTF-8?q?lichen)=20aus=20den=20CGIs=20entfernt.=20=20=20*=20Logger=20von?=
=?UTF-8?q?=20ipcop=20nach=20ipfire=20umgestellt.=20Gel=C3=B6scht:=20=20?=
=?UTF-8?q?=20*=20Nicht=20ben=C3=B6tigte=20Reste=20vom=20IPCop=20entfernt.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@160 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8
---
config/cfgroot/general-functions.pl | 6 +--
config/cfgroot/header.pl | 2 +-
config/cfgroot/time-settings | 2 +-
config/cron/crontab | 3 --
html/cgi-bin/dhcp.cgi | 4 +-
html/cgi-bin/index.cgi | 10 ++--
html/cgi-bin/portfw.cgi | 4 +-
html/cgi-bin/shutdown.cgi | 4 +-
html/cgi-bin/time.cgi | 80 ++--------------------------
html/cgi-bin/wireless.cgi | 4 +-
html/html/images/iptux.png | Bin 0 -> 35477 bytes
src/ROOTFILES.i386 | 3 +-
src/misc-progs/Makefile | 5 +-
src/misc-progs/timecheckctrl.c | 25 +++++++++
src/scripts/makegraphs | 16 +++---
src/scripts/updatelists.pl | 42 ---------------
src/scripts/updatesetup | 23 --------
17 files changed, 57 insertions(+), 176 deletions(-)
create mode 100644 html/html/images/iptux.png
create mode 100644 src/misc-progs/timecheckctrl.c
delete mode 100644 src/scripts/updatelists.pl
delete mode 100644 src/scripts/updatesetup
diff --git a/config/cfgroot/general-functions.pl b/config/cfgroot/general-functions.pl
index b40327a62..d8c2bb959 100644
--- a/config/cfgroot/general-functions.pl
+++ b/config/cfgroot/general-functions.pl
@@ -23,14 +23,14 @@ $|=1; # line buffering
$General::version = 'VERSION';
$General::swroot = 'CONFIG_ROOT';
$General::noipprefix = 'noipg-';
-$General::adminmanualurl = 'http://www.ipcop.org/1.4.0/en/admin/html';
+$General::adminmanualurl = 'http://users.ipfire.eu';
sub log
{
my $logmessage = $_[0];
$logmessage =~ /([\w\W]*)/;
$logmessage = $1;
- system('/usr/bin/logger', '-t', 'ipcop', $logmessage);
+ system('/usr/bin/logger', '-t', 'ipfire', $logmessage);
}
sub readhash
@@ -481,7 +481,7 @@ sub FetchPublicIp {
my ($out, $response) = Net::SSLeay::get_http( 'checkip.dyndns.org',
80,
"/",
- Net::SSLeay::make_headers('User-Agent' => 'Ipcop' )
+ Net::SSLeay::make_headers('User-Agent' => 'IPFire' )
);
if ($response =~ m%HTTP/1\.. 200 OK%) {
$out =~ /Current IP Address: (\d+.\d+.\d+.\d+)/;
diff --git a/config/cfgroot/header.pl b/config/cfgroot/header.pl
index 065bb690b..3d84c1cc2 100644
--- a/config/cfgroot/header.pl
+++ b/config/cfgroot/header.pl
@@ -760,7 +760,7 @@ END
&showsubsection($menu);
print <
diff --git a/config/cfgroot/time-settings b/config/cfgroot/time-settings
index 2f74f9ccc..577b0b345 100644
--- a/config/cfgroot/time-settings
+++ b/config/cfgroot/time-settings
@@ -3,5 +3,5 @@ UPDATE_PERIOD=daily
UPDATE_VALUE=1
UPDATE_METHOD=manually
ENABLENTP=off
-NTP_ADDR_1=pool.ntp.org
+NTP_ADDR_1=de.pool.ntp.org
VALID=yes
diff --git a/config/cron/crontab b/config/cron/crontab
index 435328bef..f51a686a4 100644
--- a/config/cron/crontab
+++ b/config/cron/crontab
@@ -9,9 +9,6 @@ HOME=/
# Log rotation
01 * * * * /usr/sbin/logrotate /etc/logrotate.conf
-# Backup logs to flashdisk
-01 * * * * [ -f "/etc/FLASH" ] && /etc/rc.d/rc.flash.down
-
# Set time
*/5 * * * * /usr/local/bin/timecheck > /dev/null 2>&1
diff --git a/html/cgi-bin/dhcp.cgi b/html/cgi-bin/dhcp.cgi
index be7e0bf53..11fbb6a18 100644
--- a/html/cgi-bin/dhcp.cgi
+++ b/html/cgi-bin/dhcp.cgi
@@ -576,9 +576,7 @@ print < $Lang::tr{'this field may be blank'} |
$warnNTPmessage |
|
-
-
-  |
+ |
diff --git a/html/cgi-bin/index.cgi b/html/cgi-bin/index.cgi
index 7bcf44522..9233628df 100644
--- a/html/cgi-bin/index.cgi
+++ b/html/cgi-bin/index.cgi
@@ -102,13 +102,12 @@ print <
-
| $Lang::tr{'network'}
| IP
| $Lang::tr{'status'}
-
|
$Lang::tr{'internet'}:
- | $ipaddr | $connstate
+ | $ipaddr
+ | $connstate
|
|
|
END
diff --git a/html/cgi-bin/shutdown.cgi b/html/cgi-bin/shutdown.cgi
index 4ccf805ae..cd0ace7d3 100644
--- a/html/cgi-bin/shutdown.cgi
+++ b/html/cgi-bin/shutdown.cgi
@@ -186,9 +186,7 @@ END
|
-
-
-  |
+
diff --git a/html/cgi-bin/time.cgi b/html/cgi-bin/time.cgi
index aa96479da..9b599453b 100644
--- a/html/cgi-bin/time.cgi
+++ b/html/cgi-bin/time.cgi
@@ -19,7 +19,7 @@ use strict;
#use warnings;
#use CGI::Carp 'fatalsToBrowser';
-require 'CONFIG_ROOT/general-functions.pl';
+require '/var/ipfire/general-functions.pl';
require "${General::swroot}/lang.pl";
require "${General::swroot}/header.pl";
@@ -46,49 +46,6 @@ $timesettings{'SETYEAR'} = '';
&Header::getcgihash(\%timesettings);
-if ($timesettings{'ACTION'} eq $Lang::tr{'instant update'})
-{
- if ($timesettings{'SETHOUR'} eq '' || $timesettings{'SETHOUR'} < 0 || $timesettings{'SETHOUR'} > 23) {
- $errormessage = $Lang::tr{'invalid time entered'};
- goto UPDTERROR;
- }
- if ($timesettings{'SETMINUTES'} eq '' || $timesettings{'SETMINUTES'} < 0 || $timesettings{'SETMINUTES'} > 59) {
- $errormessage = $Lang::tr{'invalid time entered'};
- goto UPDTERROR;
- }
- if ($timesettings{'SETDAY'} eq '' || $timesettings{'SETDAY'} < 1 || $timesettings{'SETDAY'} > 31) {
- $errormessage = $Lang::tr{'invalid date entered'};
- goto UPDTERROR;
- }
- if ($timesettings{'SETMONTH'} eq '' || $timesettings{'SETMONTH'} < 1 || $timesettings{'SETMONTH'} > 12) {
- $errormessage = $Lang::tr{'invalid date entered'};
- goto UPDTERROR;
- }
- if ($timesettings{'SETYEAR'} eq '' || $timesettings{'SETYEAR'} < 2003 || $timesettings{'SETYEAR'} > 2030) {
- $errormessage = $Lang::tr{'invalid date entered'};
- goto UPDTERROR;
- }
-
-UPDTERROR:
- if ($errormessage) {
- $timesettings{'VALID'} = 'no'; }
- else {
- $timesettings{'VALID'} = 'yes'; }
-
- if ($timesettings{'VALID'} eq 'yes') {
- # we want date in YYYY-MM-DD HH:MM format for date command
- # EAO changed datestring to ISO 6801 format 2003-08-11
- my $datestring = "$timesettings{'SETYEAR'}-$timesettings{'SETMONTH'}-$timesettings{'SETDAY'}";
- my $timestring = "$timesettings{'SETHOUR'}:$timesettings{'SETMINUTES'}";
- # EAO setdate.c also revised for ISO 6801 date format 2003-08-11
- system ('/usr/local/bin/setdate', $datestring, $timestring);
- &General::log("$Lang::tr{'time date manually reset'} $datestring $timestring");
- }
- unless ($errormessage) {
- undef %timesettings;
- }
-}
-
if ($timesettings{'ACTION'} eq $Lang::tr{'save'})
{
if ($timesettings{'ENABLENTP'} eq 'on')
@@ -203,6 +160,7 @@ $timesettings{'ACTION'} = &Header::cleanhtml ($timesettings{'ACTION'});
if ($timesettings{'ACTION'} eq $Lang::tr{'set time now'} && $timesettings{'ENABLENTP'} eq 'on')
{
system ('/bin/touch', "${General::swroot}/time/settimenow");
+ system ('/usr/local/bin/timecheckctrl >& /dev/null');
}
&General::readhash("${General::swroot}/time/settings", \%timesettings);
@@ -213,7 +171,7 @@ if ($timesettings{'VALID'} eq '')
$timesettings{'UPDATE_METHOD'} = 'manually';
$timesettings{'UPDATE_VALUE'} = '1';
$timesettings{'UPDATE_PERIOD'} = 'daily';
- $timesettings{'NTP_ADDR_1'} = 'pool.ntp.org';
+ $timesettings{'NTP_ADDR_1'} = 'de.pool.ntp.org';
$timesettings{'NTP_ADDR_2'} = 'pool.ntp.org';
}
@@ -345,9 +303,7 @@ print < $Lang::tr{'this field may be blank'} |
|
|
-
-
- |
+ |
END
@@ -355,34 +311,6 @@ END
&Header::closebox();
-&Header::openbox('100%', 'left', $Lang::tr{'update time'});
-
-print <
-
- |
-
- |
- |
-
-
-END
-;
-&Header::closebox();
-
print "\n";
&Header::closebigbox();
diff --git a/html/cgi-bin/wireless.cgi b/html/cgi-bin/wireless.cgi
index 129e8df23..d73df7034 100644
--- a/html/cgi-bin/wireless.cgi
+++ b/html/cgi-bin/wireless.cgi
@@ -225,9 +225,7 @@ print <
-
-
-  |
+ |
END
diff --git a/html/html/images/iptux.png b/html/html/images/iptux.png
new file mode 100644
index 0000000000000000000000000000000000000000..38a754ba03bb7ffa501bca4b51afdce8ba2486e5
GIT binary patch
literal 35477
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
+#include "setuid.h"
+
+int main(void)
+{
+ if (!(initsetuid()))
+ exit(1);
+
+ safe_system("/usr/local/bin/timecheck");
+
+ return 0;
+}
diff --git a/src/scripts/makegraphs b/src/scripts/makegraphs
index 42773338a..1120fd848 100644
--- a/src/scripts/makegraphs
+++ b/src/scripts/makegraphs
@@ -89,7 +89,7 @@ sub updatecpugraph {
"--alt-y-grid", "-w 600", "-h 100", "-l 0", "-u 100", "-r",
"--color", "SHADEA#EAE9EE",
"--color", "SHADEB#EAE9EE",
- "--color", "BACK#EAE9EE",
+ "--color", "BACK#FFFFFF",
"-t $tr{'cpu usage per'} $tr{$period}",
"DEF:user=$rrdlog/cpu.rrd:user:AVERAGE",
"DEF:system=$rrdlog/cpu.rrd:system:AVERAGE",
@@ -156,7 +156,7 @@ sub updatememgraph {
"--alt-y-grid", "-w 600", "-h 100", "-l 0", "-u 100", "-r",
"--color", "SHADEA#EAE9EE",
"--color", "SHADEB#EAE9EE",
- "--color", "BACK#EAE9EE",
+ "--color", "BACK#FFFFFF",
"-t $tr{'memory usage per'} $tr{$period}",
"DEF:used=$rrdlog/mem.rrd:memused:AVERAGE",
"DEF:free=$rrdlog/mem.rrd:memfree:AVERAGE",
@@ -198,7 +198,7 @@ sub updatememgraph {
"--alt-y-grid", "-w 600", "-h 100", "-l 0", "-u 100", "-r",
"--color", "SHADEA#EAE9EE",
"--color", "SHADEB#EAE9EE",
- "--color", "BACK#EAE9EE",
+ "--color", "BACK#FFFFFF",
"-t $tr{'swap usage per'} $tr{$period}",
"DEF:used=$rrdlog/mem.rrd:swapused:AVERAGE",
"DEF:free=$rrdlog/mem.rrd:swapfree:AVERAGE",
@@ -269,7 +269,7 @@ sub updatediskgraph {
"--alt-y-grid", "-w 600", "-h 100", "-l 0", "-r",
"--color", "SHADEA#EAE9EE",
"--color", "SHADEB#EAE9EE",
- "--color", "BACK#EAE9EE",
+ "--color", "BACK#FFFFFF",
"-t $tr{'disk access per'} $tr{$period}",
"DEF:read=$rrdlog/disk.rrd:readsect:AVERAGE",
"DEF:write=$rrdlog/disk.rrd:writesect:AVERAGE",
@@ -350,7 +350,7 @@ sub updateifgraph {
"--alt-y-grid", "-w 600", "-h 100",
"--color", "SHADEA#EAE9EE",
"--color", "SHADEB#EAE9EE",
- "--color", "BACK#EAE9EE",
+ "--color", "BACK#FFFFFF",
"-t $tr{'traffic on'} $interface ($tr{'graph per'} $tr{$period})",
"-v$tr{'bytes per second'}",
"DEF:incoming=$rrdlog/$interface.rrd:incoming:AVERAGE",
@@ -398,7 +398,7 @@ sub updatefwhitsgraph {
"--alt-y-grid", "-w 600", "-h 200",
"--color", "SHADEA#EAE9EE",
"--color", "SHADEB#EAE9EE",
- "--color", "BACK#EAE9EE",
+ "--color", "BACK#FFFFFF",
"-t firewall hits over the last $interval",
"DEF:amount=$rrdlog/firewallhits.rrd:amount:AVERAGE",
"AREA:amount#6464FF:firewallhits",
@@ -418,7 +418,7 @@ sub updatefwhitsgraph {
"--alt-y-grid", "-w 600", "-h 200",
"--color", "SHADEA#EAE9EE",
"--color", "SHADEB#EAE9EE",
- "--color", "BACK#EAE9EE",
+ "--color", "BACK#FFFFFF",
"-t firewall hits over the last $interval",
"DEF:amount=$rrdlog/firewallhits.rrd:amount:AVERAGE",
"LINE2:amount#6464FF:firewallhits",
@@ -545,7 +545,7 @@ sub updatelqgraph {
"--lazy",
"--color", "SHADEA#EAE9EE",
"--color", "SHADEB#EAE9EE",
- "--color", "BACK#EAE9EE",
+ "--color", "BACK#FFFFFF",
"-v ms / pkts (% x10)",
"DEF:roundtrip=$rrdlog/lq.rrd:roundtrip:AVERAGE",
"DEF:loss=$rrdlog/lq.rrd:loss:AVERAGE",
diff --git a/src/scripts/updatelists.pl b/src/scripts/updatelists.pl
deleted file mode 100644
index 9b534d824..000000000
--- a/src/scripts/updatelists.pl
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/bin/perl
-
-use strict;
-use LWP::UserAgent;
-require "CONFIG_ROOT/general-functions.pl";
-
-my @this;
-my $return = &downloadlist();
-if($return && $return->is_success) {
- unless(open(LIST, ">CONFIG_ROOT/patches/available")) {
- die "Could not open available lists database.";
- }
- flock LIST, 2;
- @this = split(/----START LIST----\n/,$return->content);
- print LIST $this[1];
- close(LIST);
-} else {
- die "Could not download patches list.";
-}
-
-sub downloadlist {
- unless(-e "CONFIG_ROOT/red/active") {
- die "Not connected.";
- }
-
- my $downloader = LWP::UserAgent->new;
- $downloader->timeout(5);
-
- my %proxysettings;
- &General::readhash("CONFIG_ROOT/proxy/settings", \%proxysettings);
-
- if ($_=$proxysettings{'UPSTREAM_PROXY'}) {
- my ($peer, $peerport) = (/^(?:[a-zA-Z ]+\:\/\/)?(?:[A-Za-z0-9\_\.\-]*?(?:\:[A-Za-z0-9\_\.\-]*?)?\@)?([a-zA-Z0-9\.\_\-]*?)(?:\:([0-9]{1,5}))?(?:\/.*?)?$/);
- if ($proxysettings{'UPSTREAM_USER'}) {
- $downloader->proxy("http","http://$proxysettings{'UPSTREAM_USER'}:$proxysettings{'UPSTREAM_PASSWORD'}@"."$peer:$peerport/");
- } else {
- $downloader->proxy("http","http://$peer:$peerport/");
- }
- }
-
- return $downloader->get("http://www.ipcop.org/patches/${General::version}", 'Cache-Control', 'no-cache');
-}
diff --git a/src/scripts/updatesetup b/src/scripts/updatesetup
deleted file mode 100644
index ef9b23a9e..000000000
--- a/src/scripts/updatesetup
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/bash
-
-UPGRADEVERSION="1.4.x" # configured by ./make.sh newupdate
-PREVIOUSVERSION="1.4."$((`echo $UPGRADEVERSION | /usr/bin/cut -f3 -d '.'`-1))
-echo "This is the $UPGRADEVERSION update patch for IPCop $PREVIOUSVERSION installing."
-
-CURRENTVERSION=`perl -e "require '/var/ipfire/general-functions.pl';print \\$General::version;"`
-if [ "$CURRENTVERSION" != "$PREVIOUSVERSION" ]; then
- echo "You are not running IPCop v$PREVIOUSVERSION for this patch to install."
- echo "Aborting installation."
- exit -1
-fi
-
-# general-functions might not be overwrited by patch...
-/bin/sed -i -e "s+= '1.4.*$+= '$UPGRADEVERSION';+" /var/ipfire/general-functions.pl
-
-/bin/tar -zxpf patch.tar.gz -C /
-
-#build cachelang file after all "lang/*.pl" updates
-perl -e "require '/var/ipfire/lang.pl'; &Lang::BuildCacheLang"
-
-killall mingetty #redisplay correct version
-echo "end of $UPGRADEVERSION update"