diff options
-rwxr-xr-x | src/cache.c | 1 | ||||
-rwxr-xr-x | src/network.c | 2 | ||||
-rwxr-xr-x | src/rfc1035.c | 2 |
3 files changed, 5 insertions, 0 deletions
diff --git a/src/cache.c b/src/cache.c index d641ae7..6c0f225 100755 --- a/src/cache.c +++ b/src/cache.c @@ -1245,6 +1245,7 @@ void log_query(unsigned short flags, char *name, struct all_addr *addr, char *ar if (addr) { #ifdef HAVE_IPV6 + /* TODO: support scoped addresses. struct all_addr doesn't store scope IDs. */ inet_ntop(flags & F_IPV4 ? AF_INET : AF_INET6, addr, addrbuff, ADDRSTRLEN); #else diff --git a/src/network.c b/src/network.c index 858e7b4..2df8c75 100755 --- a/src/network.c +++ b/src/network.c @@ -458,6 +458,8 @@ void create_bound_listener(struct listener **listeners, struct irec *iface) /* An interface may have an IPv6 address which is still undergoing DAD. If so, the bind will fail until the DAD completes, so we try over 20 seconds before failing. */ + /* TODO: What to do here? 20 seconds is way too long. We use optimistic addresses, so bind() + will only fail if the address has already failed DAD, in which case retrying won't help. */ if (iface->addr.sa.sa_family == AF_INET6 && (errno == ENODEV || errno == EADDRNOTAVAIL) && dad_count++ < DAD_WAIT) { diff --git a/src/rfc1035.c b/src/rfc1035.c index ca5ceba..8ae0bfa 100755 --- a/src/rfc1035.c +++ b/src/rfc1035.c @@ -241,6 +241,8 @@ static int in_arpa_name_2_addr(char *namein, struct all_addr *addrp) that we can since there is no reason not to. */ + /* TODO: does this make sense? */ + if (*name == '\\' && *(name+1) == '[' && (*(name+2) == 'x' || *(name+2) == 'X')) { |