]> granicus.if.org Git - shadow/commit
su.c: run pam_getenvlist() after setup_env
authorMichael Vogt <mvo@ubuntu.com>
Mon, 25 Jun 2018 14:00:17 +0000 (16:00 +0200)
committerMichael Vogt <mvo@ubuntu.com>
Mon, 25 Jun 2018 14:00:21 +0000 (16:00 +0200)
commit89b96cb85cbd86a3f07a47e5e6826f7c5a69e3d5
tree281f12a467ecf466398de30779a9f97d7bd509a0
parent67ec1a526626b37a7c61c80db3ae6944d53410a1
su.c: run pam_getenvlist() after setup_env

When "su -l" is used the behaviour is described as similar to
a direct login. However login.c is doing a setup_env(pw) and then a
pam_getenvlist() in this scenario. But su.c is doing it the other
way around. Which means that the value of PATH from /etc/environment
is overriden. I think this is a bug because:

The man-page claims that "-l": "provides an environment similar
to what the user would expect had the user logged in directly."

And login.c is using the PATH from /etc/environment.

This will fix:
https://bugs.launchpad.net/ubuntu/+source/shadow/+bug/984390
src/su.c