summaryrefslogtreecommitdiffstats
path: root/avahi-dnsconfd
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2005-10-19 00:10:02 +0000
committerLennart Poettering <lennart@poettering.net>2005-10-19 00:10:02 +0000
commit16d9e30dd7fa052bd7e6dd37927d7f27bec90ef1 (patch)
treed52fcd4dfde907c278a29c76e59f899c92c1a4b4 /avahi-dnsconfd
parentd266407d3e6d8f2a8e14e8bd2f89fa8a4333613c (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')
-rw-r--r--avahi-dnsconfd/main.c42
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);