[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] Fix the handling of MESSAGE_METHOD_UNKNOWN, MESSAGE_PARAMETER_COUNT_MISMATCH,
# HG changeset patch # User Ewan Mellor <ewan@xxxxxxxxxxxxx> # Date 1170009462 0 # Node ID a7fc9cc9a51f01f7d0b7df046944735182b011b3 # Parent 58344c358aa0a1c89da5e592ae36f9067f63602d Fix the handling of MESSAGE_METHOD_UNKNOWN, MESSAGE_PARAMETER_COUNT_MISMATCH, through the AsyncProxy. Signed-off-by: Ewan Mellor <ewan@xxxxxxxxxxxxx> --- tools/python/xen/xend/XendAPI.py | 15 +++++++++------ 1 files changed, 9 insertions(+), 6 deletions(-) diff -r 58344c358aa0 -r a7fc9cc9a51f tools/python/xen/xend/XendAPI.py --- a/tools/python/xen/xend/XendAPI.py Sun Jan 28 18:05:13 2007 +0000 +++ b/tools/python/xen/xend/XendAPI.py Sun Jan 28 18:37:42 2007 +0000 @@ -2019,18 +2019,21 @@ class XendAPIAsyncProxy: # Only deal with method names that start with "Async." if not method.startswith(self.method_prefix): - raise Exception('Method %s not supported' % method) - - # Require 'session' argument to be present. - if len(args) < 1: - raise Exception('Not enough arguments') + return xen_api_error(['MESSAGE_METHOD_UNKNOWN', method]) # Lookup synchronous version of the method synchronous_method_name = method[len(self.method_prefix):] if synchronous_method_name not in self.method_map: - raise Exception('Method %s not supported' % method) + return xen_api_error(['MESSAGE_METHOD_UNKNOWN', method]) method = self.method_map[synchronous_method_name] + + # Check that we've got enough arguments before issuing a task ID. + needed = argcounts[method.api] + if len(args) != needed: + return xen_api_error(['MESSAGE_PARAMETER_COUNT_MISMATCH', + self.method_prefix + method.api, needed, + len(args)]) # Validate the session before proceeding session = args[0] _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |