components/avahi/patches/06-server.patch
author Jiri Sasek <Jiri.Sasek@Oracle.COM>
Tue, 27 Oct 2015 07:12:09 -0700
changeset 5257 0da26ce015ab
permissions -rw-r--r--
22071322 Build of pkg:/system/network/avahi has to be moved from Desktop to Userland.

Source: Desktop consolidation
Upstream promotion status: unknown

--- /usr/tmp/clean/avahi-0.6.28/avahi-core/server.c	2010-08-26 01:51:38.993153000 +0100
+++ avahi-0.6.28/avahi-core/server.c	2011-01-20 12:44:02.347982322 +0000
@@ -1074,7 +1074,9 @@
 
     s->state = state;
 
+#ifndef HAVE_BONJOUR
     avahi_interface_monitor_update_rrs(s->monitor, 0);
+#endif
 
     if (s->callback)
         s->callback(s, state, s->userdata);
@@ -1211,9 +1213,11 @@
     server_set_state(s, AVAHI_SERVER_REGISTERING);
     s->n_host_rr_pending ++; /** Make sure that the state isn't changed tp AVAHI_SERVER_RUNNING too early */
 
+#ifndef HAVE_BONJOUR
     register_hinfo(s);
     register_browse_domain(s);
     avahi_interface_monitor_update_rrs(s->monitor, 0);
+#endif
 
     assert(s->n_host_rr_pending > 0);
     s->n_host_rr_pending --;
@@ -1373,6 +1377,10 @@
     else
         avahi_server_config_init(&s->config);
 
+#ifdef HAVE_BONJOUR
+    s->need_service_cleanup = 0;
+    s->cleanup_time_event = NULL;
+#else
     if ((e = setup_sockets(s)) < 0) {
         if (error)
             *error = e;
@@ -1382,7 +1390,7 @@
 
         return NULL;
     }
-
+#endif
     s->n_host_rr_pending = 0;
     s->need_entry_cleanup = 0;
     s->need_group_cleanup = 0;
@@ -1428,6 +1436,12 @@
         s->local_service_cookie = (uint32_t) rand() * (uint32_t) rand();
     } while (s->local_service_cookie == AVAHI_SERVICE_COOKIE_INVALID);
 
+#ifdef HAVE_BONJOUR
+    AVAHI_LLIST_HEAD_INIT(AvahiService, s->services);
+    s->wide_area_lookup_engine = NULL;
+    s->multicast_lookup_engine = NULL;
+    s->monitor = NULL;
+#else
     if (s->config.enable_wide_area) {
         s->wide_area_lookup_engine = avahi_wide_area_engine_new(s);
         avahi_wide_area_set_servers(s->wide_area_lookup_engine, s->config.wide_area_servers, s->config.n_wide_area_servers);
@@ -1438,6 +1452,7 @@
 
     s->monitor = avahi_interface_monitor_new(s);
     avahi_interface_monitor_sync(s->monitor);
+#endif
 
     register_localhost(s);
     register_stuff(s);
@@ -1472,7 +1487,8 @@
     while(s->entries)
         avahi_entry_free(s, s->entries);
 
-    avahi_interface_monitor_free(s->monitor);
+    if (s->monitor)
+        avahi_interface_monitor_free(s->monitor);
 
     while (s->groups)
         avahi_entry_group_free(s, s->groups);
@@ -1485,7 +1501,8 @@
 
     if (s->wide_area_lookup_engine)
         avahi_wide_area_engine_free(s->wide_area_lookup_engine);
-    avahi_multicast_lookup_engine_free(s->multicast_lookup_engine);
+    if (s->multicast_lookup_engine)
+        avahi_multicast_lookup_engine_free(s->multicast_lookup_engine);
 
     if (s->cleanup_time_event)
         avahi_time_event_free(s->cleanup_time_event);
@@ -1524,6 +1541,11 @@
 
     avahi_server_config_free(&s->config);
 
+#ifdef HAVE_BONJOUR
+    if (s->cleanup_time_event)
+        avahi_time_event_free(s->cleanup_time_event);
+#endif 
+
     avahi_free(s);
 }