This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH COMMITTED] resolv: Remove processing of unimplemented "spoof" host.conf options
- From: fweimer at redhat dot com (Florian Weimer)
- To: libc-alpha at sourceware dot org
- Date: Tue, 27 Dec 2016 17:05:36 +0100
- Subject: [PATCH COMMITTED] resolv: Remove processing of unimplemented "spoof" host.conf options
- Authentication-results: sourceware.org; auth=none
2016-12-27 Florian Weimer <fweimer@redhat.com>
* resolv/res_hconf.h (HCONF_FLAG_SPOOF, HCONF_FLAG_SPOOFALERT):
Remove.
* resolv/res_hconf.c (ENV_SPOOF, arg_spoof): Remove.
(cmd): Remove spoof, nospoof, spoofalert.
(parse_line): Ignore spoof-related lines.
(do_init): Do not process RESOLV_SPOOF_CHECK.
diff --git a/resolv/res_hconf.c b/resolv/res_hconf.c
index 093c268..0021fa6 100644
--- a/resolv/res_hconf.c
+++ b/resolv/res_hconf.c
@@ -21,9 +21,6 @@
Though mostly compatibly, the following differences exist compared
to the original implementation:
- - new command "spoof" takes an arguments like RESOLV_SPOOF_CHECK
- environment variable (i.e., `off', `nowarn', or `warn').
-
- line comments can appear anywhere (not just at the beginning of
a line)
*/
@@ -55,7 +52,6 @@
/* Environment vars that all user to override default behavior: */
#define ENV_HOSTCONF "RESOLV_HOST_CONF"
-#define ENV_SPOOF "RESOLV_SPOOF_CHECK"
#define ENV_TRIM_OVERR "RESOLV_OVERRIDE_TRIM_DOMAINS"
#define ENV_TRIM_ADD "RESOLV_ADD_TRIM_DOMAINS"
#define ENV_MULTI "RESOLV_MULTI"
@@ -65,7 +61,6 @@ enum parse_cbs
{
CB_none,
CB_arg_trimdomain_list,
- CB_arg_spoof,
CB_arg_bool
};
@@ -78,10 +73,7 @@ static const struct cmd
{
{"order", CB_none, 0},
{"trim", CB_arg_trimdomain_list, 0},
- {"spoof", CB_arg_spoof, 0},
{"multi", CB_arg_bool, HCONF_FLAG_MULTI},
- {"nospoof", CB_arg_bool, HCONF_FLAG_SPOOF},
- {"spoofalert", CB_arg_bool, HCONF_FLAG_SPOOFALERT},
{"reorder", CB_arg_bool, HCONF_FLAG_REORDER}
};
@@ -164,28 +156,6 @@ arg_trimdomain_list (const char *fname, int line_num, const char *args)
static const char *
-arg_spoof (const char *fname, int line_num, const char *args)
-{
- const char *start = args;
- size_t len;
-
- args = skip_string (args);
- len = args - start;
-
- if (len == 3 && __strncasecmp (start, "off", len) == 0)
- _res_hconf.flags &= ~(HCONF_FLAG_SPOOF | HCONF_FLAG_SPOOFALERT);
- else
- {
- _res_hconf.flags |= (HCONF_FLAG_SPOOF | HCONF_FLAG_SPOOFALERT);
- if ((len == 6 && __strncasecmp (start, "nowarn", len) == 0)
- || !(len == 4 && __strncasecmp (start, "warn", len) == 0))
- _res_hconf.flags &= ~HCONF_FLAG_SPOOFALERT;
- }
- return args;
-}
-
-
-static const char *
arg_bool (const char *fname, int line_num, const char *args, unsigned flag)
{
if (__strncasecmp (args, "on", 2) == 0)
@@ -261,8 +231,6 @@ parse_line (const char *fname, int line_num, const char *str)
if (c->cb == CB_arg_trimdomain_list)
str = arg_trimdomain_list (fname, line_num, str);
- else if (c->cb == CB_arg_spoof)
- str = arg_spoof (fname, line_num, str);
else if (c->cb == CB_arg_bool)
str = arg_bool (fname, line_num, str, c->arg);
else
@@ -325,10 +293,6 @@ do_init (void)
fclose (fp);
}
- envval = getenv (ENV_SPOOF);
- if (envval)
- arg_spoof (ENV_SPOOF, 1, envval);
-
envval = getenv (ENV_MULTI);
if (envval)
arg_bool (ENV_MULTI, 1, envval, HCONF_FLAG_MULTI);
diff --git a/resolv/res_hconf.h b/resolv/res_hconf.h
index a3d23f3..a6a1a9b 100644
--- a/resolv/res_hconf.h
+++ b/resolv/res_hconf.h
@@ -41,8 +41,6 @@ struct hconf
const char *trimdomain[TRIMDOMAINS_MAX];
unsigned int flags;
# define HCONF_FLAG_INITED (1 << 0) /* initialized? */
-# define HCONF_FLAG_SPOOF (1 << 1) /* refuse spoofed addresses */
-# define HCONF_FLAG_SPOOFALERT (1 << 2) /* syslog warning of spoofed */
# define HCONF_FLAG_REORDER (1 << 3) /* list best address first */
# define HCONF_FLAG_MULTI (1 << 4) /* see comments for gethtbyname() */
};