author | Michael Krelin <hacker@klever.net> | 2007-12-09 22:10:49 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2007-12-09 22:10:49 (UTC) |
commit | 2e7bf3278c3e13baaa32c7ec8c2b3fdc4780a080 (patch) (side-by-side diff) | |
tree | d36530a517425d2507df8e9550fbcc48fba48c5f /include | |
parent | c34adc6e274c3dbb63af99ca566000e7d218244c (diff) | |
parent | 7a6a6fbcf7e20f0d7da5f625a73c865b361f16aa (diff) | |
download | libopkele-2e7bf3278c3e13baaa32c7ec8c2b3fdc4780a080.zip libopkele-2e7bf3278c3e13baaa32c7ec8c2b3fdc4780a080.tar.gz libopkele-2e7bf3278c3e13baaa32c7ec8c2b3fdc4780a080.tar.bz2 |
Merge branch 'next' into devel/xri
-rw-r--r-- | include/opkele/consumer.h | 6 | ||||
-rw-r--r-- | include/opkele/exception.h | 9 |
2 files changed, 15 insertions, 0 deletions
diff --git a/include/opkele/consumer.h b/include/opkele/consumer.h index 50ff692..c463787 100644 --- a/include/opkele/consumer.h +++ b/include/opkele/consumer.h @@ -64,12 +64,17 @@ namespace opkele { * * @note * The user is responsible for handling associations and this * function should never return an expired or invalidated * association. * + * @note + * It may be a good idea to pre-expire associations shortly before + * their time is really up to avoid association expiry in the + * middle of negotiations. + * * @param server the OpenID server * @return the auto_ptr<> for the newly allocated association_t object * @throw failed_lookup in case of absence of the handle */ virtual assoc_t find_assoc(const string& server); @@ -134,12 +139,13 @@ namespace opkele { * @param ext pointer to an extension(s) hooks object * extracted from the openid.identity parameter * @throw id_res_mismatch in case of signature mismatch * @throw id_res_setup in case of openid.user_setup_url failure * (supposedly checkid_immediate only) * @throw id_res_failed in case of failure + * @throw id_res_expired_on_delivery if the association expired before it could've been verified * @throw exception in case of other failures */ virtual void id_res(const params_t& pin,const string& identity="",extension_t *ext=0); /** * perform a check_authentication request. * @param server the OpenID server diff --git a/include/opkele/exception.h b/include/opkele/exception.h index a654d59..8913665 100644 --- a/include/opkele/exception.h +++ b/include/opkele/exception.h @@ -167,12 +167,21 @@ namespace opkele { public: id_res_mismatch(OPKELE_E_PARS) : id_res_failed(OPKELE_E_CONS) { } }; /** + * thrown if the association has expired before it could've been verified. + */ + class id_res_expired_on_delivery : public id_res_failed { + public: + id_res_expired_on_delivery(OPKELE_E_PARS) + : id_res_failed(OPKELE_E_CONS) { } + }; + + /** * openssl malfunction occured */ class exception_openssl : public exception { public: unsigned long _error; string _ssl_string; |