author | Michael Krelin <hacker@klever.net> | 2008-04-05 13:36:58 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2008-04-05 13:36:58 (UTC) |
commit | 5d91c1f9eb443a13e36bb607d8c1b770e561888c (patch) (side-by-side diff) | |
tree | a759130a46bc6ad6cbc7b0b9bd772243ca1903da | |
parent | 748a2a29a5667f372bf355ed737208a952ff79f0 (diff) | |
download | libopkele-5d91c1f9eb443a13e36bb607d8c1b770e561888c.zip libopkele-5d91c1f9eb443a13e36bb607d8c1b770e561888c.tar.gz libopkele-5d91c1f9eb443a13e36bb607d8c1b770e561888c.tar.bz2 |
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 <hacker@klever.net>
-rw-r--r-- | lib/basic_op.cc | 6 |
1 files changed, 6 insertions, 0 deletions
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_ |