diff options
Diffstat (limited to 'ipaserver')
-rw-r--r-- | ipaserver/plugins/internal.py | 6 | ||||
-rw-r--r-- | ipaserver/rpcserver.py | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/ipaserver/plugins/internal.py b/ipaserver/plugins/internal.py index c0360567c..768433b94 100644 --- a/ipaserver/plugins/internal.py +++ b/ipaserver/plugins/internal.py @@ -82,6 +82,7 @@ class json_metadata(Command): elif objname == "all": objects = dict( (o.name, json_serialize(o)) for o in self.api.Object() + if o is self.api.Object[o.name] ) empty = False except KeyError: @@ -96,6 +97,7 @@ class json_metadata(Command): elif methodname == "all": methods = dict( (m.name, json_serialize(m)) for m in self.api.Method() + if m is self.api.Method[m.name] ) empty = False except KeyError: @@ -109,6 +111,7 @@ class json_metadata(Command): elif cmdname == "all": commands = dict( (c.name, json_serialize(c)) for c in self.api.Command() + if c is self.api.Command[c.name] ) empty = False except KeyError: @@ -117,12 +120,15 @@ class json_metadata(Command): if empty: objects = dict( (o.name, json_serialize(o)) for o in self.api.Object() + if o is self.api.Object[o.name] ) methods = dict( (m.name, json_serialize(m)) for m in self.api.Method() + if m is self.api.Method[m.name] ) commands = dict( (c.name, json_serialize(c)) for c in self.api.Command() + if c is self.api.Command[c.name] ) retval = dict([ diff --git a/ipaserver/rpcserver.py b/ipaserver/rpcserver.py index 852cf2ebe..98a243d53 100644 --- a/ipaserver/rpcserver.py +++ b/ipaserver/rpcserver.py @@ -673,7 +673,8 @@ class xmlserver(KerberosWSGIExecutioner): """list methods for XML-RPC introspection""" if params: raise errors.ZeroArgumentError(name='system.listMethods') - return (tuple(unicode(cmd.name) for cmd in self.Command()) + + return (tuple(unicode(cmd.name) for cmd in self.Command() + if cmd is self.Command[cmd.name]) + tuple(unicode(name) for name in self._system_commands)) def _get_method_name(self, name, *params): |