aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstate.cpp
diff options
context:
space:
mode:
authorlloyd <[email protected]>2006-06-24 02:06:30 +0000
committerlloyd <[email protected]>2006-06-24 02:06:30 +0000
commit5ff46baa0e2211e660c6925f5c42153c70eb1b11 (patch)
tree448cd34eec0238e43c1cb5808030c012aecde1ce /src/libstate.cpp
parent37a5509d230f4a84fbaa5a889cb40e19a2b0c0ad (diff)
Add an X509_GlobalState pointer to the library state.
Initial implementation of a factory for extension objects
Diffstat (limited to 'src/libstate.cpp')
-rw-r--r--src/libstate.cpp24
1 files changed, 21 insertions, 3 deletions
diff --git a/src/libstate.cpp b/src/libstate.cpp
index 2b7636cdf..ed0f685d7 100644
--- a/src/libstate.cpp
+++ b/src/libstate.cpp
@@ -4,8 +4,9 @@
*************************************************/
#include <botan/libstate.h>
-#include <botan/stl_util.h>
#include <botan/engine.h>
+#include <botan/x509stat.h>
+#include <botan/stl_util.h>
#include <botan/mutex.h>
#include <botan/timers.h>
#include <botan/charset.h>
@@ -78,7 +79,7 @@ Engine* Library_State::Engine_Iterator::next()
/*************************************************
* Get a new mutex object *
*************************************************/
-Mutex* Library_State::get_mutex()
+Mutex* Library_State::get_mutex() const
{
return mutex_factory->make();
}
@@ -295,6 +296,22 @@ std::string Library_State::transcode(const std::string str,
}
/*************************************************
+* Set the X509 global state class *
+*************************************************/
+void Library_State::set_x509_state(X509_GlobalState* new_x509_state_obj)
+ {
+ x509_state_obj = new_x509_state_obj;
+ }
+
+/*************************************************
+* Set the X509 global state class *
+*************************************************/
+X509_GlobalState& Library_State::x509_state() const
+ {
+ return (*x509_state_obj);
+ }
+
+/*************************************************
* Library_State Constructor *
*************************************************/
Library_State::Library_State(Mutex_Factory* mutex_factory, Timer* timer)
@@ -314,6 +331,7 @@ Library_State::Library_State(Mutex_Factory* mutex_factory, Timer* timer)
locks["engine"] = get_mutex();
rng = 0;
cached_default_allocator = 0;
+ x509_state_obj = 0;
set_default_policy();
}
@@ -325,6 +343,7 @@ Library_State::~Library_State()
{
cached_default_allocator = 0;
delete rng;
+ delete x509_state_obj;
for(u32bit j = 0; j != entropy_sources.size(); ++j)
delete entropy_sources[j];
@@ -349,4 +368,3 @@ Library_State::~Library_State()
}
}
-n