Blob Blame History Raw
From eaa2dd2de04147dbca127673d3c2473955b9289c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tibor=20Dudl=C3=A1k?= <tdudlak@redhat.com>
Date: Fri, 10 Aug 2018 13:16:38 +0200
Subject: [PATCH] Removing filesystem encoding check

RHEL doesn't support the generic locale "C.UTF-8"
See BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1590680

Revertis commit: e1bd827bbf56970ddd02ec174bf2317b64e75514
---
 install/conf/ipa.conf                 |  3 +--
 install/share/ipa-httpd.conf.template |  1 -
 ipalib/errors.py                      | 11 -----------
 ipalib/plugable.py                    |  5 -----
 ipatests/test_cmdline/test_cli.py     | 24 +-----------------------
 5 files changed, 2 insertions(+), 42 deletions(-)

diff --git a/install/conf/ipa.conf b/install/conf/ipa.conf
index c5fc518f803d379287043b405efeb46dd53a6b28..e15437b1804203ab85caaea420dde8fc12b15070 100644
--- a/install/conf/ipa.conf
+++ b/install/conf/ipa.conf
@@ -48,8 +48,7 @@ WSGISocketPrefix /run/httpd/wsgi
 
 # Configure mod_wsgi handler for /ipa
 WSGIDaemonProcess ipa processes=$WSGI_PROCESSES threads=1 maximum-requests=500 \
-  user=ipaapi group=ipaapi display-name=%{GROUP} \
-  lang=C.UTF-8 locale=C.UTF-8
+  user=ipaapi group=ipaapi display-name=%{GROUP}
 WSGIImportScript /usr/share/ipa/wsgi.py process-group=ipa application-group=ipa
 WSGIScriptAlias /ipa /usr/share/ipa/wsgi.py
 WSGIScriptReloading Off
diff --git a/install/share/ipa-httpd.conf.template b/install/share/ipa-httpd.conf.template
index 210d5d3883705b25b36050f50fdc1b49e830eb81..39bcfcca791c76f034224c00c9c2f85b652f78bb 100644
--- a/install/share/ipa-httpd.conf.template
+++ b/install/share/ipa-httpd.conf.template
@@ -4,5 +4,4 @@
 Environment=KRB5CCNAME=$KRB5CC_HTTPD
 Environment=GSS_USE_PROXY=yes
 Environment=KDCPROXY_CONFIG=$KDCPROXY_CONFIG
-Environment=LC_ALL=C.UTF-8
 ExecStartPre=$IPA_HTTPD_KDCPROXY
diff --git a/ipalib/errors.py b/ipalib/errors.py
index 6356d523e8c0ac63e8892292dd9991c9ee8211aa..ae940798779d20cb83b7f96a625c6facfe983f95 100644
--- a/ipalib/errors.py
+++ b/ipalib/errors.py
@@ -453,17 +453,6 @@ class EnvironmentError(PublicError):
     errno = 912
 
 
-class SystemEncodingError(PublicError):
-    """
-    **913** Raised when system encoding is not UTF-8
-    """
-
-    errno = 913
-    format = _(
-        "System encoding must be UTF-8, '%(encoding)s' is not supported. "
-        "Set LC_ALL=\"C.UTF-8\", or LC_ALL=\"\" and LC_CTYPE=\"C.UTF-8\"."
-    )
-
 ##############################################################################
 # 1000 - 1999: Authentication errors
 class AuthenticationError(PublicError):
diff --git a/ipalib/plugable.py b/ipalib/plugable.py
index d78a607123907813d6327212ee6e85b356112791..6aad8d90c9df071b5372cae920e800daae563133 100644
--- a/ipalib/plugable.py
+++ b/ipalib/plugable.py
@@ -485,11 +485,6 @@ class API(ReadOnly):
         handler.setFormatter(ipa_log_manager.Formatter(LOGGING_FORMAT_STDERR))
         root_logger.addHandler(handler)
 
-        # check after logging is set up but before we create files.
-        fse = sys.getfilesystemencoding()
-        if fse.lower() not in {'utf-8', 'utf8'}:
-            raise errors.SystemEncodingError(encoding=fse)
-
         # Add file handler:
         if self.env.mode in ('dummy', 'unit_test'):
             return  # But not if in unit-test mode
diff --git a/ipatests/test_cmdline/test_cli.py b/ipatests/test_cmdline/test_cli.py
index 8211c03515bf70b681da49d27ae11a4e8cb3b44d..a40b5d45ff8406c3ebbb69465e8d71d7d5bdb63a 100644
--- a/ipatests/test_cmdline/test_cli.py
+++ b/ipatests/test_cmdline/test_cli.py
@@ -1,8 +1,6 @@
-import contextlib
-import os
 import shlex
-import subprocess
 import sys
+import contextlib
 import tempfile
 
 import nose
@@ -19,8 +17,6 @@ if six.PY3:
 
 TEST_ZONE = u'zoneadd.%(domain)s' % api.env
 
-HERE = os.path.abspath(os.path.dirname(__file__))
-BASE_DIR = os.path.abspath(os.path.join(HERE, os.pardir, os.pardir))
 
 
 @pytest.mark.tier0
@@ -324,21 +320,3 @@ class TestCLIParsing(object):
                 file=goodcert_headers
             )
 
-
-def test_cli_fsencoding():
-    # https://pagure.io/freeipa/issue/5887
-    env = {
-        key: value for key, value in os.environ.items()
-        if not key.startswith(('LC_', 'LANG'))
-    }
-    env['LC_ALL'] = 'C'
-    env['PYTHONPATH'] = BASE_DIR
-    p = subprocess.Popen(
-        [sys.executable, '-m', 'ipaclient', 'help'],
-        stdout=subprocess.PIPE,
-        stderr=subprocess.PIPE,
-        env=env,
-    )
-    out, err = p.communicate()
-    assert p.returncode > 0, (out, err)
-    assert b'System encoding must be UTF-8' in err, (out, err)
-- 
2.17.2