summaryrefslogtreecommitdiffabout
path: root/include
authorMichael Krelin <hacker@klever.net>2007-12-09 22:10:49 (UTC)
committer Michael Krelin <hacker@klever.net>2007-12-09 22:10:49 (UTC)
commit2e7bf3278c3e13baaa32c7ec8c2b3fdc4780a080 (patch) (side-by-side diff)
treed36530a517425d2507df8e9550fbcc48fba48c5f /include
parentc34adc6e274c3dbb63af99ca566000e7d218244c (diff)
parent7a6a6fbcf7e20f0d7da5f625a73c865b361f16aa (diff)
downloadlibopkele-2e7bf3278c3e13baaa32c7ec8c2b3fdc4780a080.zip
libopkele-2e7bf3278c3e13baaa32c7ec8c2b3fdc4780a080.tar.gz
libopkele-2e7bf3278c3e13baaa32c7ec8c2b3fdc4780a080.tar.bz2
Merge branch 'next' into devel/xri
Diffstat (limited to 'include') (more/less context) (ignore whitespace changes)
-rw-r--r--include/opkele/consumer.h6
-rw-r--r--include/opkele/exception.h9
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;