|
|
@ -172,6 +172,7 @@ namespace openssl { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
static void remove(Engine *e) { |
|
|
|
static void remove(Engine *e) { |
|
|
|
|
|
|
|
OPENSSL_LOG("log"); |
|
|
|
OPENSSL_CHECK(ENGINE_remove(e->_e)); |
|
|
|
OPENSSL_CHECK(ENGINE_remove(e->_e)); |
|
|
|
OPENSSL_CHECK(ENGINE_finish(e->_e)); |
|
|
|
OPENSSL_CHECK(ENGINE_finish(e->_e)); |
|
|
|
_map.erase(e->_e); |
|
|
|
_map.erase(e->_e); |
|
|
@ -288,24 +289,30 @@ namespace openssl { |
|
|
|
template <class ENGINE=Engine> class RegisterEngine { |
|
|
|
template <class ENGINE=Engine> class RegisterEngine { |
|
|
|
public: |
|
|
|
public: |
|
|
|
RegisterEngine(ENGINE* e = 0): _e(e) { |
|
|
|
RegisterEngine(ENGINE* e = 0): _e(e) { |
|
|
|
|
|
|
|
OPENSSL_LOG("log"); |
|
|
|
if (_e) EngineMapper::add(_e); |
|
|
|
if (_e) EngineMapper::add(_e); |
|
|
|
} |
|
|
|
} |
|
|
|
~RegisterEngine() { |
|
|
|
~RegisterEngine() { |
|
|
|
|
|
|
|
OPENSSL_LOG("log"); |
|
|
|
if (_e) EngineMapper::remove(_e); |
|
|
|
if (_e) EngineMapper::remove(_e); |
|
|
|
} |
|
|
|
} |
|
|
|
RegisterEngine& operator=(ENGINE* e) { |
|
|
|
RegisterEngine& operator=(ENGINE* e) { |
|
|
|
|
|
|
|
OPENSSL_LOG("log"); |
|
|
|
if (_e) EngineMapper::remove(_e); |
|
|
|
if (_e) EngineMapper::remove(_e); |
|
|
|
_e = e; |
|
|
|
_e = e; |
|
|
|
if (_e) EngineMapper::add(_e); |
|
|
|
if (_e) EngineMapper::add(_e); |
|
|
|
return *this; |
|
|
|
return *this; |
|
|
|
} |
|
|
|
} |
|
|
|
operator ENGINE*() { |
|
|
|
operator ENGINE*() { |
|
|
|
|
|
|
|
OPENSSL_LOG("log"); |
|
|
|
return _e; |
|
|
|
return _e; |
|
|
|
} |
|
|
|
} |
|
|
|
ENGINE* operator->() { |
|
|
|
ENGINE* operator->() { |
|
|
|
|
|
|
|
OPENSSL_LOG("log"); |
|
|
|
return _e; |
|
|
|
return _e; |
|
|
|
} |
|
|
|
} |
|
|
|
ENGINE& operator*() { |
|
|
|
ENGINE& operator*() { |
|
|
|
|
|
|
|
OPENSSL_LOG("log"); |
|
|
|
return *_e; |
|
|
|
return *_e; |
|
|
|
} |
|
|
|
} |
|
|
|
private: |
|
|
|
private: |
|
|
|