From 16d9e30dd7fa052bd7e6dd37927d7f27bec90ef1 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 19 Oct 2005 00:10:02 +0000 Subject: * Compile tests only when --enable-tests was specified on the configure command line * Build compat layers only when --enable-compat-{howl,libdns_sd} was passed to configure * drop avahi_strlcpy() to reduce our code/API size * replace getifname() with if_indextoname in avahi-dnsconfd * declare environ if needed in avahi-dnsconfd * drop some useless definitions like AVAHI_PUBLISH_NULL = 0 git-svn-id: file:///home/lennart/svn/public/avahi/trunk@819 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe --- avahi-dnsconfd/main.c | 42 +++++++----------------------------------- 1 file changed, 7 insertions(+), 35 deletions(-) (limited to 'avahi-dnsconfd') diff --git a/avahi-dnsconfd/main.c b/avahi-dnsconfd/main.c index cca0b68..84b0f68 100644 --- a/avahi-dnsconfd/main.c +++ b/avahi-dnsconfd/main.c @@ -61,8 +61,6 @@ static enum { BROWSING } state = ACKWAIT; -static int quit = 0; - static enum { DAEMON_RUN, DAEMON_KILL, @@ -72,8 +70,13 @@ static enum { DAEMON_CHECK } command = DAEMON_RUN; +static int quit = 0; static int daemonize = 0; +#if !HAVE_DECL_ENVIRON +extern char **environ; +#endif + typedef struct DNSServerInfo DNSServerInfo; struct DNSServerInfo { @@ -213,37 +216,6 @@ static char *concat_dns_servers(AvahiIfIndex interface) { return r; } -static char *getifname(AvahiIfIndex interface, char *name, size_t len) { - int fd = -1; - char *ret = NULL; - struct ifreq ifr; - - assert(interface >= 0); - - if ((fd = socket(PF_INET, SOCK_DGRAM, 0)) < 0) { - daemon_log(LOG_ERR, "socket(): %s", strerror(errno)); - goto finish; - } - - memset(&ifr, 0, sizeof(ifr)); - ifr.ifr_ifindex = (int) interface; - - if (ioctl(fd, SIOCGIFNAME, &ifr) < 0) { - daemon_log(LOG_ERR, "SIOCGIFNAME: %s\n", strerror(errno)); - goto finish; - } - - strncpy(name, ifr.ifr_name, len-1); - name[len-1] = 0; - ret = name; - -finish: - if (fd >= 0) - close(fd); - - return ret; -} - static void set_env(const char *name, const char *value) { char **e; size_t l; @@ -274,11 +246,11 @@ static void run_script(int new, AvahiIfIndex interface, AvahiProtocol protocol, char *p; int ret; char ia[16], pa[16]; - char name[IFNAMSIZ+1]; + char name[IF_NAMESIZE]; assert(interface > 0); - if (!getifname(interface, name, sizeof(name))) + if (!if_indextoname(interface, name)) return; p = concat_dns_servers(interface); -- cgit