mirror of
https://github.com/fail2ban/fail2ban.git
synced 2026-03-11 08:55:31 +00:00
avoid using "ANSI_X3.4-1968" as preferred encoding, if missing environment variables 'LANGUAGE', 'LC_ALL', 'LC_CTYPE', and 'LANG'
(especially critical if default value `encoding = auto` configured). As PoC and coverage (this case fails without this "fix"): $ env -i PATH="$PATH" bin/fail2ban-testcases --fast --no-network testAddBanInvalidEncoded
This commit is contained in:
parent
f84e58e769
commit
8e6b4346dc
1 changed files with 4 additions and 0 deletions
|
|
@ -34,6 +34,10 @@ from .server.mytime import MyTime
|
|||
|
||||
|
||||
PREFER_ENC = locale.getpreferredencoding()
|
||||
# correct prefered encoding if lang not set in environment:
|
||||
if PREFER_ENC.startswith('ANSI_'): # pragma: no cover
|
||||
if all((os.getenv(v) in (None, "") for v in ('LANGUAGE', 'LC_ALL', 'LC_CTYPE', 'LANG'))):
|
||||
PREFER_ENC = 'UTF-8';
|
||||
|
||||
|
||||
def formatExceptionInfo():
|
||||
|
|
|
|||
Loading…
Reference in a new issue