summaryrefslogtreecommitdiffabout
path: root/include/opkele/util.h
authorMichael Krelin <hacker@klever.net>2007-01-12 12:58:25 (UTC)
committer Michael Krelin <hacker@klever.net>2007-01-12 12:58:25 (UTC)
commite79687a3d9a1631613de02d8e12bae36302b46ab (patch) (unidiff)
tree4238c0d8d61f5e70ed1e98debb01315babb21686 /include/opkele/util.h
parent4cc2e58186e8cd9b96a3573c92f6664064cf11fe (diff)
downloadlibopkele-e79687a3d9a1631613de02d8e12bae36302b46ab.zip
libopkele-e79687a3d9a1631613de02d8e12bae36302b46ab.tar.gz
libopkele-e79687a3d9a1631613de02d8e12bae36302b46ab.tar.bz2
eliminated mimetic dependency and made use of openssl base64 encoder instead
Diffstat (limited to 'include/opkele/util.h') (more/less context) (show whitespace changes)
-rw-r--r--include/opkele/util.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/opkele/util.h b/include/opkele/util.h
index 5372498..80d8b03 100644
--- a/include/opkele/util.h
+++ b/include/opkele/util.h
@@ -1,22 +1,24 @@
1#ifndef __OPKELE_UTIL_H 1#ifndef __OPKELE_UTIL_H
2#define __OPKELE_UTIL_H 2#define __OPKELE_UTIL_H
3 3
4#include <time.h> 4#include <time.h>
5#include <string> 5#include <string>
6#include <vector>
6#include <openssl/bn.h> 7#include <openssl/bn.h>
7#include <openssl/dh.h> 8#include <openssl/dh.h>
8 9
9namespace opkele { 10namespace opkele {
10 using std::string; 11 using std::string;
12 using std::vector;
11 13
12 namespace util { 14 namespace util {
13 15
14 class bignum_t { 16 class bignum_t {
15 public: 17 public:
16 BIGNUM *_bn; 18 BIGNUM *_bn;
17 19
18 bignum_t() : _bn(0) { } 20 bignum_t() : _bn(0) { }
19 bignum_t(BIGNUM *bn) : _bn(bn) { } 21 bignum_t(BIGNUM *bn) : _bn(bn) { }
20 ~bignum_t() throw() { if(_bn) BN_free(_bn); } 22 ~bignum_t() throw() { if(_bn) BN_free(_bn); }
21 23
22 bignum_t& operator=(BIGNUM *bn) { if(_bn) BN_free(_bn); _bn = bn; return *this; } 24 bignum_t& operator=(BIGNUM *bn) { if(_bn) BN_free(_bn); _bn = bn; return *this; }
@@ -43,17 +45,20 @@ namespace opkele {
43 45
44 BIGNUM *base64_to_bignum(const string& b64); 46 BIGNUM *base64_to_bignum(const string& b64);
45 BIGNUM *dec_to_bignum(const string& dec); 47 BIGNUM *dec_to_bignum(const string& dec);
46 string bignum_to_base64(const BIGNUM *bn); 48 string bignum_to_base64(const BIGNUM *bn);
47 49
48 string time_to_w3c(time_t t); 50 string time_to_w3c(time_t t);
49 time_t w3c_to_time(const string& w); 51 time_t w3c_to_time(const string& w);
50 52
51 string url_encode(const string& str); 53 string url_encode(const string& str);
52 54
53 string long_to_string(long l); 55 string long_to_string(long l);
54 long string_to_long(const string& s); 56 long string_to_long(const string& s);
57
58 string encode_base64(const void *data,size_t length);
59 void decode_base64(const string& data,vector<unsigned char>& rv);
55 } 60 }
56 61
57} 62}
58 63
59#endif /* __OPKELE_UTIL_H */ 64#endif /* __OPKELE_UTIL_H */