X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fmdnsd.git;a=blobdiff_plain;f=main.c;h=39b83207fa7d406e72a07ec26fb44dad916d9788;hp=a6c99b50cad954eb3668ed5028d19311a40b728c;hb=d9a8000d2e08085132a5832db0480323c509ad22;hpb=788316ef66136e6a68d881e5b24ccf5a98fa4550 diff --git a/main.c b/main.c index a6c99b5..39b8320 100644 --- a/main.c +++ b/main.c @@ -42,6 +42,7 @@ static struct uloop_timeout reconnect; char *iface_name = "eth0"; const char *iface_ip; +int iface_index; static int parse_answer(struct uloop_fd *u, uint8_t *buffer, int len, uint8_t **b, int *rlen, int cache) @@ -185,7 +186,6 @@ reconnect_socket(struct uloop_timeout *timeout) uloop_fd_add(&listener, ULOOP_READ); sleep(5); - dns_send_question(&listener, "_services._dns-sd._tcp.local", TYPE_PTR); dns_send_question(&listener, "_services._dns-sd._udp.local", TYPE_PTR); announce_init(&listener); } @@ -226,11 +226,16 @@ main(int argc, char **argv) fprintf(stderr, "failed to read ip for %s\n", iface_name); return -1; } - fprintf(stderr, "interface %s has ip %s\n", iface_name, iface_ip); - signal_setup(); - if (dns_init()) + iface_index = get_iface_index(iface_name); + + if (!iface_index) { + fprintf(stderr, "failed to read index for %s\n", iface_name); return -1; + } + + fprintf(stderr, "interface %s has ip %s and index %d\n", iface_name, iface_ip, iface_index); + signal_setup(); if (cache_init()) return -1; @@ -246,7 +251,6 @@ main(int argc, char **argv) uloop_run(); uloop_done(); - dns_cleanup(); cache_cleanup(); service_cleanup();