Hide Forgot
+++ This bug was initially created as a clone of Bug #627788 +++ Description of problem: If SELinux is disabled, when slip.util.files.overwrite_safely is called with the default preserve_context=True, it fails because it cannot read the "security.selinux" xattr of the destination file. This makes it impossible to save the configuration in system-config-date. Version-Release number of selected component (if applicable): python-slip-0.2.12-1.fc13.noarch How reproducible: Always Steps to Reproduce: touch foo python <<SCRIPT from slip.util.files import overwrite_safely overwrite_safely("foo", "content") SCRIPT Actual results: Traceback (most recent call last): File "<stdin>", line 2, in <module> File "/usr/lib/python2.6/site-packages/slip/util/files.py", line 179, in overwrite_safely ret, ctx = selinux.getfilecon(path) OSError: [Errno 61] No data available Expected results: The file is successfully written. --- Additional comment from nphilipp on 2010-08-31 09:47:57 EDT --- I seem to have misunderstood the possible return values of selinux.is_selinux_enabled(): commit 6502bebb6b94d613e84e2cc517a299e2cb9028c9 Author: Nils Philippsen <nils> Date: Tue Aug 31 15:43:30 2010 +0200 fix overwrite_safely() if SELinux is disabled (#627788) diff --git a/slip/util/files.py b/slip/util/files.py index b248d17..1b2887d 100644 --- a/slip/util/files.py +++ b/slip/util/files.py @@ -165,7 +165,7 @@ def overwrite_safely(path, content, preserve_mode=True, preserve_context=True): exists = os.path.exists(path) - if preserve_context and selinux.is_selinux_enabled() < 0: + if preserve_context and selinux.is_selinux_enabled() <= 0: preserve_context = False try:
Code inspection showed this issue to be present in RHEL6.
*** This bug has been marked as a duplicate of bug 720848 ***