From 6b7045e211011aa089a4b423fc021236612fa67a Mon Sep 17 00:00:00 2001 From: horizonlin Date: Tue, 18 Dec 2018 11:35:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0URLProtocol?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 娣诲姞URLProtocol --- common/teleport/teleport_const.h | 161 ++++++++++++++++--------------- 1 file changed, 83 insertions(+), 78 deletions(-) diff --git a/common/teleport/teleport_const.h b/common/teleport/teleport_const.h index 05b436b..0cf58a6 100644 --- a/common/teleport/teleport_const.h +++ b/common/teleport/teleport_const.h @@ -1,29 +1,34 @@ #ifndef __TELEPORT_CONST_H__ #define __TELEPORT_CONST_H__ -// 注意同步更新三个不同语言的const文件 +// 娉ㄦ剰鍚屾鏇存柊涓変釜涓嶅悓璇█鐨刢onst鏂囦欢 -// 本文件设定teleport各个模块之间通讯时的错误值(JSON数据),包括: -// - WEB界面与助手 -// - WEB界面与WEB后台 -// - WEB后台与CORE核心服务 +// 鏈枃浠惰瀹歵eleport鍚勪釜妯″潡涔嬮棿閫氳鏃剁殑閿欒鍊硷紙JSON鏁版嵁锛夛紝鍖呮嫭锛 +// - WEB鐣岄潰涓庡姪鎵 +// - WEB鐣岄潰涓嶹EB鍚庡彴 +// - WEB鍚庡彴涓嶤ORE鏍稿績鏈嶅姟 //======================================================= -// 远程连接认证方式 +// Urlprotocol鐩稿叧 +//======================================================= +#define TP_URLPROTO_APP_NAME "teleport" + +//======================================================= +// 杩滅▼杩炴帴璁よ瘉鏂瑰紡 //======================================================= #define TP_AUTH_TYPE_NONE 0 #define TP_AUTH_TYPE_PASSWORD 1 #define TP_AUTH_TYPE_PRIVATE_KEY 2 //======================================================= -// 远程连接协议 +// 杩滅▼杩炴帴鍗忚 //======================================================= #define TP_PROTOCOL_TYPE_RDP 1 #define TP_PROTOCOL_TYPE_SSH 2 #define TP_PROTOCOL_TYPE_TELNET 3 //======================================================= -// 远程连接子协议 +// 杩滅▼杩炴帴瀛愬崗璁 //======================================================= #define TP_PROTOCOL_TYPE_RDP_DESKTOP 100 #define TP_PROTOCOL_TYPE_SSH_SHELL 200 @@ -32,114 +37,114 @@ //======================================================= -// 远程主机操作系统 +// 杩滅▼涓绘満鎿嶄綔绯荤粺 //======================================================= #define TP_OS_TYPE_WINDOWS 1 #define TP_OS_TYPE_LINUX 2 //======================================================= -// 远程连接会话状态 +// 杩滅▼杩炴帴浼氳瘽鐘舵 //======================================================= -#define TP_SESS_STAT_RUNNING 0 // 会话开始了,正在连接 -#define TP_SESS_STAT_END 9999 // 会话成功结束 -#define TP_SESS_STAT_ERR_AUTH_DENIED 1 // 会话结束,因为认证失败 -#define TP_SESS_STAT_ERR_CONNECT 2 // 会话结束,因为无法连接到远程主机 -#define TP_SESS_STAT_ERR_BAD_SSH_KEY 3 // 会话结束,因为无法识别SSH私钥 -#define TP_SESS_STAT_ERR_INTERNAL 4 // 会话结束,因为内部错误 -#define TP_SESS_STAT_ERR_UNSUPPORT_PROTOCOL 5 // 会话结束,因为协议不支持(RDP) -#define TP_SESS_STAT_ERR_BAD_PKG 6 // 会话结束,因为收到错误的报文 -#define TP_SESS_STAT_ERR_RESET 7 // 会话结束,因为teleport核心服务重置了 -#define TP_SESS_STAT_ERR_IO 8 // 会话结束,因为网络中断 -#define TP_SESS_STAT_ERR_SESSION 9 // 会话结束,因为无效的会话ID -#define TP_SESS_STAT_ERR_AUTH_TYPE 10 // 会话结束,因为不被允许的认证方式 -#define TP_SESS_STAT_STARTED 100 // 已经连接成功了,开始记录录像了 -#define TP_SESS_STAT_ERR_START_INTERNAL 104 // 会话结束,因为内部错误 -#define TP_SESS_STAT_ERR_START_BAD_PKG 106 // 会话结束,因为收到错误的报文 -#define TP_SESS_STAT_ERR_START_RESET 107 // 会话结束,因为teleport核心服务重置了 -#define TP_SESS_STAT_ERR_START_IO 108 // 会话结束,因为网络中断 +#define TP_SESS_STAT_RUNNING 0 // 浼氳瘽寮濮嬩簡锛屾鍦ㄨ繛鎺 +#define TP_SESS_STAT_END 9999 // 浼氳瘽鎴愬姛缁撴潫 +#define TP_SESS_STAT_ERR_AUTH_DENIED 1 // 浼氳瘽缁撴潫锛屽洜涓鸿璇佸け璐 +#define TP_SESS_STAT_ERR_CONNECT 2 // 浼氳瘽缁撴潫锛屽洜涓烘棤娉曡繛鎺ュ埌杩滅▼涓绘満 +#define TP_SESS_STAT_ERR_BAD_SSH_KEY 3 // 浼氳瘽缁撴潫锛屽洜涓烘棤娉曡瘑鍒玈SH绉侀挜 +#define TP_SESS_STAT_ERR_INTERNAL 4 // 浼氳瘽缁撴潫锛屽洜涓哄唴閮ㄩ敊璇 +#define TP_SESS_STAT_ERR_UNSUPPORT_PROTOCOL 5 // 浼氳瘽缁撴潫锛屽洜涓哄崗璁笉鏀寔(RDP) +#define TP_SESS_STAT_ERR_BAD_PKG 6 // 浼氳瘽缁撴潫锛屽洜涓烘敹鍒伴敊璇殑鎶ユ枃 +#define TP_SESS_STAT_ERR_RESET 7 // 浼氳瘽缁撴潫锛屽洜涓簍eleport鏍稿績鏈嶅姟閲嶇疆浜 +#define TP_SESS_STAT_ERR_IO 8 // 浼氳瘽缁撴潫锛屽洜涓虹綉缁滀腑鏂 +#define TP_SESS_STAT_ERR_SESSION 9 // 浼氳瘽缁撴潫锛屽洜涓烘棤鏁堢殑浼氳瘽ID +#define TP_SESS_STAT_ERR_AUTH_TYPE 10 // 浼氳瘽缁撴潫锛屽洜涓轰笉琚厑璁哥殑璁よ瘉鏂瑰紡 +#define TP_SESS_STAT_STARTED 100 // 宸茬粡杩炴帴鎴愬姛浜嗭紝寮濮嬭褰曞綍鍍忎簡 +#define TP_SESS_STAT_ERR_START_INTERNAL 104 // 浼氳瘽缁撴潫锛屽洜涓哄唴閮ㄩ敊璇 +#define TP_SESS_STAT_ERR_START_BAD_PKG 106 // 浼氳瘽缁撴潫锛屽洜涓烘敹鍒伴敊璇殑鎶ユ枃 +#define TP_SESS_STAT_ERR_START_RESET 107 // 浼氳瘽缁撴潫锛屽洜涓簍eleport鏍稿績鏈嶅姟閲嶇疆浜 +#define TP_SESS_STAT_ERR_START_IO 108 // 浼氳瘽缁撴潫锛屽洜涓虹綉缁滀腑鏂 //======================================================= -// 授权标记 +// 鎺堟潈鏍囪 //======================================================= #define TP_FLAG_ALL 0xFFFFFFFF -// 会话记录相关 -#define TP_FLAG_RECORD_REPLAY 0x00000001 // 允许记录历史(录像回放) -#define TP_FLAG_RECORD_REAL_TIME 0x00000002 // 允许实时监控 -// RDP相关 -#define TP_FLAG_RDP_DESKTOP 0x00000001 // 允许远程桌面 -#define TP_FLAG_RDP_CLIPBOARD 0x00000002 // 允许剪贴板 -#define TP_FLAG_RDP_DISK 0x00000004 // 允许磁盘映射 -#define TP_FLAG_RDP_APP 0x00000008 // 允许远程APP(尚未实现) -#define TP_FLAG_RDP_CONSOLE 0x00001000 //允许连接到管理员会话(RDP的console选项) -// SSH相关 -#define TP_FLAG_SSH_SHELL 0x00000001 // 允许SHELL -#define TP_FLAG_SSH_SFTP 0x00000002 // 允许SFTP -#define TP_FLAG_SSH_X11 0x00000004 // 允许X11转发(尚未实现) -#define TP_FLAG_SSH_EXEC 0x00000008 // 允许exec执行远程命令(尚未实现) +// 浼氳瘽璁板綍鐩稿叧 +#define TP_FLAG_RECORD_REPLAY 0x00000001 // 鍏佽璁板綍鍘嗗彶锛堝綍鍍忓洖鏀撅級 +#define TP_FLAG_RECORD_REAL_TIME 0x00000002 // 鍏佽瀹炴椂鐩戞帶 +// RDP鐩稿叧 +#define TP_FLAG_RDP_DESKTOP 0x00000001 // 鍏佽杩滅▼妗岄潰 +#define TP_FLAG_RDP_CLIPBOARD 0x00000002 // 鍏佽鍓创鏉 +#define TP_FLAG_RDP_DISK 0x00000004 // 鍏佽纾佺洏鏄犲皠 +#define TP_FLAG_RDP_APP 0x00000008 // 鍏佽杩滅▼APP锛堝皻鏈疄鐜帮級 +#define TP_FLAG_RDP_CONSOLE 0x00001000 //鍏佽杩炴帴鍒扮鐞嗗憳浼氳瘽锛圧DP鐨刢onsole閫夐」锛 +// SSH鐩稿叧 +#define TP_FLAG_SSH_SHELL 0x00000001 // 鍏佽SHELL +#define TP_FLAG_SSH_SFTP 0x00000002 // 鍏佽SFTP +#define TP_FLAG_SSH_X11 0x00000004 // 鍏佽X11杞彂锛堝皻鏈疄鐜帮級 +#define TP_FLAG_SSH_EXEC 0x00000008 // 鍏佽exec鎵ц杩滅▼鍛戒护锛堝皻鏈疄鐜帮級 #define TP_FLAG_SSH_TUNNEL 0x00000010 // allow ssh tunnel. (not impl.) //======================================================= -// 错误值 +// 閿欒鍊 //======================================================= -#define TPE_OK 0 // 成功 +#define TPE_OK 0 // 鎴愬姛 //------------------------------------------------------- -// 通用错误值 +// 閫氱敤閿欒鍊 //------------------------------------------------------- -#define TPE_NEED_MORE_DATA 1 // 需要更多数据(不一定是错误) -#define TPE_NEED_LOGIN 2 // 需要登录 -#define TPE_PRIVILEGE 3 // 没有操作权限 -#define TPE_NOT_IMPLEMENT 7 // 功能尚未实现 -#define TPE_EXISTS 8 // 目标已经存在 -#define TPE_NOT_EXISTS 9 // 目标不存在 +#define TPE_NEED_MORE_DATA 1 // 闇瑕佹洿澶氭暟鎹紙涓嶄竴瀹氭槸閿欒锛 +#define TPE_NEED_LOGIN 2 // 闇瑕佺櫥褰 +#define TPE_PRIVILEGE 3 // 娌℃湁鎿嶄綔鏉冮檺 +#define TPE_NOT_IMPLEMENT 7 // 鍔熻兘灏氭湭瀹炵幇 +#define TPE_EXISTS 8 // 鐩爣宸茬粡瀛樺湪 +#define TPE_NOT_EXISTS 9 // 鐩爣涓嶅瓨鍦 -// 100~299是通用错误值 +// 100~299鏄氱敤閿欒鍊 -#define TPE_FAILED 100 // 内部错误 -#define TPE_NETWORK 101 // 网络错误 -#define TPE_DATABASE 102 // 数据库操作失败 +#define TPE_FAILED 100 // 鍐呴儴閿欒 +#define TPE_NETWORK 101 // 缃戠粶閿欒 +#define TPE_DATABASE 102 // 鏁版嵁搴撴搷浣滃け璐 -// HTTP请求相关错误 -#define TPE_HTTP_METHOD 120 // 无效的请求方法(不是GET/POST等),或者错误的请求方法(例如需要POST,却使用GET方式请求) -#define TPE_HTTP_URL_ENCODE 121 // URL编码错误(无法解码) -//#define TPE_HTTP_URI 122 // 无效的URI +// HTTP璇锋眰鐩稿叧閿欒 +#define TPE_HTTP_METHOD 120 // 鏃犳晥鐨勮姹傛柟娉曪紙涓嶆槸GET/POST绛夛級锛屾垨鑰呴敊璇殑璇锋眰鏂规硶锛堜緥濡傞渶瑕丳OST锛屽嵈浣跨敤GET鏂瑰紡璇锋眰锛 +#define TPE_HTTP_URL_ENCODE 121 // URL缂栫爜閿欒锛堟棤娉曡В鐮侊級 +//#define TPE_HTTP_URI 122 // 鏃犳晥鐨刄RI -#define TPE_UNKNOWN_CMD 124 // 未知的命令 -#define TPE_JSON_FORMAT 125 // 错误的JSON格式(需要JSON格式数据,但是却无法按JSON格式解码) -#define TPE_PARAM 126 // 参数错误 -#define TPE_DATA 127 // 数据错误 +#define TPE_UNKNOWN_CMD 124 // 鏈煡鐨勫懡浠 +#define TPE_JSON_FORMAT 125 // 閿欒鐨凧SON鏍煎紡锛堥渶瑕丣SON鏍煎紡鏁版嵁锛屼絾鏄嵈鏃犳硶鎸塉SON鏍煎紡瑙g爜锛 +#define TPE_PARAM 126 // 鍙傛暟閿欒 +#define TPE_DATA 127 // 鏁版嵁閿欒 -// #define TPE_OPENFILE_ERROR 0x1007 // 无法打开文件 +// #define TPE_OPENFILE_ERROR 0x1007 // 鏃犳硶鎵撳紑鏂囦欢 // #define TPE_GETTEMPPATH_ERROR 0x1007 #define TPE_OPENFILE 300 //------------------------------------------------------- -// WEB服务专用错误值 +// WEB鏈嶅姟涓撶敤閿欒鍊 //------------------------------------------------------- -#define TPE_CAPTCHA_EXPIRED 10000 // 验证码已过期 -#define TPE_CAPTCHA_MISMATCH 10001 // 验证码错误 -#define TPE_OATH_MISMATCH 10002 // 身份验证器动态验证码错误 -#define TPE_SYS_MAINTENANCE 10003 // 系统维护中 +#define TPE_CAPTCHA_EXPIRED 10000 // 楠岃瘉鐮佸凡杩囨湡 +#define TPE_CAPTCHA_MISMATCH 10001 // 楠岃瘉鐮侀敊璇 +#define TPE_OATH_MISMATCH 10002 // 韬唤楠岃瘉鍣ㄥ姩鎬侀獙璇佺爜閿欒 +#define TPE_SYS_MAINTENANCE 10003 // 绯荤粺缁存姢涓 -#define TPE_USER_LOCKED 10100 // 用户已经被锁定(连续多次错误密码) -#define TPE_USER_DISABLED 10101 // 用户已经被禁用 -#define TPE_USER_AUTH 10102 // 身份验证失败 +#define TPE_USER_LOCKED 10100 // 鐢ㄦ埛宸茬粡琚攣瀹氾紙杩炵画澶氭閿欒瀵嗙爜锛 +#define TPE_USER_DISABLED 10101 // 鐢ㄦ埛宸茬粡琚鐢 +#define TPE_USER_AUTH 10102 // 韬唤楠岃瘉澶辫触 //------------------------------------------------------- -// 助手程序专用错误值 +// 鍔╂墜绋嬪簭涓撶敤閿欒鍊 //------------------------------------------------------- -#define TPE_NO_ASSIST 100000 // 未能检测到助手程序 -#define TPE_OLD_ASSIST 100001 // 助手程序版本太低 -#define TPE_START_CLIENT 100002 // 无法启动客户端程序(无法创建进程) +#define TPE_NO_ASSIST 100000 // 鏈兘妫娴嬪埌鍔╂墜绋嬪簭 +#define TPE_OLD_ASSIST 100001 // 鍔╂墜绋嬪簭鐗堟湰澶綆 +#define TPE_START_CLIENT 100002 // 鏃犳硶鍚姩瀹㈡埛绔▼搴忥紙鏃犳硶鍒涘缓杩涚▼锛 //------------------------------------------------------- -// 核心服务专用错误值 +// 鏍稿績鏈嶅姟涓撶敤閿欒鍊 //------------------------------------------------------- -#define TPE_NO_CORE_SERVER 200000 // 未能检测到核心服务 +#define TPE_NO_CORE_SERVER 200000 // 鏈兘妫娴嬪埌鏍稿績鏈嶅姟