From: Michael Tremer Date: Sat, 6 Aug 2016 18:32:34 +0000 (+0100) Subject: Add unboundctrl X-Git-Tag: v2.19-core106~100^2~5 X-Git-Url: http://git.ipfire.org/?p=ipfire-2.x.git;a=commitdiff_plain;h=df7340d2f3232a87ae6e3e11a6cb4e15b74e55a3 Add unboundctrl Control binary to relaunch unbound from the web user interface Signed-off-by: Michael Tremer --- diff --git a/config/rootfiles/common/misc-progs b/config/rootfiles/common/misc-progs index 87bee064a5..63a005129c 100644 --- a/config/rootfiles/common/misc-progs +++ b/config/rootfiles/common/misc-progs @@ -32,6 +32,7 @@ usr/local/bin/sshctrl usr/local/bin/syslogdctrl usr/local/bin/timectrl #usr/local/bin/torctrl +usr/local/bin/unboundctrl usr/local/bin/updxlratorctrl usr/local/bin/upnpctrl usr/local/bin/urlfilterctrl diff --git a/html/cgi-bin/dnsforward.cgi b/html/cgi-bin/dnsforward.cgi index 1afc55f754..ee63c6dd75 100644 --- a/html/cgi-bin/dnsforward.cgi +++ b/html/cgi-bin/dnsforward.cgi @@ -106,8 +106,8 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'add'}) $cgiparams{'ID'} = $cgiparams{'EDITING'}; } } - # Restart dnsmasq. - system('/usr/local/bin/dnsmasqctrl restart >/dev/null'); + # Restart unbound + system('/usr/local/bin/unboundctrl restart >/dev/null'); } ### @@ -124,8 +124,8 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'remove'}) unless ($cgiparams{'ID'} eq $id) { print FILE "$line"; } } close(FILE); - # Restart dnsmasq. - system('/usr/local/bin/dnsmasqctrl restart >/dev/null'); + # Restart unbound. + system('/usr/local/bin/unboundctrl restart >/dev/null'); } ### @@ -148,8 +148,8 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'toggle enable disable'}) } } close(FILE); - # Restart dnsmasq. - system('/usr/local/bin/dnsmasqctrl restart >/dev/null'); + # Restart unbound. + system('/usr/local/bin/unboundctrl restart >/dev/null'); } ### diff --git a/src/misc-progs/Makefile b/src/misc-progs/Makefile index e7d7580e68..08a4e37d9c 100644 --- a/src/misc-progs/Makefile +++ b/src/misc-progs/Makefile @@ -31,7 +31,7 @@ SUID_PROGS = squidctrl sshctrl ipfirereboot \ redctrl syslogdctrl extrahdctrl sambactrl upnpctrl \ smartctrl clamavctrl addonctrl pakfire mpfirectrl wlanapctrl \ setaliases urlfilterctrl updxlratorctrl fireinfoctrl rebuildroutes \ - getconntracktable wirelessclient torctrl ddnsctrl + getconntracktable wirelessclient torctrl ddnsctrl unboundctrl SUID_UPDX = updxsetperms OBJS = $(patsubst %,%.o,$(PROGS) $(SUID_PROGS)) diff --git a/src/misc-progs/unboundctrl.c b/src/misc-progs/unboundctrl.c new file mode 100644 index 0000000000..fea81c6712 --- /dev/null +++ b/src/misc-progs/unboundctrl.c @@ -0,0 +1,34 @@ +/* This file is part of the IPFire Firewall. + * + * This program is distributed under the terms of the GNU General Public + * Licence. See the file COPYING for details. + * + */ + +#include +#include +#include +#include +#include +#include +#include "setuid.h" + +int main(int argc, char *argv[]) { + + if (!(initsetuid())) + exit(1); + + if (argc < 2) { + fprintf(stderr, "\nNo argument given.\n\nunboundctrl (restart)\n\n"); + exit(1); + } + + if (strcmp(argv[1], "restart") == 0) { + safe_system("/etc/rc.d/init.d/unbound restart"); + } else { + fprintf(stderr, "\nBad argument given.\n\nunboundctrl (restart)\n\n"); + exit(1); + } + + return 0; +}