if (ARES_CONFIG_CHECK(channel))
return ARES_SUCCESS;
- fp = fopen(PATH_RESOLV_CONF, "r");
+ fp = fopen(PATH_RESOLV_CONF, "re");
if (fp) {
while ((status = ares__read_line(fp, &line, &linesize)) == ARES_SUCCESS)
{
if ((status == ARES_EOF) && (!channel->lookups)) {
/* Many systems (Solaris, Linux, BSD's) use nsswitch.conf */
- fp = fopen("/etc/nsswitch.conf", "r");
+ fp = fopen("/etc/nsswitch.conf", "re");
if (fp) {
while ((status = ares__read_line(fp, &line, &linesize)) ==
ARES_SUCCESS)
if ((status == ARES_EOF) && (!channel->lookups)) {
/* Linux / GNU libc 2.x and possibly others have host.conf */
- fp = fopen("/etc/host.conf", "r");
+ fp = fopen("/etc/host.conf", "re");
if (fp) {
while ((status = ares__read_line(fp, &line, &linesize)) ==
ARES_SUCCESS)
if ((status == ARES_EOF) && (!channel->lookups)) {
/* Tru64 uses /etc/svc.conf */
- fp = fopen("/etc/svc.conf", "r");
+ fp = fopen("/etc/svc.conf", "re");
if (fp) {
while ((status = ares__read_line(fp, &line, &linesize)) ==
ARES_SUCCESS)
}
#else /* !WIN32 */
#ifdef RANDOM_FILE
- FILE *f = fopen(RANDOM_FILE, "rb");
+ FILE *f = fopen(RANDOM_FILE, "rbe");
if(f) {
counter = aresx_uztosi(fread(key, 1, key_data_len, f));
fclose(f);
setsocknonblock(s, TRUE);
-#if defined(FD_CLOEXEC) && !defined(MSDOS)
+#if !defined(SOCK_CLOEXEC) && defined(FD_CLOEXEC) && !defined(MSDOS)
/* Configure the socket fd as close-on-exec. */
if (fcntl(s, F_SETFD, FD_CLOEXEC) == -1)
return -1;
}
/* Acquire a socket. */
- s = socket(server->addr.family, SOCK_STREAM, 0);
+ s = socket(server->addr.family, SOCK_STREAM | SOCK_CLOEXEC, 0);
if (s == ARES_SOCKET_BAD)
return -1;
}
/* Acquire a socket. */
- s = socket(server->addr.family, SOCK_DGRAM, 0);
+ s = socket(server->addr.family, SOCK_DGRAM | SOCK_CLOEXEC, 0);
if (s == ARES_SOCKET_BAD)
return -1;
hostaliases = getenv("HOSTALIASES");
if (hostaliases)
{
- fp = fopen(hostaliases, "r");
+ fp = fopen(hostaliases, "re");
if (fp)
{
while ((status = ares__read_line(fp, &line, &linesize))