mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-09 18:45:54 +02:00
Fixed redirector schedules - This fixes bug #0000685
This commit is contained in:
@@ -94,10 +94,6 @@ my @downloadfiles=();
|
||||
|
||||
my @metadata=();
|
||||
|
||||
my $chk_cron_dly = "${General::swroot}/updatexlrator/autocheck/cron.daily";
|
||||
my $chk_cron_wly = "${General::swroot}/updatexlrator/autocheck/cron.weekly";
|
||||
my $chk_cron_mly = "${General::swroot}/updatexlrator/autocheck/cron.monthly";
|
||||
|
||||
&General::readhash("${General::swroot}/ethernet/settings", \%netsettings);
|
||||
&General::readhash("${General::swroot}/main/settings", \%mainsettings);
|
||||
&General::readhash("${General::swroot}/proxy/settings", \%proxysettings);
|
||||
@@ -1495,27 +1491,18 @@ END
|
||||
|
||||
sub savesettings
|
||||
{
|
||||
if (-e $chk_cron_dly) { unlink($chk_cron_dly); }
|
||||
if (-e $chk_cron_wly) { unlink($chk_cron_wly); }
|
||||
if (-e $chk_cron_mly) { unlink($chk_cron_mly); }
|
||||
|
||||
if (($xlratorsettings{'ENABLE_AUTOCHECK'} eq 'on') && ($xlratorsettings{'AUTOCHECK_SCHEDULE'} eq 'daily'))
|
||||
{
|
||||
symlink("../bin/checkup",$chk_cron_dly)
|
||||
} else {
|
||||
symlink("/bin/false",$chk_cron_dly)
|
||||
system('/usr/local/bin/updxlratorctrl cron daily >/dev/null 2>&1');
|
||||
}
|
||||
if (($xlratorsettings{'ENABLE_AUTOCHECK'} eq 'on') && ($xlratorsettings{'AUTOCHECK_SCHEDULE'} eq 'weekly'))
|
||||
if (($xlratorsettings{'ENABLE_AUTOCHECK'} eq 'on') && ($xlratorsettings{'AUTOCHECK_SCHEDULE'} eq 'weekly'))
|
||||
{
|
||||
symlink("../bin/checkup",$chk_cron_wly)
|
||||
} else {
|
||||
symlink("/bin/false",$chk_cron_wly)
|
||||
system('/usr/local/bin/updxlratorctrl cron weekly >/dev/null 2>&1');
|
||||
}
|
||||
if (($xlratorsettings{'ENABLE_AUTOCHECK'} eq 'on') && ($xlratorsettings{'AUTOCHECK_SCHEDULE'} eq 'monthly'))
|
||||
if (($xlratorsettings{'ENABLE_AUTOCHECK'} eq 'on') && ($xlratorsettings{'AUTOCHECK_SCHEDULE'} eq 'monthly'))
|
||||
{
|
||||
symlink("../bin/checkup",$chk_cron_mly)
|
||||
} else {
|
||||
symlink("/bin/false",$chk_cron_mly)
|
||||
system('/usr/local/bin/updxlratorctrl cron monthly >/dev/null 2>&1');
|
||||
}
|
||||
|
||||
# don't save those variable to the settings file,
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
###############################################################################
|
||||
# #
|
||||
# IPFire.org - A linux based firewall #
|
||||
# Copyright (C) 2010 Michael Tremer & Christian Schmidt #
|
||||
# Copyright (C) 2005-2010 IPFire Team #
|
||||
# #
|
||||
# This program is free software: you can redistribute it and/or modify #
|
||||
# it under the terms of the GNU General Public License as published by #
|
||||
@@ -65,9 +65,6 @@ my $hintcolour = '#FFFFCC';
|
||||
my $sourceurlfile = "${General::swroot}/urlfilter/autoupdate/autoupdate.urls";
|
||||
my $updconffile = "${General::swroot}/urlfilter/autoupdate/autoupdate.conf";
|
||||
my $updflagfile = "${General::swroot}/urlfilter/blacklists/.autoupdate.last";
|
||||
my $upd_cron_dly = "${General::swroot}/urlfilter/autoupdate/cron.daily";
|
||||
my $upd_cron_wly = "${General::swroot}/urlfilter/autoupdate/cron.weekly";
|
||||
my $upd_cron_mly = "${General::swroot}/urlfilter/autoupdate/cron.monthly";
|
||||
|
||||
my $errormessage='';
|
||||
my $updatemessage='';
|
||||
@@ -965,29 +962,20 @@ if ($filtersettings{'ACTION'} eq $Lang::tr{'urlfilter save schedule'})
|
||||
print FILE "CUSTOM_UPDATE_URL=$filtersettings{'CUSTOM_UPDATE_URL'}\n";
|
||||
close FILE;
|
||||
|
||||
if (-e $upd_cron_dly) { unlink($upd_cron_dly); }
|
||||
if (-e $upd_cron_wly) { unlink($upd_cron_wly); }
|
||||
if (-e $upd_cron_mly) { unlink($upd_cron_mly); }
|
||||
|
||||
if (($filtersettings{'ENABLE_AUTOUPDATE'} eq 'on') && ($filtersettings{'UPDATE_SCHEDULE'} eq 'daily'))
|
||||
{
|
||||
symlink("../bin/autoupdate.pl",$upd_cron_dly)
|
||||
} else {
|
||||
symlink("/bin/false",$upd_cron_dly)
|
||||
system('/usr/local/bin/urlfilterctrl cron daily >/dev/null 2>&1');
|
||||
}
|
||||
|
||||
if (($filtersettings{'ENABLE_AUTOUPDATE'} eq 'on') && ($filtersettings{'UPDATE_SCHEDULE'} eq 'weekly'))
|
||||
{
|
||||
symlink("../bin/autoupdate.pl",$upd_cron_wly)
|
||||
} else {
|
||||
symlink("/bin/false",$upd_cron_wly)
|
||||
system('/usr/local/bin/urlfilterctrl cron weekly >/dev/null 2>&1');
|
||||
}
|
||||
|
||||
if (($filtersettings{'ENABLE_AUTOUPDATE'} eq 'on') && ($filtersettings{'UPDATE_SCHEDULE'} eq 'monthly'))
|
||||
{
|
||||
symlink("../bin/autoupdate.pl",$upd_cron_mly)
|
||||
} else {
|
||||
symlink("/bin/false",$upd_cron_mly)
|
||||
system('/usr/local/bin/urlfilterctrl cron monthly >/dev/null 2>&1');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ SUID_PROGS = setdmzholes setportfw setxtaccess \
|
||||
wirelessctrl getipstat getiptstate qosctrl launch-ether-wake \
|
||||
redctrl syslogdctrl extrahdctrl sambactrl upnpctrl tripwirectrl \
|
||||
smartctrl clamavctrl addonctrl pakfire mpfirectrl wlanapctrl \
|
||||
setaliases
|
||||
setaliases urlfilterctrl updxlratorctrl
|
||||
SUID_UPDX = updxsetperms
|
||||
|
||||
install : all
|
||||
|
||||
33
src/misc-progs/updxlratorctrl.c
Normal file
33
src/misc-progs/updxlratorctrl.c
Normal file
@@ -0,0 +1,33 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
#include <sys/types.h>
|
||||
#include <fcntl.h>
|
||||
#include "setuid.h"
|
||||
|
||||
int main(int argc, char *argv[]){
|
||||
if ( argc < 2 ){
|
||||
printf("invalid parameter(s)\n");
|
||||
return(1);
|
||||
}
|
||||
|
||||
if (!(initsetuid()))
|
||||
exit(1);
|
||||
|
||||
if (strcmp(argv[1], "cron") == 0){
|
||||
safe_system("rm /etc/fcron.*/updxlrator 2&>/dev/null");
|
||||
|
||||
if (strcmp(argv[2], "daily") == 0){
|
||||
safe_system("ln -s /var/ipfire/updatexlrator/bin/checkup /etc/fcron.daily/updxlrator");
|
||||
} else if (strcmp(argv[2], "weekly") == 0){
|
||||
safe_system("ln -s /var/ipfire/updatexlrator/bin/checkup /etc/fcron.weekly/updxlrator");
|
||||
} else if (strcmp(argv[2], "monthly") == 0){
|
||||
safe_system("ln -s /var/ipfire/updatexlrator/bin/checkup /etc/fcron.monthly/updxlrator");
|
||||
}else{
|
||||
printf("invalid parameter(s)\n");
|
||||
return(1);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
33
src/misc-progs/urlfilterctrl.c
Normal file
33
src/misc-progs/urlfilterctrl.c
Normal file
@@ -0,0 +1,33 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
#include <sys/types.h>
|
||||
#include <fcntl.h>
|
||||
#include "setuid.h"
|
||||
|
||||
int main(int argc, char *argv[]){
|
||||
if ( argc < 2 ){
|
||||
printf("invalid parameter(s)\n");
|
||||
return(1);
|
||||
}
|
||||
|
||||
if (!(initsetuid()))
|
||||
exit(1);
|
||||
|
||||
if (strcmp(argv[1], "cron") == 0){
|
||||
safe_system("rm /etc/fcron.*/urlfilter 2&>/dev/null");
|
||||
|
||||
if (strcmp(argv[2], "daily") == 0){
|
||||
safe_system("ln -s /var/ipfire/urlfilter/bin/autoupdate.pl /etc/fcron.daily/urlfilter");
|
||||
} else if (strcmp(argv[2], "weekly") == 0){
|
||||
safe_system("ln -s /var/ipfire/urlfilter/bin/autoupdate.pl /etc/fcron.weekly/urlfilter");
|
||||
} else if (strcmp(argv[2], "monthly") == 0){
|
||||
safe_system("ln -s /var/ipfire/urlfilter/bin/autoupdate.pl /etc/fcron.monthly/urlfilter");
|
||||
}else{
|
||||
printf("invalid parameter(s)\n");
|
||||
return(1);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user