1 --- /usr/tmp/clean/avahi-0.6.12/avahi-core/server.c 2006-06-21 22:51:19.000000000 +0100 2 +++ avahi-0.6.12/avahi-core/server.c 2006-08-21 10:49:46.941313000 +0100 3 @@ -1330,6 +1334,10 @@ 4 else 5 avahi_server_config_init(&s->config); 6 7 +#ifdef HAVE_BONJOUR 8 + s->need_service_cleanup = 0; 9 + s->cleanup_time_event = NULL; 10 +#else 11 if ((e = setup_sockets(s)) < 0) { 12 if (error) 13 *error = e; 14 @@ -1384,6 +1393,12 @@ 15 s->local_service_cookie = (uint32_t) rand() * (uint32_t) rand(); 16 } while (s->local_service_cookie == AVAHI_SERVICE_COOKIE_INVALID); 17 18 +#ifdef HAVE_BONJOUR 19 + AVAHI_LLIST_HEAD_INIT(AvahiService, s->services); 20 + s->wide_area_lookup_engine = NULL; 21 + s->multicast_lookup_engine = NULL; 22 + s->monitor = NULL; 23 +#else 24 if (s->config.enable_wide_area) { 25 s->wide_area_lookup_engine = avahi_wide_area_engine_new(s); 26 avahi_wide_area_set_servers(s->wide_area_lookup_engine, s->config.wide_area_servers, s->config.n_wide_area_servers); 27 @@ -1428,7 +1444,8 @@ 28 while(s->entries) 29 avahi_entry_free(s, s->entries); 30 31 - avahi_interface_monitor_free(s->monitor); 32 + if (s->monitor) 33 + avahi_interface_monitor_free(s->monitor); 34 35 while (s->groups) 36 avahi_entry_group_free(s, s->groups); 37 @@ -1477,6 +1495,11 @@ 38 39 avahi_server_config_free(&s->config); 40 41 +#ifdef HAVE_BONJOUR 42 + if (s->cleanup_time_event) 43 + avahi_time_event_free(s->cleanup_time_event); 44 +#endif 45 + 46 avahi_free(s); 47 } 48 49 diff -ruN avahi-0.6.25.orig/avahi-core/server.c avahi-0.6.25/avahi-core/server.c 50 --- avahi-0.6.25.orig/avahi-core/server.c 2009-07-28 13:57:19.200269501 +0100 51 +++ avahi-0.6.25/avahi-core/server.c 2009-07-28 14:01:54.826596123 +0100 52 @@ -1083,7 +1083,9 @@ 53 54 s->state = state; 55 56 +#ifndef HAVE_BONJOUR 57 avahi_interface_monitor_update_rrs(s->monitor, 0); 58 +#endif 59 60 if (s->callback) 61 s->callback(s, state, s->userdata); 62 @@ -1220,9 +1222,11 @@ 63 server_set_state(s, AVAHI_SERVER_REGISTERING); 64 s->n_host_rr_pending ++; /** Make sure that the state isn't changed tp AVAHI_SERVER_RUNNING too early */ 65 66 +#ifndef HAVE_BONJOUR 67 register_hinfo(s); 68 register_browse_domain(s); 69 avahi_interface_monitor_update_rrs(s->monitor, 0); 70 +#endif 71 72 s->n_host_rr_pending --; 73 74 @@ -1393,7 +1397,7 @@ 75 76 return NULL; 77 } 78 - 79 +#endif 80 s->n_host_rr_pending = 0; 81 s->need_entry_cleanup = 0; 82 s->need_group_cleanup = 0; 83 @@ -1454,6 +1458,7 @@ 84 85 s->monitor = avahi_interface_monitor_new(s); 86 avahi_interface_monitor_sync(s->monitor); 87 +#endif 88 89 register_localhost(s); 90 register_stuff(s); 91 @@ -1502,7 +1507,8 @@ 92 93 if (s->wide_area_lookup_engine) 94 avahi_wide_area_engine_free(s->wide_area_lookup_engine); 95 - avahi_multicast_lookup_engine_free(s->multicast_lookup_engine); 96 + if (s->multicast_lookup_engine) 97 + avahi_multicast_lookup_engine_free(s->multicast_lookup_engine); 98 99 avahi_time_event_queue_free(s->time_event_queue); 100 101