libc/netdb: Change the default max number of host IP to 2 if both IPv4 and Ipv6 enable
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com> Change-Id: I02614cb34647eaa03b476a6755d0667dc8392036
This commit is contained in:
parent
bd9fbade05
commit
eaab17b66a
@ -18,6 +18,18 @@ config LIBC_GAISTRERROR
|
|||||||
of memory. If this option is not selected, gai_strerror() will still exist in
|
of memory. If this option is not selected, gai_strerror() will still exist in
|
||||||
the build but it will not decode error values.
|
the build but it will not decode error values.
|
||||||
|
|
||||||
|
config NETDB_BUFSIZE
|
||||||
|
int "gethostbyname/gethostbyaddr buffer size"
|
||||||
|
default 128
|
||||||
|
|
||||||
|
config NETDB_MAX_IPADDR
|
||||||
|
int "Max number of IP addresses per host"
|
||||||
|
default 2 if NET_IPv4 && NET_IPv6
|
||||||
|
default 1
|
||||||
|
---help---
|
||||||
|
This setting determines the maximum number of IP addresses
|
||||||
|
stored to the name resolution cache for a given host.
|
||||||
|
|
||||||
menuconfig NETDB_HOSTFILE
|
menuconfig NETDB_HOSTFILE
|
||||||
bool "Network host file support"
|
bool "Network host file support"
|
||||||
default n
|
default n
|
||||||
@ -36,10 +48,6 @@ config NETDB_MAX_ALTNAMES
|
|||||||
int "Max number of alternate host names"
|
int "Max number of alternate host names"
|
||||||
default 4
|
default 4
|
||||||
|
|
||||||
config NETDB_BUFSIZE
|
|
||||||
int "gethostname() buffer size"
|
|
||||||
default 128
|
|
||||||
|
|
||||||
endif # NETDB_HOSTFILE
|
endif # NETDB_HOSTFILE
|
||||||
|
|
||||||
menuconfig NETDB_DNSCLIENT
|
menuconfig NETDB_DNSCLIENT
|
||||||
@ -101,13 +109,6 @@ config NETDB_DNSCLIENT_MAXRESPONSE
|
|||||||
can be received by the DNS resolver. The default is 96 but may
|
can be received by the DNS resolver. The default is 96 but may
|
||||||
need to be larger on enterprise networks (perhaps 176).
|
need to be larger on enterprise networks (perhaps 176).
|
||||||
|
|
||||||
config NETDB_DNSCLIENT_MAXIP
|
|
||||||
int "Max number of IP addresses per host"
|
|
||||||
default 1
|
|
||||||
---help---
|
|
||||||
This setting determines the maximum number of IP addresses
|
|
||||||
stored to the name resolution cache for a given host.
|
|
||||||
|
|
||||||
config NETDB_DNSCLIENT_RECV_TIMEOUT
|
config NETDB_DNSCLIENT_RECV_TIMEOUT
|
||||||
int "DNS receive timeout"
|
int "DNS receive timeout"
|
||||||
default 30
|
default 30
|
||||||
|
@ -66,10 +66,6 @@
|
|||||||
# define CONFIG_NETDB_DNSCLIENT_MAXRESPONSE 96
|
# define CONFIG_NETDB_DNSCLIENT_MAXRESPONSE 96
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef CONFIG_NETDB_DNSCLIENT_MAXIP
|
|
||||||
# define CONFIG_NETDB_DNSCLIENT_MAXIP 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef CONFIG_NETDB_DNSCLIENT_NAMESIZE
|
#ifndef CONFIG_NETDB_DNSCLIENT_NAMESIZE
|
||||||
# define CONFIG_NETDB_DNSCLIENT_NAMESIZE 32
|
# define CONFIG_NETDB_DNSCLIENT_NAMESIZE 32
|
||||||
#endif
|
#endif
|
||||||
|
@ -79,7 +79,7 @@ struct dns_cache_s
|
|||||||
#endif
|
#endif
|
||||||
char name[CONFIG_NETDB_DNSCLIENT_NAMESIZE];
|
char name[CONFIG_NETDB_DNSCLIENT_NAMESIZE];
|
||||||
uint8_t naddr; /* How many addresses per name */
|
uint8_t naddr; /* How many addresses per name */
|
||||||
union dns_addr_u addr[CONFIG_NETDB_DNSCLIENT_MAXIP]; /* Resolved address */
|
union dns_addr_u addr[CONFIG_NETDB_MAX_IPADDR]; /* Resolved address */
|
||||||
};
|
};
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -127,7 +127,7 @@ void dns_save_answer(FAR const char *hostname,
|
|||||||
int next;
|
int next;
|
||||||
int ndx;
|
int ndx;
|
||||||
|
|
||||||
naddr = MIN(naddr, CONFIG_NETDB_DNSCLIENT_MAXIP);
|
naddr = MIN(naddr, CONFIG_NETDB_MAX_IPADDR);
|
||||||
DEBUGASSERT(naddr >= 1 && naddr <= UCHAR_MAX);
|
DEBUGASSERT(naddr >= 1 && naddr <= UCHAR_MAX);
|
||||||
|
|
||||||
/* Get exclusive access to the DNS cache */
|
/* Get exclusive access to the DNS cache */
|
||||||
|
@ -61,7 +61,7 @@
|
|||||||
|
|
||||||
struct hostent_info_s
|
struct hostent_info_s
|
||||||
{
|
{
|
||||||
FAR char *hi_addrlist[CONFIG_NETDB_DNSCLIENT_MAXIP + 1];
|
FAR char *hi_addrlist[CONFIG_NETDB_MAX_IPADDR + 1];
|
||||||
char hi_data[1];
|
char hi_data[1];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -66,7 +66,7 @@
|
|||||||
|
|
||||||
struct hostent_info_s
|
struct hostent_info_s
|
||||||
{
|
{
|
||||||
FAR char *hi_addrlist[CONFIG_NETDB_DNSCLIENT_MAXIP + 1];
|
FAR char *hi_addrlist[CONFIG_NETDB_MAX_IPADDR + 1];
|
||||||
char hi_data[1];
|
char hi_data[1];
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -402,7 +402,7 @@ static int lib_find_answer(FAR const char *name, FAR struct hostent *host,
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
DEBUGASSERT(naddr <= CONFIG_NETDB_DNSCLIENT_MAXIP);
|
DEBUGASSERT(naddr <= CONFIG_NETDB_MAX_IPADDR);
|
||||||
|
|
||||||
/* Get the address type. */
|
/* Get the address type. */
|
||||||
|
|
||||||
@ -564,7 +564,7 @@ static int lib_dns_lookup(FAR const char *name, FAR struct hostent *host,
|
|||||||
|
|
||||||
/* We can read more than maximum, limit here. */
|
/* We can read more than maximum, limit here. */
|
||||||
|
|
||||||
naddr = MIN(naddr, CONFIG_NETDB_DNSCLIENT_MAXIP);
|
naddr = MIN(naddr, CONFIG_NETDB_MAX_IPADDR);
|
||||||
|
|
||||||
for (i = 0; i < naddr; i++)
|
for (i = 0; i < naddr; i++)
|
||||||
{
|
{
|
||||||
|
@ -70,6 +70,10 @@
|
|||||||
# define CONFIG_NETDB_BUFSIZE 128
|
# define CONFIG_NETDB_BUFSIZE 128
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_NETDB_MAX_IPADDR
|
||||||
|
# define CONFIG_NETDB_MAX_IPADDR 1
|
||||||
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Types
|
* Public Types
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
Loading…
Reference in New Issue
Block a user