From b4d138f8e34d8b0627dbd31aac4b4e8a6a646945 Mon Sep 17 00:00:00 2001 From: Thomas Date: Wed, 14 Jul 2021 07:19:45 +0200 Subject: [PATCH 1/5] Adjust Windows build file. Use _getpid instead of getpid (deprecated alias) --- build-windows/libpEpAdapter.vcxproj | 29 +- build-windows/libpEpAdapter.vcxproj.filters | 298 ++++++++++++++++++-- src/group_manager_api.cc | 3 +- src/group_manager_api.h | 3 +- src/pEpLog.cc | 4 +- src/pEpLog.hh | 8 +- 6 files changed, 287 insertions(+), 58 deletions(-) diff --git a/build-windows/libpEpAdapter.vcxproj b/build-windows/libpEpAdapter.vcxproj index 0471158..b2571a9 100644 --- a/build-windows/libpEpAdapter.vcxproj +++ b/build-windows/libpEpAdapter.vcxproj @@ -58,7 +58,7 @@ Level3 Disabled - WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + WIN32;_LIB;_EXPORT_PEP_ENGINE_DLL;_CRT_SECURE_NO_WARNINGS;_DEBUG;%(PreprocessorDefinitions) false @@ -73,7 +73,7 @@ MaxSpeed true true - WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + WIN32;_LIB;_EXPORT_PEP_ENGINE_DLL;_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions) false @@ -86,31 +86,10 @@ - - - - - - - - - + - - - - - - - - - - - - - - + diff --git a/build-windows/libpEpAdapter.vcxproj.filters b/build-windows/libpEpAdapter.vcxproj.filters index 1b95d5f..11f02dc 100644 --- a/build-windows/libpEpAdapter.vcxproj.filters +++ b/build-windows/libpEpAdapter.vcxproj.filters @@ -18,75 +18,327 @@ - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + Source Files - + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files - + Header Files diff --git a/src/group_manager_api.cc b/src/group_manager_api.cc index 1e5b735..4a83ec3 100644 --- a/src/group_manager_api.cc +++ b/src/group_manager_api.cc @@ -123,8 +123,7 @@ DYNAMIC_API PEP_STATUS adapter_group_query_groups(PEP_SESSION session, identity_ return status; } -DYNAMIC_API PEP_STATUS -adapter_group_query_manager(PEP_SESSION session, const pEp_identity *const group, pEp_identity **manager) +DYNAMIC_API PEP_STATUS adapter_group_query_manager(PEP_SESSION session, const pEp_identity *const group, pEp_identity **manager) { pEpLog("called"); PEP_STATUS status = adapter_grp_manager.group_query_manager(session, group, manager); diff --git a/src/group_manager_api.h b/src/group_manager_api.h index 2925220..354f585 100644 --- a/src/group_manager_api.h +++ b/src/group_manager_api.h @@ -79,8 +79,7 @@ DYNAMIC_API PEP_STATUS adapter_group_create( * @warning For recipients to accept the dissolution, the sender/manager key used must be a key that they * have a trust entry for. */ -DYNAMIC_API PEP_STATUS -adapter_group_dissolve(PEP_SESSION session, pEp_identity *group_identity, pEp_identity *manager); +DYNAMIC_API PEP_STATUS adapter_group_dissolve(PEP_SESSION session, pEp_identity *group_identity, pEp_identity *manager); /** * diff --git a/src/pEpLog.cc b/src/pEpLog.cc index 04458d6..733c517 100644 --- a/src/pEpLog.cc +++ b/src/pEpLog.cc @@ -78,7 +78,7 @@ namespace pEp { string decorate_centered(const string& msg, char decoration) { stringstream tmp; - int max_len = line_width - 10; + size_t max_len = line_width - 10; // truncate msg string msg_truncated = msg; if (msg.length() >= max_len) { @@ -115,7 +115,7 @@ namespace pEp { void pEpLogger::log(const string& msg, Utils::Color col) const { std::stringstream msg_; - msg_ << "[" << getpid() << " " << std::this_thread::get_id() << "]"; + msg_ << "[" << _getpid() << " " << std::this_thread::get_id() << "]"; msg_ << " - "; msg_ << this->get_classname() << "[" << this->get_instancename() << "]"; msg_ << " - " << msg; diff --git a/src/pEpLog.hh b/src/pEpLog.hh index ecff7ed..74b6fd4 100644 --- a/src/pEpLog.hh +++ b/src/pEpLog.hh @@ -49,7 +49,7 @@ do { \ if (pEp::Adapter::pEpLog::get_enabled()) { \ std::stringstream msg_; \ - msg_ << "[" << getpid() << " " << std::this_thread::get_id() << "]"; \ + msg_ << "[" << _getpid() << " " << std::this_thread::get_id() << "]"; \ msg_ << " - " << __FILE__ << "::" << __FUNCTION__; \ msg_ << " - " << msg; \ pEp::Adapter::pEpLog::log(msg_.str()); \ @@ -67,7 +67,7 @@ do { \ if (pEp::Adapter::pEpLog::get_enabled()) { \ std::stringstream msg_; \ - msg_ << "[" << getpid() << " " << std::this_thread::get_id() << "]"; \ + msg_ << "[" << _getpid() << " " << std::this_thread::get_id() << "]"; \ msg_ << " - " << __FILE__ << "::" << __FUNCTION__; \ msg_ << " - " << pEp::Adapter::pEpLog::decorateH1(msg); \ pEp::Adapter::pEpLog::log(msg_.str()); \ @@ -85,7 +85,7 @@ do { \ if (pEp::Adapter::pEpLog::get_enabled()) { \ std::stringstream msg_; \ - msg_ << "[" << getpid() << " " << std::this_thread::get_id() << "]"; \ + msg_ << "[" << _getpid() << " " << std::this_thread::get_id() << "]"; \ msg_ << " - " << __FILE__ << "::" << __FUNCTION__; \ msg_ << " - " << pEp::Adapter::pEpLog::decorateH2(msg); \ pEp::Adapter::pEpLog::log(msg_.str()); \ @@ -176,7 +176,7 @@ namespace pEp { #define pEpLogClass(msg) \ do { \ std::stringstream msg_; \ - msg_ << "[" << getpid() << " " << std::this_thread::get_id() << "]"; \ + msg_ << "[" << _getpid() << " " << std::this_thread::get_id() << "]"; \ msg_ << " - " << this->m4gic_logger_n4me.get_classname(); \ msg_ << "[" << this->m4gic_logger_n4me.get_instancename() << "]"; \ msg_ << "::" << __FUNCTION__; \ From d4b35f3536419d07d28740105e9ee06ac8bea4ac Mon Sep 17 00:00:00 2001 From: Thomas Date: Wed, 14 Jul 2021 08:43:23 +0200 Subject: [PATCH 2/5] path_ensure_not_existing() doesn't seem to be used on Windows... --- src/std_utils.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/std_utils.cc b/src/std_utils.cc index 9aa006a..138fff8 100644 --- a/src/std_utils.cc +++ b/src/std_utils.cc @@ -118,6 +118,7 @@ namespace pEp { return ss.str(); } +#ifndef WIN32 void path_ensure_not_existing(const string &path) { while (path_exists(path)) { @@ -125,7 +126,6 @@ namespace pEp { } } -#ifndef WIN32 void dir_create(const string &dirname, const mode_t mode) { if (mkdir(dirname.c_str(), mode) != 0) { From bbb2dd7b00d1f481012e62971b1c10c2b7a72f7a Mon Sep 17 00:00:00 2001 From: Thomas Date: Wed, 14 Jul 2021 11:20:33 +0200 Subject: [PATCH 3/5] Add reference to sqlite3, use _strdup() --- build-windows/libpEpAdapter.vcxproj | 3 + build-windows/libpEpAdapter.vcxproj.filters | 105 ++++++++++++++++++++ src/message_cache.cc | 2 +- 3 files changed, 109 insertions(+), 1 deletion(-) diff --git a/build-windows/libpEpAdapter.vcxproj b/build-windows/libpEpAdapter.vcxproj index b2571a9..3c2fbe5 100644 --- a/build-windows/libpEpAdapter.vcxproj +++ b/build-windows/libpEpAdapter.vcxproj @@ -60,6 +60,7 @@ Disabled WIN32;_LIB;_EXPORT_PEP_ENGINE_DLL;_CRT_SECURE_NO_WARNINGS;_DEBUG;%(PreprocessorDefinitions) false + $(ProjectDir)src; Windows @@ -75,6 +76,7 @@ true WIN32;_LIB;_EXPORT_PEP_ENGINE_DLL;_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions) false + $(ProjectDir)src; Windows @@ -87,6 +89,7 @@ + diff --git a/build-windows/libpEpAdapter.vcxproj.filters b/build-windows/libpEpAdapter.vcxproj.filters index 11f02dc..2409e1a 100644 --- a/build-windows/libpEpAdapter.vcxproj.filters +++ b/build-windows/libpEpAdapter.vcxproj.filters @@ -165,6 +165,54 @@ Source Files + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + @@ -341,5 +389,62 @@ Header Files + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + \ No newline at end of file diff --git a/src/message_cache.cc b/src/message_cache.cc index e83bad3..27fc35a 100644 --- a/src/message_cache.cc +++ b/src/message_cache.cc @@ -96,7 +96,7 @@ namespace pEp { if (!src) return nullptr; - char *dst = ::strdup(src); + char *dst = ::_strdup(src); assert(dst); if (!dst) throw std::bad_alloc(); From f1f8c0d49d0f1f11a5de5137af8bc53ccd0dad4c Mon Sep 17 00:00:00 2001 From: Thomas Date: Thu, 15 Jul 2021 07:38:28 +0200 Subject: [PATCH 4/5] Initialize status code --- src/group_manager_api.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/group_manager_api.cc b/src/group_manager_api.cc index 4a83ec3..11b4721 100644 --- a/src/group_manager_api.cc +++ b/src/group_manager_api.cc @@ -21,7 +21,7 @@ shared_ptr grp_drv_engine; DYNAMIC_API PEP_STATUS adapter_group_init() { - PEP_STATUS status; + PEP_STATUS status = PEP_STATUS_OK; try { const string lm_dummy_db_filename = "groups.db"; #ifdef WIN32 From c81ff7c14034cc15e015165194ea83cab2105a12 Mon Sep 17 00:00:00 2001 From: Thomas Date: Fri, 16 Jul 2021 07:39:17 +0200 Subject: [PATCH 5/5] Add missing header files to Windows project --- build-windows/libpEpAdapter.vcxproj | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build-windows/libpEpAdapter.vcxproj b/build-windows/libpEpAdapter.vcxproj index 3c2fbe5..2c6db44 100644 --- a/build-windows/libpEpAdapter.vcxproj +++ b/build-windows/libpEpAdapter.vcxproj @@ -92,7 +92,9 @@ + +