diff options
author | Lennart Poettering <lennart@poettering.net> | 2005-10-19 00:10:02 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2005-10-19 00:10:02 +0000 |
commit | 16d9e30dd7fa052bd7e6dd37927d7f27bec90ef1 (patch) | |
tree | d52fcd4dfde907c278a29c76e59f899c92c1a4b4 /avahi-dnsconfd/main.c | |
parent | d266407d3e6d8f2a8e14e8bd2f89fa8a4333613c (diff) |
* 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
Diffstat (limited to 'avahi-dnsconfd/main.c')
-rw-r--r-- | avahi-dnsconfd/main.c | 42 |
1 files changed, 7 insertions, 35 deletions
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); |