components/avahi/patches/06-server.patch
changeset 5257 0da26ce015ab
equal deleted inserted replaced
5256:1c3e20e70cc3 5257:0da26ce015ab
       
     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