Skip to content

Commit 54138bf

Browse files
committed
modify:set and get info for socks proxy
1 parent 183f5fc commit 54138bf

File tree

11 files changed

+248
-189
lines changed

11 files changed

+248
-189
lines changed

XEngine_Source/XEngine_ModuleSession/ModuleSession_Define.h

Lines changed: 63 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@
1313
///当前客户端状态
1414
typedef enum
1515
{
16-
ENUM_PROXY_SESSION_SOCKS_STATUS_CREATE = 0, //创建已完毕
17-
ENUM_PROXY_SESSION_SOCKS_STATUS_AUTH = 1, //请求验证协议协商
18-
ENUM_PROXY_SESSION_SOCKS_STATUS_USER = 2, //用户验证请求
19-
ENUM_PROXY_SESSION_SOCKS_STATUS_FORWARD = 3 //数据转发请求
20-
}ENUM_PROXY_SESSION_SOCKS_STATUS;
16+
ENUM_PROXY_SESSION_CLIENT_CREATE = 0, //创建已完毕
17+
ENUM_PROXY_SESSION_CLIENT_AUTH = 1, //请求验证协议协商
18+
ENUM_PROXY_SESSION_CLIENT_USER = 2, //用户验证请求
19+
ENUM_PROXY_SESSION_CLIENT_FORWARD = 3 //数据转发请求
20+
}ENUM_PROXY_SESSION_CLIENT_STATUS;
2121
typedef struct
2222
{
2323
XENGINE_PROTOCOL_USERAUTH st_UserAuth;
@@ -293,7 +293,7 @@ extern "C" bool ModuleSession_Socks_GetAddrForHandle(XNETHANDLE xhClient, XCHAR*
293293
意思:是否成功
294294
备注:
295295
*********************************************************************/
296-
extern "C" bool ModuleSession_Socks_GetStatus(LPCXSTR lpszClientID, ENUM_PROXY_SESSION_SOCKS_STATUS* penSocks);
296+
extern "C" bool ModuleSession_Socks_GetStatus(LPCXSTR lpszClientID, ENUM_PROXY_SESSION_CLIENT_STATUS* penSocks);
297297
/********************************************************************
298298
函数名称:ModuleSession_Socks_SetStatus
299299
函数功能:设置客户端状态
@@ -312,7 +312,7 @@ extern "C" bool ModuleSession_Socks_GetStatus(LPCXSTR lpszClientID, ENUM_PROXY_S
312312
意思:是否成功
313313
备注:
314314
*********************************************************************/
315-
extern "C" bool ModuleSession_Socks_SetStatus(LPCXSTR lpszClientID, ENUM_PROXY_SESSION_SOCKS_STATUS enStatus);
315+
extern "C" bool ModuleSession_Socks_SetStatus(LPCXSTR lpszClientID, ENUM_PROXY_SESSION_CLIENT_STATUS enStatus);
316316
/********************************************************************
317317
函数名称:ModuleSession_Socks_List
318318
函数功能:获取客户端列表
@@ -371,22 +371,22 @@ extern "C" bool ModuleSession_Tunnel_Delete(LPCXSTR lpszClientID);
371371
类型:常量字符指针
372372
可空:N
373373
意思:输入要操作的客户端
374-
参数.二:lParam
374+
参数.二:xhClient
375375
In/Out:In
376-
类型:无类型指针
376+
类型:句柄
377377
可空:N
378-
意思:输入要设置的内容
379-
参数.三:nLen
378+
意思:输入要设置的客户端句柄
379+
参数.三:lpszClientAddr
380380
In/Out:In
381-
类型:整数型
381+
类型:常量字符指针
382382
可空:N
383-
意思:输入自定义内容大小
383+
意思:输入绑定的句柄客户端地址
384384
返回值
385385
类型:逻辑型
386386
意思:是否成功
387387
备注:
388388
*********************************************************************/
389-
extern "C" bool ModuleSession_Tunnel_SetInfo(LPCXSTR lpszClientID, XPVOID lParam, int nLen);
389+
extern "C" bool ModuleSession_Tunnel_SetInfo(LPCXSTR lpszClientID, XNETHANDLE xhClient, LPCXSTR lpszClientAddr);
390390
/********************************************************************
391391
函数名称:ModuleSession_Tunnel_GetInfo
392392
函数功能:获取客户端信息
@@ -395,46 +395,74 @@ extern "C" bool ModuleSession_Tunnel_SetInfo(LPCXSTR lpszClientID, XPVOID lParam
395395
类型:常量字符指针
396396
可空:N
397397
意思:输入要操作的客户端
398-
参数.二:lParam
398+
参数.二:pxhClient
399399
In/Out:Out
400-
类型:无类型指针
400+
类型:句柄
401401
可空:N
402402
意思:输出获取到的内容
403-
参数.三:pInt_Len
404-
In/Out:Out
405-
类型:整数型指针
406-
可空:Y
407-
意思:输出自定义内容大小
408403
返回值
409404
类型:逻辑型
410405
意思:是否成功
411406
备注:
412407
*********************************************************************/
413-
extern "C" bool ModuleSession_Tunnel_GetInfo(LPCXSTR lpszClientID, XPVOID lParam, int* pInt_Len = NULL);
408+
extern "C" bool ModuleSession_Tunnel_GetInfo(LPCXSTR lpszClientID, XNETHANDLE* pxhClient);
414409
/********************************************************************
415-
函数名称:ModuleSession_Tunnel_GetList
416-
函数功能:获取所有自定义数据
417-
参数.一:xpppMem
418-
In/Out:Out
419-
类型:三级指针
410+
函数名称:ModuleSession_Tunnel_SetStatus
411+
函数功能:设置客户端状态
412+
参数.一:lpszClientID
413+
In/Out:In
414+
类型:常量字符指针
420415
可空:N
421-
意思:输出获取到的列表
422-
参数.二:pInt_Count
416+
意思:输入要操作的客户端
417+
参数.二:enStatus
418+
In/Out:In
419+
类型:枚举型
420+
可空:N
421+
意思:输入设置的状态
422+
返回值
423+
类型:逻辑型
424+
意思:是否成功
425+
备注:
426+
*********************************************************************/
427+
extern "C" bool ModuleSession_Tunnel_GetStatus(LPCXSTR lpszClientID, ENUM_PROXY_SESSION_CLIENT_STATUS* penStatus);
428+
/********************************************************************
429+
函数名称:ModuleSession_Tunnel_GetStatus
430+
函数功能:获取客户端状态
431+
参数.一:lpszClientID
432+
In/Out:In
433+
类型:常量字符指针
434+
可空:N
435+
意思:输入要操作的客户端
436+
参数.二:penStatus
423437
In/Out:Out
424-
类型:整数型指针
438+
类型:枚举型
425439
可空:N
426-
意思:输出列表个数
427-
参数.三:nSize
440+
意思:输出客户端的状态
441+
返回值
442+
类型:逻辑型
443+
意思:是否成功
444+
备注:
445+
*********************************************************************/
446+
extern "C" bool ModuleSession_Tunnel_SetStatus(LPCXSTR lpszClientID, ENUM_PROXY_SESSION_CLIENT_STATUS enStatus);
447+
/********************************************************************
448+
函数名称:ModuleSession_Tunnel_GetAddrForHandle
449+
函数功能:通过句柄获取ID
450+
参数.一:xhClient
451+
In/Out:In
452+
类型:句柄
453+
可空:N
454+
意思:输入要获取的客户端句柄
455+
参数.二:ptszClientAddr
428456
In/Out:Out
429-
类型:整数型
457+
类型:字符指针
430458
可空:N
431-
意思:输入每个成员的大小
459+
意思:输出获取的客户端地址
432460
返回值
433461
类型:逻辑型
434462
意思:是否成功
435463
备注:
436464
*********************************************************************/
437-
extern "C" bool ModuleSession_Tunnel_GetList(XPPPMEM xpppMem, int* pInt_Count, int nSize);
465+
extern "C" bool ModuleSession_Tunnel_GetAddrForHandle(XNETHANDLE xhClient, XCHAR* ptszClientAddr);
438466
/********************************************************************
439467
函数名称:ModuleSession_Tunnel_Packet
440468
函数功能:解析客户端的隧道代理协议

XEngine_Source/XEngine_ModuleSession/ModuleSession_Socks/ModuleSession_Socks.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ bool CModuleSession_Socks::ModuleSession_Socks_Create(LPCXSTR lpszClientID)
5252
}
5353
memset(pSt_SocksClinet, '\0', sizeof(RFCPROTOCOL_SOCKS5CLIENT));
5454

55-
pSt_SocksClinet->enProxyStatus = ENUM_PROXY_SESSION_SOCKS_STATUS_CREATE;
55+
pSt_SocksClinet->enProxyStatus = ENUM_PROXY_SESSION_CLIENT_CREATE;
5656

5757
st_Locker.lock();
5858
stl_MapClients.insert(make_pair(lpszClientID, pSt_SocksClinet));
@@ -291,7 +291,7 @@ bool CModuleSession_Socks::ModuleSession_Socks_GetAddrForHandle(XNETHANDLE xhCli
291291
意思:是否成功
292292
备注:
293293
*********************************************************************/
294-
bool CModuleSession_Socks::ModuleSession_Socks_GetStatus(LPCXSTR lpszClientID, ENUM_PROXY_SESSION_SOCKS_STATUS* penSocks)
294+
bool CModuleSession_Socks::ModuleSession_Socks_GetStatus(LPCXSTR lpszClientID, ENUM_PROXY_SESSION_CLIENT_STATUS* penSocks)
295295
{
296296
Session_IsErrorOccur = false;
297297

@@ -332,7 +332,7 @@ bool CModuleSession_Socks::ModuleSession_Socks_GetStatus(LPCXSTR lpszClientID, E
332332
意思:是否成功
333333
备注:
334334
*********************************************************************/
335-
bool CModuleSession_Socks::ModuleSession_Socks_SetStatus(LPCXSTR lpszClientID, ENUM_PROXY_SESSION_SOCKS_STATUS enStatus)
335+
bool CModuleSession_Socks::ModuleSession_Socks_SetStatus(LPCXSTR lpszClientID, ENUM_PROXY_SESSION_CLIENT_STATUS enStatus)
336336
{
337337
Session_IsErrorOccur = false;
338338

XEngine_Source/XEngine_ModuleSession/ModuleSession_Socks/ModuleSession_Socks.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ typedef struct
1717
{
1818
XCHAR tszClientAddr[128]; //代理客户端地址
1919
XNETHANDLE xhClient; //客户端句柄
20-
ENUM_PROXY_SESSION_SOCKS_STATUS enProxyStatus; //客户端状态
20+
ENUM_PROXY_SESSION_CLIENT_STATUS enProxyStatus; //客户端状态
2121
}RFCPROTOCOL_SOCKS5CLIENT, * LPRFCPROTOCOL_SOCKS5CLIENT;
2222

2323

@@ -33,8 +33,8 @@ class CModuleSession_Socks
3333
bool ModuleSession_Socks_GetInfo(LPCXSTR lpszClientID, XNETHANDLE *pxhClient);
3434
bool ModuleSession_Socks_GetHandleForAddr(LPCXSTR lpszClientAddr, XNETHANDLE* pxhClient);
3535
bool ModuleSession_Socks_GetAddrForHandle(XNETHANDLE xhClient, XCHAR *ptszClientAddr);
36-
bool ModuleSession_Socks_GetStatus(LPCXSTR lpszClientID, ENUM_PROXY_SESSION_SOCKS_STATUS* penSocks);
37-
bool ModuleSession_Socks_SetStatus(LPCXSTR lpszClientID, ENUM_PROXY_SESSION_SOCKS_STATUS enStatus);
36+
bool ModuleSession_Socks_GetStatus(LPCXSTR lpszClientID, ENUM_PROXY_SESSION_CLIENT_STATUS* penSocks);
37+
bool ModuleSession_Socks_SetStatus(LPCXSTR lpszClientID, ENUM_PROXY_SESSION_CLIENT_STATUS enStatus);
3838
bool ModuleSession_Socks_List(XCHAR*** ppptszClientList, int* pInt_ListCount);
3939
private:
4040
shared_mutex st_Locker;

0 commit comments

Comments
 (0)