]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
Add unboundctrl
authorMichael Tremer <michael.tremer@ipfire.org>
Sat, 6 Aug 2016 18:32:34 +0000 (19:32 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 6 Aug 2016 18:34:39 +0000 (19:34 +0100)
Control binary to relaunch unbound from the web user interface

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
config/rootfiles/common/misc-progs
html/cgi-bin/dnsforward.cgi
src/misc-progs/Makefile
src/misc-progs/unboundctrl.c [new file with mode: 0644]

index 87bee064a5da1465b92e16424ad0071a2976a22d..63a005129c5483ab9f03ec35b99968697075c085 100644 (file)
@@ -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
index 1afc55f75479940c24934a1b0346d2c5ecc2bb00..ee63c6dd75853a1ed36b3baeaaf7802f9cf603cf 100644 (file)
@@ -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');
 }
 
 ###
index e7d7580e68ab25d12fc878f8b81bd4feb0c0b451..08a4e37d9c12d61be5d4c4be3e34222585fb257d 100644 (file)
@@ -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 (file)
index 0000000..fea81c6
--- /dev/null
@@ -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 <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <fcntl.h>
+#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;
+}