1 18960 padraig --- /usr/tmp/clean/avahi-0.6.25/avahi-daemon/main.c 2008-12-12 21:36:15.000000000 +0000 2 18960 padraig +++ avahi-0.6.25/avahi-daemon/main.c 2009-08-04 08:17:02.469032000 +0100 3 18960 padraig @@ -75,7 +75,9 @@ 4 11510 padraig 5 11510 padraig #include "setproctitle.h" 6 11510 padraig #include "main.h" 7 11510 padraig +#ifndef HAVE_BONJOUR 8 11510 padraig #include "simple-protocol.h" 9 11510 padraig +#endif 10 11510 padraig #include "static-services.h" 11 11510 padraig #include "static-hosts.h" 12 11510 padraig #include "ini-file-parser.h" 13 18960 padraig @@ -132,11 +134,13 @@ 14 11510 padraig #define RESOLV_CONF "/etc/resolv.conf" 15 11855 padraig #define BROWSE_DOMAINS_MAX 16 16 11510 padraig 17 11510 padraig +#ifndef HAVE_BONJOUR 18 11510 padraig static AvahiSEntryGroup *dns_servers_entry_group = NULL; 19 11510 padraig static AvahiSEntryGroup *resolv_conf_entry_group = NULL; 20 11510 padraig 21 11855 padraig static char **resolv_conf_name_servers = NULL; 22 11855 padraig static char **resolv_conf_search_domains = NULL; 23 11510 padraig +#endif 24 11510 padraig 25 11510 padraig static DaemonConfig config; 26 11510 padraig 27 18960 padraig @@ -148,6 +152,7 @@ 28 11510 padraig return strlen(s) >= l && strncmp(s, prefix, l) == 0; 29 11510 padraig } 30 11510 padraig 31 11510 padraig +#ifndef HAVE_BONJOUR 32 11510 padraig static int load_resolv_conf(void) { 33 11510 padraig int ret = -1; 34 11510 padraig FILE *f; 35 18960 padraig @@ -331,6 +336,7 @@ 36 18960 padraig 37 11855 padraig avahi_server_set_browse_domains(avahi_server, l); 38 11510 padraig } 39 11510 padraig +#endif 40 11510 padraig 41 11510 padraig static void server_callback(AvahiServer *s, AvahiServerState state, void *userdata) { 42 11510 padraig DaemonConfig *c = userdata; 43 18960 padraig @@ -356,7 +362,7 @@ 44 18960 padraig 45 11510 padraig static_service_add_to_server(); 46 11510 padraig static_hosts_add_to_server(); 47 18960 padraig - 48 11510 padraig +#ifndef HAVE_BONJOUR 49 11510 padraig remove_dns_server_entry_groups(); 50 18960 padraig 51 11855 padraig if (c->publish_resolv_conf && resolv_conf_name_servers && resolv_conf_name_servers[0]) 52 18960 padraig @@ -366,6 +372,7 @@ 53 11510 padraig dns_servers_entry_group = add_dns_servers(s, dns_servers_entry_group, c->publish_dns_servers); 54 18960 padraig 55 11510 padraig simple_protocol_restart_queries(); 56 11510 padraig +#endif 57 11510 padraig break; 58 18960 padraig 59 11510 padraig case AVAHI_SERVER_COLLISION: { 60 18960 padraig @@ -375,7 +382,9 @@ 61 18960 padraig 62 11510 padraig static_service_remove_from_server(); 63 11510 padraig static_hosts_remove_from_server(); 64 11510 padraig +#ifndef HAVE_BONJOUR 65 11510 padraig remove_dns_server_entry_groups(); 66 11510 padraig +#endif 67 11510 padraig 68 11510 padraig n = avahi_alternative_host_name(avahi_server_get_host_name(s)); 69 11510 padraig avahi_log_warn("Host name conflict, retrying with <%s>", n); 70 18960 padraig @@ -397,7 +406,9 @@ 71 18960 padraig 72 11510 padraig static_service_remove_from_server(); 73 11510 padraig static_hosts_remove_from_server(); 74 11510 padraig +#ifndef HAVE_BONJOUR 75 11510 padraig remove_dns_server_entry_groups(); 76 11510 padraig +#endif 77 18960 padraig 78 11510 padraig break; 79 11510 padraig 80 18960 padraig @@ -417,9 +428,11 @@ 81 11510 padraig " -r --reload Request a running daemon to reload static services\n" 82 11510 padraig " -c --check Return 0 if a daemon is already running\n" 83 11510 padraig " -V --version Show version\n" 84 11510 padraig +#ifndef HAVE_BONJOUR 85 11510 padraig " -f --file=FILE Load the specified configuration file instead of\n" 86 11510 padraig " "AVAHI_CONFIG_FILE"\n" 87 11510 padraig " --no-rlimits Don't enforce resource limits\n" 88 11510 padraig +#endif 89 11510 padraig " --no-drop-root Don't drop privileges\n" 90 18960 padraig #ifdef ENABLE_CHROOT 91 11510 padraig " --no-chroot Don't chroot()\n" 92 18960 padraig @@ -448,11 +461,15 @@ 93 11510 padraig { "daemonize", no_argument, NULL, 'D' }, 94 11510 padraig { "kill", no_argument, NULL, 'k' }, 95 11510 padraig { "version", no_argument, NULL, 'V' }, 96 11510 padraig +#ifndef HAVE_BONJOUR 97 11510 padraig { "file", required_argument, NULL, 'f' }, 98 11510 padraig +#endif 99 11510 padraig { "reload", no_argument, NULL, 'r' }, 100 11510 padraig { "check", no_argument, NULL, 'c' }, 101 11510 padraig { "syslog", no_argument, NULL, 's' }, 102 11510 padraig +#ifndef HAVE_BONJOUR 103 11510 padraig { "no-rlimits", no_argument, NULL, OPTION_NO_RLIMITS }, 104 11510 padraig +#endif 105 11510 padraig { "no-drop-root", no_argument, NULL, OPTION_NO_DROP_ROOT }, 106 11510 padraig #ifdef ENABLE_CHROOT 107 11510 padraig { "no-chroot", no_argument, NULL, OPTION_NO_CHROOT }, 108 18960 padraig @@ -464,7 +481,11 @@ 109 11510 padraig 110 11510 padraig assert(c); 111 11510 padraig 112 11510 padraig +#ifdef HAVE_BONJOUR 113 11510 padraig + while ((o = getopt_long(argc, argv, "hDkVrcs", long_options, NULL)) >= 0) { 114 11510 padraig +#else 115 11510 padraig while ((o = getopt_long(argc, argv, "hDkVf:rcs", long_options, NULL)) >= 0) { 116 11510 padraig +#endif 117 11510 padraig 118 11510 padraig switch(o) { 119 11510 padraig case 's': 120 18960 padraig @@ -482,6 +503,7 @@ 121 11510 padraig case 'V': 122 11510 padraig c->command = DAEMON_VERSION; 123 11510 padraig break; 124 11510 padraig +#ifndef HAVE_BONJOUR 125 11510 padraig case 'f': 126 11510 padraig avahi_free(c->config_file); 127 11510 padraig c->config_file = avahi_strdup(optarg); 128 18960 padraig @@ -489,12 +511,15 @@ 129 11510 padraig case 'r': 130 11510 padraig c->command = DAEMON_RELOAD; 131 11510 padraig break; 132 11510 padraig +#endif 133 11510 padraig case 'c': 134 11510 padraig c->command = DAEMON_CHECK; 135 11510 padraig break; 136 11510 padraig +#ifndef HAVE_BONJOUR 137 11510 padraig case OPTION_NO_RLIMITS: 138 11510 padraig c->set_rlimits = 0; 139 11510 padraig break; 140 11510 padraig +#endif 141 11510 padraig case OPTION_NO_DROP_ROOT: 142 11510 padraig c->drop_root = 0; 143 11510 padraig break; 144 18960 padraig @@ -528,6 +553,7 @@ 145 11510 padraig return *s == 'y' || *s == 'Y' || *s == '1' || *s == 't' || *s == 'T'; 146 11510 padraig } 147 11510 padraig 148 14317 padraig +#ifndef HAVE_BONJOUR 149 11510 padraig static int load_config_file(DaemonConfig *c) { 150 11510 padraig int r = -1; 151 11510 padraig AvahiIniFile *f; 152 18960 padraig @@ -739,6 +765,7 @@ 153 18960 padraig 154 11510 padraig return r; 155 11510 padraig } 156 11510 padraig +#endif 157 11510 padraig 158 11510 padraig static void log_function(AvahiLogLevel level, const char *txt) { 159 11510 padraig 160 18960 padraig @@ -859,6 +886,7 @@ 161 11510 padraig static_service_add_to_server(); 162 11510 padraig static_hosts_add_to_server(); 163 18960 padraig 164 11510 padraig +#ifndef HAVE_BONJOUR 165 11510 padraig if (resolv_conf_entry_group) 166 11510 padraig avahi_s_entry_group_reset(resolv_conf_entry_group); 167 18960 padraig 168 18960 padraig @@ -869,6 +897,7 @@ 169 18960 padraig 170 11855 padraig if (config.publish_resolv_conf && resolv_conf_name_servers && resolv_conf_name_servers[0]) 171 11855 padraig resolv_conf_entry_group = add_dns_servers(avahi_server, resolv_conf_entry_group, resolv_conf_name_servers); 172 11510 padraig +#endif 173 11510 padraig } 174 11510 padraig 175 11510 padraig #ifdef HAVE_INOTIFY 176 18960 padraig @@ -956,8 +985,12 @@ 177 11510 padraig break; 178 11510 padraig 179 11510 padraig case SIGUSR1: 180 11510 padraig +#ifdef HAVE_BONJOUR 181 11510 padraig + avahi_log_info("Got SIGUSR1, ignoring recor."); 182 11510 padraig +#else 183 11510 padraig avahi_log_info("Got SIGUSR1, dumping record data."); 184 11510 padraig avahi_server_dump(avahi_server, dump, NULL); 185 11510 padraig +#endif 186 11510 padraig break; 187 11510 padraig 188 11510 padraig default: 189 18960 padraig @@ -985,8 +1018,10 @@ 190 11510 padraig 191 11510 padraig assert(c); 192 11510 padraig 193 11510 padraig +#ifndef HAVE_BONJOUR 194 11510 padraig if (!(nss_support = avahi_nss_support())) 195 11510 padraig avahi_log_warn("WARNING: No NSS support for mDNS detected, consider installing nss-mdns!"); 196 11510 padraig +#endif 197 11510 padraig 198 11510 padraig if (!(simple_poll_api = avahi_simple_poll_new())) { 199 11510 padraig avahi_log_error("Failed to create main loop object."); 200 18960 padraig @@ -1005,8 +1040,10 @@ 201 11510 padraig goto finish; 202 11510 padraig } 203 11510 padraig 204 11510 padraig +#ifndef HAVE_BONJOUR 205 11510 padraig if (simple_protocol_setup(poll_api) < 0) 206 11510 padraig goto finish; 207 11510 padraig +#endif 208 11510 padraig 209 11510 padraig #ifdef HAVE_DBUS 210 11510 padraig if (c->enable_dbus) { 211 18960 padraig @@ -1070,7 +1107,9 @@ 212 11510 padraig } 213 11510 padraig #endif 214 11510 padraig 215 11510 padraig +#ifndef HAVE_BONJOUR 216 11510 padraig load_resolv_conf(); 217 11510 padraig +#endif 218 11510 padraig #ifdef ENABLE_CHROOT 219 11510 padraig static_service_load(config.use_chroot); 220 11510 padraig static_hosts_load(config.use_chroot); 221 18960 padraig @@ -1084,8 +1123,10 @@ 222 11510 padraig goto finish; 223 11510 padraig } 224 11510 padraig 225 11510 padraig +#ifndef HAVE_BONJOUR 226 11510 padraig update_wide_area_servers(); 227 11855 padraig update_browse_domains(); 228 11510 padraig +#endif 229 11510 padraig 230 11510 padraig if (c->daemonize) { 231 11510 padraig daemon_retval_send(0); 232 18960 padraig @@ -1114,10 +1155,12 @@ 233 18960 padraig 234 11510 padraig static_hosts_remove_from_server(); 235 11510 padraig static_hosts_free_all(); 236 18960 padraig +#ifndef HAVE_BONJOUR 237 11510 padraig 238 11510 padraig remove_dns_server_entry_groups(); 239 18960 padraig 240 11510 padraig simple_protocol_shutdown(); 241 11510 padraig +#endif 242 11510 padraig 243 11510 padraig #ifdef HAVE_DBUS 244 11510 padraig if (c->enable_dbus) 245 18960 padraig @@ -1428,8 +1471,10 @@ 246 11510 padraig goto finish; 247 11510 padraig } 248 11510 padraig 249 11510 padraig +#ifndef HAVE_BONJOUR 250 11510 padraig if (load_config_file(&config) < 0) 251 11510 padraig goto finish; 252 11510 padraig +#endif 253 18960 padraig 254 11510 padraig if (config.daemonize) { 255 11510 padraig daemon_retval_init(); 256 18960 padraig @@ -1516,9 +1561,13 @@ 257 11510 padraig 258 11510 padraig avahi_server_config_free(&config.server_config); 259 11510 padraig avahi_free(config.config_file); 260 11510 padraig +#ifdef HAVE_BONJOUR 261 11855 padraig + assert(config.publish_dns_servers == NULL); 262 11510 padraig +#else 263 11510 padraig avahi_strfreev(config.publish_dns_servers); 264 11855 padraig avahi_strfreev(resolv_conf_name_servers); 265 11855 padraig avahi_strfreev(resolv_conf_search_domains); 266 11510 padraig +#endif 267 11510 padraig 268 11510 padraig if (wrote_pid_file) { 269 11510 padraig #ifdef ENABLE_CHROOT 270