]> git.meshlink.io Git - catta/commitdiff
dnsconfd: add --syslog switch
authorLennart Poettering <lennart@poettering.net>
Sat, 26 Jun 2010 02:05:56 +0000 (04:05 +0200)
committerLennart Poettering <lennart@poettering.net>
Sat, 26 Jun 2010 02:05:56 +0000 (04:05 +0200)
avahi-dnsconfd/main.c
man/avahi-dnsconfd.8.xml.in

index 57147cd6417d73cf536cf584a55cc2dc3f04ce60..719fbebc46ed725ad1552a65454fb3e69d5656e5 100644 (file)
@@ -70,6 +70,7 @@ static enum {
 
 static int quit = 0;
 static int daemonize = 0;
+static int use_syslog = 0;
 
 #if !HAVE_DECL_ENVIRON
 extern char **environ;
@@ -374,6 +375,7 @@ static void help(FILE *f, const char *argv0) {
             "%s [options]\n"
             "    -h --help        Show this help\n"
             "    -D --daemonize   Daemonize after startup\n"
+            "    -s --syslog      Write log messages to syslog(3) instead of STDERR\n"
             "    -k --kill        Kill a running daemon\n"
             "    -r --refresh     Request a running daemon to refresh DNS server data\n"
             "    -c --check       Return 0 if a daemon is already running\n"
@@ -387,6 +389,7 @@ static int parse_command_line(int argc, char *argv[]) {
     static const struct option long_options[] = {
         { "help",      no_argument,       NULL, 'h' },
         { "daemonize", no_argument,       NULL, 'D' },
+        { "syslog",    no_argument,       NULL, 's' },
         { "kill",      no_argument,       NULL, 'k' },
         { "version",   no_argument,       NULL, 'V' },
         { "refresh",   no_argument,       NULL, 'r' },
@@ -394,7 +397,7 @@ static int parse_command_line(int argc, char *argv[]) {
         { NULL, 0, NULL, 0 }
     };
 
-    while ((c = getopt_long(argc, argv, "hDkVrc", long_options, NULL)) >= 0) {
+    while ((c = getopt_long(argc, argv, "hDkVrcs", long_options, NULL)) >= 0) {
 
         switch(c) {
             case 'h':
@@ -403,6 +406,9 @@ static int parse_command_line(int argc, char *argv[]) {
             case 'D':
                 daemonize = 1;
                 break;
+            case 's':
+                use_syslog = 1;
+                break;
             case 'k':
                 command = DAEMON_KILL;
                 break;
@@ -606,6 +612,9 @@ int main(int argc, char *argv[]) {
             /* Child */
         }
 
+        if (use_syslog || daemonize)
+            daemon_log_use = DAEMON_LOG_SYSLOG;
+
         chdir("/");
 
         if (daemon_pid_file_create() < 0) {
index b40c67691d38b4f830108e8a5b5f1dd191100a16..e01ab44a43c7277ec7225014897d10a8452f2688 100644 (file)
                <optdesc><p>Daemonize after startup and redirect log messages to syslog.</p></optdesc>
          </option>
 
+      <option>
+        <p><opt>-s | --syslog</opt></p>
+        <optdesc><p>Log to syslog instead of STDERR. Implied by <opt>--daemonize</opt>.</p></optdesc>
+      </option>
+
          <option>
                <p><opt>-k | --kill</opt></p>
                <optdesc><p>Kill an already running avahi-dnsconfd. (equivalent to sending a SIGTERM)</p></optdesc>