summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--lib/openid_message.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/openid_message.cc b/lib/openid_message.cc
index 588bd62..75e59b3 100644
--- a/lib/openid_message.cc
+++ b/lib/openid_message.cc
@@ -210,15 +210,17 @@ namespace opkele {
210 signeds.assign(fields,fnc,fields.size()-fnc); 210 signeds.assign(fields,fnc,fields.size()-fnc);
211 } 211 }
212 set_field("signed",signeds); 212 set_field("signed",signeds);
213 } 213 }
214 214
215 string basic_openid_message::find_ns(const string& uri,const char *pfx) const { 215 string basic_openid_message::find_ns(const string& uri,const char *pfx) const {
216 if(has_field("ns")) 216 try {
217 return get_ns(uri); 217 return get_ns(uri);
218 return pfx; 218 }catch(failed_lookup&) {
219 return pfx;
220 }
219 } 221 }
220 string basic_openid_message::allocate_ns(const string& uri,const char *pfx) { 222 string basic_openid_message::allocate_ns(const string& uri,const char *pfx) {
221 if(!has_field("ns")) 223 if(!has_field("ns"))
222 return pfx; 224 return pfx;
223 if(has_ns(uri)) 225 if(has_ns(uri))
224 throw bad_input(OPKELE_CP_ "OpenID message already contains namespace"); 226 throw bad_input(OPKELE_CP_ "OpenID message already contains namespace");