Prechádzať zdrojové kódy

Z991239-6460 #comment 对比后的修正改动

80374374 1 mesiac pred
rodič
commit
f1bb5ed721

+ 3 - 1
Framework/Common/SpUtility.h

@@ -150,7 +150,9 @@ namespace SP {
             return strs;
         }
 
-		/** Migrate from  LocalMediaplyer::AdvManage, which is functionally similar as the above one [Gifur@2025822]*/
+		/** TODO: Migrate from  LocalMediaplyer::AdvManage, which is functionally similar as the above one [Gifur@2025822]
+		两者实现还有些不一样,参考find_first_of的用法,分隔符号更多是separator的其中之一个字符就生效
+		*/
 		inline static void split2(const std::string& src, const std::string& separator, std::vector<std::string>& dest)
 		{
 			std::string str = src;

+ 40 - 42
Framework/RvcLogSdk/CMakeLists.txt

@@ -9,39 +9,39 @@ list(APPEND SQLITE3_SRCS ${CMAKE_SOURCE_DIR}/ThirdParty/Include/uuid4/uuid4.cpp)
 add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS} ${SQLITE3_SRCS})
 
 if(MSVC)
-target_include_directories(${MODULE_NAME} PRIVATE
-    ${CMAKE_CURRENT_SOURCE_DIR}
-    ${CMAKE_CURRENT_SOURCE_DIR}/sqlite3
-    ${CONAN_INCLUDE_DIRS_LIBKYSM}
-    ${CONAN_INCLUDE_DIRS_JSONCPP}
-    ${RVCFRAMEWORK_SOURCES_DIR}/RvcRestfulSdk
-    ${CMAKE_SOURCE_DIR}/ThirdParty/Include/CJson
-    ${CMAKE_SOURCE_DIR}/ThirdParty/Include/uuid4
-    ${CONAN_INCLUDE_DIRS_ZLIB}
-    ${CONAN_INCLUDE_DIRS_OPENSSL}
-)
-target_link_directories(${MODULE_NAME} PRIVATE 
-    ${CONAN_LIB_DIRS_LIBKYSM} 
-    ${CONAN_LIB_DIRS_JSONCPP}
-    ${CONAN_LIB_DIRS_ZLIB}
-    ${CONAN_LIB_DIRS_OPENSSL} 
-)
+    target_include_directories(${MODULE_NAME} PRIVATE
+        ${CMAKE_CURRENT_SOURCE_DIR}
+        ${CMAKE_CURRENT_SOURCE_DIR}/sqlite3
+        ${CONAN_INCLUDE_DIRS_LIBKYSM}
+        ${CONAN_INCLUDE_DIRS_JSONCPP}
+        ${RVCFRAMEWORK_SOURCES_DIR}/RvcRestfulSdk
+        ${CMAKE_SOURCE_DIR}/ThirdParty/Include/CJson
+        ${CMAKE_SOURCE_DIR}/ThirdParty/Include/uuid4
+        ${CONAN_INCLUDE_DIRS_ZLIB}
+        ${CONAN_INCLUDE_DIRS_OPENSSL}
+    )
+    target_link_directories(${MODULE_NAME} PRIVATE 
+        ${CONAN_LIB_DIRS_LIBKYSM} 
+        ${CONAN_LIB_DIRS_JSONCPP}
+        ${CONAN_LIB_DIRS_ZLIB}
+        ${CONAN_LIB_DIRS_OPENSSL} 
+    )
 else()
-target_include_directories(${MODULE_NAME} PRIVATE
-    ${CMAKE_CURRENT_SOURCE_DIR}
-    ${CMAKE_CURRENT_SOURCE_DIR}/sqlite3
-    ${CONAN_INCLUDE_DIRS_LIBKYSM}
-    ${CONAN_INCLUDE_DIRS_JSONCPP}
-    ${RVCFRAMEWORK_SOURCES_DIR}/RvcRestfulSdk
-    ${CMAKE_SOURCE_DIR}/ThirdParty/Include/CJson
-    ${CMAKE_SOURCE_DIR}/ThirdParty/Include/uuid4
-    ${CONAN_INCLUDE_DIRS_ZLIB}
-)
-target_link_directories(${MODULE_NAME} PRIVATE 
-    ${CONAN_LIB_DIRS_LIBKYSM} 
-    ${CONAN_LIB_DIRS_JSONCPP}
-    ${CONAN_LIB_DIRS_ZLIB}
-)
+    target_include_directories(${MODULE_NAME} PRIVATE
+        ${CMAKE_CURRENT_SOURCE_DIR}
+        ${CMAKE_CURRENT_SOURCE_DIR}/sqlite3
+        ${CONAN_INCLUDE_DIRS_LIBKYSM}
+        ${CONAN_INCLUDE_DIRS_JSONCPP}
+        ${RVCFRAMEWORK_SOURCES_DIR}/RvcRestfulSdk
+        ${CMAKE_SOURCE_DIR}/ThirdParty/Include/CJson
+        ${CMAKE_SOURCE_DIR}/ThirdParty/Include/uuid4
+        ${CONAN_INCLUDE_DIRS_ZLIB}
+    )
+    target_link_directories(${MODULE_NAME} PRIVATE 
+        ${CONAN_LIB_DIRS_LIBKYSM} 
+        ${CONAN_LIB_DIRS_JSONCPP}
+        ${CONAN_LIB_DIRS_ZLIB}
+    )
 endif(MSVC)
 
 target_link_libraries(${MODULE_NAME}
@@ -54,20 +54,18 @@ target_link_libraries(${MODULE_NAME}
 
 message(STATUS "zlib library: ${CONAN_PKG_LIBS_OPENSSL} ${CONAN_PKG_LIBS_ZLIB} ${CONAN_PKG_LIBS_JSONCPP}")
 
-# target_compile_definitions(${MODULE_NAME} PRIVATE "-DCMBSM_LINKED_AS_STATIC_LIBRARY")
-
 if(MSVC)
     install(TARGETS ${MODULE_NAME} 
-    RUNTIME DESTINATION "${RVC_RUNTIME_PATH}" COMPONENT libraries
-    ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}" COMPONENT develops EXCLUDE_FROM_ALL
-    LIBRARY DESTINATION "${RVC_LIBRARY_PATH}" COMPONENT libraries
+        RUNTIME DESTINATION "${RVC_RUNTIME_PATH}" COMPONENT libraries
+        ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}" COMPONENT develops EXCLUDE_FROM_ALL
+        LIBRARY DESTINATION "${RVC_LIBRARY_PATH}" COMPONENT libraries
     )
 else()
-install(TARGETS ${MODULE_NAME} 
-    RUNTIME DESTINATION "${RVC_RUNTIME_PATH}"
-    ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}"
-    LIBRARY DESTINATION "${RVC_RUNTIME_PATH}"
-	COMPONENT libraries)
+    install(TARGETS ${MODULE_NAME} 
+        RUNTIME DESTINATION "${RVC_RUNTIME_PATH}"
+        ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}"
+        LIBRARY DESTINATION "${RVC_RUNTIME_PATH}"
+	    COMPONENT libraries)
 endif(MSVC)
 
 if (WITH_PDB_SAVE AND MSVC AND BUILD_SHARED_LIBS)

+ 1 - 6
Framework/libtoolkit/fileutil.c

@@ -225,12 +225,10 @@ TOOLKIT_API BOOL IsDirectory(LPCSTR pszDir)
 #ifdef _WIN32
 	HANDLE hFile;
 	WIN32_FIND_DATAA FindFileData = { 0 };
-	
 	_snprintf(szCurPath, MAX_PATH * 2, "%s//*", pszDir);
 	hFile = FindFirstFileA(szCurPath, &FindFileData); /**< find first file by given path. */
 	if (hFile == INVALID_HANDLE_VALUE)
 	{
-		FindClose(hFile);
 		return FALSE; /** 如果不能找到第一个文件,那么没有目录 */
 	}
 	else
@@ -245,10 +243,7 @@ TOOLKIT_API BOOL IsDirectory(LPCSTR pszDir)
 	{
 		return S_ISDIR(buf.st_mode);
 	}
-	else
-	{
-		return FALSE;
-	}
+	return FALSE;
 #endif
 }
 

+ 1 - 2
Framework/libtoolkit/fileutil.h

@@ -26,11 +26,10 @@ TOOLKIT_API BOOL ExistsFileA(LPCSTR lpFilePath);
 #define ExistsFile ExistsFileA
 
 TOOLKIT_API DWORD ReadFileSize(LPCSTR pszFile);
-TOOLKIT_API void SureUnixFileAttributeAccessable(LPCSTR pszFile);
-
 
 TOOLKIT_API BOOL RemoveFileA(LPCSTR pszFile);
 TOOLKIT_API BOOL RemoveFileReadOnlyAttributeA(LPCSTR pszFile);
+TOOLKIT_API void SureUnixFileAttributeAccessable(LPCSTR pszFile);
 
 TOOLKIT_API BOOL IsDirectory(LPCSTR pszDir);
 

+ 8 - 16
Framework/libtoolkit/osutil.c

@@ -542,6 +542,7 @@ TOOLKIT_API int osutil_shutdown_system()
 TOOLKIT_API int osutil_system_boot_time(tk_systime_t* ptr_boot_time)
 {
 	int result = -1;
+	
 #if defined(_MSC_VER)
 	const char* SystemElapsedQuery = "\\System\\System Up Time";
 	PDH_STATUS Status;
@@ -557,25 +558,16 @@ TOOLKIT_API int osutil_system_boot_time(tk_systime_t* ptr_boot_time)
 	if (Status != ERROR_SUCCESS) {
 		return result;
 	}
-	// 查询性能监视器数据
+
 	Status = PdhCollectQueryData(Query);
 	if (Status != ERROR_SUCCESS) {
 		goto Cleanup;
 	}
 	Status = PdhGetFormattedCounterValue(hcElapsedTimeCount, PDH_FMT_LARGE, NULL, &counterValue);
 	if (Status == ERROR_SUCCESS) {
-		LONGLONG ulSinceSeconds = counterValue.largeValue;
-		unsigned long days = 0, hours = 0, minutes = 0, seconds = 0;
-		days = ulSinceSeconds / DAY_DIV;
-		ulSinceSeconds %= DAY_DIV;
-		hours = ulSinceSeconds / HOURS_DIV;
-		ulSinceSeconds %= HOURS_DIV;
-		minutes = ulSinceSeconds / MINUS_DIV;
-		ulSinceSeconds %= MINUS_DIV;
-		seconds = ulSinceSeconds;
-
 		FILETIME ftCurTime, ftStartTime;
 		GetSystemTimeAsFileTime(&ftCurTime);
+		
 		ULARGE_INTEGER uliCurTime;
 		uliCurTime.HighPart = ftCurTime.dwHighDateTime;
 		uliCurTime.LowPart = ftCurTime.dwLowDateTime;
@@ -623,10 +615,6 @@ Cleanup:
 		bootTime = info.uptime - curTime;
 	}
 	ptm = localtime(&bootTime);
-	struct timespec ts;
-	if (!clock_gettime(CLOCK_MONOTONIC_RAW, &ts))
-		ticks = (ts.tv_sec * 1000) + (ts.tv_nsec / 1000000);
-
 	ptr_boot_time->year = (WORD)(ptm->tm_year + 1900);
 	ptr_boot_time->month = (WORD)(ptm->tm_mon + 1);
 	ptr_boot_time->dayofweek = (WORD)ptm->tm_wday;
@@ -634,13 +622,17 @@ Cleanup:
 	ptr_boot_time->hour = (WORD)ptm->tm_hour;
 	ptr_boot_time->minute = (WORD)ptm->tm_min;
 	ptr_boot_time->second = (WORD)ptm->tm_sec;
+
+	struct timespec ts;
+	if (!clock_gettime(CLOCK_MONOTONIC_RAW, &ts)) {//获取毫秒的数据不太准确
+		ticks = (ts.tv_sec * 1000) + (ts.tv_nsec / 1000000);
+	}
 	ptr_boot_time->milli_seconds = (WORD)(ticks % 1000);
 	result = 0;
 
 #endif //_MSC_VER
 
 	return result;
-
 }
 
 

+ 1 - 3
Framework/libtoolkit/strutil.h

@@ -33,6 +33,7 @@ TOOLKIT_API void* memmem(const void* haystack, size_t haystacklen,
 	const void* needle, size_t needlelen);
 
 TOOLKIT_API char* strcasestr(const char* haystack, const char* needle);
+
 #endif //_WIN32
 
 
@@ -180,7 +181,6 @@ TOOLKIT_API void str_parse_cmdline (char *cmdstart,char **argv,char *args,int *n
 
 TOOLKIT_API void str_get_format_uuid(char* strbuffer, size_t ulen);
 
-
 TOOLKIT_API int str_reset_buffer(void* pbuf, int idata, size_t ulen);
 
 TOOLKIT_API int str_rend_string(char* pSrc, int iflag);
@@ -193,8 +193,6 @@ TOOLKIT_API int str_convert_interaddr_strip(char* strbuf, size_t ubufszie, const
 
 TOOLKIT_API int str_connect_strings(char* strbuf, size_t ulen, const char* psrca, const char* psrcb, const char* pstr);
 
-#define proxy_copy(pDst, pSrc)		if(pSrc)	{	memcpy(pDst, pSrc, strlen(pSrc));	}
-
 #ifdef __cplusplus
 } // extern "C" {
 #endif

+ 2 - 1
Framework/spbase/CodeSignVerify.cpp

@@ -1,5 +1,4 @@
 #include "stdafx.h"
-
 #include <WinVer.h>
 #pragma comment (lib, "Version.lib")
 #include <Wintrust.h.>
@@ -10,6 +9,8 @@
 #include "fileutil.h"
 #include "CodeSignVerify.h"
 
+//TODO: CrossPlaform 该功能目前没有起到作用,即启动时对文件进行签名检查  [Gifur@2025822]
+
 CCodeSignVerify::CCodeSignVerify(DWORD dwCodePage, DWORD dwLangID)
 :m_dwCodePage(dwCodePage), m_dwLangID(dwLangID)
 {

+ 1 - 1
Framework/spbase/SpBase.cpp

@@ -35,7 +35,7 @@
 #include "SpSecureClient.h"
 #include "IHttpFunc.h"
 #include <RestfulFunc.h>
-#include<winpr/library.h>
+#include <winpr/library.h>
 #include <winpr/locale.h>
 #include <winpr/exception.h>
 #include "uuid4.h"

+ 6 - 39
Framework/spbase/sp_cfg.cpp

@@ -1,7 +1,6 @@
 #include "precompile.h"
 #include "sp_cfg.h"
 #include "sp_def.h"
-//#include "sp_sal.h"
 #include "sp_dir.h"
 
 #include "sp_env.h"
@@ -31,11 +30,11 @@
 
 #include "sp_logwithlink.h"
 #include "RestfulFunc.h"
+
 #if defined(_MSC_VER)
 #include "AutoLock.h"
 #include <memory>
 #include <iostream>
-#include <fstream>
 #include "RVCEventCode.h"
 #include <vsscanf.h>
 #include <ctime>
@@ -43,21 +42,22 @@
 #include <iomanip>
 #include <windows.h>
 #define UPDATE_ROOT_BY_HTTP
+#define MOD_LIB_SUFFIX ".dll"
 #define READ_SHELL_NODE SHELL_ENTITY_HEAD
 #else
 #include "JsonConvertHelper.hpp"
+#define MOD_LIB_SUFFIX ".so"
 #define READ_SHELL_NODE "UOSEntity"
 #endif //_MSC_VER
 #include "sp_checkEntity.h"
 #include <log_producer_config.h>
-
+#define MAX_ENTITY_LEN	33
 
 
 #if defined(_MSC_VER)
 
 std::map<std::string, std::string> g_specialRunInfoArr;
 
-
 class sp_cfg_share
 {
 private:
@@ -94,28 +94,8 @@ LARGE_TIME sp_cfg_getShellFirstStartTime()
     return sp_cfg_share::getInstance()->sp_cfg_getShellFirstStartTime();
 };
 
-
-auto fileExist = [](const char* path) ->bool {
-	fstream f2;
-	f2.open(path);
-	if (!f2)
-	{
-		f2.close();
-		return false;
-	}
-	else
-	{
-		f2.close();
-		return true;
-	}
-};
-
-
-#else
-
-///*TODO(80374374@3/14/2023):  */
-
 #endif //_MSC_VER
+
 ErrorCodeEnum init_shell_byHttp(sp_dir_t* dir, sp_cfg_shell_ini_t* shell, sp_cfg_root_ini_t* root, const sp_cfg_start_args_t* args,
 	const char* shellVarIni, std::map<std::string, std::map<std::string, std::string>> shellConfig);
 
@@ -146,20 +126,9 @@ void shell_getHttpToken(std::string& channelId, std::string& token, std::string&
 		
 }
 
-
-#define MAX_ENTITY_LEN	33
-#ifdef _WIN32
-#define MOD_LIB_SUFFIX ".dll"
-#else
-#define MOD_LIB_SUFFIX ".so"
-#endif //_WIN32
-
 #define T_MALLOC_T(type, shm) \
 	shm ? (type*)shm_malloc(sizeof(type)) : (type*)malloc(sizeof(type))
 
-#define T_MALLOC(size, shm) \
-	shm ? shm_malloc(size) : malloc(size)
-
 #define T_FREE(p, shm) \
 	shm ? shm_free(p) : free(p)
 
@@ -1592,7 +1561,7 @@ static int shell_ini__load_entities_list(sp_dir_t* dir, sp_cfg_shell_ini_t* shel
 			entity->debug_level = debugLevelArr.find(entity->name) == debugLevelArr.end() ? 0 : debugLevelArr[cur_it->first];
 			entity->log_record_level = getEntityLogLevel(entity->name);
 
-			entity->runType = 1;
+			entity->runType = 1;//1,Debug;2,Release
 			//judge if run in release or debug
 			std::string tmpEntityName = entity->name, entityInfo = "";
 			std::transform(tmpEntityName.begin(), tmpEntityName.end(), tmpEntityName.begin(), ::tolower);
@@ -2443,8 +2412,6 @@ static int generate_install_memory(sp_dir_t* dir, sp_cfg_install_ini_t* inst)
 	ver_info->install_pack = shm_strdup("");
 	SHM_ARRAY_PUSH(inst->arr_version, sp_cfg_version_info_t*) = ver_info;
 
-
-
 	inst->arr_light_pack = T_ARRAY_MAKE(0, sizeof(sp_cfg_version_info_t*), 1);
 	return 0;
 }

+ 0 - 7
Framework/spbase/sp_logwithlink.cpp

@@ -600,13 +600,6 @@ void logCallback(const char* message) {
     WLog_DBG(TAG, "from rvcLogSDK:%s", message);
 }
 
-std::string toLowerCase(std::string str) {
-    std::transform(str.begin(), str.end(), str.begin(), [](unsigned char c) {
-        return std::tolower(c, std::locale());
-        });
-    return str;
-}
-
 SPBASE_API void* create_log_producer_storage(CSimpleStringA entityName, CSimpleStringA item, CSimpleStringA filePath, CSimpleStringA CmptId, CSimpleString CmptName)
 {
     WLog_DBG(TAG, "create log producer storage for %s, %s, %s", entityName.GetData(), item.GetData(), filePath.GetData());

+ 1 - 1
Framework/spbase/sp_pst.h

@@ -2,7 +2,7 @@
 #define SP_PST_H
 
 #pragma once
-//TODO: CrossPlaform 文件移除,没有使用,待讨论确认  [Gifur@202584]
+//TODO: CrossPlaform 鏂囦欢绉婚櫎锛屾病鏈変娇鐢�紝寰呰�璁虹‘璁�  [Gifur@202584]
 #ifdef __cplusplus
 extern "C" {
 #endif

+ 1 - 1
Framework/spbase/sp_sps.h

@@ -11,7 +11,7 @@
 
 #pragma once
 
-//TODO: CrossPlaform 评审是否需要移除,目前不走Slierlight这一套,直接用Websocket通讯  [Gifur@2025820]
+//TODO: CrossPlaform 璇勫�鏄�惁闇€瑕佺Щ闄わ紝鐩�墠涓嶈蛋Slierlight杩欎竴濂楋紝鐩存帴鐢╓ebsocket閫氳�  [Gifur@2025820]
 #ifdef __cplusplus
 extern "C"
 {

+ 2 - 0
Framework/winpr/include/winpr/sysinfo.h

@@ -187,6 +187,8 @@ extern "C"
 
 	WINPR_API void GetSystemTime(LPSYSTEMTIME lpSystemTime);
 	WINPR_API BOOL SetSystemTime(CONST SYSTEMTIME* lpSystemTime);
+
+	//UNIX: localtime
 	WINPR_API VOID GetLocalTime(LPSYSTEMTIME lpSystemTime);
 	WINPR_API BOOL SetLocalTime(CONST SYSTEMTIME* lpSystemTime);
 

+ 2 - 3
Module/include/CommEntityUtil.hpp

@@ -47,6 +47,7 @@ namespace Module
 namespace Comm
 {
 
+//TODO: CrossPlaform !!!!UOS的实现与winpr_GetTickCount64是一样的,可以直接替换无影响  [Gifur@2025822]
 inline ULLINT RVCGetTickCount()
 {
 #ifdef RVC_OS_WIN
@@ -121,7 +122,7 @@ static char* ConvertBytesToHexStr(BYTE* pBuf, int nLen)
     return pRet;
 }
 
-
+//same as hex2int ??
 static char HexChar2Dec(char c)
 {
 	if ((c >= '0') && (c <= '9'))
@@ -278,10 +279,8 @@ static std::string Bytes2HexStr(char* bytes, std::size_t byteLen)
 	for (std::size_t i = 0; i < byteLen; ++i) {
 		int b = 0x0F & (bytes[i] >> 4);
 		str.push_back(conv[b]);
-		//str.append(1, conv[b]);
 		b = 0x0F & (bytes[i]);
 		str.push_back(conv[b]);
-		//str.append(1, conv[b]);
 	}
 	return str;
 }

+ 0 - 1
Module/mod_CardReadAdapter/CardReadAdapterFSM.cpp

@@ -5,7 +5,6 @@
 #include "EventCode.h"
 #include <algorithm>
 #include <map>
-#include "publicFunExport.h"
 
 using namespace std;
 using namespace SP::Module::Comm;

+ 5 - 0
Module/mod_ContactlessCard/ContactlessFSM.cpp

@@ -1370,6 +1370,11 @@ int CContactlessCardFSM::PreOnline(SpReqAnsContext<ContactlessCardService_PreOnl
 		delete [] m_pDataToARQC;
 		m_pDataToARQC = NULL;
 	}
+	if (pICCardSerial != NULL)
+	{
+		delete[] pICCardSerial;
+		pICCardSerial = NULL;
+	}
 
 	if (pIssueBankLen != NULL)
 	{

+ 1 - 0
Module/mod_CustMngrAuth/CustMngrAuthFSM.cpp

@@ -792,6 +792,7 @@ void CCustMngrAuthFSM::DeleteBmp(int type)
 	}
 }
 
+//TODO: CrossPlaform  !!!!!! [Gifur@2025728]
 ErrorCodeEnum CCustMngrAuthFSM::DeleteFileIfExisted(const char* fileName)
 {
 	CSimpleStringA strPath, strObjPath;

+ 1 - 1
Module/mod_ResourceWatcher/mod_ResourceWatcher.cpp

@@ -830,7 +830,7 @@ ErrorCodeEnum ResourceWatcherEntity::GetSogouPkgDirPath(CSimpleStringA& strPkgPa
 }
 #endif //RVC_OS_LINUX
 
-//TODO: CrossPlaform  这段代码感觉像是拷贝的,待 [Gifur@2025730]
+//TODO: CrossPlaform  这段代码感觉像是拷贝的,待处理 [Gifur@2025730]
 ErrorCodeEnum ResourceWatcherEntity::RunShellScript(LPCTSTR cmdline)
 {
 #if defined(RVC_OS_WIN)

+ 1 - 1
Module/mod_UpgradeMgr/UpgradeTaskFSM.cpp

@@ -1420,7 +1420,7 @@ namespace Task
 							delete[] content;
 							return 4;//下载失败,算hash失败
 						}
-						//不区分大小写比较文件hash /** 为什么有平台差异??  [Gifur@2025821]*/
+						//TODO: CrossPlaform 不区分大小写比较文件hash /** 为什么有平台差异??  [Gifur@2025821]*/
 #ifdef RVC_OS_WIN
 						if(stricmp(strMD5Val.GetData(),resp.sm3.c_str())==0){
 #else

+ 5 - 4
Module/mod_accessauth/AccessAuthFSM.cpp

@@ -532,6 +532,7 @@ unsigned int CAccessAuthFSM::s2_on_event(FSMEvent* pEvent)
 		} 
 		else 
 		{
+			//TODO: 没看到任何地方对 m_finishAccess 赋有意义的值  [Gifur@2025822]
 			CSimpleStringA strErrMsg = CSimpleStringA::Format("准入超时(%d)", m_finishAccess);
 			pEntity->GetFunction()->ShowFatalError(strErrMsg);
 		}
@@ -627,14 +628,14 @@ bool CAccessAuthFSM::DecryptWithSessionKey(BYTE* encText, int encTextLen, BYTE*
 	BYTE key[16] = { 0 };
 	memcpy(key, ((CAccessAuthEntity*)m_pEntity)->m_AuthSessionKey, 16);
 	char* keyTmp = SP::Module::Util::Str2Hex((char*)key, 16);
-	delete keyTmp;
+	delete[] keyTmp;
 
 	if (!DecWithSM4_ECB(key, encText, encTextLen, decTest, &decTestLen)) {
 		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("DecryptWithSessionKey ECB error.");
 		return false;
 	}
 	keyTmp = SP::Module::Util::Str2Hex((char*)decTest, decTestLen);
-	delete keyTmp;
+	delete[] keyTmp;
 	return true;
 }
 
@@ -724,7 +725,7 @@ DWORD CAccessAuthFSM::HandleGetToken(BYTE* enToken1, BYTE* sharedKey, BYTE* enTo
 		pEntity->SetAuthErrMsg("返回令牌校验不通过");
 		pEntity->GetFunction()->SetSysVar("AuthErrMsg", "返回令牌校验不通过");
 		char* sm3Ret = SP::Module::Util::Str2Hex((char*)sm3, 32);
-		delete sm3Ret;
+		delete[] sm3Ret;
 		doWarnMsg(ERR_ACCESSAUTH_TOKEN_HASH, "返回令牌校验不通过", true);
 		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)(GetOutPutStr("%s%s", "Hash", "返回令牌校验不通过").c_str());
 	} 
@@ -871,7 +872,7 @@ DWORD CAccessAuthFSM::GetTokenReq(CAccessAuthGetTokenReq* getTokenReq)
 	}
 	char* pTmp = SP::Module::Util::Str2Hex((char*)encInfo.m_pData, encInfo.m_iLength);
 	getTokenReq->encTerminalInfo = pTmp;
-	delete pTmp;
+	delete[] pTmp;
 
 	string tmpStr = "";
 	if ((rc = GetTmk(tmpStr)) != Error_Succeed) 

+ 0 - 1
Module/mod_accessauth/AccessAuthFSM.h

@@ -198,5 +198,4 @@ private:
 	CSimpleStringA m_accessAuthHost;
 	int m_torelateDiffSyncTimeSecs;
 	int m_finishAccess;
-	int m_nCheckMD5;
 };

+ 1 - 1
Module/mod_accessauth/mod_AccessAuth.cpp

@@ -959,7 +959,7 @@ bool CAccessAuthEntity::SendInitMKReqACS(CInitlizerMKReq& initMKReq)
 	SP::Module::Util::StrBuf2HexBuf(hexStr, &btTmp);
 	memcpy(key, btTmp, KEY_SIZE);
 	if (btTmp != NULL) {
-		free(btTmp);
+		delete[] btTmp;
 		btTmp = NULL;
 	}
 	nRet = (ErrorCodeEnum)m_FSM.GetEncTerminalInfoWithKey(encInfo, key);

+ 1 - 1
Module/mod_cardissuerstore/CardIssuerStoreFSM.cpp

@@ -1585,7 +1585,7 @@ bool CCardIssuerFSM::LoadCMBPrint(CSimpleStringA csBinPath)
 	do 
 	{
 		if (!ExistsFileA(csCMBPrint)) {
-			DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM).setResultCode("RTA2WF5")("Load CMBPrint %s failed: no exist", (const char*)csCMBPrint);
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode("RTA2WF5")("Load CMBPrint %s failed: no exist", (const char*)csCMBPrint);
 			break;
 		}
 		toolkit_lib_t cmbPrintLib;

+ 8 - 8
Module/mod_heartbeat/HeartBeatFSM.cpp

@@ -1196,10 +1196,10 @@ void HeartBeatConnection::SendCardActive(const int type,const int slot,unsigned
 		req.type = type;
 		req.slot = slot;
 		
-		strncpy_s(req.FromTerminalNo, sizeof(req.FromTerminalNo), m_TerminalNo.GetData(), m_TerminalNo.GetLength());
-		strncpy_s(req.Account, sizeof(req.Account), account, accSize);
-		strncpy_s(req.TerminalNo, sizeof(req.TerminalNo), termNo, strlen(termNo));
-		strncpy_s(req.Param2, sizeof(req.Param2), data, dataSize);
+		strcpy_s(req.FromTerminalNo, sizeof(req.FromTerminalNo), m_TerminalNo.GetData());
+		strcpy_s(req.Account, accSize, account);
+		strcpy_s(req.TerminalNo, sizeof(req.TerminalNo), termNo);
+		strcpy_s(req.Param2, dataSize, data);
 
 		CSmartPointer<IPackage> pkt = CreateNewPackage("CARDACT");
 		pkt->AddStruct("INSREQX", false, false, (LPBYTE)&req, sizeof(CardActiveReq));
@@ -1218,10 +1218,10 @@ void HeartBeatConnection::SendCardActive(const int type,const int slot,unsigned
 		req.cardPos = cardPos;
 		req.reserved1 = errCSCode;
 
-		strncpy_s(req.FromTerminalNo, sizeof(req.FromTerminalNo), m_TerminalNo.GetData(), m_TerminalNo.GetLength());
-		strncpy_s(req.Account, sizeof(req.Account), account, accSize);
-		strncpy_s(req.TerminalNo, sizeof(req.TerminalNo), termNo, strlen(termNo));
-		strncpy_s(req.Param2, sizeof(req.Param2), data, dataSize);
+		strcpy_s(req.FromTerminalNo, sizeof(req.FromTerminalNo), m_TerminalNo.GetData());
+		strcpy_s(req.Account, accSize, account);
+		strcpy_s(req.TerminalNo, sizeof(req.TerminalNo), termNo);
+		strcpy_s(req.Param2, dataSize, data);
 
 		CSmartPointer<IPackage> pkt = CreateNewPackage("CARDACT");
 		pkt->AddStruct("INSREQX", false, false, (LPBYTE)&req, sizeof(CardActiveReq));

+ 2 - 39
Module/mod_heartbeat/HeartBeatFSM.h

@@ -66,27 +66,6 @@ struct HandAns
 	//int count;
 };
 
-/** WIN下unsigned long与uint32_t是等同的,为什么要这样写代码?不求甚解  [Gifur@2025821]*/
-#ifdef RVC_OS_WIN
-struct CardActiveReq
-{
-	unsigned long type;
-	unsigned long slot;
-	unsigned long reserved1;
-	unsigned long reserved2;
-	char Account[32];
-	char FromTerminalNo[16];
-	char TerminalNo[16];
-	unsigned long EvtCode;
-	unsigned long ErrCode;
-	unsigned long findCard;
-	unsigned long cardPos;
-	char Param1[16];
-	char Param2[1024];
-	char Reserved3[128];
-	char Reserved4[128];
-};
-#else
 struct CardActiveReq
 {
 	uint32_t type;
@@ -105,7 +84,7 @@ struct CardActiveReq
 	char Reserved3[128];
 	char Reserved4[128];
 };
-#endif
+
 #pragma pack()
 enum EvtType
 {
@@ -123,22 +102,6 @@ enum EvtType
 	USER_EVT_CARD_ACTIVE_FINISHED,
 };
 
-// Terminal Performance Information Struct[Josephus in 9:09:47 2016/4/23]
-#ifdef RVC_OS_WIN
-struct TermianlCounter
-{
-	
-	DWORD			serverIP;
-	unsigned short	totalMem; //MB
-	unsigned short	freeMem;  //MB
-	unsigned short	procNum;
-	unsigned short	threadNum;
-	DWORD			handleNum;
-	DWORD			freeDisk; //MB
-	char			osStartTime[22];
-	unsigned short	cpuLoad;
-};
-#else
 struct TermianlCounter
 {
 
@@ -152,7 +115,7 @@ struct TermianlCounter
 	char			osStartTime[22];
 	uint16_t	cpuLoad;
 };
-#endif
+
 namespace HttpStruct
 {
 	//发送心跳接口

+ 0 - 36
Other/libaudioqueue/ReadMe.txt

@@ -1,36 +0,0 @@
-========================================================================
-    动态链接库:libaudioqueue 项目概述
-========================================================================
-
-应用程序向导已为您创建了此 libaudioqueue DLL。
-
-本文件概要介绍组成 libaudioqueue 应用程序的每个文件的内容。
-
-
-libaudioqueue.vcxproj
-    这是使用应用程序向导生成的 VC++ 项目的主项目文件,
-    其中包含生成该文件的 Visual C++ 
-    的版本信息,以及有关使用应用程序向导选择的平台、配置和项目功能的信息。
-
-libaudioqueue.vcxproj.filters
-    这是使用“应用程序向导”生成的 VC++ 项目筛选器文件。 
-    它包含有关项目文件与筛选器之间的关联信息。 在 IDE 
-    中,通过这种关联,在特定节点下以分组形式显示具有相似扩展名的文件。
-    例如,“.cpp”文件与“源文件”筛选器关联。
-
-libaudioqueue.cpp
-    这是主 DLL 源文件。
-
-/////////////////////////////////////////////////////////////////////////////
-其他标准文件:
-
-StdAfx.h,StdAfx.cpp
-    这些文件用于生成名为 libaudioqueue.pch 的预编译头 (PCH) 文件和
-    名为 StdAfx.obj 的预编译类型文件。
-
-/////////////////////////////////////////////////////////////////////////////
-其他注释:
-
-应用程序向导使用“TODO:”注释来指示应添加或自定义的源代码部分。
-
-/////////////////////////////////////////////////////////////////////////////

+ 0 - 8
Other/libaudioqueue/stdafx.cpp

@@ -1,8 +0,0 @@
-// stdafx.cpp : source file that includes just the standard includes
-// SpBase.pch will be the pre-compiled header
-// stdafx.obj will contain the pre-compiled type information
-
-#include "stdafx.h"
-
-// TODO: reference any additional headers you need in STDAFX.H
-// and not in this file

+ 0 - 8
Other/win/libvideohorflip/stdafx.cpp

@@ -1,8 +0,0 @@
-// stdafx.cpp : source file that includes just the standard includes
-// SpBase.pch will be the pre-compiled header
-// stdafx.obj will contain the pre-compiled type information
-
-#include "stdafx.h"
-
-// TODO: reference any additional headers you need in STDAFX.H
-// and not in this file

+ 0 - 48
addin/cmake/scripts/cppcheck-wrapper/cppcheck-wrapper

@@ -1,48 +0,0 @@
-#!/bin/sh
-
-# Wrapper script for the CppcheckTargets CMake module
-#
-# This wrapper script is required because the targets' property
-# INCLUDE_DIRECTORIES is a list that can contain generators that refer
-# to even more lists of include directories when evaluated.
-#
-# We need the generators evaluated to be able to build the cppcheck
-# command line for the include directories.
-#
-# For convenience, this wrapper script also runs a tool to post-process
-# the cppcheck results.
-set -eu
-
-cppcheck_exec="$1"        && shift
-check_config="$1"         && shift
-includes="$1"             && shift
-header_exclusions="$1"    && shift
-report_file="$1"          && shift
-
-OLD_IFS="$IFS"
-IFS=\;
-parsed_includes=
-for inc in $includes; do
-    if [ "$inc" ] && [ "$inc" != "_cppcheck_includes-NOTFOUND" ]; then
-        canonical_path="$(readlink -f "$inc")"
-        parsed_includes=$(echo $parsed_includes -I$canonical_path)
-    fi
-done
-IFS="$OLD_IFS"
-
-mkdir -p "$(dirname "$report_file")"
-
-$cppcheck_exec $parsed_includes $@ 2> "${report_file}".xml
-
-if "$check_config"; then
-    $cppcheck_exec --check-config $parsed_includes $@ 2> "${report_file}"-config-check.xml
-
-    # If the analysis was ran using the --check-config option, all
-    # configuration errors will be shown, so this error message is noise.
-    "$(dirname "$0")"/cppcheck-post-processor prune \
-            --prune-specs missingInclude:"Cppcheck cannot find all the include files" \
-            "${report_file}".xml
-    "$(dirname "$0")"/cppcheck-post-processor prune \
-            --remove-missing-includes "$header_exclusions" \
-            "${report_file}"-config-check.xml
-fi