]> git.meshlink.io Git - catta/blobdiff - avahi-dnsconfd/main.c
Merge remote-tracking branch 'origin/master-tx'
[catta] / avahi-dnsconfd / main.c
index 6ae6c3afb6d8a726dc97862884e341556abb6ca6..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;
@@ -158,8 +159,8 @@ static int open_socket(void) {
 
     if (connect(fd, (struct sockaddr*) &sa, sizeof(sa)) < 0) {
         daemon_log(LOG_ERR, "connect(): %s", strerror(errno));
-       daemon_log(LOG_INFO, "Failed to connect to the daemon. This probably means that you");
-       daemon_log(LOG_INFO, "didn't start avahi-daemon before avahi-dnsconfd.");
+        daemon_log(LOG_INFO, "Failed to connect to the daemon. This probably means that you");
+        daemon_log(LOG_INFO, "didn't start avahi-daemon before avahi-dnsconfd.");
         goto fail;
     }
 
@@ -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) {