diff options
author | Jan Cholasta <jcholast@redhat.com> | 2016-04-06 15:26:48 +0200 |
---|---|---|
committer | Jan Cholasta <jcholast@redhat.com> | 2016-05-25 16:06:26 +0200 |
commit | ac2e9e84cf67b59488a07ffe932019ce3e23b41a (patch) | |
tree | c73ab49d3c9be49308360ec5eb7b90efd3a82b8e | |
parent | 213237c7fe053b43589de4bc64a871861da6db9a (diff) | |
download | freeipa-ac2e9e84cf67b59488a07ffe932019ce3e23b41a.tar.gz freeipa-ac2e9e84cf67b59488a07ffe932019ce3e23b41a.tar.xz freeipa-ac2e9e84cf67b59488a07ffe932019ce3e23b41a.zip |
frontend: do not forward argument defaults to server
When forwarding a command call to a server, use only arguments which were
explicitly specified by the caller.
This increases compatibility between new clients and old servers.
https://fedorahosted.org/freeipa/ticket/4739
Reviewed-By: David Kupka <dkupka@redhat.com>
-rw-r--r-- | ipalib/cli.py | 2 | ||||
-rw-r--r-- | ipalib/frontend.py | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/ipalib/cli.py b/ipalib/cli.py index 3692e4e53..1c88a9b1f 100644 --- a/ipalib/cli.py +++ b/ipalib/cli.py @@ -1243,6 +1243,8 @@ class cli(backend.Executioner): if param.autofill: kw[param.name] = cmd.get_default_of(param.name, **kw) if param.name in kw and kw[param.name] is not None: + if param.autofill: + del kw[param.name] continue if param.password: kw[param.name] = self.Backend.textui.prompt_password( diff --git a/ipalib/frontend.py b/ipalib/frontend.py index c7bbead32..adad3707d 100644 --- a/ipalib/frontend.py +++ b/ipalib/frontend.py @@ -442,7 +442,8 @@ class Command(HasParam): self.debug( 'raw: %s(%s)', self.name, ', '.join(self._repr_iter(**params)) ) - params.update(self.get_default(**params)) + if self.api.env.in_server: + params.update(self.get_default(**params)) params = self.normalize(**params) params = self.convert(**params) self.debug( @@ -598,7 +599,7 @@ class Command(HasParam): # Backend.textui.prompt does not fill in the default value, # we have to do it ourselves if not raw.strip(): - raw = default + return None try: return param(raw, **kw) |