projects
/
platform
/
core
/
security
/
key-manager.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix serious bug that causes crash on CKM exit.
[platform/core/security/key-manager.git]
/
src
/
manager
/
main
/
key-manager-main.cpp
diff --git
a/src/manager/main/key-manager-main.cpp
b/src/manager/main/key-manager-main.cpp
index
86f1fb7
..
71c76e7
100644
(file)
--- a/
src/manager/main/key-manager-main.cpp
+++ b/
src/manager/main/key-manager-main.cpp
@@
-29,7
+29,6
@@
#include <dpl/log/log.h>
#include <dpl/singleton.h>
#include <dpl/log/log.h>
#include <dpl/singleton.h>
-#include <dpl/singleton_safe_impl.h>
#include <socket-manager.h>
#include <socket-manager.h>
@@
-37,9
+36,7
@@
#include <ocsp-service.h>
#include <key-provider.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)
#define REGISTER_SOCKET_SERVICE(manager, service) \
registerSocketService<service>(manager, #service)
@@
-50,7
+47,7
@@
void registerSocketService(CKM::SocketManager &manager, const std::string& servi
T *service = NULL;
try {
service = new T();
T *service = NULL;
try {
service = new T();
- service->
Create
();
+ service->
Start
();
manager.RegisterSocketService(service);
service = NULL;
} catch (const CKM::Exception &exception) {
manager.RegisterSocketService(service);
service = NULL;
} catch (const CKM::Exception &exception) {
@@
-68,15
+65,18
@@
void registerSocketService(CKM::SocketManager &manager, const std::string& servi
}
int main(void) {
}
int main(void) {
-
- int ret;
- ret = system("/usr/bin/key-manager-listener");
- LogInfo("system return val : " << ret);
-
UNHANDLED_EXCEPTION_HANDLER_BEGIN
{
CKM::Singleton<CKM::Log::LogSystem>::Instance().SetTag("CKM");
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);
sigset_t mask;
sigemptyset(&mask);
sigaddset(&mask, SIGTERM);
@@
-85,7
+85,7
@@
int main(void) {
LogError("Error in pthread_sigmask");
return 1;
}
LogError("Error in pthread_sigmask");
return 1;
}
- LogInfo("Init external lib
l
aries SKMM and openssl");
+ LogInfo("Init external lib
r
aries SKMM and openssl");
SSL_load_error_strings();
SSL_library_init();
SSL_load_error_strings();
SSL_library_init();
@@
-93,7
+93,6
@@
int main(void) {
OPENSSL_config(NULL);
CKM::KeyProvider::initializeLibrary();
OPENSSL_config(NULL);
CKM::KeyProvider::initializeLibrary();
- CKM::CryptoService::initialize();
{
LogInfo("Start!");
{
LogInfo("Start!");
@@
-111,6
+110,10
@@
int main(void) {
EVP_cleanup();
ERR_free_strings();
}
EVP_cleanup();
ERR_free_strings();
}
+ catch (const std::runtime_error& e)
+ {
+ LogError(e.what());
+ }
UNHANDLED_EXCEPTION_HANDLER_END
return 0;
}
UNHANDLED_EXCEPTION_HANDLER_END
return 0;
}