From 8d405b265285c368df2e9cf1c14acee7532e0ee7 Mon Sep 17 00:00:00 2001
From: nancy.liao <huihui.liao@greentest.com.cn>
Date: 周四, 29 5月 2025 18:14:38 +0800
Subject: [PATCH] Merge branch 'develop' of http://139.9.88.116:3000/r/module/open-license-manager into develop

---
 src/library/LicenseReader.cpp |   31 ++++++++++++++-----------------
 1 files changed, 14 insertions(+), 17 deletions(-)

diff --git a/src/library/LicenseReader.cpp b/src/library/LicenseReader.cpp
index 0bb9262..bc45adb 100644
--- a/src/library/LicenseReader.cpp
+++ b/src/library/LicenseReader.cpp
@@ -22,28 +22,26 @@
 #include <stdlib.h>
 #include <math.h>
 
-#include <public_key.h>
-#include <licensecc_properties.h>
 #include <licensecc/licensecc.h>
 
 #include "base/base.h"
-#include "pc-identifiers.h"
 #include "LicenseReader.hpp"
-#include "base/StringUtils.h"
+#include "base/string_utils.h"
 #include "base/logger.h"
 #include "locate/LocatorFactory.hpp"
 
 namespace license {
+using namespace std;
 
 FullLicenseInfo::FullLicenseInfo(const string &source, const string &product, const string &license_signature)
 	: source(source),
 	  m_project(product),  //
-	  license_signature(license_signature) {}
+	  license_signature(license_signature),
+	  m_magic(0) {}
 
 LicenseReader::LicenseReader(const LicenseLocation *licenseLocation) : licenseLocation(licenseLocation) {}
 
-EventRegistry LicenseReader::readLicenses(const string &product, vector<FullLicenseInfo> &licenseInfoOut) {
-	vector<string> diskFiles;
+EventRegistry LicenseReader::readLicenses(const string &product, vector<FullLicenseInfo> &licenseInfoOut) const {
 	vector<unique_ptr<locate::LocatorStrategy>> locator_strategies;
 	FUNCTION_RETURN ret = locate::LocatorFactory::get_active_strategies(locator_strategies, licenseLocation);
 	EventRegistry eventRegistry;
@@ -54,6 +52,8 @@
 	}
 
 	bool atLeastOneLicenseComplete = false;
+	const string product_up = toupper_copy(product);
+	const char *productNamePtr = product_up.c_str();
 	for (unique_ptr<locate::LocatorStrategy> &locator : locator_strategies) {
 		vector<string> licenseLocations = locator->license_locations(eventRegistry);
 		if (licenseLocations.size() == 0) {
@@ -62,13 +62,12 @@
 		CSimpleIniA ini;
 		for (auto it = licenseLocations.begin(); it != licenseLocations.end(); it++) {
 			ini.Reset();
-			string license = locator->retrieve_license_content((*it).c_str());
+			const string license = locator->retrieve_license_content((*it).c_str());
 			const SI_Error rc = ini.LoadData(license.c_str(), license.size());
 			if (rc < 0) {
 				eventRegistry.addEvent(FILE_FORMAT_NOT_RECOGNIZED, *it);
 				continue;
 			}
-			const char *productNamePtr = product.c_str();
 			const int sectionSize = ini.GetSectionSize(productNamePtr);
 			if (sectionSize <= 0) {
 				eventRegistry.addEvent(PRODUCT_NOT_LICENSED, *it);
@@ -81,13 +80,14 @@
 			 *  sw_version_to = (optional int)
 			 *  from_date = YYYY-MM-DD (optional)
 			 *  to_date  = YYYY-MM-DD (optional)
-			 *  client_signature = XXXX-XXXX-XXXX-XXXX (optional string 16)
+			 *  client_signature = XXXX-XXXX-XXXX (optional string 16)
 			 *  sig = XXXXXXXXXX (mandatory, 1024)
 			 *  application_data = xxxxxxxxx (optional string 16)
 			 */
-			const char *license_signature = ini.GetValue(productNamePtr, "sig", nullptr);
-			long license_version = ini.GetLongValue(productNamePtr, "lic_ver", -1);
-			if (license_signature != nullptr && license_version == 200) {
+			const char *license_signature = ini.GetValue(productNamePtr, LICENSE_SIGNATURE, nullptr);
+			//娌℃湁鐢ㄨ繖涓猯icense_version浜� 涓嶉渶瑕佽
+			// long license_version = ini.GetLongValue(productNamePtr, LICENSE_VERSION, -1);
+			if (license_signature != nullptr /*&& license_version == 200*/) {
 				CSimpleIniA::TNamesDepend keys;
 				ini.GetAllKeys(productNamePtr, keys);
 				FullLicenseInfo licInfo(*it, product, license_signature);
@@ -113,14 +113,11 @@
 	ostringstream oss;
 	oss << toupper_copy(trim_copy(m_project));
 	for (auto &it : m_limits) {
-		if (it.first != LICENSE_VERSION && it.first != LICENSE_SIGNATURE) {
+		if (it.first != LICENSE_SIGNATURE) {
 			oss << trim_copy(it.first) << trim_copy(it.second);
 		}
 	}
 
-#ifdef _DEBUG
-	cout << "[" << oss.str() << "]" << endl;
-#endif
 	return oss.str();
 }
 

--
Gitblit v1.9.1