summaryrefslogtreecommitdiffstats
path: root/ipaserver/rpcserver.py
diff options
context:
space:
mode:
authorMartin Kosek <mkosek@redhat.com>2011-10-11 10:54:34 +0200
committerMartin Kosek <mkosek@redhat.com>2011-10-11 15:15:15 +0200
commit070bc7f725dc33e61bf421b9973292721ae6fbfa (patch)
treeca887167f6d7074c6bd19bf35af7777cc3eef168 /ipaserver/rpcserver.py
parent2916ad4ac2ba8bee3cd66e6c6f30e3cdcb913b06 (diff)
downloadfreeipa.git-070bc7f725dc33e61bf421b9973292721ae6fbfa.tar.gz
freeipa.git-070bc7f725dc33e61bf421b9973292721ae6fbfa.tar.xz
freeipa.git-070bc7f725dc33e61bf421b9973292721ae6fbfa.zip
Fix dnszone-add name_from_ip server validation
Ticket 1627 contained a (temporary hack-ish) fix for dnszone-add name_from_ip validation which works fine for CLI. However, when the command is not proceeded via CLI and sent directly to the RPC server, the server throws Internal Server Error. Make sure that the server returns a reasonable error. Also implement 2 unit cases testing this option https://fedorahosted.org/freeipa/ticket/1941
Diffstat (limited to 'ipaserver/rpcserver.py')
-rw-r--r--ipaserver/rpcserver.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/ipaserver/rpcserver.py b/ipaserver/rpcserver.py
index 39cdbcc7..35a10926 100644
--- a/ipaserver/rpcserver.py
+++ b/ipaserver/rpcserver.py
@@ -231,7 +231,14 @@ class WSGIExecutioner(Executioner):
finally:
os.environ['LANG'] = lang
if name:
- params = self.Command[name].args_options_2_params(*args, **options)
+ try:
+ params = self.Command[name].args_options_2_params(*args, **options)
+ except Exception, e:
+ self.info(
+ 'exception %s caught when converting options: %s', e.__class__.__name__, str(e)
+ )
+ # get at least some context of what is going on
+ params = options
if error:
self.info('%s: %s(%s): %s', context.principal, name, ', '.join(self.Command[name]._repr_iter(**params)), e.__class__.__name__)
else: