Hi Orion

On Sat, Aug 1, 2015 at 2:36 PM, David Herrmann <dh.herrm...@gmail.com> wrote:
>> sendmsg(4, {msg_name(0)=NULL,
>> msg_iov(2)=[{"l\1\0\1<\21\0\0\2\0\0\0\223\0\0\0\1\1o\0\25\0\0\0/org/freedesktop/DBus\0\0\0\6\1s\0\24\0\0\0org.freedesktop.DBus\0\0\0\0\2\1s\0\24\0\0\0org.freedesktop.DBus\0\0\0\0\3\1s\0\33\0\0\0UpdateActivationEnvironment\0\0\0\0\0\10\1g\0\5a{ss}\0\0\0\0\0\0",
>> 168}, {"4\21\0\0\0\0\0\0\22\0\0\0BASH_FUNC_module()\0\0)\0\0\0() {  eval
>> `/usr/bin/modulecmd bash
>
> You export a variable called 'BASH_FUNC_module()' (which is how bash
> names its exported functions since the ShellShock updates). According
> to POSIX, names of environment variables should only contain
> [A-Za-z0-9_], which is what systemd enforces. Hence, systemd refuses
> the trailing parantheses in this name.
>
> Anyway, POSIX also explicitly says that applications should tolerate
> any other character (except '='). This needs to be fixed in pid1.

This should now be fixed in -git [1]. We drop any variables that do
not conform to POSIX recommendations in UpdateActivationEnvironment().
This means, BASH_FUNC_module() will not end up in your activation
environment. But I assume that this is more or less the intended
behavior.

Next systemd update in rawhide will include this fix.

Thanks for the report!
David

[1] https://github.com/systemd/systemd/pull/858
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Reply via email to