From 9b147dd2ac5cb89fc6b0738dff6b6c0b7f653fe5 Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Sun, 18 Jan 2015 10:51:53 -0600 Subject: apps/netutils/dnsclient: Can select to be either IPv4 or IPv6, but not both (IPv6 still does not compile) --- apps/netutils/dnsclient/Kconfig | 15 +++++++++++++++ apps/netutils/dnsclient/dns_resolver.c | 2 +- apps/netutils/dnsclient/dns_socket.c | 25 +++++++++++++------------ 3 files changed, 29 insertions(+), 13 deletions(-) (limited to 'apps/netutils') diff --git a/apps/netutils/dnsclient/Kconfig b/apps/netutils/dnsclient/Kconfig index 1bdf7a585..f3d622cbf 100644 --- a/apps/netutils/dnsclient/Kconfig +++ b/apps/netutils/dnsclient/Kconfig @@ -12,6 +12,21 @@ config NETUTILS_DNSCLIENT if NETUTILS_DNSCLIENT +choice + prompt "Internet Protocol" + default NETUTILS_DNSCLIENT_IPv4 if NET_IPv4 + default NETUTILS_DNSCLIENT_IPv6 if NET_IPv6 && !NET_IPv4 + +config NETUTILS_DNSCLIENT_IPv4 + bool "IPv4" + depends on NET_IPv4 + +config NETUTILS_DNSCLIENT_IPv6 + bool "IPv6" + depends on NET_IPv6 + +endchoice # Internet Protocol + config NETUTILS_DNSCLIENT_ENTRIES int "Number of DNS resolver entries" default 8 diff --git a/apps/netutils/dnsclient/dns_resolver.c b/apps/netutils/dnsclient/dns_resolver.c index 0507d8df7..9ee802009 100644 --- a/apps/netutils/dnsclient/dns_resolver.c +++ b/apps/netutils/dnsclient/dns_resolver.c @@ -113,7 +113,7 @@ int dns_query(FAR const char *hostname, FAR in_addr_t *ipaddr) * ****************************************************************************/ -#ifdef CONFIG_NET_IPv6 +#ifdef CONFIG_NETUTILS_DNSCLIENT_IPv6 int dns_whois(FAR const char *name, FAR struct sockaddr_in6 *addr) #else int dns_whois(FAR const char *name, FAR struct sockaddr_in *addr) diff --git a/apps/netutils/dnsclient/dns_socket.c b/apps/netutils/dnsclient/dns_socket.c index 9c2895437..76cf64a33 100644 --- a/apps/netutils/dnsclient/dns_socket.c +++ b/apps/netutils/dnsclient/dns_socket.c @@ -101,7 +101,7 @@ # define RECV_BUFFER_SIZE 96 #endif -#ifdef CONFIG_NET_IPv6 +#ifdef CONFIG_NETUTILS_DNSCLIENT_IPv6 # define ADDRLEN sizeof(struct sockaddr_in6) #else # define ADDRLEN sizeof(struct sockaddr_in) @@ -136,7 +136,7 @@ struct dns_answer uint16_t class; uint16_t ttl[2]; uint16_t len; -#ifdef CONFIG_NET_IPv6 +#ifdef CONFIG_NETUTILS_DNSCLIENT_IPv6 struct in6_addr ipaddr; #else struct in_addr ipaddr; @@ -151,7 +151,7 @@ struct namemap uint8_t seqno; uint8_t err; char name[32]; -#ifdef CONFIG_NET_IPv6 +#ifdef CONFIG_NETUTILS_DNSCLIENT_IPv6 struct in6_addr ipaddr; #else struct in_addr ipaddr; @@ -163,7 +163,7 @@ struct namemap ****************************************************************************/ static uint8_t g_seqno; -#ifdef CONFIG_NET_IPv6 +#ifdef CONFIG_NETUTILS_DNSCLIENT_IPv6 static struct sockaddr_in6 g_dnsserver; #else static struct sockaddr_in g_dnsserver; @@ -209,7 +209,7 @@ static FAR unsigned char *dns_parse_name(FAR unsigned char *query) * ****************************************************************************/ -#ifdef CONFIG_NET_IPv6 +#ifdef CONFIG_NETUTILS_DNSCLIENT_IPv6 static int dns_send_query(int sockfd, FAR const char *name, FAR struct sockaddr_in6 *addr) #else @@ -264,7 +264,7 @@ static int dns_send_query(int sockfd, FAR const char *name, * ****************************************************************************/ -#ifdef CONFIG_NET_IPv6 +#ifdef CONFIG_NETUTILS_DNSCLIENT_IPv6 # error "Not implemented" #else static int dns_recv_response(int sockfd, FAR struct sockaddr_in *addr) @@ -502,7 +502,7 @@ int dns_query_sock(int sockfd, FAR const char *hostname, FAR in_addr_t *ipaddr) #else -# ifdef CONFIG_NET_IPv6 +# ifdef CONFIG_NETUTILS_DNSCLIENT_IPv6 struct sockaddr_in6 addr; # else struct sockaddr_in addr; @@ -540,7 +540,7 @@ int dns_query_sock(int sockfd, FAR const char *hostname, FAR in_addr_t *ipaddr) * ****************************************************************************/ -#ifdef CONFIG_NET_IPv6 +#ifdef CONFIG_NETUTILS_DNSCLIENT_IPv6 void dns_setserver(FAR const struct in6_addr *dnsserver) #else void dns_setserver(FAR const struct in_addr *dnsserver) @@ -548,7 +548,8 @@ void dns_setserver(FAR const struct in_addr *dnsserver) { g_dnsserver.sin_family = AF_INET; g_dnsserver.sin_port = HTONS(53); -#ifdef CONFIG_NET_IPv6 + +#ifdef CONFIG_NETUTILS_DNSCLIENT_IPv6 memcpy(&g_dnsserver.sin6_addr, dnsserver, ADDRLEN); #else g_dnsserver.sin_addr.s_addr = dnsserver->s_addr; @@ -563,13 +564,13 @@ void dns_setserver(FAR const struct in_addr *dnsserver) * ****************************************************************************/ -#ifdef CONFIG_NET_IPv6 +#ifdef CONFIG_NETUTILS_DNSCLIENT_IPv6 void dns_getserver(FAR struct in6_addr *dnsserver) #else void dns_getserver(FAR struct in_addr *dnsserver) #endif { -#ifdef CONFIG_NET_IPv6 +#ifdef CONFIG_NETUTILS_DNSCLIENT_IPv6 memcpy(dnsserver, &g_dnsserver.sin6_addr, ADDRLEN); #else dnsserver->s_addr = g_dnsserver.sin_addr.s_addr; @@ -584,7 +585,7 @@ void dns_getserver(FAR struct in_addr *dnsserver) * ****************************************************************************/ -#ifdef CONFIG_NET_IPv6 +#ifdef CONFIG_NETUTILS_DNSCLIENT_IPv6 int dns_whois_socket(int sockfd, FAR const char *name, FAR struct sockaddr_in6 *addr) #else -- cgit v1.2.3