Go back to parsing Defaults entries in update_defaults instead of

as sudoers is read.  Otherwise, we cannot properly support early
defaults like sudoers_locale.
This commit is contained in:
Todd C. Miller
2016-11-09 16:00:12 -07:00
parent efe957544f
commit 79ca752802
12 changed files with 262 additions and 258 deletions

View File

@@ -221,10 +221,11 @@ struct defaults {
char *var; /* variable name */
char *val; /* variable value */
struct member_list *binding; /* user/host/runas binding */
int type; /* DEFAULTS{,_USER,_RUNAS,_HOST} */
int op; /* true, false, '+', '-' */
int idx; /* index into sudo_defs_table */
union sudo_defs_val sd_un; /* parsed value */
char *file; /* file Defaults entry was in */
short type; /* DEFAULTS{,_USER,_RUNAS,_HOST} */
char op; /* true, false, '+', '-' */
char error; /* parse error flag */
int lineno; /* line number of Defaults entry */
};
/*
@@ -245,7 +246,7 @@ void alias_put(struct alias *a);
bool init_aliases(void);
/* gram.c */
bool init_parser(const char *path, bool quiet, bool strict_defaults);
bool init_parser(const char *path, bool quiet);
void free_members(struct member_list *members);
/* match_addr.c */