]> git.meshlink.io Git - catta/blobdiff - avahi-daemon/main.c
properly finish getopt argument table with a NULL entry (see #50)
[catta] / avahi-daemon / main.c
index cd4a6dcf155480a01c9fe78283571b0b63bba7f1..0c85760f6b7932c1ac9bee92b8ec4cf791162a14 100644 (file)
@@ -66,6 +66,7 @@
 #include "main.h"
 #include "simple-protocol.h"
 #include "static-services.h"
+#include "static-hosts.h"
 #include "ini-file-parser.h"
 
 #ifdef HAVE_DBUS
@@ -486,6 +487,8 @@ static int load_config_file(DaemonConfig *c) {
                     c->server_config.use_ipv6 = is_yes(p->value);
                 else if (strcasecmp(p->key, "check-response-ttl") == 0)
                     c->server_config.check_response_ttl = is_yes(p->value);
+                else if (strcasecmp(p->key, "allow-point-to-point") == 0)
+                    c->server_config.allow_point_to_point = is_yes(p->value);
                 else if (strcasecmp(p->key, "use-iff-running") == 0)
                     c->server_config.use_iff_running = is_yes(p->value);
                 else if (strcasecmp(p->key, "disallow-other-stacks") == 0)
@@ -591,10 +594,12 @@ static int load_config_file(DaemonConfig *c) {
                 } else if (strcasecmp(p->key, "rlimit-stack") == 0) {
                     c->rlimit_stack_set = 1;
                     c->rlimit_stack = atoi(p->value);
-#ifdef RLIMIT_NPROC
                 } else if (strcasecmp(p->key, "rlimit-nproc") == 0) {
+#ifdef RLIMIT_NPROC
                     c->rlimit_nproc_set = 1;
                     c->rlimit_nproc = atoi(p->value);
+#else
+                    avahi_log_error("Ignoring configuration key \"%s\" in group \"%s\"\n", p->key, g->name);
 #endif
                 } else {
                     avahi_log_error("Invalid configuration key \"%s\" in group \"%s\"\n", p->key, g->name);
@@ -740,13 +745,16 @@ static int run_server(DaemonConfig *c) {
 
 #ifdef HAVE_DBUS
     if (c->enable_dbus) {
-        if (dbus_protocol_setup(poll_api, config.disable_user_service_publishing) < 0) {
+        if (dbus_protocol_setup(poll_api, config.disable_user_service_publishing, !c->fail_on_missing_dbus
+#ifdef ENABLE_CHROOT
+                                && !config.use_chroot
+#endif
+            ) < 0) {
+
+            avahi_log_warn("WARNING: Failed to contact D-BUS daemon.");
 
             if (c->fail_on_missing_dbus)
                 goto finish;
-
-            avahi_log_warn("WARNING: Failed to contact D-BUS daemon, disabling D-BUS support.");
-            c->enable_dbus = 0;
         }
     }
 #endif