summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichael E Brown <mebrown@michaels-house.net>2007-11-29 14:45:26 -0600
committerMichael E Brown <mebrown@michaels-house.net>2007-11-29 14:45:26 -0600
commitc50e737612b8c10239587e43dee3e8bb47cbfa31 (patch)
tree5994fa9645fd0d8a918cc1200b27b0c1f21bf16d /src
parent21d9e9086bad36e19bd9386bdcb9dde15f1b414a (diff)
downloadmock-c50e737612b8c10239587e43dee3e8bb47cbfa31.tar.gz
mock-c50e737612b8c10239587e43dee3e8bb47cbfa31.tar.xz
mock-c50e737612b8c10239587e43dee3e8bb47cbfa31.zip
add dep on python-ctypes so it will run on FC6. remove attempt at non-ctypes compatibility
Diffstat (limited to 'src')
-rw-r--r--src/py-libs/uid.py (renamed from src/py-libs/uid/uid.py)0
-rw-r--r--src/py-libs/uid/__init__.py10
-rw-r--r--src/py-libs/uid/uid_compat.py72
3 files changed, 0 insertions, 82 deletions
diff --git a/src/py-libs/uid/uid.py b/src/py-libs/uid.py
index 14d0e39..14d0e39 100644
--- a/src/py-libs/uid/uid.py
+++ b/src/py-libs/uid.py
diff --git a/src/py-libs/uid/__init__.py b/src/py-libs/uid/__init__.py
deleted file mode 100644
index 4e93033..0000000
--- a/src/py-libs/uid/__init__.py
+++ /dev/null
@@ -1,10 +0,0 @@
-
-import logging
-log = logging.getLogger("mock.uid")
-
-try:
- import uid
- uidManager = uid.uidManager
-except ImportError, e:
- import uid_compat
- uidManager = uid_compat.uidManager
diff --git a/src/py-libs/uid/uid_compat.py b/src/py-libs/uid/uid_compat.py
deleted file mode 100644
index abece5e..0000000
--- a/src/py-libs/uid/uid_compat.py
+++ /dev/null
@@ -1,72 +0,0 @@
-# vim:expandtab:autoindent:tabstop=4:shiftwidth=4:filetype=python:textwidth=0:
-# License: GPL2 or later see COPYING
-# Written by Michael Brown
-# Copyright (C) 2007 Michael E Brown <mebrown@michaels-house.net>
-
-# python library imports
-import logging
-import os
-
-# our imports
-from mock.trace_decorator import traceLog
-
-# set up logging
-log = logging.getLogger("mock.uid")
-
-# class
-class uidManager(object):
- @traceLog(log)
- def __init__(self, unprivUid=-1, unprivGid=-1):
- self.privStack = []
- self.unprivUid = unprivUid
- self.unprivGid = unprivGid
-
- @traceLog(log)
- def becomeUser(self, uid, gid=-1):
- # save current ruid, euid, rgid, egid
- self._push()
- self._becomeUser(uid, gid)
-
- @traceLog(log)
- def dropPrivsTemp(self):
- # save current ruid, euid, rgid, egid
- self._push()
- self._becomeUser(self.unprivUid, self.unprivGid)
-
- @traceLog(log)
- def restorePrivs(self):
- # back to root first
- self._elevatePrivs()
-
- # then set saved
- privs = self.privStack.pop()
- os.setregid(privs[2], privs[3])
- os.setreuid(privs[0], privs[1])
-
- @traceLog(log)
- def dropPrivsForever(self):
- self._elevatePrivs()
- os.setregid(self.unprivGid, self.unprivGid)
- os.setreuid(self.unprivUid, self.unprivUid)
-
- @traceLog(log)
- def _push(self):
- # save current ruid, euid, rgid, egid
- self.privStack.append([
- os.getuid(),
- os.geteuid(),
- os.getgid(),
- os.getegid(),
- ])
-
- @traceLog(log)
- def _elevatePrivs(self):
- os.setreuid(0, 0)
- os.setregid(0, 0)
-
- @traceLog(log)
- def _becomeUser(self, uid, gid=None):
- self._elevatePrivs()
- if gid is not None:
- os.setregid(gid, gid)
- os.setreuid(0, uid)