Skip to content

Commit 0001cfc

Browse files
committed
added:http basic and digest verification
1 parent 166f0ae commit 0001cfc

File tree

18 files changed

+279
-13
lines changed

18 files changed

+279
-13
lines changed

XEngine_Release/XEngine_Config/XEngine_Config.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,13 @@
8080
"LogLeave": 17,
8181
"LogType": 32
8282
},
83+
"XVerification": {
84+
"bEnable": false,
85+
"tszUser": "xengine",
86+
"tszPass": "123123aa",
87+
"tszAPIUrl": "",
88+
"nVerType": 2
89+
},
8390
"XReport":{
8491
"bEnable":true,
8592
"tszServiceName":"XEngine_StreamMedia",

XEngine_Source/VSCopy_Arm64.bat

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ copy /y "%XEngine_LibArm64%\XEngine_Core\XEngine_Core.dll" "./"
55
copy /y "%XEngine_LibArm64%\XEngine_Core\XEngine_ManagePool.dll" "./"
66
copy /y "%XEngine_LibArm64%\XEngine_Core\XEngine_Cryption.dll" "./"
77

8+
copy /y "%XEngine_LibArm64%\XEngine_Client\XClient_Socket.dll" "./"
89
copy /y "%XEngine_LibArm64%\XEngine_Client\XClient_APIHelp.dll" "./"
910

1011
copy /y "%XEngine_LibArm64%\XEngine_NetHelp\NetHelp_XSocket.dll" "./"

XEngine_Source/VSCopy_Debug.bat

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_Core.dll" "./"
55
copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_ManagePool.dll" "./"
66
copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_Cryption.dll" "./"
77

8+
copy /y "D:\XEngine\XEngine_SourceCode\Debug\XClient_Socket.dll" "./"
89
copy /y "D:\XEngine\XEngine_SourceCode\Debug\XClient_APIHelp.dll" "./"
910

1011
copy /y "D:\XEngine\XEngine_SourceCode\Debug\NetHelp_XSocket.dll" "./"

XEngine_Source/VSCopy_x64.bat

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_Core.dll" "./"
55
copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_ManagePool.dll" "./"
66
copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_Cryption.dll" "./"
77

8+
copy /y "%XEngine_Lib64%\XEngine_Client\XClient_Socket.dll" "./"
89
copy /y "%XEngine_Lib64%\XEngine_Client\XClient_APIHelp.dll" "./"
910

1011
copy /y "%XEngine_Lib64%\XEngine_NetHelp\NetHelp_XSocket.dll" "./"

XEngine_Source/VSCopy_x86.bat

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_Core.dll" "./"
55
copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_ManagePool.dll" "./"
66
copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_Cryption.dll" "./"
77

8+
copy /y "%XEngine_Lib32%\XEngine_Client\XClient_Socket.dll" "./"
89
copy /y "%XEngine_Lib32%\XEngine_Client\XClient_APIHelp.dll" "./"
910

1011
copy /y "%XEngine_Lib32%\XEngine_NetHelp\NetHelp_XSocket.dll" "./"

XEngine_Source/XEngine.sln

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_InfoReport", "XEngi
4747
{F1736B3F-03A2-4FC7-B045-A12BA8D724FB} = {F1736B3F-03A2-4FC7-B045-A12BA8D724FB}
4848
EndProjectSection
4949
EndProject
50+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_Verification", "XEngine_DependLibrary\XEngine_Module\XEngine_Verification\XEngine_Verification.vcxproj", "{A8E43EC0-698A-4807-8A61-B2BE5FAB7256}"
51+
EndProject
5052
Global
5153
GlobalSection(SolutionConfigurationPlatforms) = preSolution
5254
Debug|ARM64 = Debug|ARM64
@@ -153,6 +155,18 @@ Global
153155
{F6520D2C-BB8E-45BB-964B-F5D6A4318A89}.Release|x64.Build.0 = Release|x64
154156
{F6520D2C-BB8E-45BB-964B-F5D6A4318A89}.Release|x86.ActiveCfg = Release|Win32
155157
{F6520D2C-BB8E-45BB-964B-F5D6A4318A89}.Release|x86.Build.0 = Release|Win32
158+
{A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Debug|ARM64.ActiveCfg = Debug|ARM64
159+
{A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Debug|ARM64.Build.0 = Debug|ARM64
160+
{A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Debug|x64.ActiveCfg = Debug|x64
161+
{A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Debug|x64.Build.0 = Debug|x64
162+
{A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Debug|x86.ActiveCfg = Debug|Win32
163+
{A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Debug|x86.Build.0 = Debug|Win32
164+
{A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Release|ARM64.ActiveCfg = Release|ARM64
165+
{A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Release|ARM64.Build.0 = Release|ARM64
166+
{A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Release|x64.ActiveCfg = Release|x64
167+
{A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Release|x64.Build.0 = Release|x64
168+
{A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Release|x86.ActiveCfg = Release|Win32
169+
{A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Release|x86.Build.0 = Release|Win32
156170
EndGlobalSection
157171
GlobalSection(SolutionProperties) = preSolution
158172
HideSolutionNode = FALSE
@@ -161,6 +175,7 @@ Global
161175
{2E55D676-E9F5-48B8-B65E-FE0E7C3D2AEB} = {79A9A569-7DA8-4D9D-AD34-D11115199EA1}
162176
{F1736B3F-03A2-4FC7-B045-A12BA8D724FB} = {6A753FB6-282E-4E86-91BB-BE97618B65A4}
163177
{F6520D2C-BB8E-45BB-964B-F5D6A4318A89} = {6A753FB6-282E-4E86-91BB-BE97618B65A4}
178+
{A8E43EC0-698A-4807-8A61-B2BE5FAB7256} = {6A753FB6-282E-4E86-91BB-BE97618B65A4}
164179
EndGlobalSection
165180
GlobalSection(ExtensibilityGlobals) = postSolution
166181
SolutionGuid = {9B202F91-A601-429E-BB0F-880DDEE096FE}

XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Define.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,14 @@ typedef struct tag_XEngine_ServiceConfig
111111
}st_PullWebRtc;
112112
}st_XPull;
113113
struct
114+
{
115+
XCHAR tszAPIUrl[XPATH_MID]; //验证API地址
116+
XCHAR tszUserName[128]; //验证用户名
117+
XCHAR tszUserPass[128]; //验证密码
118+
int nVType; //验证方法,1 基本,2摘要
119+
bool bEnable; //是否启用HTTP接口权限验证
120+
}st_XVerification;
121+
struct
114122
{
115123
XCHAR tszAPIUrl[XPATH_MAX];
116124
XCHAR tszServiceName[128];

XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Error.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,5 @@
1919
#define ERROR_MODULE_CONFIGURE_JSON_XVER 0xA0007 //读取版本列表失败
2020
#define ERROR_MODULE_CONFIGURE_JSON_MALLOC 0xA0008 //申请内存失败
2121
#define ERROR_MODULE_CONFIGURE_JSON_XPULL 0xA0009 //拉流配置不存在
22-
#define ERROR_MODULE_CONFIGURE_JSON_REPORT 0xA000A //报告配置不存在
22+
#define ERROR_MODULE_CONFIGURE_JSON_REPORT 0xA000A //报告配置不存在
23+
#define ERROR_MODULE_CONFIGURE_JSON_VERIFICATION 0xA000B //验证配置不存在

XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,19 @@ bool CModuleConfigure_Json::ModuleConfigure_Json_File(LPCXSTR lpszConfigFile, XE
177177
pSt_ServerConfig->st_XLog.nLogLeave = st_JsonXLog["LogLeave"].asInt();
178178
pSt_ServerConfig->st_XLog.nLogType = st_JsonXLog["LogType"].asInt();
179179
_tcsxcpy(pSt_ServerConfig->st_XLog.tszLogFile, st_JsonXLog["LogFile"].asCString());
180+
//接口验证
181+
if (st_JsonRoot["XVerification"].empty() || (5 != st_JsonRoot["XVerification"].size()))
182+
{
183+
Config_IsErrorOccur = true;
184+
Config_dwErrorCode = ERROR_MODULE_CONFIGURE_JSON_VERIFICATION;
185+
return false;
186+
}
187+
Json::Value st_JsonXVerification = st_JsonRoot["XVerification"];
188+
pSt_ServerConfig->st_XVerification.bEnable = st_JsonXVerification["bEnable"].asBool();
189+
pSt_ServerConfig->st_XVerification.nVType = st_JsonXVerification["nVerType"].asInt();
190+
_tcsxcpy(pSt_ServerConfig->st_XVerification.tszUserName, st_JsonXVerification["tszUser"].asCString());
191+
_tcsxcpy(pSt_ServerConfig->st_XVerification.tszUserPass, st_JsonXVerification["tszPass"].asCString());
192+
_tcsxcpy(pSt_ServerConfig->st_XVerification.tszAPIUrl, st_JsonXVerification["tszAPIUrl"].asCString());
180193
//信息报告
181194
if (st_JsonRoot["XReport"].empty() || (3 != st_JsonRoot["XReport"].size()))
182195
{

XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -217,4 +217,28 @@ extern "C" bool ModuleProtocol_Packet_HTTPPullGet(XCHAR* ptszMsgBuffer, int* pIn
217217
意思:是否成功
218218
备注:
219219
*********************************************************************/
220-
extern "C" bool ModuleProtocol_Parse_HTTPForward(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR * ptszAVUrl = NULL);
220+
extern "C" bool ModuleProtocol_Parse_HTTPForward(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR * ptszAVUrl = NULL);
221+
/********************************************************************
222+
函数名称:ModuleProtocol_Parse_HTTPParseAuth
223+
函数功能:用户验证解析协议
224+
参数.一:lpszMsgBuffer
225+
In/Out:In
226+
类型:常量字符指针
227+
可空:N
228+
意思:输入要解析的缓冲区
229+
参数.二:nMsgLen
230+
In/Out:In
231+
类型:整数型
232+
可空:N
233+
意思:输入要解析的大小
234+
参数.三:pSt_UserAuth
235+
In/Out:Out
236+
类型:数据结构指针
237+
可空:N
238+
意思:输出解析的数据
239+
返回值
240+
类型:逻辑型
241+
意思:是否成功
242+
备注:
243+
*********************************************************************/
244+
extern "C" bool ModuleProtocol_Parse_HTTPParseAuth(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_PROTOCOL_USERAUTHEX* pSt_UserAuth);

0 commit comments

Comments
 (0)