summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--include/opkele/exception.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/opkele/exception.h b/include/opkele/exception.h
index 64f189e..d003ce4 100644
--- a/include/opkele/exception.h
+++ b/include/opkele/exception.h
@@ -163,48 +163,66 @@ namespace opkele {
string setup_url;
id_res_setup(OPKELE_E_PARS,const string& su)
: id_res_failed(OPKELE_E_CONS), setup_url(su) { }
~id_res_setup() throw() { }
};
/**
* thrown in case of signature mismatch
*/
class id_res_mismatch : public id_res_failed {
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) { }
};
/**
+ * thown when the user cancelled authentication process.
+ */
+ class id_res_cancel : public id_res_failed {
+ public:
+ id_res_cancel(OPKELE_E_PARS)
+ : id_res_failed(OPKELE_E_CONS) { }
+ };
+
+ /**
+ * thrown in case of nonce reuse or otherwise imperfect nonce.
+ */
+ class id_res_bad_nonce : public id_res_failed {
+ public:
+ id_res_bad_nonce(OPKELE_E_PARS)
+ : id_res_failed(OPKELE_E_CONS) { }
+ };
+
+ /**
* openssl malfunction occured
*/
class exception_openssl : public exception {
public:
unsigned long _error;
string _ssl_string;
exception_openssl(OPKELE_E_PARS);
~exception_openssl() throw() { }
};
/**
* network operation related error occured
*/
class exception_network : public exception {
public:
exception_network(OPKELE_E_PARS)
: exception(OPKELE_E_CONS) { }
};
/**
* network operation related error occured, specifically, related to
* libcurl
*/
class exception_curl : public exception_network {