| |
| # HG changeset patch |
| # User Todd C. Miller <Todd.Miller@sudo.ws> |
| # Date 1573059314 25200 |
| # Node ID f85ff5ee2caf19cefca67ae49c1d6048d61125cb |
| # Parent 5cdcfd9a6c33a157a12f1b1893e397c3198b206b |
| Do not warn about a missing /etc/environment file on Linux without PAM. |
| Bug #907 |
| |
| diff -r 5cdcfd9a6c33 -r f85ff5ee2caf plugins/sudoers/env.c |
| --- a/plugins/sudoers/env.c Tue Nov 05 15:18:34 2019 -0700 |
| +++ b/plugins/sudoers/env.c Wed Nov 06 09:55:14 2019 -0700 |
| @@ -940,7 +940,8 @@ |
| #endif /* HAVE_LOGIN_CAP_H */ |
| #if defined(_AIX) || (defined(__linux__) && !defined(HAVE_PAM)) |
| /* Insert system-wide environment variables. */ |
| - read_env_file(_PATH_ENVIRONMENT, true, false); |
| + if (!read_env_file(_PATH_ENVIRONMENT, true, false)) |
| + sudo_warn("%s", _PATH_ENVIRONMENT); |
| #endif |
| for (ep = env.envp; *ep; ep++) |
| env_update_didvar(*ep, &didvar); |
| @@ -1218,8 +1219,10 @@ |
| efl = calloc(1, sizeof(*efl)); |
| if (efl != NULL) { |
| if ((efl->fp = fopen(path, "r")) == NULL) { |
| - free(efl); |
| - efl = NULL; |
| + if (errno != ENOENT) { |
| + free(efl); |
| + efl = NULL; |
| + } |
| } |
| } |
| debug_return_ptr(efl); |
| @@ -1259,6 +1262,9 @@ |
| debug_decl(env_file_next_local, SUDOERS_DEBUG_ENV) |
| |
| *errnum = 0; |
| + if (efl->fp == NULL) |
| + debug_return_ptr(NULL); |
| + |
| for (;;) { |
| if (sudo_parseln(&efl->line, &efl->linesize, NULL, efl->fp, PARSELN_CONT_IGN) == -1) { |
| if (!feof(efl->fp)) |
| |