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/templates/licensecc_properties.h.in |   30 ++++++++++++++++++++++--------
 1 files changed, 22 insertions(+), 8 deletions(-)

diff --git a/src/templates/licensecc_properties.h.in b/src/templates/licensecc_properties.h.in
index 55c22a2..3bce633 100644
--- a/src/templates/licensecc_properties.h.in
+++ b/src/templates/licensecc_properties.h.in
@@ -51,7 +51,7 @@
 #define LCC_API_AUDIT_EVENT_NUM 5
 #define LCC_API_AUDIT_EVENT_PARAM2 255
 #define LCC_API_VERSION_LENGTH 15
-#define LCC_API_PROJECT_NAME_SIZE 15
+#define LCC_API_FEATURE_NAME_SIZE 15
 #define LCC_API_EXPIRY_DATE_SIZE 10
 #define LCC_API_ERROR_BUFFER_SIZE 256
 
@@ -78,8 +78,9 @@
 enum LCC_API_HW_IDENTIFICATION_STRATEGY {
 	/**
 	 * \brief Default strategy.
-	 *
-	 * This strategy try to detect which virtual environment the software is running in.
+	 * 
+	 * This strategy first checks the content of the environment variable `IDENTIFICATION_STRATEGY`. If the variable is defined it will use the 
+	 * strategy specified in there, if not defined it will try to detect which virtual environment the software is running in.
 	 *  - If no virtual environment is detected it will try the strategies defined in ::LCC_BARE_TO_METAL_STRATEGIES
 	 *  - If it detects the software is running in a virtual machine it will use ::LCC_VM_STRATEGIES
 	 *  - If it detects the software is running in a docker or in an LXC it will use ::LCC_DOCKER_STRATEGIES or
@@ -87,12 +88,25 @@
 	 *  - If it detects the software is running in a virtual machine in the cloud it will use ::LCC_CLOUD_STRATEGIES
 	 */
 	STRATEGY_DEFAULT = -1,
+	/**
+	 * \brief Uses mac address to generate hardware id.
+	 * 
+	 * This strategy use the mac address of one of the network adapters to generate the hardware identifier.
+	 * Network adapters are scored using their names, trying to avoid vpn adapters and virtual devices.
+	 * Mac address should be unique in the subnetwork, so this strategy poses some limitation on the number of licenses
+	 * that can be in use in the same subnet.
+	 */	
 	STRATEGY_ETHERNET = 0,
 	STRATEGY_IP_ADDRESS = 1,
-	STRATEGY_DISK_NUM = 2,
-	STRATEGY_DISK_LABEL = 3,
-	STRATEGY_MEMORY_CPU_SIZE = 4,
-	STRATEGY_HOST_NAME = 5,
+	STRATEGY_DISK = 2,
+	/**
+	* Not yet implemented
+	*/
+	STRATEGY_CPU_SIZE = 3,
+	/**
+	* Not yet implemented
+	*/
+	STRATEGY_HOST_NAME = 4,
 	STRATEGY_NONE = -2
 };
 
@@ -103,7 +117,7 @@
 /**
  * List the strategies used when no virtual envrionment is detected
  */
-#define LCC_BARE_TO_METAL_STRATEGIES { STRATEGY_ETHERNET, STRATEGY_DISK_LABEL, STRATEGY_NONE }
+#define LCC_BARE_TO_METAL_STRATEGIES { STRATEGY_DISK, STRATEGY_HOST_NAME, STRATEGY_NONE }
 /**
  * List the strategies used when the software is executing in a virtual machine
  */

--
Gitblit v1.9.1