diff options
Diffstat (limited to 'ipa-server/xmlrpc-server/ipaxmlrpc.py')
-rw-r--r-- | ipa-server/xmlrpc-server/ipaxmlrpc.py | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/ipa-server/xmlrpc-server/ipaxmlrpc.py b/ipa-server/xmlrpc-server/ipaxmlrpc.py index be4762c35..7998dd7e0 100644 --- a/ipa-server/xmlrpc-server/ipaxmlrpc.py +++ b/ipa-server/xmlrpc-server/ipaxmlrpc.py @@ -133,7 +133,9 @@ class ModXMLRPCRequestHandler(object): opts={} opts['remoteuser'] = remoteuser - params = ipaserver.encode_args(params, opts) + # Tack onto the end of the passed-in arguments any options we also + # need + params = params + (opts,) # special case # if method == "get_user": @@ -164,9 +166,13 @@ class ModXMLRPCRequestHandler(object): func = self.funcs.get(method,None) if func is None: raise Fault(1, "Invalid method: %s" % method) - params,opts = ipaserver.decode_args(*params) - - ret = func(*params,**opts) + + args = list(params) + for i in range(len(args)): + if args[i] == '__NONE__': + args[i] = None + + ret = func(*args) return ret @@ -281,7 +287,8 @@ def handler(req, profiling=False): try: f = funcs.IPAServer() h = ModXMLRPCRequestHandler() - h.register_function(f.get_user) + h.register_function(f.get_user_by_uid) + h.register_function(f.get_user_by_dn) h.register_function(f.add_user) h.register_function(f.get_add_schema) h.register_function(f.get_all_users) |