summaryrefslogtreecommitdiffabout
path: root/include
Unidiff
Diffstat (limited to 'include') (more/less context) (ignore whitespace changes)
-rw-r--r--include/opkele/util-internal.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/opkele/util-internal.h b/include/opkele/util-internal.h
index ec091ce..258e129 100644
--- a/include/opkele/util-internal.h
+++ b/include/opkele/util-internal.h
@@ -1,53 +1,54 @@
1#ifndef __OPKELE_UTIL_INTERNAL_H 1#ifndef __OPKELE_UTIL_INTERNAL_H
2#define __OPKELE_UTIL_INTERNAL_H 2#define __OPKELE_UTIL_INTERNAL_H
3 3
4#include <openssl/bn.h> 4#include <openssl/bn.h>
5#include <openssl/dh.h> 5#include <openssl/dh.h>
6#include <opkele/types.h>
6 7
7namespace opkele { 8namespace opkele {
8 namespace util { 9 namespace util {
9 10
10 /** 11 /**
11 * Convenience class encapsulating SSL BIGNUM object for the purpose of 12 * Convenience class encapsulating SSL BIGNUM object for the purpose of
12 * automatical freeing. 13 * automatical freeing.
13 */ 14 */
14 class bignum_t { 15 class bignum_t {
15 public: 16 public:
16 BIGNUM *_bn; 17 BIGNUM *_bn;
17 18
18 bignum_t() : _bn(0) { } 19 bignum_t() : _bn(0) { }
19 bignum_t(BIGNUM *bn) : _bn(bn) { } 20 bignum_t(BIGNUM *bn) : _bn(bn) { }
20 ~bignum_t() throw() { if(_bn) BN_free(_bn); } 21 ~bignum_t() throw() { if(_bn) BN_free(_bn); }
21 22
22 bignum_t& operator=(BIGNUM *bn) { if(_bn) BN_free(_bn); _bn = bn; return *this; } 23 bignum_t& operator=(BIGNUM *bn) { if(_bn) BN_free(_bn); _bn = bn; return *this; }
23 24
24 operator const BIGNUM*(void) const { return _bn; } 25 operator const BIGNUM*(void) const { return _bn; }
25 operator BIGNUM*(void) { return _bn; } 26 operator BIGNUM*(void) { return _bn; }
26 }; 27 };
27 /** 28 /**
28 * Convenience clas encapsulating SSL DH object for the purpose of 29 * Convenience clas encapsulating SSL DH object for the purpose of
29 * automatic freeing. 30 * automatic freeing.
30 */ 31 */
31 class dh_t { 32 class dh_t {
32 public: 33 public:
33 DH *_dh; 34 DH *_dh;
34 35
35 dh_t() : _dh(0) { } 36 dh_t() : _dh(0) { }
36 dh_t(DH *dh) : _dh(dh) { } 37 dh_t(DH *dh) : _dh(dh) { }
37 ~dh_t() throw() { if(_dh) DH_free(_dh); } 38 ~dh_t() throw() { if(_dh) DH_free(_dh); }
38 39
39 dh_t& operator=(DH *dh) { if(_dh) DH_free(_dh); _dh = dh; return *this; } 40 dh_t& operator=(DH *dh) { if(_dh) DH_free(_dh); _dh = dh; return *this; }
40 41
41 operator const DH*(void) const { return _dh; } 42 operator const DH*(void) const { return _dh; }
42 operator DH*(void) { return _dh; } 43 operator DH*(void) { return _dh; }
43 44
44 DH* operator->() { return _dh; } 45 DH* operator->() { return _dh; }
45 const DH* operator->() const { return _dh; } 46 const DH* operator->() const { return _dh; }
46 }; 47 };
47 48
48 /** 49 /**
49 * Convert base64-encoded SSL BIGNUM to internal representation. 50 * Convert base64-encoded SSL BIGNUM to internal representation.
50 * @param b64 base64-encoded number 51 * @param b64 base64-encoded number
51 * @return SSL BIGNUM 52 * @return SSL BIGNUM
52 * @throw failed_conversion in case of error 53 * @throw failed_conversion in case of error
53 */ 54 */