diff options
Diffstat (limited to 'ipaserver/rpcserver.py')
-rw-r--r-- | ipaserver/rpcserver.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/ipaserver/rpcserver.py b/ipaserver/rpcserver.py index 581c30b4c..203825ea0 100644 --- a/ipaserver/rpcserver.py +++ b/ipaserver/rpcserver.py @@ -35,7 +35,7 @@ import urlparse import time import json -from ipalib import plugable +from ipalib import plugable, capabilities from ipalib.backend import Executioner from ipalib.errors import PublicError, InternalError, CommandError, JSONError, ConversionError, CCacheError, RefererError, InvalidSessionPassword, NotFound, ACIError, ExecutionError from ipalib.request import context, Connection, destroy_context @@ -731,6 +731,11 @@ class xmlserver(WSGIExecutioner, HTTP_Status, KerberosSession): def unmarshal(self, data): (params, name) = xml_loads(data) (args, options) = params_2_args_options(params) + if 'version' not in options: + # Keep backwards compatibility with client containing + # bug https://fedorahosted.org/freeipa/ticket/3294: + # If `version` is not given in XML-RPC, assume an old version + options['version'] = capabilities.VERSION_WITHOUT_CAPABILITIES return (name, args, options, None) def marshal(self, result, error, _id=None): |