summaryrefslogtreecommitdiffstats
path: root/ipa-server/xmlrpc-server/ipaxmlrpc.py
diff options
context:
space:
mode:
Diffstat (limited to 'ipa-server/xmlrpc-server/ipaxmlrpc.py')
-rw-r--r--ipa-server/xmlrpc-server/ipaxmlrpc.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/ipa-server/xmlrpc-server/ipaxmlrpc.py b/ipa-server/xmlrpc-server/ipaxmlrpc.py
index 3f30f8fb..32a7e808 100644
--- a/ipa-server/xmlrpc-server/ipaxmlrpc.py
+++ b/ipa-server/xmlrpc-server/ipaxmlrpc.py
@@ -36,6 +36,7 @@ from mod_python import apache
import ipaserver
import funcs
from ipa import ipaerror
+import ldap
import string
import base64
@@ -150,7 +151,12 @@ class ModXMLRPCRequestHandler(object):
response = dumps(response, methodresponse=1, allow_none=1)
except ipaerror.IPAError, e:
self.traceback = True
- response = dumps(Fault(e.code, str(e)))
+
+ if (isinstance(e.detail, ldap.LDAPError)):
+u err = ": %s: %s" % (e.detail.args[0]['desc'], e.detail.args[0].get('info',''))
+ response = dumps(Fault(e.code, str(e) + err))
+ else:
+ response = dumps(Fault(e.code, str(e)))
except:
self.traceback = True
# report exception back to server