From 7b5931685caf55b7b974cb759e5018dbcf1a75c9 Mon Sep 17 00:00:00 2001 From: open-license-manager <rillf@maildrop.cc> Date: 周一, 04 8月 2014 06:01:22 +0800 Subject: [PATCH] windows --- src/library/api/datatypes.h | 2 src/library/base/EventRegistry.cpp | 18 +++++---- src/library/LicenseReader.cpp | 32 ++++++++-------- CMakeLists.txt | 14 ++++--- src/library/base/StringUtils.cpp | 4 ++ 5 files changed, 39 insertions(+), 31 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index cf99d3d..46a4e1f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,7 +12,7 @@ SET(CMAKE_DISABLE_SOURCE_CHANGES OFF) SET(CMAKE_DISABLE_IN_SOURCE_BUILD ON) -project (license++ C CXX) + SET(CMAKE_VERBOSE_MAKEFILE ON CACHE BOOL "CMake verbose" FORCE) SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib) @@ -24,7 +24,7 @@ SET(CMAKE_EXE_LINKER_FLAGS "/machine:X64 /INCREMENTAL:NO" CACHE STRING "Linker flags") endif(CMAKE_CL_64) SET(CMAKE_FIND_LIBRARY_SUFFIXES .lib ) #${CMAKE_FIND_LIBRARY_SUFFIXES} - set_property(DIRECTORY PROPERTY COMPILE_DEFINITIONS_DEBUG _CRT_SECURE_NO_WARNINGS) + add_definitions("/D_CRT_SECURE_NO_WARNINGS") else(WIN32) SET(PLATFORM_LIBS "m") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pipe -fmessage-length=0 -std=c++11 -Wall -Wuninitialized -fPIC") @@ -37,6 +37,8 @@ SET(CMAKE_INSTALL_PREFIX "/usr/local" CACHE PATH "Install path prefix" FORCE) ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) endif(WIN32) + +project (license++ C CXX) if(CMAKE_SIZEOF_VOID_P EQUAL 8) SET(HAVE_64BIT_SIZE_T 1) @@ -58,12 +60,12 @@ #include_directories(${Boost_INCLUDE_DIRS}) #link_directories ( ${Boost_LIBRARY_DIRS} ) -#find a static version of openssl crypto library -find_package(OpenSSL REQUIRED) -include_directories(${OPENSSL_INCLUDE_DIR}) -list(APPEND EXTERNAL_LIBS ${OPENSSL_CRYPTO_LIBRARY}) if(NOT WIN32) + #find a static version of openssl crypto library + find_package(OpenSSL REQUIRED) + include_directories(${OPENSSL_INCLUDE_DIR}) + list(APPEND EXTERNAL_LIBS ${OPENSSL_CRYPTO_LIBRARY}) FIND_PACKAGE(Dbus REQUIRED) include_directories(${DBUS_INCLUDE_DIR}) include_directories(${DBUS_ARCH_INCLUDE_DIR}) diff --git a/src/library/LicenseReader.cpp b/src/library/LicenseReader.cpp index 05762c4..f9f7531 100644 --- a/src/library/LicenseReader.cpp +++ b/src/library/LicenseReader.cpp @@ -52,17 +52,17 @@ bool sigVerified = OsFunctions::verifySignature(printForSign().c_str(), license_signature.c_str()); if (sigVerified) { - er.addEvent(LICENSE_VERIFIED, INFO); + er.addEvent(LICENSE_VERIFIED, SVRT_INFO); } else { - er.addEvent(LICENSE_CORRUPTED, SEVERITY_ERROR); + er.addEvent(LICENSE_CORRUPTED, SVRT_ERROR); } if (has_expiry) { time_t now = time(NULL); if (expires_on() < now) { - er.addEvent(PRODUCT_EXPIRED, SEVERITY_ERROR, ""); + er.addEvent(PRODUCT_EXPIRED, SVRT_ERROR, ""); } if (valid_from() > now) { - er.addEvent(PRODUCT_EXPIRED, SEVERITY_ERROR); + er.addEvent(PRODUCT_EXPIRED, SVRT_ERROR); } } if (has_client_sig) { @@ -70,7 +70,7 @@ strncpy(str_code, client_signature.c_str(), sizeof(str_code)); EVENT_TYPE event = validate_pc_signature(str_code); if (event != LICENSE_OK) { - er.addEvent(event, SEVERITY_ERROR); + er.addEvent(event, SVRT_ERROR); } } return er; @@ -114,7 +114,7 @@ ini.Reset(); SI_Error rc = ini.LoadFile((*it).c_str()); if (rc < 0) { - result.addEvent(FILE_FORMAT_NOT_RECOGNIZED, SEVERITY_WARN, *it); + result.addEvent(FILE_FORMAT_NOT_RECOGNIZED, SVRT_WARN, *it); continue; } else { loadAtLeastOneFile = true; @@ -122,7 +122,7 @@ const char* productNamePtr = product.c_str(); int sectionSize = ini.GetSectionSize(productNamePtr); if (sectionSize <= 0) { - result.addEvent(PRODUCT_NOT_LICENSED, SEVERITY_WARN, *it); + result.addEvent(PRODUCT_NOT_LICENSED, SVRT_WARN, *it); continue; } else { atLeastOneProductLicensed = true; @@ -162,7 +162,7 @@ licenseInfoOut.push_back(licInfo); atLeastOneLicenseComplete = true; } else { - result.addEvent(LICENSE_MALFORMED, SEVERITY_WARN, *it); + result.addEvent(LICENSE_MALFORMED, SVRT_WARN, *it); } } if (!loadAtLeastOneFile) { @@ -193,11 +193,11 @@ for (auto it = existing_pos.begin(); it != existing_pos.end(); ++it) { diskFiles.push_back(*it); - eventRegistry.addEvent(LICENSE_FILE_FOUND, INFO, *it); + eventRegistry.addEvent(LICENSE_FILE_FOUND, SVRT_INFO, *it); } } } else { - eventRegistry.addEvent(LICENSE_FILE_NOT_FOUND, SEVERITY_WARN, + eventRegistry.addEvent(LICENSE_FILE_NOT_FOUND, SVRT_WARN, varName); } } @@ -223,19 +223,19 @@ for (auto it = existing_pos.begin(); it != existing_pos.end(); ++it) { diskFiles.push_back(*it); - eventRegistry.addEvent(LICENSE_FILE_FOUND, INFO, *it); + eventRegistry.addEvent(LICENSE_FILE_FOUND, SVRT_INFO, *it); } } else { eventRegistry.addEvent(LICENSE_FILE_NOT_FOUND, - SEVERITY_WARN, env_var_value); + SVRT_WARN, env_var_value); } } else { eventRegistry.addEvent(ENVIRONMENT_VARIABLE_NOT_DEFINED, - SEVERITY_WARN); + SVRT_WARN); } } else { eventRegistry.addEvent(ENVIRONMENT_VARIABLE_NOT_DEFINED, - SEVERITY_WARN); + SVRT_WARN); } } return licenseFileFoundWithEnvVariable; @@ -252,9 +252,9 @@ if (f.good()) { foundNearModule = true; diskFiles.push_back(temptativeLicense); - eventRegistry.addEvent(LICENSE_FILE_FOUND, INFO, temptativeLicense); + eventRegistry.addEvent(LICENSE_FILE_FOUND, SVRT_INFO, temptativeLicense); } else { - eventRegistry.addEvent(LICENSE_FILE_NOT_FOUND, SEVERITY_WARN, + eventRegistry.addEvent(LICENSE_FILE_NOT_FOUND, SVRT_WARN, temptativeLicense); } f.close(); diff --git a/src/library/api/datatypes.h b/src/library/api/datatypes.h index 0326fb4..b49a06e 100644 --- a/src/library/api/datatypes.h +++ b/src/library/api/datatypes.h @@ -49,7 +49,7 @@ } LICENSE_TYPE; typedef enum { - INFO, SEVERITY_WARN, SEVERITY_ERROR + SVRT_INFO, SVRT_WARN, SVRT_ERROR } SEVERITY; typedef struct { diff --git a/src/library/base/EventRegistry.cpp b/src/library/base/EventRegistry.cpp index 12a7ab2..beefa29 100644 --- a/src/library/base/EventRegistry.cpp +++ b/src/library/base/EventRegistry.cpp @@ -10,6 +10,8 @@ #include <string.h> #include <algorithm> +using namespace std; + namespace license { EventRegistry::EventRegistry() { } @@ -33,7 +35,7 @@ void EventRegistry::turnLastEventIntoError() { if (logs.size() > 0) { - logs.back().severity = SEVERITY_ERROR; + logs.back().severity = SVRT_ERROR; } } @@ -41,7 +43,7 @@ bool eventFound = false; for (auto it = logs.begin(); it != logs.end(); ++it) { if (it->event_type == event) { - it->severity = SEVERITY_ERROR; + it->severity = SVRT_ERROR; eventFound = true; } } @@ -56,7 +58,7 @@ auto it = logs.end(); do { --it; - if (it->severity == SEVERITY_ERROR) { + if (it->severity == SVRT_ERROR) { result = &(*it); break; } @@ -68,7 +70,7 @@ bool EventRegistry::isGood() const { bool isGood = true; for (auto it = logs.begin(); it != logs.end(); ++it) { - if (it->severity == SEVERITY_ERROR) { + if (it->severity == SVRT_ERROR) { isGood = false; break; } @@ -77,7 +79,7 @@ } void EventRegistry::addError(EVENT_TYPE event) { - addEvent(event, SEVERITY_ERROR); + addEvent(event, SVRT_ERROR); } void EventRegistry::addEvent(EVENT_TYPE event, SEVERITY severity) { @@ -102,8 +104,8 @@ bool EventRegistry::turnErrosIntoWarnings() { bool eventFound = false; for (auto it = logs.begin(); it != logs.end(); ++it) { - if (it->severity == SEVERITY_ERROR) { - it->severity = SEVERITY_WARN; + if (it->severity == SVRT_ERROR) { + it->severity = SVRT_WARN; eventFound = true; } } @@ -111,7 +113,7 @@ } void EventRegistry::exportLastEvents(AuditEvent* auditEvents, int nlogs) { - int sizeToCopy = std::min(nlogs, (int) logs.size()); + int sizeToCopy = min(nlogs, (int) logs.size()); std::copy(logs.begin(), logs.begin() + sizeToCopy, auditEvents); } } diff --git a/src/library/base/StringUtils.cpp b/src/library/base/StringUtils.cpp index 14b9bc6..33e055a 100644 --- a/src/library/base/StringUtils.cpp +++ b/src/library/base/StringUtils.cpp @@ -12,6 +12,10 @@ #include <cstring> #include <algorithm> +#ifdef WIN32 +#include <time.h> //mktime under windows +#endif + namespace license { using namespace std; -- Gitblit v1.9.1