Summary: | Action opening attachment fails with "Invalid environment block." due to environment variable of third party software | ||
---|---|---|---|
Product: | [Frameworks and Libraries] frameworks-kio | Reporter: | Alexander <cookie170> |
Component: | general | Assignee: | KIO Bugs <kio-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | fabian, kdelibs-bugs, nicolas.fella |
Priority: | NOR | ||
Version: | 6.2.0 | ||
Target Milestone: | --- | ||
Platform: | openSUSE | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/frameworks/kio/-/commit/4e27e6d9014a51b9c2b4698979e088cb1d009ac0 | Version Fixed In: | 6.4 |
Sentry Crash Report: |
Description
Alexander
2024-07-06 15:39:39 UTC
Only uppercase letters and underscores are allowed in environment variable names, systemd refuses to launch processes with non-conforming environments. https://invent.kde.org/frameworks/kio/-/commit/4e27e6d9014a51b9c2b4698979e088cb1d009ac0 strips non-conforming variables before launch (In reply to Nicolas Fella from comment #1) > Only uppercase letters and underscores are allowed in environment variable > names, That's an arbitrary restriction purely made by systemd. POSIX says (https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html): > Environment variable names used by the utilities in the Shell and Utilities volume of POSIX.1-2017 consist solely of uppercase letters, digits, and the <underscore> ( '_' ) from the characters defined in Portable Character Set and do not begin with a digit. Other characters may be permitted by an implementation; applications shall tolerate the presence of such names. > systemd refuses to launch processes with non-conforming environments. i.e. systemd actually violates POSIX because it does not tolerate what the implementation (Linux) permits (all except = and NUL)... > https://invent.kde.org/frameworks/kio/-/commit/ > 4e27e6d9014a51b9c2b4698979e088cb1d009ac0 strips non-conforming variables > before launch |