diff options
author | Lorenzo Colitti <lorenzo@google.com> | 2015-11-26 00:05:50 +0900 |
---|---|---|
committer | Lorenzo Colitti <lorenzo@google.com> | 2015-11-26 10:45:39 +0900 |
commit | d65b6bc260c215ca125dc024c0f8f42f0a520493 (patch) | |
tree | 62605a78ffee041907a6c9040293729238fee182 | |
parent | 513aae2733f6a7fa18d564934a79875dd73bc0a0 (diff) | |
download | android_external_dnsmasq-d65b6bc260c215ca125dc024c0f8f42f0a520493.tar.gz android_external_dnsmasq-d65b6bc260c215ca125dc024c0f8f42f0a520493.tar.bz2 android_external_dnsmasq-d65b6bc260c215ca125dc024c0f8f42f0a520493.zip |
Add TODOs for IPv6 support.
Bug: 9580643
Change-Id: I131fcd0716f0e048dbf63c01db4ce95780c41dbb
-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')) { |