mirror of
https://github.com/apache/nuttx.git
synced 2026-06-06 00:14:22 +08:00
DNS: Remove some unused, non-functional DNS functions; remove the annoying _sock at the end of some DNS functions names, it is no longer needed to distinguish the functions
This commit is contained in:
@@ -80,37 +80,27 @@ extern "C"
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: dns_bind_sock
|
* Name: dns_bind
|
||||||
*
|
*
|
||||||
* Description:
|
* Description:
|
||||||
* Initialize the DNS resolver using the caller provided socket.
|
* Initialize the DNS resolver using the caller provided socket.
|
||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
int dns_bind_sock(FAR int *sockfd);
|
int dns_bind(FAR int *sockfd);
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: dns_bind
|
* Name: dns_free
|
||||||
*
|
|
||||||
* Description:
|
|
||||||
* Initialize the DNS resolver using an internal, share-able socket.
|
|
||||||
*
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
int dns_bind(void);
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Name: dns_free_sock
|
|
||||||
*
|
*
|
||||||
* Description:
|
* Description:
|
||||||
* Release the DNS resolver by closing the socket.
|
* Release the DNS resolver by closing the socket.
|
||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
int dns_free_sock(FAR int *sockfd);
|
int dns_free(FAR int *sockfd);
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: dns_query_sock
|
* Name: dns_query
|
||||||
*
|
*
|
||||||
* Description:
|
* Description:
|
||||||
* Using the DNS resolver socket (sockfd), look up the the 'hostname', and
|
* Using the DNS resolver socket (sockfd), look up the the 'hostname', and
|
||||||
@@ -121,21 +111,7 @@ int dns_free_sock(FAR int *sockfd);
|
|||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
int dns_query_sock(int sockfd, FAR const char *hostname, FAR in_addr_t *ipaddr);
|
int dns_query(int sockfd, FAR const char *hostname, FAR in_addr_t *ipaddr);
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Name: dns_query
|
|
||||||
*
|
|
||||||
* Description:
|
|
||||||
* Using the internal DNS resolver socket, look up the the 'hostname', and
|
|
||||||
* return its IP address in 'ipaddr'
|
|
||||||
*
|
|
||||||
* Returned Value:
|
|
||||||
* Returns zero (OK) if the query was successful.
|
|
||||||
*
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
int dns_query(FAR const char *hostname, FAR in_addr_t *ipaddr);
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: dns_setserver
|
* Name: dns_setserver
|
||||||
@@ -166,7 +142,7 @@ void dns_getserver(FAR struct in_addr *dnsserver);
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: dns_whois_socket
|
* Name: dns_whois
|
||||||
*
|
*
|
||||||
* Description:
|
* Description:
|
||||||
* Get the binding for 'name' using the DNS server accessed via 'sockfd'
|
* Get the binding for 'name' using the DNS server accessed via 'sockfd'
|
||||||
@@ -174,34 +150,19 @@ void dns_getserver(FAR struct in_addr *dnsserver);
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#ifdef CONFIG_NETDB_DNSCLIENT_IPv6
|
#ifdef CONFIG_NETDB_DNSCLIENT_IPv6
|
||||||
int dns_whois_socket(int sockfd, FAR const char *name,
|
int dns_whois(int sockfd, FAR const char *name,
|
||||||
FAR struct sockaddr_in6 *addr);
|
FAR struct sockaddr_in6 *addr);
|
||||||
#else
|
#else
|
||||||
int dns_whois_socket(int sockfd, FAR const char *name,
|
int dns_whois(int sockfd, FAR const char *name,
|
||||||
FAR struct sockaddr_in *addr);
|
FAR struct sockaddr_in *addr);
|
||||||
#endif
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Name: dns_whois
|
|
||||||
*
|
|
||||||
* Description:
|
|
||||||
* Get the binding for 'name' using the DNS server accessed via the DNS
|
|
||||||
* resolvers internal socket.
|
|
||||||
*
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
#ifdef CONFIG_NETDB_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);
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: dns_gethostip
|
* Name: dns_gethostip
|
||||||
*
|
*
|
||||||
* Descriptions:
|
* Descriptions:
|
||||||
* Combines the operations of dns_bind_sock(), dns_query_sock(), and
|
* Combines the operations of dns_bind(), dns_query(), and
|
||||||
* dns_free_sock() to obtain the the IP address ('ipaddr') associated with
|
* dns_free() to obtain the the IP address ('ipaddr') associated with
|
||||||
* the 'hostname' in one operation.
|
* the 'hostname' in one operation.
|
||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ ifeq ($(CONFIG_NETDB_DNSCLIENT),y)
|
|||||||
ifneq ($(CONFIG_NETDB_HOSTFILE),y)
|
ifneq ($(CONFIG_NETDB_HOSTFILE),y)
|
||||||
CSRCS += lib_gethostbyname.c lib_gethostbynamer.c
|
CSRCS += lib_gethostbyname.c lib_gethostbynamer.c
|
||||||
endif
|
endif
|
||||||
CSRCS += dns_resolver.c dns_socket.c dns_gethostip.c
|
CSRCS += dns_socket.c dns_gethostip.c
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Add the net directory to the build
|
# Add the net directory to the build
|
||||||
|
|||||||
@@ -69,8 +69,8 @@
|
|||||||
* Name: dns_gethostip
|
* Name: dns_gethostip
|
||||||
*
|
*
|
||||||
* Descriptions:
|
* Descriptions:
|
||||||
* Combines the operations of dns_bind_sock(), dns_query_sock(), and
|
* Combines the operations of dns_bind(), dns_query(), and
|
||||||
* dns_free_sock() to obtain the the IP address ('ipaddr') associated with
|
* dns_free() to obtain the the IP address ('ipaddr') associated with
|
||||||
* the 'hostname' in one operation.
|
* the 'hostname' in one operation.
|
||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@@ -82,13 +82,13 @@ int dns_gethostip(FAR const char *hostname, FAR in_addr_t *ipaddr)
|
|||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
int sockfd = -1;
|
int sockfd = -1;
|
||||||
int ret=ERROR;
|
int ret = ERROR;
|
||||||
|
|
||||||
dns_bind_sock(&sockfd);
|
dns_bind(&sockfd);
|
||||||
if (sockfd >= 0)
|
if (sockfd >= 0)
|
||||||
{
|
{
|
||||||
ret = dns_query_sock(sockfd, hostname, ipaddr);
|
ret = dns_query(sockfd, hostname, ipaddr);
|
||||||
dns_free_sock(&sockfd);
|
dns_free(&sockfd);
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|||||||
@@ -1,123 +0,0 @@
|
|||||||
/****************************************************************************
|
|
||||||
* libc/netdb/dns_resolver.c
|
|
||||||
* DNS host name to IP address resolver.
|
|
||||||
*
|
|
||||||
* The uIP DNS resolver functions are used to lookup a hostname and
|
|
||||||
* map it to a numerical IP address. It maintains a list of resolved
|
|
||||||
* hostnames that can be queried. New hostnames can be resolved using the
|
|
||||||
* dns_whois() function.
|
|
||||||
*
|
|
||||||
* Copyright (C) 2007, 2009, 2012, 2014 Gregory Nutt. All rights reserved.
|
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
|
||||||
*
|
|
||||||
* Based heavily on portions of uIP:
|
|
||||||
*
|
|
||||||
* Author: Adam Dunkels <adam@dunkels.com>
|
|
||||||
* Copyright (c) 2002-2003, Adam Dunkels.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions
|
|
||||||
* are met:
|
|
||||||
* 1. Redistributions of source code must retain the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer in the
|
|
||||||
* documentation and/or other materials provided with the distribution.
|
|
||||||
* 3. The name of the author may not be used to endorse or promote
|
|
||||||
* products derived from this software without specific prior
|
|
||||||
* written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
|
|
||||||
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
|
|
||||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
|
||||||
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
|
||||||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
||||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Included Files
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
#include <nuttx/config.h>
|
|
||||||
|
|
||||||
#include <netinet/in.h>
|
|
||||||
|
|
||||||
#include <nuttx/net/dnsclient.h>
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Pre-processor Definitions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Types
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Data
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
static int g_sockfd = -1;
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Public Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Name: dns_bind
|
|
||||||
*
|
|
||||||
* Description:
|
|
||||||
* Initialize the DNS resolver using an internal, share-able socket.
|
|
||||||
*
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
int dns_bind(void)
|
|
||||||
{
|
|
||||||
return dns_bind_sock(&g_sockfd);
|
|
||||||
}
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Name: dns_query
|
|
||||||
*
|
|
||||||
* Description:
|
|
||||||
* Using the internal DNS resolver socket, look up the the 'hostname', and
|
|
||||||
* return its IP address in 'ipaddr'
|
|
||||||
*
|
|
||||||
* Returned Value:
|
|
||||||
* Returns zero (OK) if the query was successful.
|
|
||||||
*
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
int dns_query(FAR const char *hostname, FAR in_addr_t *ipaddr)
|
|
||||||
{
|
|
||||||
return dns_query_sock(g_sockfd, hostname, ipaddr);
|
|
||||||
}
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Name: dns_whois
|
|
||||||
*
|
|
||||||
* Description:
|
|
||||||
* Get the binding for 'name' using the DNS server accessed via the DNS
|
|
||||||
* resolvers internal socket.
|
|
||||||
*
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
#ifdef CONFIG_NETDB_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)
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
return dns_whois_socket(g_sockfd, name, addr);
|
|
||||||
}
|
|
||||||
+12
-12
@@ -226,7 +226,7 @@ static int dns_send_query(int sockfd, FAR const char *name,
|
|||||||
char buffer[SEND_BUFFER_SIZE];
|
char buffer[SEND_BUFFER_SIZE];
|
||||||
int n;
|
int n;
|
||||||
|
|
||||||
hdr = (FAR struct dns_hdr*)buffer;
|
hdr = (FAR struct dns_hdr *)buffer;
|
||||||
memset(hdr, 0, sizeof(struct dns_hdr));
|
memset(hdr, 0, sizeof(struct dns_hdr));
|
||||||
hdr->id = htons(seqno);
|
hdr->id = htons(seqno);
|
||||||
hdr->flags1 = DNS_FLAG1_RD;
|
hdr->flags1 = DNS_FLAG1_RD;
|
||||||
@@ -402,14 +402,14 @@ static int dns_recv_response(int sockfd, FAR struct sockaddr_in *addr)
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: dns_bind_sock
|
* Name: dns_bind
|
||||||
*
|
*
|
||||||
* Description:
|
* Description:
|
||||||
* Initialize the DNS resolver using the caller provided socket.
|
* Initialize the DNS resolver using the caller provided socket.
|
||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
int dns_bind_sock(FAR int *sockfd)
|
int dns_bind(FAR int *sockfd)
|
||||||
{
|
{
|
||||||
struct timeval tv;
|
struct timeval tv;
|
||||||
int ret;
|
int ret;
|
||||||
@@ -418,7 +418,7 @@ int dns_bind_sock(FAR int *sockfd)
|
|||||||
|
|
||||||
if (*sockfd >= 0)
|
if (*sockfd >= 0)
|
||||||
{
|
{
|
||||||
dns_free_sock(sockfd);
|
dns_free(sockfd);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Create a new socket */
|
/* Create a new socket */
|
||||||
@@ -450,14 +450,14 @@ int dns_bind_sock(FAR int *sockfd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: dns_free_sock
|
* Name: dns_free
|
||||||
*
|
*
|
||||||
* Description:
|
* Description:
|
||||||
* Release the DNS resolver by closing the socket.
|
* Release the DNS resolver by closing the socket.
|
||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
int dns_free_sock(FAR int *sockfd)
|
int dns_free(FAR int *sockfd)
|
||||||
{
|
{
|
||||||
if (*sockfd >= 0)
|
if (*sockfd >= 0)
|
||||||
{
|
{
|
||||||
@@ -469,7 +469,7 @@ int dns_free_sock(FAR int *sockfd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: dns_query_sock
|
* Name: dns_query
|
||||||
*
|
*
|
||||||
* Description:
|
* Description:
|
||||||
* Using the DNS resolver socket (sockfd), look up the the 'hostname', and
|
* Using the DNS resolver socket (sockfd), look up the the 'hostname', and
|
||||||
@@ -480,7 +480,7 @@ int dns_free_sock(FAR int *sockfd)
|
|||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
int dns_query_sock(int sockfd, FAR const char *hostname, FAR in_addr_t *ipaddr)
|
int dns_query(int sockfd, FAR const char *hostname, FAR in_addr_t *ipaddr)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_NETDB_DNSCLIENT_IPv6
|
#ifdef CONFIG_NETDB_DNSCLIENT_IPv6
|
||||||
struct sockaddr_in6 addr;
|
struct sockaddr_in6 addr;
|
||||||
@@ -496,7 +496,7 @@ int dns_query_sock(int sockfd, FAR const char *hostname, FAR in_addr_t *ipaddr)
|
|||||||
* the host name to an IP address.
|
* the host name to an IP address.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (dns_whois_socket(sockfd, hostname, &addr) < 0)
|
if (dns_whois(sockfd, hostname, &addr) < 0)
|
||||||
{
|
{
|
||||||
/* Needs to set the errno here */
|
/* Needs to set the errno here */
|
||||||
|
|
||||||
@@ -560,7 +560,7 @@ void dns_getserver(FAR struct in_addr *dnsserver)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: dns_whois_socket
|
* Name: dns_whois
|
||||||
*
|
*
|
||||||
* Description:
|
* Description:
|
||||||
* Get the binding for 'name' using the DNS server accessed via 'sockfd'
|
* Get the binding for 'name' using the DNS server accessed via 'sockfd'
|
||||||
@@ -568,10 +568,10 @@ void dns_getserver(FAR struct in_addr *dnsserver)
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#ifdef CONFIG_NETDB_DNSCLIENT_IPv6
|
#ifdef CONFIG_NETDB_DNSCLIENT_IPv6
|
||||||
int dns_whois_socket(int sockfd, FAR const char *name,
|
int dns_whois(int sockfd, FAR const char *name,
|
||||||
FAR struct sockaddr_in6 *addr)
|
FAR struct sockaddr_in6 *addr)
|
||||||
#else
|
#else
|
||||||
int dns_whois_socket(int sockfd, FAR const char *name,
|
int dns_whois(int sockfd, FAR const char *name,
|
||||||
FAR struct sockaddr_in *addr)
|
FAR struct sockaddr_in *addr)
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user