diff options
Diffstat (limited to 'ipalib')
-rw-r--r-- | ipalib/__init__.py | 7 | ||||
-rw-r--r-- | ipalib/ipauuid.py | 8 |
2 files changed, 11 insertions, 4 deletions
diff --git a/ipalib/__init__.py b/ipalib/__init__.py index b21c3038..844f5b46 100644 --- a/ipalib/__init__.py +++ b/ipalib/__init__.py @@ -873,10 +873,9 @@ from parameters import DefaultFrom, Bool, Flag, Int, Float, Bytes, Str, Password from parameters import BytesEnum, StrEnum from errors import SkipPluginModule -try: - import uuid -except ImportError: - import ipauuid as uuid +# We can't import the python uuid since it includes ctypes which makes +# httpd throw up when run in in mod_python due to SELinux issues +import ipauuid as uuid version_info = (2, 0, 0, 'alpha', 0) diff --git a/ipalib/ipauuid.py b/ipalib/ipauuid.py index 9923dc7a..19b8415f 100644 --- a/ipalib/ipauuid.py +++ b/ipalib/ipauuid.py @@ -1,5 +1,9 @@ # This is a backport of the Python2.5 uuid module. +# IMPORTANT NOTE: All references to ctypes are commented out because +# ctypes does all sorts of strange things that makes +# it not work in httpd with SELinux enabled. + r"""UUID objects (universally unique identifiers) according to RFC 4122. This module provides immutable UUID objects (class UUID) and the functions @@ -356,6 +360,7 @@ def _ipconfig_getnode(): """Get the hardware address on Windows by running ipconfig.exe.""" import os, re dirs = ['', r'c:\windows\system32', r'c:\winnt\system32'] + """ try: import ctypes buffer = ctypes.create_string_buffer(300) @@ -363,6 +368,7 @@ def _ipconfig_getnode(): dirs.insert(0, buffer.value.decode('mbcs')) except: pass + """ for dir in dirs: try: pipe = os.popen(os.path.join(dir, 'ipconfig') + ' /all') @@ -406,6 +412,7 @@ def _netbios_getnode(): # If ctypes is available, use it to find system routines for UUID generation. _uuid_generate_random = _uuid_generate_time = _UuidCreate = None +""" try: import ctypes, ctypes.util _buffer = ctypes.create_string_buffer(16) @@ -438,6 +445,7 @@ try: getattr(lib, 'UuidCreate', None)) except: pass +""" def _unixdll_getnode(): """Get the hardware address on Unix using ctypes.""" |