Skip to content

Commit 05b5f4d

Browse files
committed
delete:parse cdkey protocol and use verification read instead
1 parent 94eae1a commit 05b5f4d

File tree

9 files changed

+34
-225
lines changed

9 files changed

+34
-225
lines changed

XEngine_Source/AuthorizeModule_Protocol/AuthorizeModule_Protocol.def

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,5 +31,4 @@ EXPORTS
3131
Protocol_Parse_HttpParsePos
3232
Protocol_Parse_HttpParseBanned
3333
Protocol_Parse_HttpParseBanned2
34-
Protocol_Parse_HttpParseCDKey
3534
Protocol_Parse_HttpParseAnnouncement

XEngine_Source/AuthorizeModule_Protocol/Protocol_Define.h

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -754,30 +754,6 @@ extern "C" bool Protocol_Parse_HttpParseBanned(LPCXSTR lpszMsgBuffer, int nMsgLe
754754
*********************************************************************/
755755
extern "C" bool Protocol_Parse_HttpParseBanned2(LPCXSTR lpszMsgBuffer, int nMsgLen, int* pInt_POSStart, int* pInt_POSEnd);
756756
/********************************************************************
757-
函数名称:Protocol_Parse_HttpParseCDKey
758-
函数功能:解析CDKEY
759-
参数.一:lpszMsgBuffer
760-
In/Out:In
761-
类型:常量字符指针
762-
可空:N
763-
意思:输入要解析的缓冲区
764-
参数.二:nMsgLen
765-
In/Out:In
766-
类型:整数型
767-
可空:N
768-
意思:输入缓冲区大小
769-
参数.三:pSt_Authorize
770-
In/Out:Out
771-
类型:数据结构指针
772-
可空:N
773-
意思:输出解析后的信息
774-
返回值
775-
类型:逻辑型
776-
意思:是否成功
777-
备注:
778-
*********************************************************************/
779-
extern "C" bool Protocol_Parse_HttpParseCDKey(LPCXSTR lpszMsgBuffer, int nMsgLen, VERIFICATION_XAUTHKEY* pSt_Authorize);
780-
/********************************************************************
781757
函数名称:Protocol_Parse_HttpParseAnnouncement
782758
函数功能:解析公告信息
783759
参数.一:lpszMsgBuffer

XEngine_Source/AuthorizeModule_Protocol/Protocol_Parse/Protocol_Parse.cpp

Lines changed: 0 additions & 162 deletions
Original file line numberDiff line numberDiff line change
@@ -979,168 +979,6 @@ bool CProtocol_Parse::Protocol_Parse_HttpParseBanned2(LPCXSTR lpszMsgBuffer, int
979979
return true;
980980
}
981981
/********************************************************************
982-
函数名称:Protocol_Parse_HttpParseCDKey
983-
函数功能:解析CDKEY
984-
参数.一:lpszMsgBuffer
985-
In/Out:In
986-
类型:常量字符指针
987-
可空:N
988-
意思:输入要解析的缓冲区
989-
参数.二:nMsgLen
990-
In/Out:In
991-
类型:整数型
992-
可空:N
993-
意思:输入缓冲区大小
994-
参数.三:pSt_Authorize
995-
In/Out:Out
996-
类型:数据结构指针
997-
可空:N
998-
意思:输出解析后的信息
999-
返回值
1000-
类型:逻辑型
1001-
意思:是否成功
1002-
备注:
1003-
*********************************************************************/
1004-
bool CProtocol_Parse::Protocol_Parse_HttpParseCDKey(LPCXSTR lpszMsgBuffer, int nMsgLen, VERIFICATION_XAUTHKEY* pSt_Authorize)
1005-
{
1006-
Protocol_IsErrorOccur = false;
1007-
1008-
if ((NULL == lpszMsgBuffer) || (NULL == pSt_Authorize))
1009-
{
1010-
Protocol_IsErrorOccur = true;
1011-
Protocol_dwErrorCode = ERROR_AUTHORIZE_MODULE_PROTOCOL_PARAMENT;
1012-
return false;
1013-
}
1014-
Json::Value st_JsonRoot;
1015-
JSONCPP_STRING st_JsonError;
1016-
Json::CharReaderBuilder st_ReaderBuilder;
1017-
//解析JSON
1018-
std::unique_ptr<Json::CharReader> const pSt_JsonReader(st_ReaderBuilder.newCharReader());
1019-
if (!pSt_JsonReader->parse(lpszMsgBuffer, lpszMsgBuffer + nMsgLen, &st_JsonRoot, &st_JsonError))
1020-
{
1021-
Protocol_IsErrorOccur = true;
1022-
Protocol_dwErrorCode = ERROR_AUTHORIZE_MODULE_PROTOCOL_PARSE;
1023-
return false;
1024-
}
1025-
1026-
if (!st_JsonRoot["tszAddr"].isNull())
1027-
{
1028-
_tcsxcpy(pSt_Authorize->tszAddr, st_JsonRoot["tszAddr"].asCString());
1029-
}
1030-
if (!st_JsonRoot["nPort"].isNull())
1031-
{
1032-
pSt_Authorize->nPort = st_JsonRoot["nPort"].asInt();
1033-
}
1034-
//应用信息
1035-
Json::Value st_JsonAPPInfo = st_JsonRoot["st_AuthAppInfo"];
1036-
if (!st_JsonAPPInfo["nExecTime"].isNull())
1037-
{
1038-
pSt_Authorize->st_AuthAppInfo.nExecTime = st_JsonAPPInfo["nExecTime"].asInt();
1039-
}
1040-
if (!st_JsonAPPInfo["bInit"].isNull())
1041-
{
1042-
pSt_Authorize->st_AuthAppInfo.bInit = st_JsonAPPInfo["bInit"].asBool();
1043-
}
1044-
if (!st_JsonAPPInfo["tszAppName"].isNull())
1045-
{
1046-
_tcsxcpy(pSt_Authorize->st_AuthAppInfo.tszAppName, st_JsonAPPInfo["tszAppName"].asCString());
1047-
}
1048-
if (!st_JsonAPPInfo["tszAppVer"].isNull())
1049-
{
1050-
_tcsxcpy(pSt_Authorize->st_AuthAppInfo.tszAppVer, st_JsonAPPInfo["tszAppVer"].asCString());
1051-
}
1052-
//注册信息
1053-
Json::Value st_JsonREGInfo = st_JsonRoot["st_AuthRegInfo"];
1054-
if (!st_JsonREGInfo["tszHardware"].isNull())
1055-
{
1056-
_tcsxcpy(pSt_Authorize->st_AuthRegInfo.tszHardware, st_JsonREGInfo["tszHardware"].asCString());
1057-
}
1058-
if (!st_JsonREGInfo["tszCreateTime"].isNull())
1059-
{
1060-
_tcsxcpy(pSt_Authorize->st_AuthRegInfo.tszCreateTime, st_JsonREGInfo["tszCreateTime"].asCString());
1061-
}
1062-
if (!st_JsonREGInfo["tszRegisterTime"].isNull())
1063-
{
1064-
_tcsxcpy(pSt_Authorize->st_AuthRegInfo.tszRegisterTime, st_JsonREGInfo["tszRegisterTime"].asCString());
1065-
}
1066-
if (!st_JsonREGInfo["tszLeftTime"].isNull())
1067-
{
1068-
_tcsxcpy(pSt_Authorize->st_AuthRegInfo.tszLeftTime, st_JsonREGInfo["tszLeftTime"].asCString());
1069-
}
1070-
if (!st_JsonREGInfo["tszStartTime"].isNull())
1071-
{
1072-
_tcsxcpy(pSt_Authorize->st_AuthRegInfo.tszStartTime, st_JsonREGInfo["tszStartTime"].asCString());
1073-
}
1074-
if (!st_JsonREGInfo["tszExpiryTime"].isNull())
1075-
{
1076-
_tcsxcpy(pSt_Authorize->st_AuthRegInfo.tszExpiryTime, st_JsonREGInfo["tszExpiryTime"].asCString());
1077-
}
1078-
if (!st_JsonREGInfo["nHasTime"].isNull())
1079-
{
1080-
pSt_Authorize->st_AuthRegInfo.nHasTime = st_JsonREGInfo["nHasTime"].asInt();
1081-
}
1082-
if (!st_JsonREGInfo["enSerialType"].isNull())
1083-
{
1084-
pSt_Authorize->st_AuthRegInfo.enSerialType = (ENUM_VERIFICATION_MODULE_SERIAL_TYPE)st_JsonREGInfo["enSerialType"].asInt();
1085-
}
1086-
if (!st_JsonREGInfo["enRegType"].isNull())
1087-
{
1088-
pSt_Authorize->st_AuthRegInfo.enRegType = (ENUM_VERIFICATION_MODULE_CDKEY_TYPE)st_JsonREGInfo["enRegType"].asInt();
1089-
}
1090-
if (!st_JsonREGInfo["enHWType"].isNull())
1091-
{
1092-
pSt_Authorize->st_AuthRegInfo.enHWType = (ENUM_VERIFICATION_MODULE_HW_TYPE)st_JsonREGInfo["enHWType"].asInt();
1093-
}
1094-
if (!st_JsonREGInfo["enVModeType"].isNull())
1095-
{
1096-
pSt_Authorize->st_AuthRegInfo.enVModeType = (ENUM_VERIFICATION_MODULE_VERMODE_TYPE)st_JsonREGInfo["enVModeType"].asInt();
1097-
}
1098-
//临时序列号
1099-
Json::Value st_JsonSerialInfo = st_JsonRoot["st_AuthSerial"];
1100-
if (!st_JsonSerialInfo.isNull())
1101-
{
1102-
if (!st_JsonSerialInfo["tszTimeSerial"].isNull())
1103-
{
1104-
_tcsxcpy(pSt_Authorize->st_AuthSerial.st_TimeLimit.tszTimeSerial, st_JsonSerialInfo["tszTimeSerial"].asCString());
1105-
}
1106-
if (!st_JsonSerialInfo["nTimeCount"].isNull())
1107-
{
1108-
pSt_Authorize->st_AuthSerial.st_TimeLimit.nTimeCount = st_JsonSerialInfo["nTimeCount"].asInt();
1109-
}
1110-
if (!st_JsonSerialInfo["tszTimeSerial"].isNull())
1111-
{
1112-
_tcsxcpy(pSt_Authorize->st_AuthSerial.st_DataLimit.tszDataSerial, st_JsonSerialInfo["tszTimeSerial"].asCString());
1113-
}
1114-
if (!st_JsonSerialInfo["tszDataTime"].isNull())
1115-
{
1116-
_tcsxcpy(pSt_Authorize->st_AuthSerial.st_DataLimit.tszDataTime, st_JsonSerialInfo["tszDataTime"].asCString());
1117-
}
1118-
if (!st_JsonSerialInfo["bTimeAdd"].isNull())
1119-
{
1120-
pSt_Authorize->st_AuthSerial.st_DataLimit.bTimeAdd = st_JsonSerialInfo["bTimeAdd"].asBool();
1121-
}
1122-
if (!st_JsonSerialInfo["tszUNLimitSerial"].isNull())
1123-
{
1124-
_tcsxcpy(pSt_Authorize->st_AuthSerial.st_UNLimit.tszUNLimitSerial, st_JsonSerialInfo["tszUNLimitSerial"].asCString());
1125-
}
1126-
}
1127-
//CDKEY用户信息
1128-
Json::Value st_JsonUserInfo = st_JsonRoot["st_AuthUserInfo"];
1129-
if (!st_JsonUserInfo["tszUserName"].isNull())
1130-
{
1131-
_tcsxcpy(pSt_Authorize->st_AuthUserInfo.tszUserName, st_JsonUserInfo["tszUserName"].asCString());
1132-
}
1133-
if (!st_JsonUserInfo["tszUserContact"].isNull())
1134-
{
1135-
_tcsxcpy(pSt_Authorize->st_AuthUserInfo.tszUserContact, st_JsonUserInfo["tszUserContact"].asCString());
1136-
}
1137-
if (!st_JsonUserInfo["tszCustom"].isNull())
1138-
{
1139-
_tcsxcpy(pSt_Authorize->st_AuthUserInfo.tszCustom, st_JsonUserInfo["tszCustom"].asCString());
1140-
}
1141-
return true;
1142-
}
1143-
/********************************************************************
1144982
函数名称:Protocol_Parse_HttpParseAnnouncement
1145983
函数功能:解析公告信息
1146984
参数.一:lpszMsgBuffer

XEngine_Source/AuthorizeModule_Protocol/Protocol_Parse/Protocol_Parse.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ class CProtocol_Parse
3232
bool Protocol_Parse_HttpParsePos(LPCXSTR lpszMsgBuffer, int nMsgLen, int* pInt_PosStart, int* pInt_PosEnd);
3333
bool Protocol_Parse_HttpParseBanned(LPCXSTR lpszMsgBuffer, int nMsgLen, AUTHREG_BANNED* pSt_AuthBanned);
3434
bool Protocol_Parse_HttpParseBanned2(LPCXSTR lpszMsgBuffer, int nMsgLen, int* pInt_POSStart, int* pInt_POSEnd);
35-
bool Protocol_Parse_HttpParseCDKey(LPCXSTR lpszMsgBuffer, int nMsgLen, VERIFICATION_XAUTHKEY* pSt_Authorize);
3635
bool Protocol_Parse_HttpParseAnnouncement(LPCXSTR lpszMsgBuffer, int nMsgLen, AUTHREG_ANNOUNCEMENT* pSt_Announcement);
3736
protected:
3837
private:

XEngine_Source/AuthorizeModule_Protocol/pch.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -142,10 +142,6 @@ extern "C" bool Protocol_Parse_HttpParseBanned2(LPCXSTR lpszMsgBuffer, int nMsgL
142142
{
143143
return m_ProtocolParse.Protocol_Parse_HttpParseBanned2(lpszMsgBuffer, nMsgLen, pInt_POSStart, pInt_POSEnd);
144144
}
145-
extern "C" bool Protocol_Parse_HttpParseCDKey(LPCXSTR lpszMsgBuffer, int nMsgLen, VERIFICATION_XAUTHKEY * pSt_Authorize)
146-
{
147-
return m_ProtocolParse.Protocol_Parse_HttpParseCDKey(lpszMsgBuffer, nMsgLen, pSt_Authorize);
148-
}
149145
extern "C" bool Protocol_Parse_HttpParseAnnouncement(LPCXSTR lpszMsgBuffer, int nMsgLen, AUTHREG_ANNOUNCEMENT * pSt_Announcement)
150146
{
151147
return m_ProtocolParse.Protocol_Parse_HttpParseAnnouncement(lpszMsgBuffer, nMsgLen, pSt_Announcement);

XEngine_Source/XAuth_Protocol.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
#define ERROR_AUTHORIZE_PROTOCOL_TIMEOUT 0x115 //超时
4444
#define ERROR_AUTHORIZE_PROTOCOL_PERMISSION 0x116 //用户权限错误
4545
#define ERROR_AUTHORIZE_PROTOCOL_EXPIRED 0x117 //已经过期
46+
#define ERROR_AUTHORIZE_PROTOCOL_CDKEY 0x118 //CDKEY错误
4647

4748
#define ERROR_AUTHORIZE_PROTOCOL_SERVER 0x201 //服务端内部错误
4849
#define ERROR_AUTHORIZE_PROTOCOL_LIMIT 0x202 //服务端内部限制,数据过大后者过小

XEngine_Source/XEngine.sln

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ EndProject
3333
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_AuthorizeService", "XEngine_APPService\XEngine_AuthorizeService\XEngine_AuthorizeService.vcxproj", "{A29DFD8D-2818-4BE3-A2DB-07F241B4BFC9}"
3434
ProjectSection(ProjectDependencies) = postProject
3535
{1391B739-713B-4A3A-9233-FEAB92E0566C} = {1391B739-713B-4A3A-9233-FEAB92E0566C}
36+
{51DCBDC7-50CB-4A44-B10B-FCF90309914D} = {51DCBDC7-50CB-4A44-B10B-FCF90309914D}
3637
{5FA1874A-32F4-4176-9C23-4E22BE183660} = {5FA1874A-32F4-4176-9C23-4E22BE183660}
3738
{6B926D00-DCD2-49E3-86A9-3230C9872E65} = {6B926D00-DCD2-49E3-86A9-3230C9872E65}
3839
{A8E43EC0-698A-4807-8A61-B2BE5FAB7256} = {A8E43EC0-698A-4807-8A61-B2BE5FAB7256}
@@ -65,6 +66,9 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_InfoReport", "XEngi
6566
EndProjectSection
6667
EndProject
6768
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_Verification", "XEngine_DependLibrary\XEngine_Module\XEngine_Verification\XEngine_Verification.vcxproj", "{A8E43EC0-698A-4807-8A61-B2BE5FAB7256}"
69+
ProjectSection(ProjectDependencies) = postProject
70+
{F1736B3F-03A2-4FC7-B045-A12BA8D724FB} = {F1736B3F-03A2-4FC7-B045-A12BA8D724FB}
71+
EndProjectSection
6872
EndProject
6973
Global
7074
GlobalSection(SolutionConfigurationPlatforms) = preSolution

XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_CDKey.cpp

Lines changed: 28 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -19,65 +19,62 @@ bool XEngine_AuthorizeHTTP_CDKey(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LP
1919
}
2020
if (0 == _tcsxnicmp(lpszAPICreate, lpszAPIName, _tcsxlen(lpszAPICreate)))
2121
{
22-
VERIFICATION_XAUTHKEY st_Authorize;
23-
memset(&st_Authorize, '\0', sizeof(VERIFICATION_XAUTHKEY));
24-
25-
Protocol_Parse_HttpParseCDKey(lpszMsgBuffer, nMsgLen, &st_Authorize);
26-
27-
st_Authorize.st_AuthSerial.st_TimeLimit.nTimeCount = 9999;
28-
memset(st_Authorize.st_AuthSerial.st_TimeLimit.tszTimeSerial, 0, XPATH_MIN);
29-
Verification_XAuthKey_KeySerial(st_Authorize.st_AuthSerial.st_TimeLimit.tszTimeSerial, 8, 0);
30-
31-
memset(st_Authorize.st_AuthSerial.st_DataLimit.tszDataSerial, 0, XPATH_MIN);
32-
XENGINE_LIBTIME st_LibTime = {};
33-
BaseLib_Time_GetSysTime(&st_LibTime);
34-
st_LibTime.wYear += 1; //一年后过期
35-
st_Authorize.st_AuthSerial.st_DataLimit.bTimeAdd = false;
36-
BaseLib_Time_TimeToStr(st_Authorize.st_AuthSerial.st_DataLimit.tszDataTime, NULL, true, &st_LibTime);
37-
Verification_XAuthKey_KeySerial(st_Authorize.st_AuthSerial.st_DataLimit.tszDataSerial, 8, 0);
38-
39-
memset(st_Authorize.st_AuthSerial.st_UNLimit.tszUNLimitSerial, 0, XPATH_MIN);
40-
Verification_XAuthKey_KeySerial(st_Authorize.st_AuthSerial.st_UNLimit.tszUNLimitSerial, 8, 0);
22+
VERIFICATION_XAUTHKEY st_Authorize = {};
4123

24+
Verification_XAuthKey_KeyInit(&st_Authorize);
4225
if (!Verification_XAuthKey_WriteMemory(m_MemoryPoolRecv.get(), &nRVLen, &st_Authorize))
4326
{
4427
Protocol_Packet_HttpComm(m_MemoryPoolSend.get(), &nSDLen, ERROR_AUTHORIZE_PROTOCOL_SERVER, "Not Acceptable,write key failed");
4528
XEngine_Client_TaskSend(lpszClientAddr, m_MemoryPoolSend.get(), nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
46-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("HTTP客户端:%s,请求创建CDKEY协议失败,服务器内部错误:%lX"), lpszClientAddr, Verification_GetLastError());
29+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求创建CDKEY协议失败,读取CDKEY失败:%lX"), lpszClientAddr, Verification_GetLastError());
4730
return false;
4831
}
4932
XEngine_Client_TaskSend(lpszClientAddr, m_MemoryPoolRecv.get(), nRVLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
5033
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("HTTP客户端:%s,请求创建CDKEY成功,APP名:%s,APP版本:%s"), lpszClientAddr, st_Authorize.st_AuthAppInfo.tszAppName, st_Authorize.st_AuthAppInfo.tszAppVer);
5134
}
5235
else if (0 == _tcsxnicmp(lpszAPIAuth, lpszAPIName, _tcsxlen(lpszAPIAuth)))
5336
{
54-
VERIFICATION_XAUTHKEY st_Authorize;
55-
memset(&st_Authorize, '\0', sizeof(VERIFICATION_XAUTHKEY));
56-
57-
Verification_XAuthKey_ReadMemory(lpszMsgBuffer, nMsgLen, &st_Authorize);
37+
VERIFICATION_XAUTHKEY st_Authorize = {};
38+
if (!Verification_XAuthKey_ReadMemory(lpszMsgBuffer, nMsgLen, &st_Authorize))
39+
{
40+
Protocol_Packet_HttpComm(m_MemoryPoolSend.get(), &nSDLen, ERROR_AUTHORIZE_PROTOCOL_CDKEY, "Not Acceptable,read key failed");
41+
XEngine_Client_TaskSend(lpszClientAddr, m_MemoryPoolSend.get(), nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
42+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求创建授权CDKEY协议失败,读取CDKEY失败:%lX"), lpszClientAddr, Verification_GetLastError());
43+
return false;
44+
}
5845
//授权
59-
46+
if (!Verification_XAuthKey_UserRegister(&st_Authorize, st_Authorize.st_AuthSerial.st_TimeLimit.tszTimeSerial))
47+
{
48+
Protocol_Packet_HttpComm(m_MemoryPoolSend.get(), &nSDLen, ERROR_AUTHORIZE_PROTOCOL_SERVER, "Not Acceptable,read key failed");
49+
XEngine_Client_TaskSend(lpszClientAddr, m_MemoryPoolSend.get(), nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
50+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求创建授权CDKEY协议失败,读取CDKEY失败:%lX"), lpszClientAddr, Verification_GetLastError());
51+
return false;
52+
}
6053
XEngine_Client_TaskSend(lpszClientAddr, m_MemoryPoolRecv.get(), nRVLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
6154
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("HTTP客户端:%s,请求授权CDKEY成功,APP名:%s,APP版本:%s,授权期限:%s"), lpszClientAddr, st_Authorize.st_AuthAppInfo.tszAppName, st_Authorize.st_AuthAppInfo.tszAppVer, st_Authorize.st_AuthRegInfo.tszLeftTime);
6255
}
6356
else if (0 == _tcsxnicmp(lpszAPIVer, lpszAPIName, _tcsxlen(lpszAPIVer)))
6457
{
65-
VERIFICATION_XAUTHKEY st_Authorize;
66-
memset(&st_Authorize, '\0', sizeof(VERIFICATION_XAUTHKEY));
67-
68-
Verification_XAuthKey_ReadMemory(lpszMsgBuffer, nMsgLen, &st_Authorize);
58+
VERIFICATION_XAUTHKEY st_Authorize = {};
59+
if (!Verification_XAuthKey_ReadMemory(lpszMsgBuffer, nMsgLen, &st_Authorize))
60+
{
61+
Protocol_Packet_HttpComm(m_MemoryPoolSend.get(), &nSDLen, ERROR_AUTHORIZE_PROTOCOL_CDKEY, "Not Acceptable,read key failed");
62+
XEngine_Client_TaskSend(lpszClientAddr, m_MemoryPoolSend.get(), nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
63+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求创建授权CDKEY协议失败,读取CDKEY失败:%lX"), lpszClientAddr, Verification_GetLastError());
64+
return false;
65+
}
6966
if (ENUM_VERIFICATION_MODULE_VERMODE_TYPE_NETWORK != st_Authorize.st_AuthRegInfo.enVModeType)
7067
{
7168
Protocol_Packet_HttpComm(m_MemoryPoolSend.get(), &nSDLen, ERROR_AUTHORIZE_PROTOCOL_UNAUTHORIZE, "unsupport,cdkey is not authorized");
7269
XEngine_Client_TaskSend(lpszClientAddr, m_MemoryPoolSend.get(), nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
73-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("HTTP客户端:%s,请求验证CDKEY失败,cdkey未授权或者已超时,错误:%lX"), lpszClientAddr, Verification_GetLastError());
70+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求验证CDKEY失败,cdkey未授权或者已超时,错误:%lX"), lpszClientAddr, Verification_GetLastError());
7471
return false;
7572
}
7673
if (!Verification_XAuthKey_KeyParse(&st_Authorize))
7774
{
7875
Protocol_Packet_HttpComm(m_MemoryPoolSend.get(), &nSDLen, ERROR_AUTHORIZE_PROTOCOL_UNAUTHORIZE, "Unauthorized,cdkey is not authorized");
7976
XEngine_Client_TaskSend(lpszClientAddr, m_MemoryPoolSend.get(), nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
80-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("HTTP客户端:%s,请求验证CDKEY失败,cdkey未授权或者已超时,错误:%lX"), lpszClientAddr, Verification_GetLastError());
77+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求验证CDKEY失败,cdkey未授权或者已超时,错误:%lX"), lpszClientAddr, Verification_GetLastError());
8178
return false;
8279
}
8380
Verification_XAuthKey_WriteMemory(m_MemoryPoolRecv.get(), &nRVLen, &st_Authorize);

XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_HttpTask.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -215,8 +215,7 @@ bool XEngine_Client_HttpTask(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int
215215
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求的API:%s 不支持"), lpszClientAddr, pSt_HTTPParament->tszHttpUri);
216216
return false;
217217
}
218-
AUTHREG_USERTABLE st_UserTable;
219-
memset(&st_UserTable, '\0', sizeof(AUTHREG_USERTABLE));
218+
AUTHREG_USERTABLE st_UserTable = {};
220219
//得到TOKEN
221220
if (Protocol_Parse_HttpParseToken(lpszMsgBuffer, nMsgLen, &xhToken))
222221
{

0 commit comments

Comments
 (0)