summaryrefslogtreecommitdiffstats
path: root/ipalib
diff options
context:
space:
mode:
Diffstat (limited to 'ipalib')
-rw-r--r--ipalib/__init__.py7
-rw-r--r--ipalib/ipauuid.py8
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."""