Home | History | Annotate | Download | only in patches
      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