#define MAXPARA 10
+static void handle_reload(int parc, char *parv[]);
static void handle_stat(int parc, char *parv[]);
rb_helper *authd_helper = NULL;
-authd_cmd_handler authd_cmd_handlers[255] = {
+authd_cmd_handler authd_cmd_handlers[256] = {
+ ['H'] = handle_reload,
['D'] = resolve_dns,
['S'] = handle_stat,
};
-authd_stat_handler authd_stat_handlers[255] = {
+authd_stat_handler authd_stat_handlers[256] = {
['D'] = enumerate_nameservers,
};
+authd_reload_handler authd_reload_handlers[256] = {
+ ['D'] = reload_nameservers,
+};
+
static void
handle_stat(int parc, char *parv[])
{
handler(parv[1], parv[2][0]);
}
+static void
+handle_reload(int parc, char *parv[])
+{
+ authd_reload_handler handler;
+
+ if(parc < 2)
+ /* XXX Should log this somehow */
+ return;
+
+ if (!(handler = authd_reload_handlers[parv[1][0]]))
+ return;
+
+ handler(parv[1][0]);
+}
+
static void
parse_request(rb_helper *helper)
{
exit(1);
}
-#ifndef WINDOWS
+#ifndef _WIN32
static void
dummy_handler(int sig)
{
static void
setup_signals(void)
{
-#ifndef WINDOWS
+#ifndef _WIN32
struct sigaction act;
act.sa_flags = 0;