diff options
Diffstat (limited to 'ipa-python/rpcclient.py')
-rw-r--r-- | ipa-python/rpcclient.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/ipa-python/rpcclient.py b/ipa-python/rpcclient.py index a69fd133..7f87ac04 100644 --- a/ipa-python/rpcclient.py +++ b/ipa-python/rpcclient.py @@ -574,3 +574,20 @@ class RPCClient: raise xmlrpclib.Fault(value, msg) return ipautil.unwrap_binary_data(result) + + def memberOf(self, groupdn, attr_list=None): + """Do a memberOf search of groupdn and return the attributes in + attr_list (an empty list returns everything).""" + + if attr_list is None: + attr_list = "__NONE__" + + server = self.setup_server() + try: + result = server.memberOf(groupdn, attr_list) + except xmlrpclib.Fault, fault: + raise ipaerror.gen_exception(fault.faultCode, fault.faultString) + except socket.error, (value, msg): + raise xmlrpclib.Fault(value, msg) + + return ipautil.unwrap_binary_data(result) |