diff options
author | Karel Zak | 2012-02-28 11:16:16 +0100 |
---|---|---|
committer | Karel Zak | 2012-02-28 11:16:16 +0100 |
commit | 607e6b7ce8658e552fdffbb99c51cdb01828e27b (patch) | |
tree | ee07bcca5f4375c653c557104dbd8dcb42251d87 /login-utils/login.c | |
parent | test: test 'none' source for mount(8) (diff) | |
download | kernel-qcow2-util-linux-607e6b7ce8658e552fdffbb99c51cdb01828e27b.tar.gz kernel-qcow2-util-linux-607e6b7ce8658e552fdffbb99c51cdb01828e27b.tar.xz kernel-qcow2-util-linux-607e6b7ce8658e552fdffbb99c51cdb01828e27b.zip |
login: support crazy shadow-utils syntax in login.defs
standard syntax for FOO=data:
ENV_FOO data
additional syntax:
ENV_FOO FOO=data
Reported-by: Colin Guthrie colin@mageia.org
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'login-utils/login.c')
-rw-r--r-- | login-utils/login.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/login-utils/login.c b/login-utils/login.c index 84d8b1bdb..bc0eaec26 100644 --- a/login-utils/login.c +++ b/login-utils/login.c @@ -1145,13 +1145,10 @@ static void init_environ(struct login_context *cxt) setenv("TERM", termenv, 1); if (pwd->pw_uid) - setenv("PATH", getlogindefs_str("ENV_PATH", _PATH_DEFPATH), 1); - else { - const char *x = getlogindefs_str("ENV_ROOTPATH", NULL); - if (!x) - x = getlogindefs_str("ENV_SUPATH", _PATH_DEFPATH_ROOT); - setenv("PATH", x, 1); - } + logindefs_setenv("PATH", "ENV_PATH", _PATH_DEFPATH); + + else if (logindefs_setenv("PATH", "ENV_ROOTPATH", NULL) != 0) + logindefs_setenv("PATH", "ENV_SUPATH", _PATH_DEFPATH_ROOT); /* mailx will give a funny error msg if you forget this one */ len = snprintf(tmp, sizeof(tmp), "%s/%s", _PATH_MAILDIR, pwd->pw_name); |