Diffstat (limited to 'include/opkele/util-internal.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | include/opkele/util-internal.h | 1 |
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,37 +1,38 @@ | |||
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 | ||
7 | namespace opkele { | 8 | namespace 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); } |