summaryrefslogtreecommitdiff
path: root/packages/avahi/avahi-0.1/dbus-warn.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/avahi/avahi-0.1/dbus-warn.patch')
-rw-r--r--packages/avahi/avahi-0.1/dbus-warn.patch99
1 files changed, 99 insertions, 0 deletions
diff --git a/packages/avahi/avahi-0.1/dbus-warn.patch b/packages/avahi/avahi-0.1/dbus-warn.patch
new file mode 100644
index 0000000000..b3fd8bd139
--- /dev/null
+++ b/packages/avahi/avahi-0.1/dbus-warn.patch
@@ -0,0 +1,99 @@
+diff -Nur avahi-0.1/avahi-daemon/avahi-daemon.conf avahi-0.1.new/avahi-daemon/avahi-daemon.conf
+--- avahi-0.1/avahi-daemon/avahi-daemon.conf 2005-08-22 05:27:09.000000000 +0800
++++ avahi-0.1.new/avahi-daemon/avahi-daemon.conf 2005-08-23 04:46:04.000000000 +0800
+@@ -5,7 +5,7 @@
+ use-ipv6=no
+ check-response-ttl=no
+ use-iff-running=no
+-enable-dbus=yes
++enable-dbus=warn
+
+ [publish]
+ publish-addresses=yes
+diff -Nur avahi-0.1/avahi-daemon/main.c avahi-0.1.new/avahi-daemon/main.c
+--- avahi-0.1/avahi-daemon/main.c 2005-08-22 05:27:09.000000000 +0800
++++ avahi-0.1.new/avahi-daemon/main.c 2005-08-23 04:45:45.000000000 +0800
+@@ -78,7 +78,10 @@
+ int daemonize;
+ int use_syslog;
+ char *config_file;
++#ifdef HAVE_DBUS
+ int enable_dbus;
++ int fail_on_missing_dbus;
++#endif
+ int drop_root;
+ int publish_resolv_conf;
+ char ** publish_dns_servers;
+@@ -380,8 +383,20 @@
+ c->server_config.check_response_ttl = 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, "enable-dbus") == 0)
+- c->enable_dbus = is_yes(p->value);
++#ifdef HAVE_DBUS
++ else if (strcasecmp(p->key, "enable-dbus") == 0) {
++
++ if (*(p->value) == 'w' || *(p->value) == 'W') {
++ c->fail_on_missing_dbus = 0;
++ c->enable_dbus = 1;
++ } else if (*(p->value) == 'y' || *(p->value) == 'Y') {
++ c->fail_on_missing_dbus = 1;
++ c->enable_dbus = 1;
++ } else
++ c->enable_dbus = 0;
++
++ }
++#endif
+ else if (strcasecmp(p->key, "drop-root") == 0)
+ c->drop_root = is_yes(p->value);
+ else {
+@@ -587,8 +602,14 @@
+
+ #ifdef HAVE_DBUS
+ if (c->enable_dbus)
+- if (dbus_protocol_setup(poll_api) < 0)
+- goto finish;
++ if (dbus_protocol_setup(poll_api) < 0) {
++
++ 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
+
+ load_resolv_conf(c);
+@@ -825,7 +846,10 @@
+ config.command = DAEMON_RUN;
+ config.daemonize = 0;
+ config.config_file = NULL;
++#ifdef HAVE_DBUS
+ config.enable_dbus = 1;
++ config.fail_on_missing_dbus = 1;
++#endif
+ config.drop_root = 1;
+ config.publish_dns_servers = NULL;
+ config.publish_resolv_conf = 0;
+diff -Nur avahi-0.1/man/avahi-daemon.conf.5.xml.in avahi-0.1.new/man/avahi-daemon.conf.5.xml.in
+--- avahi-0.1/man/avahi-daemon.conf.5.xml.in 2005-08-22 05:27:10.000000000 +0800
++++ avahi-0.1.new/man/avahi-daemon.conf.5.xml.in 2005-08-23 04:45:45.000000000 +0800
+@@ -83,11 +83,13 @@
+ </option>
+
+ <option>
+- <p><opt>enable-dbus=</opt> Takes a boolean value ("yes" or
+- "no"). If set to "yes" avahi-daemon connects to DBUS, to offer
+- an object oriented client API. Only available if avahi has
+- been compiled with <opt>--enable-dbus</opt> in which case it
+- defaults to "yes".</p>
++ <p><opt>enable-dbus=</opt> Takes either "yes", "no" or
++ "warn". If set to "yes" avahi-daemon connects to D-BUS,
++ offering an object oriented client API. It is only available
++ if avahi has been compiled with <opt>--enable-dbus</opt> in
++ which case it defaults to "yes". "warn" behaves like "yes",
++ but the daemon starts up even when it fails to connect to a
++ D-BUS daemon.</p>
+ </option>
+
+ </section>