summaryrefslogtreecommitdiffabout
path: root/include
Side-by-side diff
Diffstat (limited to 'include') (more/less context) (ignore whitespace changes)
-rw-r--r--include/opkele/consumer.h2
-rw-r--r--include/opkele/util.h1
2 files changed, 2 insertions, 1 deletions
diff --git a/include/opkele/consumer.h b/include/opkele/consumer.h
index b9c29bd..3c0ed5f 100644
--- a/include/opkele/consumer.h
+++ b/include/opkele/consumer.h
@@ -67,69 +67,71 @@ namespace opkele {
* openid.delegate value (if any)
*/
virtual void retrieve_links(const string& url,string& server,string& delegate);
/**
* perform the associate request to OpenID server.
* @param server the OpenID server
* @return the auto_ptr<> for the newly allocated association_t
* object, representing established association
* @throw exception in case of error
*/
assoc_t associate(const string& server);
/**
* prepare the parameters for the checkid_immediate
* request.
* @param identity the identity to verify
* @param return_to the return_to url to pass with the request
* @param trust_root the trust root to advertise with the request
* @return the location string
* @throw exception in case of error
*/
string checkid_immediate(const string& identity,const string& return_to,const string& trust_root="");
/**
* prepare the parameters for the checkid_setup
* request.
* @param identity the identity to verify
* @param return_to the return_to url to pass with the request
* @param trust_root the trust root to advertise with the request
* @return the location string
* @throw exception in case of error
*/
string checkid_setup(const string& identity,const string& return_to,const string& trust_root="");
/**
* the actual implementation behind checkid_immediate() and
* checkid_setup() functions.
* @param mode checkid_* mode - either mode_checkid_immediate or mode_checkid_setup
* @param identity the identity to verify
* @param return_to the return_to url to pass with the request
* @param trust_root the trust root to advertise with the request
* @return the location string
* @throw exception in case of error
*/
string checkid_(mode_t mode,const string& identity,const string& return_to,const string& trust_root="");
/**
* verify the id_res response
* @param pin the response parameters
* @param identity the identity being checked (if not specified, 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 exception in case of other failures
*/
void id_res(const params_t& pin,const string& identity="");
/**
* perform a check_authentication request.
* @param server the OpenID server
* @param p request parameters
*/
void check_authentication(const string& server,const params_t& p);
+ static string canonicalize(const string& url);
+
};
}
#endif /* __OPKELE_CONSUMER_H */
diff --git a/include/opkele/util.h b/include/opkele/util.h
index fbbef93..5372498 100644
--- a/include/opkele/util.h
+++ b/include/opkele/util.h
@@ -1,60 +1,59 @@
#ifndef __OPKELE_UTIL_H
#define __OPKELE_UTIL_H
#include <time.h>
#include <string>
#include <openssl/bn.h>
#include <openssl/dh.h>
namespace opkele {
using std::string;
namespace util {
class bignum_t {
public:
BIGNUM *_bn;
bignum_t() : _bn(0) { }
bignum_t(BIGNUM *bn) : _bn(bn) { }
~bignum_t() throw() { if(_bn) BN_free(_bn); }
bignum_t& operator=(BIGNUM *bn) { if(_bn) BN_free(_bn); _bn = bn; return *this; }
operator const BIGNUM*(void) const { return _bn; }
operator BIGNUM*(void) { return _bn; }
};
class dh_t {
public:
DH *_dh;
dh_t() : _dh(0) { }
dh_t(DH *dh) : _dh(dh) { }
~dh_t() throw() { if(_dh) DH_free(_dh); }
dh_t& operator=(DH *dh) { if(_dh) DH_free(_dh); _dh = dh; return *this; }
operator const DH*(void) const { return _dh; }
operator DH*(void) { return _dh; }
DH* operator->() { return _dh; }
const DH* operator->() const { return _dh; }
};
BIGNUM *base64_to_bignum(const string& b64);
BIGNUM *dec_to_bignum(const string& dec);
string bignum_to_base64(const BIGNUM *bn);
string time_to_w3c(time_t t);
time_t w3c_to_time(const string& w);
- string canonicalize_url(const string& url);
string url_encode(const string& str);
string long_to_string(long l);
long string_to_long(const string& s);
}
}
#endif /* __OPKELE_UTIL_H */