Merge "Fix spurious DNS lookups in the C library."
This commit is contained in:
commit
92e712f60d
@ -76,6 +76,10 @@ Differences between current and Android 2.1:
|
||||
- <time.h>: Fix timezone management implementation to properly update
|
||||
'tm_gmtoff' field in 'struct tm' structure.
|
||||
|
||||
- DNS: get rid of spurious random DNS queries when trying to resolve
|
||||
an unknown domain name. Due to an initialization bug, a random DNS search
|
||||
list was generated for each thread is net.dns.search is not defined.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
Differences between Android 2.1 and 2.0.1:
|
||||
|
||||
|
@ -251,7 +251,7 @@ _bprint( char* p, char* end, const char* format, ... )
|
||||
return p;
|
||||
|
||||
va_start(args, format);
|
||||
n = snprintf( p, avail, format, args);
|
||||
n = vsnprintf( p, avail, format, args);
|
||||
va_end(args);
|
||||
|
||||
/* certain C libraries return -1 in case of truncation */
|
||||
|
@ -198,6 +198,8 @@ int load_domain_search_list(res_state statp) {
|
||||
if (pp > statp->dnsrch)
|
||||
return 1;
|
||||
}
|
||||
statp->defdname[0] = '\0'; /* no default domain name on Android */
|
||||
statp->dnsrch[0] = NULL;
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
@ -381,7 +383,7 @@ __res_vinit(res_state statp, int preinit) {
|
||||
|
||||
/* Add the domain search list */
|
||||
havesearch = load_domain_search_list(statp);
|
||||
#else /* IGNORE resolv.conf */
|
||||
#else /* !ANDROID_CHANGES - IGNORE resolv.conf in Android */
|
||||
#define MATCH(line, name) \
|
||||
(!strncmp(line, name, sizeof(name) - 1) && \
|
||||
(line[sizeof(name) - 1] == ' ' || \
|
||||
@ -534,7 +536,7 @@ __res_vinit(res_state statp, int preinit) {
|
||||
statp->nsort = nsort;
|
||||
(void) fclose(fp);
|
||||
}
|
||||
#endif /* ANDROID_CHANGES */
|
||||
#endif /* !ANDROID_CHANGES */
|
||||
/*
|
||||
* Last chance to get a nameserver. This should not normally
|
||||
* be necessary
|
||||
|
@ -566,4 +566,12 @@ __END_DECLS
|
||||
#include "arpa_nameser_compat.h"
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
# include <logd.h>
|
||||
# define XLOG(...) \
|
||||
__libc_android_log_print(ANDROID_LOG_DEBUG,"libc",__VA_ARGS__)
|
||||
#else
|
||||
#define XLOG(...) do {} while (0)
|
||||
#endif
|
||||
|
||||
#endif /* !_ARPA_NAMESER_H_ */
|
||||
|
@ -41,11 +41,11 @@ int gethostname(char* buff, size_t buflen)
|
||||
int namelen = strlen(name.nodename);
|
||||
|
||||
if ((int)buflen < namelen+1) {
|
||||
errno = EINVAL;
|
||||
errno = EINVAL;
|
||||
result = -1;
|
||||
} else {
|
||||
memcpy( buff, name.nodename, namelen+1 );
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user