From aebf1b54e16d7c9152be5cd8aa86e764540f7a58 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Tue, 4 Jan 2011 00:30:14 +0100 Subject: [PATCH] fireinfo: Run action that was set on the webinterface immediately. --- config/rootfiles/common/misc-progs | 1 + config/rootfiles/core/44/filelists/files | 1 + html/cgi-bin/fireinfo.cgi | 1 + src/misc-progs/Makefile | 6 +++++- src/misc-progs/fireinfoctrl.c | 23 +++++++++++++++++++++++ 5 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 src/misc-progs/fireinfoctrl.c diff --git a/config/rootfiles/common/misc-progs b/config/rootfiles/common/misc-progs index 7746d03e0e..6e5d7caec1 100644 --- a/config/rootfiles/common/misc-progs +++ b/config/rootfiles/common/misc-progs @@ -4,6 +4,7 @@ usr/local/bin/backupctrl #usr/local/bin/clamavctrl usr/local/bin/dhcpctrl usr/local/bin/extrahdctrl +usr/local/bin/fireinfoctrl usr/local/bin/getipstat usr/local/bin/getiptstate #usr/local/bin/iowrap diff --git a/config/rootfiles/core/44/filelists/files b/config/rootfiles/core/44/filelists/files index 765ee74dcc..c4eca7310d 100644 --- a/config/rootfiles/core/44/filelists/files +++ b/config/rootfiles/core/44/filelists/files @@ -39,6 +39,7 @@ var/ipfire/langs/en.pl var/ipfire/langs/fr.pl var/ipfire/langs/es.pl var/ipfire/menu.d/10-system.menu +usr/local/bin/fireinfoctrl usr/local/bin/timectrl usr/local/bin/rebuild-initrd usr/local/bin/scanhd diff --git a/html/cgi-bin/fireinfo.cgi b/html/cgi-bin/fireinfo.cgi index 4b972529e1..31f899f827 100644 --- a/html/cgi-bin/fireinfo.cgi +++ b/html/cgi-bin/fireinfo.cgi @@ -55,6 +55,7 @@ if ("$fireinfosettings{'ACTION'}" eq "trigger") { unlink "$configfile"; $fireinfosettings{'ENABLE_FIREINFO'} = 'off'; } + system("/usr/local/bin/fireinfoctrl &"); } &Header::openpage('Fireinfo', 1, ''); diff --git a/src/misc-progs/Makefile b/src/misc-progs/Makefile index 7b1e4578d5..348f91c743 100644 --- a/src/misc-progs/Makefile +++ b/src/misc-progs/Makefile @@ -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 urlfilterctrl updxlratorctrl + setaliases urlfilterctrl updxlratorctrl fireinfoctrl SUID_UPDX = updxsetperms install : all @@ -154,3 +154,7 @@ setaliases: setaliases.c setuid.o ../install+setup/libsmooth/varval.o updxsetperms: updxsetperms.c setuid.o ../install+setup/libsmooth/varval.o $(COMPILE) -I../install+setup/libsmooth/ updxsetperms.c setuid.o ../install+setup/libsmooth/varval.o -o $@ + +fireinfoctrl: fireinfoctrl.c setuid.o ../install+setup/libsmooth/varval.o + $(COMPILE) -I../install+setup/libsmooth/ fireinfoctrl.c setuid.o ../install+setup/libsmooth/varval.o -o $@ + diff --git a/src/misc-progs/fireinfoctrl.c b/src/misc-progs/fireinfoctrl.c new file mode 100644 index 0000000000..963459a2a6 --- /dev/null +++ b/src/misc-progs/fireinfoctrl.c @@ -0,0 +1,23 @@ +/* IPFire helper program - fireinfoctrl + * + * This program is distributed under the terms of the GNU General Public + * Licence. See the file COPYING for details. + * + * (c) IPFire Team, 2011 + * + * Simple program that calls "sendprofile" as the root user. + * + */ + +#include +#include "setuid.h" + +int main(void) +{ + if (!(initsetuid())) + exit(1); + + safe_system("/usr/bin/sendprofile"); + + return 0; +} -- 2.39.2