mirror of https://github.com/fail2ban/fail2ban
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 testAddBanInvalidEncodedpull/1868/head
parent
f84e58e769
commit
8e6b4346dc
|
@ -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 New Issue