From f8207350bb178150baf87829013ac6ce2ea3f39a Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Thu, 17 Jan 2013 16:45:08 -0500 Subject: [PATCH] fix error messages --- sfa/trust/credential.py | 6 ++++++ sfa/util/faults.py | 11 +++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/sfa/trust/credential.py b/sfa/trust/credential.py index d9d39725..cdc632a8 100644 --- a/sfa/trust/credential.py +++ b/sfa/trust/credential.py @@ -696,6 +696,12 @@ class Credential(object): def decode(self): if not self.xml: return + + doc = None + try: + doc = parseString(self.xml) + except ExpatError,e: + raise CredentialNotVerifiable("Malformed credential") doc = parseString(self.xml) sigs = [] signed_cred = doc.getElementsByTagName("signed-credential") diff --git a/sfa/util/faults.py b/sfa/util/faults.py index 1a4e92e9..f1d5cfd1 100644 --- a/sfa/util/faults.py +++ b/sfa/util/faults.py @@ -329,7 +329,7 @@ class InvalidXML(SfaFault): def __init__(self, value, extra = None): self.value = value faultString = "Invalid XML Document: %(value)s" % locals() - SfaFault.__init__(self, GENICODE.ERROR, faultString, extra) + SfaFault.__init__(self, GENICODE.BADARGS, faultString, extra) def __str__(self): return repr(self.value) @@ -341,10 +341,13 @@ class AccountNotEnabled(SfaFault): return repr(self.value) class CredentialNotVerifiable(SfaFault): - def __init__(self, value, extra = None): + def __init__(self, value=None, extra = None): self.value = value - faultString = "Unable to verify credential: %(value)s, " %locals() - SfaFault.__init__(self, GENICODE.ERROR, faultString, extra) + faultString = "Unable to verify credential" %locals() + if value: + faultString += ": %s" % value + faultString += ", " + SfaFault.__init__(self, GENICODE.BADARGS, faultString, extra) def __str__(self): return repr(self.value) -- 2.43.0