|
1 Source: Desktop consolidation |
|
2 Upstream promotion status: unknown |
|
3 |
|
4 --- /usr/tmp/clean/avahi-0.6.28/avahi-core/server.c 2010-08-26 01:51:38.993153000 +0100 |
|
5 +++ avahi-0.6.28/avahi-core/server.c 2011-01-20 12:44:02.347982322 +0000 |
|
6 @@ -1074,7 +1074,9 @@ |
|
7 |
|
8 s->state = state; |
|
9 |
|
10 +#ifndef HAVE_BONJOUR |
|
11 avahi_interface_monitor_update_rrs(s->monitor, 0); |
|
12 +#endif |
|
13 |
|
14 if (s->callback) |
|
15 s->callback(s, state, s->userdata); |
|
16 @@ -1211,9 +1213,11 @@ |
|
17 server_set_state(s, AVAHI_SERVER_REGISTERING); |
|
18 s->n_host_rr_pending ++; /** Make sure that the state isn't changed tp AVAHI_SERVER_RUNNING too early */ |
|
19 |
|
20 +#ifndef HAVE_BONJOUR |
|
21 register_hinfo(s); |
|
22 register_browse_domain(s); |
|
23 avahi_interface_monitor_update_rrs(s->monitor, 0); |
|
24 +#endif |
|
25 |
|
26 assert(s->n_host_rr_pending > 0); |
|
27 s->n_host_rr_pending --; |
|
28 @@ -1373,6 +1377,10 @@ |
|
29 else |
|
30 avahi_server_config_init(&s->config); |
|
31 |
|
32 +#ifdef HAVE_BONJOUR |
|
33 + s->need_service_cleanup = 0; |
|
34 + s->cleanup_time_event = NULL; |
|
35 +#else |
|
36 if ((e = setup_sockets(s)) < 0) { |
|
37 if (error) |
|
38 *error = e; |
|
39 @@ -1382,7 +1390,7 @@ |
|
40 |
|
41 return NULL; |
|
42 } |
|
43 - |
|
44 +#endif |
|
45 s->n_host_rr_pending = 0; |
|
46 s->need_entry_cleanup = 0; |
|
47 s->need_group_cleanup = 0; |
|
48 @@ -1428,6 +1436,12 @@ |
|
49 s->local_service_cookie = (uint32_t) rand() * (uint32_t) rand(); |
|
50 } while (s->local_service_cookie == AVAHI_SERVICE_COOKIE_INVALID); |
|
51 |
|
52 +#ifdef HAVE_BONJOUR |
|
53 + AVAHI_LLIST_HEAD_INIT(AvahiService, s->services); |
|
54 + s->wide_area_lookup_engine = NULL; |
|
55 + s->multicast_lookup_engine = NULL; |
|
56 + s->monitor = NULL; |
|
57 +#else |
|
58 if (s->config.enable_wide_area) { |
|
59 s->wide_area_lookup_engine = avahi_wide_area_engine_new(s); |
|
60 avahi_wide_area_set_servers(s->wide_area_lookup_engine, s->config.wide_area_servers, s->config.n_wide_area_servers); |
|
61 @@ -1438,6 +1452,7 @@ |
|
62 |
|
63 s->monitor = avahi_interface_monitor_new(s); |
|
64 avahi_interface_monitor_sync(s->monitor); |
|
65 +#endif |
|
66 |
|
67 register_localhost(s); |
|
68 register_stuff(s); |
|
69 @@ -1472,7 +1487,8 @@ |
|
70 while(s->entries) |
|
71 avahi_entry_free(s, s->entries); |
|
72 |
|
73 - avahi_interface_monitor_free(s->monitor); |
|
74 + if (s->monitor) |
|
75 + avahi_interface_monitor_free(s->monitor); |
|
76 |
|
77 while (s->groups) |
|
78 avahi_entry_group_free(s, s->groups); |
|
79 @@ -1485,7 +1501,8 @@ |
|
80 |
|
81 if (s->wide_area_lookup_engine) |
|
82 avahi_wide_area_engine_free(s->wide_area_lookup_engine); |
|
83 - avahi_multicast_lookup_engine_free(s->multicast_lookup_engine); |
|
84 + if (s->multicast_lookup_engine) |
|
85 + avahi_multicast_lookup_engine_free(s->multicast_lookup_engine); |
|
86 |
|
87 if (s->cleanup_time_event) |
|
88 avahi_time_event_free(s->cleanup_time_event); |
|
89 @@ -1524,6 +1541,11 @@ |
|
90 |
|
91 avahi_server_config_free(&s->config); |
|
92 |
|
93 +#ifdef HAVE_BONJOUR |
|
94 + if (s->cleanup_time_event) |
|
95 + avahi_time_event_free(s->cleanup_time_event); |
|
96 +#endif |
|
97 + |
|
98 avahi_free(s); |
|
99 } |
|
100 |