[apparmor] [PATCH] various aa-notify fixes
John Johansen
john.johansen at canonical.com
Wed Aug 17 13:12:47 UTC 2011
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 08/17/2011 05:44 AM, Jamie Strandboge wrote:
> On Tue, 2011-08-16 at 16:29 -0700, John Johansen wrote:
>>> diff:
>>> === modified file 'utils/aa-notify'
>>> --- utils/aa-notify 2010-11-04 00:03:52 +0000
>>> +++ utils/aa-notify 2011-08-16 21:57:02 +0000
>>> @@ -122,7 +122,8 @@
>>> if ($< == 0) {
>>> $login = "root";
>>> if (defined($ENV{SUDO_UID}) and defined($ENV{SUDO_GID})) {
>>> - POSIX::setgid($ENV{SUDO_GID}) or _error("Could not change gid");
>>> + $) = "$ENV{SUDO_GID} $ENV{SUDO_GID}" or _error("Could not change egid");
>>> + $( = $ENV{SUDO_GID} or _error("Could not change gid");
>>> $> = $ENV{SUDO_UID} or _error("Could not change euid");
>>> defined($ENV{SUDO_USER}) and $login = $ENV{SUDO_USER};
>>> } else {
>>> @@ -131,7 +132,9 @@
>>> $drop_to = $opt_u;
>>> }
>>> # nobody/nogroup
>>> - POSIX::setgid(scalar(getgrnam($nobody_group))) or _error("Could not change gid to '$nobody_group'");
>>> + my $nam = scalar(getgrnam($nobody_group));
>>> + $) = "$nam $nam" or _error("Could not change egid");
>>> + $( = $nam or _error("Could not change gid");
>>> $> = scalar(getpwnam($drop_to)) or _error("Could not change euid to '$drop_to'");
>>> }
>>> } else {
>>>
>> Thankyou for reminding me why I HATE perl
>>
>> you need to check $! after the assignment of $( and $) for errors
>
> I do. In each of these I do 'or _error(...)...' which will bail out of
> the script and return '1'. Is this not enough?
sigh, yes you are and it is just ignore me
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAk5Lvk8ACgkQxAVxIsEKI+aIhACdHuoz6K6rhxciHQVGWdw8PJCJ
dlEAnitJfsEk21kYC90fefMiyAfQolM4
=ILa5
-----END PGP SIGNATURE-----
More information about the AppArmor
mailing list