#include <dpl/log/log.h>
#include <dpl/singleton.h>
-#include <dpl/singleton_safe_impl.h>
#include <socket-manager.h>
-#include <echo.h>
#include <ckm-service.h>
+#include <ocsp-service.h>
#include <key-provider.h>
-#include <CryptoService.h>
-
-IMPLEMENT_SAFE_SINGLETON(CKM::Log::LogSystem);
+#include <file-system.h>
#define REGISTER_SOCKET_SERVICE(manager, service) \
registerSocketService<service>(manager, #service)
T *service = NULL;
try {
service = new T();
- service->Create();
+ service->Start();
manager.RegisterSocketService(service);
service = NULL;
} catch (const CKM::Exception &exception) {
}
int main(void) {
-
UNHANDLED_EXCEPTION_HANDLER_BEGIN
{
CKM::Singleton<CKM::Log::LogSystem>::Instance().SetTag("CKM");
+ int retCode = CKM::FileSystem::init();
+ if (retCode) {
+ LogError("Fatal error in FileSystem::init()");
+ return 1;
+ }
+
+ CKM::FileLock fl = CKM::FileSystem::lock();
+
sigset_t mask;
sigemptyset(&mask);
sigaddset(&mask, SIGTERM);
LogError("Error in pthread_sigmask");
return 1;
}
- LogInfo("Init external liblaries SKMM and openssl");
+ LogInfo("Init external libraries SKMM and openssl");
SSL_load_error_strings();
SSL_library_init();
OPENSSL_config(NULL);
CKM::KeyProvider::initializeLibrary();
- CKM::CryptoService::initialize();
{
LogInfo("Start!");
CKM::SocketManager manager;
- REGISTER_SOCKET_SERVICE(manager, CKM::EchoService);
REGISTER_SOCKET_SERVICE(manager, CKM::CKMService);
+ REGISTER_SOCKET_SERVICE(manager, CKM::OCSPService);
manager.MainLoop();
}
EVP_cleanup();
ERR_free_strings();
}
+ catch (const std::runtime_error& e)
+ {
+ LogError(e.what());
+ }
UNHANDLED_EXCEPTION_HANDLER_END
return 0;
}