summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (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,29 +1,30 @@
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.