From c56867c814a70505e27501c8f02768a594d8e42d Mon Sep 17 00:00:00 2001 From: Michael Krelin Date: Sat, 05 Apr 2008 13:36:58 +0000 Subject: empty trust_root is no trust root. work around some thoughtful and considerate RPs that take the pain of sending the trust_root parameter, but do not go into as much trouble as setting it to anything but an empty string. Signed-off-by: Michael Krelin --- (limited to 'lib/basic_op.cc') diff --git a/lib/basic_op.cc b/lib/basic_op.cc index fa659ac..511b51a 100644 --- a/lib/basic_op.cc +++ b/lib/basic_op.cc @@ -152,9 +152,13 @@ namespace opkele { if(openid2) { try { realm = inm.get_field("realm"); + if(realm.empty()) + throw failed_lookup(OPKELE_CP_ "Empty realm doesn't count"); }catch(failed_lookup&) { try { realm = inm.get_field("trust_root"); + if(realm.empty()) + throw failed_lookup(OPKELE_CP_ "Empty trust_root doesn't count"); }catch(failed_lookup&) { if(return_to.empty()) throw bad_input(OPKELE_CP_ @@ -165,6 +169,8 @@ namespace opkele { }else{ try { realm = inm.get_field("trust_root"); + if(realm.empty()) + throw failed_lookup(OPKELE_CP_ "Empty trust_root doesn't count"); }catch(failed_lookup&) { if(return_to.empty()) throw bad_input(OPKELE_CP_ -- cgit v0.9.0.2