filecat 5.15.5 → 5.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (316) hide show
  1. package/build/dist/181.11199e601b22f4add759.js +2 -0
  2. package/build/dist/{960.57837b4ef9e3838cf339.js → 301.0aa113cb4316e9e74a51.js} +2 -2
  3. package/build/dist/{325.fe78da5ba19c2104cc9e.js → 325.5f041ae7990615da279c.js} +2 -2
  4. package/build/dist/{523.560ce4ba9d2c7877058d.js → 523.cd76e6fafa6440cc1693.js} +2 -2
  5. package/build/dist/{757.964f68a8419e427d298f.js → 757.a6c2cab5ed6ce5776467.js} +1 -1
  6. package/build/dist/{793.da73c469f1ba286afc1b.js → 793.5ac9e1d8bc64790682d0.js} +2 -2
  7. package/build/dist/{827.b10a4f524c371d404cff.js → 827.e64e0af3c11c5bcd68c0.js} +2 -2
  8. package/build/dist/91.56af0d7eacb487e115b2.js +1 -0
  9. package/build/dist/{943.911e95ed97052f17913b.js → 943.7e28d7ce1a69f0d15eb2.js} +2 -2
  10. package/build/dist/995.ec4607dd8bb71cfb6a9d.js +2 -0
  11. package/build/dist/index.html +1 -1
  12. package/build/dist/main.7d110d8fdcc3c74c6c82.js +2 -0
  13. package/build/server/common/Env.js +188 -0
  14. package/build/server/common/Env.js.map +1 -0
  15. package/build/server/common/FileMenuType.js +45 -0
  16. package/build/server/common/FileMenuType.js.map +1 -0
  17. package/build/server/common/ListUtil.js +174 -0
  18. package/build/server/common/ListUtil.js.map +1 -0
  19. package/build/server/common/Result.pojo.js +14 -0
  20. package/build/server/common/Result.pojo.js.map +1 -0
  21. package/build/server/common/RouterConfig.js +16 -0
  22. package/build/server/common/RouterConfig.js.map +1 -0
  23. package/build/server/common/StringUtil.js +153 -0
  24. package/build/server/common/StringUtil.js.map +1 -0
  25. package/build/server/common/ValueUtil.js +49 -0
  26. package/build/server/common/ValueUtil.js.map +1 -0
  27. package/build/server/common/common.util.js +10 -0
  28. package/build/server/common/common.util.js.map +1 -0
  29. package/build/server/common/file.pojo.js +56 -0
  30. package/build/server/common/file.pojo.js.map +1 -0
  31. package/build/server/common/findPort.js +34 -0
  32. package/build/server/common/findPort.js.map +1 -0
  33. package/build/server/common/frame/WsData.js +168 -0
  34. package/build/server/common/frame/WsData.js.map +1 -0
  35. package/build/server/common/frame/router.js +25 -0
  36. package/build/server/common/frame/router.js.map +1 -0
  37. package/build/server/common/frame/ws.client.js +295 -0
  38. package/build/server/common/frame/ws.client.js.map +1 -0
  39. package/build/server/common/frame/ws.server.js +226 -0
  40. package/build/server/common/frame/ws.server.js.map +1 -0
  41. package/build/server/common/http.js +47 -0
  42. package/build/server/common/http.js.map +1 -0
  43. package/build/server/common/install.js +139 -0
  44. package/build/server/common/install.js.map +1 -0
  45. package/build/server/common/path_util.js +86 -0
  46. package/build/server/common/path_util.js.map +1 -0
  47. package/build/server/common/proto/proto.generate.js +23 -0
  48. package/build/server/common/proto/proto.generate.js.map +1 -0
  49. package/build/server/common/proto/proto.js +172 -0
  50. package/build/server/common/proto/proto.js.map +1 -0
  51. package/build/server/common/req/common.pojo.js +17 -0
  52. package/build/server/common/req/common.pojo.js.map +1 -0
  53. package/build/server/common/req/customerRouter.pojo.js +9 -0
  54. package/build/server/common/req/customerRouter.pojo.js.map +1 -0
  55. package/build/server/common/req/data.pojo.js +3 -0
  56. package/build/server/common/req/data.pojo.js.map +1 -0
  57. package/build/server/common/req/ddns.pojo.js +39 -0
  58. package/build/server/common/req/ddns.pojo.js.map +1 -0
  59. package/build/server/common/req/file.req.js +46 -0
  60. package/build/server/common/req/file.req.js.map +1 -0
  61. package/build/server/common/req/http_controller_router.js +13 -0
  62. package/build/server/common/req/http_controller_router.js.map +1 -0
  63. package/build/server/common/req/net.pojo.js +49 -0
  64. package/build/server/common/req/net.pojo.js.map +1 -0
  65. package/build/server/common/req/setting.req.js +37 -0
  66. package/build/server/common/req/setting.req.js.map +1 -0
  67. package/build/server/common/req/ssh.pojo.js +13 -0
  68. package/build/server/common/req/ssh.pojo.js.map +1 -0
  69. package/build/server/common/req/sys.pojo.js +23 -0
  70. package/build/server/common/req/sys.pojo.js.map +1 -0
  71. package/build/server/common/req/user.req.js +91 -0
  72. package/build/server/common/req/user.req.js.map +1 -0
  73. package/build/server/common/word_detection_js.js +142 -0
  74. package/build/server/common/word_detection_js.js.map +1 -0
  75. package/build/server/main/domain/bin/bin.js +149 -0
  76. package/build/server/main/domain/bin/bin.js.map +1 -0
  77. package/build/server/main/domain/crypto/crypto.controller.js +63 -0
  78. package/build/server/main/domain/crypto/crypto.controller.js.map +1 -0
  79. package/build/server/main/domain/crypto/crypto.service.js +112 -0
  80. package/build/server/main/domain/crypto/crypto.service.js.map +1 -0
  81. package/build/server/main/domain/data/DataUtil.js +111 -0
  82. package/build/server/main/domain/data/DataUtil.js.map +1 -0
  83. package/build/server/main/domain/data/basedata/base_data_util.js +241 -0
  84. package/build/server/main/domain/data/basedata/base_data_util.js.map +1 -0
  85. package/build/server/main/domain/data/data_type.js +74 -0
  86. package/build/server/main/domain/data/data_type.js.map +1 -0
  87. package/build/server/main/domain/ddns/ddns.ali.server.js +88 -0
  88. package/build/server/main/domain/ddns/ddns.ali.server.js.map +1 -0
  89. package/build/server/main/domain/ddns/ddns.controller.js +103 -0
  90. package/build/server/main/domain/ddns/ddns.controller.js.map +1 -0
  91. package/build/server/main/domain/ddns/ddns.dnspod.service.js +121 -0
  92. package/build/server/main/domain/ddns/ddns.dnspod.service.js.map +1 -0
  93. package/build/server/main/domain/ddns/ddns.pre.js +120 -0
  94. package/build/server/main/domain/ddns/ddns.pre.js.map +1 -0
  95. package/build/server/main/domain/ddns/ddns.service.js +175 -0
  96. package/build/server/main/domain/ddns/ddns.service.js.map +1 -0
  97. package/build/server/main/domain/ddns/ddns.tengxun.service.js +57 -0
  98. package/build/server/main/domain/ddns/ddns.tengxun.service.js.map +1 -0
  99. package/build/server/main/domain/ddns/tx/abstract_client.js +270 -0
  100. package/build/server/main/domain/ddns/tx/abstract_client.js.map +1 -0
  101. package/build/server/main/domain/ddns/tx/dnspod_client.js +65 -0
  102. package/build/server/main/domain/ddns/tx/dnspod_client.js.map +1 -0
  103. package/build/server/main/domain/ddns/tx/dnspod_models.js +3 -0
  104. package/build/server/main/domain/ddns/tx/dnspod_models.js.map +1 -0
  105. package/build/server/main/domain/ddns/tx/exception/tencent_cloud_sdk_exception.js +38 -0
  106. package/build/server/main/domain/ddns/tx/exception/tencent_cloud_sdk_exception.js.map +1 -0
  107. package/build/server/main/domain/ddns/tx/http/fetch.js +3 -0
  108. package/build/server/main/domain/ddns/tx/http/fetch.js.map +1 -0
  109. package/build/server/main/domain/ddns/tx/http/http_connection.js +194 -0
  110. package/build/server/main/domain/ddns/tx/http/http_connection.js.map +1 -0
  111. package/build/server/main/domain/ddns/tx/interface.js +5 -0
  112. package/build/server/main/domain/ddns/tx/interface.js.map +1 -0
  113. package/build/server/main/domain/ddns/tx/sdk_version.js +5 -0
  114. package/build/server/main/domain/ddns/tx/sdk_version.js.map +1 -0
  115. package/build/server/main/domain/ddns/tx/sign.js +142 -0
  116. package/build/server/main/domain/ddns/tx/sign.js.map +1 -0
  117. package/build/server/main/domain/ddns/tx/sse_response_model.js +124 -0
  118. package/build/server/main/domain/ddns/tx/sse_response_model.js.map +1 -0
  119. package/build/server/main/domain/file/FileUtil.js +96 -0
  120. package/build/server/main/domain/file/FileUtil.js.map +1 -0
  121. package/build/server/main/domain/file/file.compress.js +131 -0
  122. package/build/server/main/domain/file/file.compress.js.map +1 -0
  123. package/build/server/main/domain/file/file.controller.js +483 -0
  124. package/build/server/main/domain/file/file.controller.js.map +1 -0
  125. package/build/server/main/domain/file/file.service.js +1123 -0
  126. package/build/server/main/domain/file/file.service.js.map +1 -0
  127. package/build/server/main/domain/file/search/file.search.js +83 -0
  128. package/build/server/main/domain/file/search/file.search.js.map +1 -0
  129. package/build/server/main/domain/file/search/file.search.worker.js +100 -0
  130. package/build/server/main/domain/file/search/file.search.worker.js.map +1 -0
  131. package/build/server/main/domain/file/search/file.type.js +3 -0
  132. package/build/server/main/domain/file/search/file.type.js.map +1 -0
  133. package/build/server/main/domain/file/workflow/workflow.process.js +104 -0
  134. package/build/server/main/domain/file/workflow/workflow.process.js.map +1 -0
  135. package/build/server/main/domain/file/workflow/workflow.service.js +687 -0
  136. package/build/server/main/domain/file/workflow/workflow.service.js.map +1 -0
  137. package/build/server/main/domain/file/workflow/workflow.util.js +121 -0
  138. package/build/server/main/domain/file/workflow/workflow.util.js.map +1 -0
  139. package/build/server/main/domain/navindex/navindex.controller.js +73 -0
  140. package/build/server/main/domain/navindex/navindex.controller.js.map +1 -0
  141. package/build/server/main/domain/net/net.controller.js +196 -0
  142. package/build/server/main/domain/net/net.controller.js.map +1 -0
  143. package/build/server/main/domain/net/net.datautil.js +8 -0
  144. package/build/server/main/domain/net/net.datautil.js.map +1 -0
  145. package/build/server/main/domain/net/net.service.js +415 -0
  146. package/build/server/main/domain/net/net.service.js.map +1 -0
  147. package/build/server/main/domain/net/util/NetClientUtil.js +246 -0
  148. package/build/server/main/domain/net/util/NetClientUtil.js.map +1 -0
  149. package/build/server/main/domain/net/util/NetServerUtil.js +128 -0
  150. package/build/server/main/domain/net/util/NetServerUtil.js.map +1 -0
  151. package/build/server/main/domain/net/util/NetUtil.js +129 -0
  152. package/build/server/main/domain/net/util/NetUtil.js.map +1 -0
  153. package/build/server/main/domain/net/util/tcp.util.js +137 -0
  154. package/build/server/main/domain/net/util/tcp.util.js.map +1 -0
  155. package/build/server/main/domain/net/util/udp.util.js +28 -0
  156. package/build/server/main/domain/net/util/udp.util.js.map +1 -0
  157. package/build/server/main/domain/net/virtual/tcp_proxy.js +106 -0
  158. package/build/server/main/domain/net/virtual/tcp_proxy.js.map +1 -0
  159. package/build/server/main/domain/net/virtual/virtual.client.service.js +445 -0
  160. package/build/server/main/domain/net/virtual/virtual.client.service.js.map +1 -0
  161. package/build/server/main/domain/net/virtual/virtual.controller.js +263 -0
  162. package/build/server/main/domain/net/virtual/virtual.controller.js.map +1 -0
  163. package/build/server/main/domain/net/virtual/virtual.server.service.js +91 -0
  164. package/build/server/main/domain/net/virtual/virtual.server.service.js.map +1 -0
  165. package/build/server/main/domain/pre/lifeRecordService.js +92 -0
  166. package/build/server/main/domain/pre/lifeRecordService.js.map +1 -0
  167. package/build/server/main/domain/rdp/lib/asn1/ber.js +66 -0
  168. package/build/server/main/domain/rdp/lib/asn1/ber.js.map +1 -0
  169. package/build/server/main/domain/rdp/lib/asn1/index.js +9 -0
  170. package/build/server/main/domain/rdp/lib/asn1/index.js.map +1 -0
  171. package/build/server/main/domain/rdp/lib/asn1/spec.js +56 -0
  172. package/build/server/main/domain/rdp/lib/asn1/spec.js.map +1 -0
  173. package/build/server/main/domain/rdp/lib/asn1/univ.js +315 -0
  174. package/build/server/main/domain/rdp/lib/asn1/univ.js.map +1 -0
  175. package/build/server/main/domain/rdp/lib/core/error.js +25 -0
  176. package/build/server/main/domain/rdp/lib/core/error.js.map +1 -0
  177. package/build/server/main/domain/rdp/lib/core/index.js +13 -0
  178. package/build/server/main/domain/rdp/lib/core/index.js.map +1 -0
  179. package/build/server/main/domain/rdp/lib/core/layer.js +135 -0
  180. package/build/server/main/domain/rdp/lib/core/layer.js.map +1 -0
  181. package/build/server/main/domain/rdp/lib/core/log.js +25 -0
  182. package/build/server/main/domain/rdp/lib/core/log.js.map +1 -0
  183. package/build/server/main/domain/rdp/lib/core/rle.js +22699 -0
  184. package/build/server/main/domain/rdp/lib/core/rle.js.map +1 -0
  185. package/build/server/main/domain/rdp/lib/core/type.js +245 -0
  186. package/build/server/main/domain/rdp/lib/core/type.js.map +1 -0
  187. package/build/server/main/domain/rdp/lib/index.js +6 -0
  188. package/build/server/main/domain/rdp/lib/index.js.map +1 -0
  189. package/build/server/main/domain/rdp/lib/protocol/cert.js +115 -0
  190. package/build/server/main/domain/rdp/lib/protocol/cert.js.map +1 -0
  191. package/build/server/main/domain/rdp/lib/protocol/index.js +11 -0
  192. package/build/server/main/domain/rdp/lib/protocol/index.js.map +1 -0
  193. package/build/server/main/domain/rdp/lib/protocol/nla.js +549 -0
  194. package/build/server/main/domain/rdp/lib/protocol/nla.js.map +1 -0
  195. package/build/server/main/domain/rdp/lib/protocol/pdu/caps.js +486 -0
  196. package/build/server/main/domain/rdp/lib/protocol/pdu/caps.js.map +1 -0
  197. package/build/server/main/domain/rdp/lib/protocol/pdu/cliprdr.js +167 -0
  198. package/build/server/main/domain/rdp/lib/protocol/pdu/cliprdr.js.map +1 -0
  199. package/build/server/main/domain/rdp/lib/protocol/pdu/data.js +876 -0
  200. package/build/server/main/domain/rdp/lib/protocol/pdu/data.js.map +1 -0
  201. package/build/server/main/domain/rdp/lib/protocol/pdu/global.js +260 -0
  202. package/build/server/main/domain/rdp/lib/protocol/pdu/global.js.map +1 -0
  203. package/build/server/main/domain/rdp/lib/protocol/pdu/index.js +13 -0
  204. package/build/server/main/domain/rdp/lib/protocol/pdu/index.js.map +1 -0
  205. package/build/server/main/domain/rdp/lib/protocol/pdu/lic.js +199 -0
  206. package/build/server/main/domain/rdp/lib/protocol/pdu/lic.js.map +1 -0
  207. package/build/server/main/domain/rdp/lib/protocol/pdu/sec.js +333 -0
  208. package/build/server/main/domain/rdp/lib/protocol/pdu/sec.js.map +1 -0
  209. package/build/server/main/domain/rdp/lib/protocol/rdp.js +255 -0
  210. package/build/server/main/domain/rdp/lib/protocol/rdp.js.map +1 -0
  211. package/build/server/main/domain/rdp/lib/protocol/t125/gcc.js +354 -0
  212. package/build/server/main/domain/rdp/lib/protocol/t125/gcc.js.map +1 -0
  213. package/build/server/main/domain/rdp/lib/protocol/t125/index.js +7 -0
  214. package/build/server/main/domain/rdp/lib/protocol/t125/index.js.map +1 -0
  215. package/build/server/main/domain/rdp/lib/protocol/t125/mcs.js +318 -0
  216. package/build/server/main/domain/rdp/lib/protocol/t125/mcs.js.map +1 -0
  217. package/build/server/main/domain/rdp/lib/protocol/t125/per.js +188 -0
  218. package/build/server/main/domain/rdp/lib/protocol/t125/per.js.map +1 -0
  219. package/build/server/main/domain/rdp/lib/protocol/tpkt.js +94 -0
  220. package/build/server/main/domain/rdp/lib/protocol/tpkt.js.map +1 -0
  221. package/build/server/main/domain/rdp/lib/protocol/x224.js +207 -0
  222. package/build/server/main/domain/rdp/lib/protocol/x224.js.map +1 -0
  223. package/build/server/main/domain/rdp/lib/security/index.js +7 -0
  224. package/build/server/main/domain/rdp/lib/security/index.js.map +1 -0
  225. package/build/server/main/domain/rdp/lib/security/jsbn.js +1372 -0
  226. package/build/server/main/domain/rdp/lib/security/jsbn.js.map +1 -0
  227. package/build/server/main/domain/rdp/lib/security/md4.js +401 -0
  228. package/build/server/main/domain/rdp/lib/security/md4.js.map +1 -0
  229. package/build/server/main/domain/rdp/lib/security/rc4.js +45 -0
  230. package/build/server/main/domain/rdp/lib/security/rc4.js.map +1 -0
  231. package/build/server/main/domain/rdp/lib/security/rsa.js +15 -0
  232. package/build/server/main/domain/rdp/lib/security/rsa.js.map +1 -0
  233. package/build/server/main/domain/rdp/lib/security/x509.js +106 -0
  234. package/build/server/main/domain/rdp/lib/security/x509.js.map +1 -0
  235. package/build/server/main/domain/rdp/rdp.controller.js +137 -0
  236. package/build/server/main/domain/rdp/rdp.controller.js.map +1 -0
  237. package/build/server/main/domain/rdp/rdp.service.js +137 -0
  238. package/build/server/main/domain/rdp/rdp.service.js.map +1 -0
  239. package/build/server/main/domain/setting/setting.controller.js +518 -0
  240. package/build/server/main/domain/setting/setting.controller.js.map +1 -0
  241. package/build/server/main/domain/setting/setting.prefile.js +74 -0
  242. package/build/server/main/domain/setting/setting.prefile.js.map +1 -0
  243. package/build/server/main/domain/setting/setting.service.js +550 -0
  244. package/build/server/main/domain/setting/setting.service.js.map +1 -0
  245. package/build/server/main/domain/shell/shell.controller.js +115 -0
  246. package/build/server/main/domain/shell/shell.controller.js.map +1 -0
  247. package/build/server/main/domain/shell/shell.service.js +443 -0
  248. package/build/server/main/domain/shell/shell.service.js.map +1 -0
  249. package/build/server/main/domain/ssh/ssh.controller.js +236 -0
  250. package/build/server/main/domain/ssh/ssh.controller.js.map +1 -0
  251. package/build/server/main/domain/ssh/ssh.service.js +271 -0
  252. package/build/server/main/domain/ssh/ssh.service.js.map +1 -0
  253. package/build/server/main/domain/ssh/ssh.ssh2.js +250 -0
  254. package/build/server/main/domain/ssh/ssh.ssh2.js.map +1 -0
  255. package/build/server/main/domain/sys/sys.controller.js +395 -0
  256. package/build/server/main/domain/sys/sys.controller.js.map +1 -0
  257. package/build/server/main/domain/sys/sys.docker.service.js +367 -0
  258. package/build/server/main/domain/sys/sys.docker.service.js.map +1 -0
  259. package/build/server/main/domain/sys/sys.process.service.js +239 -0
  260. package/build/server/main/domain/sys/sys.process.service.js.map +1 -0
  261. package/build/server/main/domain/sys/sys.service.js +101 -0
  262. package/build/server/main/domain/sys/sys.service.js.map +1 -0
  263. package/build/server/main/domain/sys/sys.sys.service.js +192 -0
  264. package/build/server/main/domain/sys/sys.sys.service.js.map +1 -0
  265. package/build/server/main/domain/sys/sys.systemd.service.js +306 -0
  266. package/build/server/main/domain/sys/sys.systemd.service.js.map +1 -0
  267. package/build/server/main/domain/sys/sys.utl.js +23 -0
  268. package/build/server/main/domain/sys/sys.utl.js.map +1 -0
  269. package/build/server/main/domain/user/user.controller.js +264 -0
  270. package/build/server/main/domain/user/user.controller.js.map +1 -0
  271. package/build/server/main/domain/user/user.hash.js +8 -0
  272. package/build/server/main/domain/user/user.hash.js.map +1 -0
  273. package/build/server/main/domain/user/user.service.js +573 -0
  274. package/build/server/main/domain/user/user.service.js.map +1 -0
  275. package/build/server/main/domain/video/video.controller.js +71 -0
  276. package/build/server/main/domain/video/video.controller.js.map +1 -0
  277. package/build/server/main/domain/video/video.service.js +45 -0
  278. package/build/server/main/domain/video/video.service.js.map +1 -0
  279. package/build/server/main/other/Result.js +25 -0
  280. package/build/server/main/other/Result.js.map +1 -0
  281. package/build/server/main/other/cache.js +50 -0
  282. package/build/server/main/other/cache.js.map +1 -0
  283. package/build/server/main/other/config.js +6 -0
  284. package/build/server/main/other/config.js.map +1 -0
  285. package/build/server/main/other/middleware/AuthMiddleware.js +72 -0
  286. package/build/server/main/other/middleware/AuthMiddleware.js.map +1 -0
  287. package/build/server/main/other/middleware/GlobalErrorHandler.js +23 -0
  288. package/build/server/main/other/middleware/GlobalErrorHandler.js.map +1 -0
  289. package/build/server/main/other/middleware/redirect.js +20 -0
  290. package/build/server/main/other/middleware/redirect.js.map +1 -0
  291. package/build/server/main/server.js +155 -0
  292. package/build/server/main/server.js.map +1 -0
  293. package/build/{watch.js → server/main/watch.js} +68 -86
  294. package/build/server/main/watch.js.map +1 -0
  295. package/build/server/tsconfig.tsbuildinfo +1 -0
  296. package/build/server/web/project/util/noty.js +60 -0
  297. package/build/server/web/project/util/noty.js.map +1 -0
  298. package/build/server/web/project/util/ws.js +7 -0
  299. package/build/server/web/project/util/ws.js.map +1 -0
  300. package/package.json +2 -1
  301. package/build/dist/181.ed11230f80088fa2a5b9.js +0 -2
  302. package/build/dist/91.21f368e687ef087ba623.js +0 -1
  303. package/build/dist/995.f5461272d4fd82df7130.js +0 -2
  304. package/build/dist/main.52dd483a8eaca68037ca.js +0 -2
  305. package/build/main.js +0 -2
  306. package/build/main.js.LICENSE.txt +0 -445
  307. package/build/unrar.wasm +0 -0
  308. /package/build/dist/{181.ed11230f80088fa2a5b9.js.LICENSE.txt → 181.11199e601b22f4add759.js.LICENSE.txt} +0 -0
  309. /package/build/dist/{960.57837b4ef9e3838cf339.js.LICENSE.txt → 301.0aa113cb4316e9e74a51.js.LICENSE.txt} +0 -0
  310. /package/build/dist/{325.fe78da5ba19c2104cc9e.js.LICENSE.txt → 325.5f041ae7990615da279c.js.LICENSE.txt} +0 -0
  311. /package/build/dist/{523.560ce4ba9d2c7877058d.js.LICENSE.txt → 523.cd76e6fafa6440cc1693.js.LICENSE.txt} +0 -0
  312. /package/build/dist/{793.da73c469f1ba286afc1b.js.LICENSE.txt → 793.5ac9e1d8bc64790682d0.js.LICENSE.txt} +0 -0
  313. /package/build/dist/{827.b10a4f524c371d404cff.js.LICENSE.txt → 827.e64e0af3c11c5bcd68c0.js.LICENSE.txt} +0 -0
  314. /package/build/dist/{943.911e95ed97052f17913b.js.LICENSE.txt → 943.7e28d7ce1a69f0d15eb2.js.LICENSE.txt} +0 -0
  315. /package/build/dist/{995.f5461272d4fd82df7130.js.LICENSE.txt → 995.ec4607dd8bb71cfb6a9d.js.LICENSE.txt} +0 -0
  316. /package/build/dist/{main.52dd483a8eaca68037ca.js.LICENSE.txt → main.7d110d8fdcc3c74c6c82.js.LICENSE.txt} +0 -0
@@ -0,0 +1,318 @@
1
+ var inherits = require('util').inherits;
2
+ var events = require('events');
3
+ var type = require('../../core').type;
4
+ var log = require('../../core').log;
5
+ var error = require('../../core').error;
6
+ var gcc = require('./gcc');
7
+ var per = require('./per');
8
+ var asn1 = require('../../asn1');
9
+ var cliprdr = require('../pdu/cliprdr');
10
+ var Message = {
11
+ MCS_TYPE_CONNECT_INITIAL: 0x65,
12
+ MCS_TYPE_CONNECT_RESPONSE: 0x66
13
+ };
14
+ var DomainMCSPDU = {
15
+ ERECT_DOMAIN_REQUEST: 1,
16
+ DISCONNECT_PROVIDER_ULTIMATUM: 8,
17
+ ATTACH_USER_REQUEST: 10,
18
+ ATTACH_USER_CONFIRM: 11,
19
+ CHANNEL_JOIN_REQUEST: 14,
20
+ CHANNEL_JOIN_CONFIRM: 15,
21
+ SEND_DATA_REQUEST: 25,
22
+ SEND_DATA_INDICATION: 26
23
+ };
24
+ var Channel = {
25
+ MCS_GLOBAL_CHANNEL: 1003,
26
+ MCS_USERCHANNEL_BASE: 1001,
27
+ MCS_CLIPRDR_CHANNEL: 1005
28
+ };
29
+ const RdpdrChannelDef = new type.Component({
30
+ name: new type.BinaryString(Buffer.from('rdpdr' + '\x00\x00\x00', 'binary'), { readLength: new type.CallableValue(8) }),
31
+ options: new type.UInt32Le(0x80800000)
32
+ });
33
+ const RdpsndChannelDef = new type.Component({
34
+ name: new type.BinaryString(Buffer.from('rdpsnd' + '\x00\x00', 'binary'), { readLength: new type.CallableValue(8) }),
35
+ options: new type.UInt32Le(0xc0000000)
36
+ });
37
+ const CliprdrChannelDef = new type.Component({
38
+ name: new type.BinaryString(Buffer.from('cliprdr' + '\x00', 'binary'), { readLength: new type.CallableValue(8) }),
39
+ options: new type.UInt32Le(0xc0a00000)
40
+ });
41
+ function DomainParameters(maxChannelIds, maxUserIds, maxTokenIds, numPriorities, minThoughput, maxHeight, maxMCSPDUsize, protocolVersion) {
42
+ return new asn1.univ.Sequence({
43
+ maxChannelIds: new asn1.univ.Integer(maxChannelIds),
44
+ maxUserIds: new asn1.univ.Integer(maxUserIds),
45
+ maxTokenIds: new asn1.univ.Integer(maxTokenIds),
46
+ numPriorities: new asn1.univ.Integer(numPriorities),
47
+ minThoughput: new asn1.univ.Integer(minThoughput),
48
+ maxHeight: new asn1.univ.Integer(maxHeight),
49
+ maxMCSPDUsize: new asn1.univ.Integer(maxMCSPDUsize),
50
+ protocolVersion: new asn1.univ.Integer(protocolVersion)
51
+ });
52
+ }
53
+ function ConnectInitial(userData) {
54
+ return new asn1.univ.Sequence({
55
+ callingDomainSelector: new asn1.univ.OctetString(Buffer.from('\x01', 'binary')),
56
+ calledDomainSelector: new asn1.univ.OctetString(Buffer.from('\x01', 'binary')),
57
+ upwardFlag: new asn1.univ.Boolean(true),
58
+ targetParameters: DomainParameters(34, 2, 0, 1, 0, 1, 0xffff, 2),
59
+ minimumParameters: DomainParameters(1, 1, 1, 1, 0, 1, 0x420, 2),
60
+ maximumParameters: DomainParameters(0xffff, 0xfc17, 0xffff, 1, 0, 1, 0xffff, 2),
61
+ userData: new asn1.univ.OctetString(userData)
62
+ }).implicitTag(new asn1.spec.Asn1Tag(asn1.spec.TagClass.Application, asn1.spec.TagFormat.Constructed, 101));
63
+ }
64
+ function ConnectResponse(userData) {
65
+ return new asn1.univ.Sequence({
66
+ result: new asn1.univ.Enumerate(0),
67
+ calledConnectId: new asn1.univ.Integer(0),
68
+ domainParameters: DomainParameters(22, 3, 0, 1, 0, 1, 0xfff8, 2),
69
+ userData: new asn1.univ.OctetString(userData)
70
+ }).implicitTag(new asn1.spec.Asn1Tag(asn1.spec.TagClass.Application, asn1.spec.TagFormat.Constructed, 102));
71
+ }
72
+ function writeMCSPDUHeader(mcsPdu, options) {
73
+ options = options || 0;
74
+ return new type.UInt8((mcsPdu << 2) | options);
75
+ }
76
+ function readMCSPDUHeader(opcode, mcsPdu) {
77
+ return (opcode >> 2) === mcsPdu;
78
+ }
79
+ function MCS(transport, recvOpCode, sendOpCode) {
80
+ this.transport = transport;
81
+ this.recvOpCode = recvOpCode;
82
+ this.sendOpCode = sendOpCode;
83
+ this.channels = [
84
+ { id: Channel.MCS_GLOBAL_CHANNEL, name: 'global' },
85
+ { id: Channel.MCS_CLIPRDR_CHANNEL, name: 'cliprdr' }
86
+ ];
87
+ this.channels.find = function (callback) {
88
+ for (var i in this) {
89
+ if (callback(this[i]))
90
+ return this[i];
91
+ }
92
+ ;
93
+ };
94
+ var self = this;
95
+ this.transport.on('close', function () {
96
+ self.emit('close');
97
+ }).on('error', function (err) {
98
+ self.emit('error', err);
99
+ });
100
+ }
101
+ inherits(MCS, events.EventEmitter);
102
+ MCS.prototype.send = function (channelName, data) {
103
+ var channelId = this.channels.find(function (element) {
104
+ if (element.name === channelName)
105
+ return true;
106
+ }).id;
107
+ this.transport.send(new type.Component([
108
+ writeMCSPDUHeader(this.sendOpCode),
109
+ per.writeInteger16(this.userId, Channel.MCS_USERCHANNEL_BASE),
110
+ per.writeInteger16(channelId),
111
+ new type.UInt8(0x70),
112
+ per.writeLength(data.size()),
113
+ data
114
+ ]));
115
+ };
116
+ MCS.prototype.recv = function (s) {
117
+ opcode = new type.UInt8().read(s).value;
118
+ if (readMCSPDUHeader(opcode, DomainMCSPDU.DISCONNECT_PROVIDER_ULTIMATUM)) {
119
+ log.info("MCS DISCONNECT_PROVIDER_ULTIMATUM");
120
+ this.transport.close();
121
+ return;
122
+ }
123
+ else if (!readMCSPDUHeader(opcode, this.recvOpCode)) {
124
+ throw new error.UnexpectedFatalError('NODE_RDP_PROTOCOL_T125_MCS_BAD_RECEIVE_OPCODE');
125
+ }
126
+ per.readInteger16(s, Channel.MCS_USERCHANNEL_BASE);
127
+ var channelId = per.readInteger16(s);
128
+ per.readEnumerates(s);
129
+ per.readLength(s);
130
+ var channelName = this.channels.find(function (e) {
131
+ if (e.id === channelId)
132
+ return true;
133
+ }).name;
134
+ this.emit(channelName, s);
135
+ };
136
+ function Client(transport) {
137
+ MCS.call(this, transport, DomainMCSPDU.SEND_DATA_INDICATION, DomainMCSPDU.SEND_DATA_REQUEST);
138
+ this.channelsConnected = 0;
139
+ this.clientCoreData = gcc.clientCoreData();
140
+ this.clientNetworkData = gcc.clientNetworkData(new type.Component([RdpdrChannelDef, CliprdrChannelDef, RdpsndChannelDef]));
141
+ this.clientSecurityData = gcc.clientSecurityData();
142
+ this.serverCoreData = null;
143
+ this.serverSecurityData = null;
144
+ this.serverNetworkData = null;
145
+ var self = this;
146
+ this.transport.on('connect', function (s) {
147
+ self.connect(s);
148
+ });
149
+ }
150
+ inherits(Client, MCS);
151
+ Client.prototype.connect = function (selectedProtocol) {
152
+ this.clientCoreData.obj.serverSelectedProtocol.value = selectedProtocol;
153
+ this.sendConnectInitial();
154
+ };
155
+ Client.prototype.close = function () {
156
+ this.transport.close();
157
+ };
158
+ Client.prototype.recvConnectResponse = function (s) {
159
+ var userData = new type.Stream(ConnectResponse().decode(s, asn1.ber).value.userData.value);
160
+ var serverSettings = gcc.readConferenceCreateResponse(userData);
161
+ for (var i in serverSettings) {
162
+ if (!serverSettings[i].obj) {
163
+ continue;
164
+ }
165
+ switch (serverSettings[i].obj.__TYPE__) {
166
+ case gcc.MessageType.SC_CORE:
167
+ this.serverCoreData = serverSettings[i];
168
+ break;
169
+ case gcc.MessageType.SC_SECURITY:
170
+ this.serverSecurityData = serverSettings[i];
171
+ break;
172
+ case gcc.MessageType.SC_NET:
173
+ this.serverNetworkData = serverSettings[i];
174
+ break;
175
+ default:
176
+ log.warn('unhandle server gcc block : ' + serverSettings[i].obj.__TYPE__);
177
+ }
178
+ }
179
+ this.sendErectDomainRequest();
180
+ this.sendAttachUserRequest();
181
+ var self = this;
182
+ this.transport.once('data', function (s) {
183
+ self.recvAttachUserConfirm(s);
184
+ });
185
+ };
186
+ Client.prototype.recvAttachUserConfirm = function (s) {
187
+ if (!readMCSPDUHeader(new type.UInt8().read(s).value, DomainMCSPDU.ATTACH_USER_CONFIRM)) {
188
+ throw new error.UnexpectedFatalError('NODE_RDP_PROTOCOL_T125_MCS_BAD_HEADER');
189
+ }
190
+ if (per.readEnumerates(s) !== 0) {
191
+ throw new error.UnexpectedFatalError('NODE_RDP_PROTOCOL_T125_MCS_SERVER_REJECT_USER');
192
+ }
193
+ this.userId = per.readInteger16(s, Channel.MCS_USERCHANNEL_BASE);
194
+ this.channels.push({ id: this.userId, name: 'user' });
195
+ this.connectChannels();
196
+ };
197
+ Client.prototype.recvChannelJoinConfirm = function (s) {
198
+ var opcode = new type.UInt8().read(s).value;
199
+ if (!readMCSPDUHeader(opcode, DomainMCSPDU.CHANNEL_JOIN_CONFIRM)) {
200
+ throw new error.UnexpectedFatalError('NODE_RDP_PROTOCOL_T125_MCS_WAIT_CHANNEL_JOIN_CONFIRM');
201
+ }
202
+ var confirm = per.readEnumerates(s);
203
+ var userId = per.readInteger16(s, Channel.MCS_USERCHANNEL_BASE);
204
+ if (this.userId !== userId) {
205
+ throw new error.UnexpectedFatalError('NODE_RDP_PROTOCOL_T125_MCS_INVALID_USER_ID');
206
+ }
207
+ var channelId = per.readInteger16(s);
208
+ if ((confirm !== 0) && (channelId === Channel.MCS_CLIPRDR_CHANNEL || channelId === Channel.MCS_GLOBAL_CHANNEL || channelId === this.userId)) {
209
+ throw new error.UnexpectedFatalError('NODE_RDP_PROTOCOL_T125_MCS_SERVER_MUST_CONFIRM_STATIC_CHANNEL');
210
+ }
211
+ this.connectChannels();
212
+ };
213
+ Client.prototype.sendConnectInitial = function () {
214
+ var ccReq = gcc.writeConferenceCreateRequest(new type.Component([
215
+ gcc.block(this.clientCoreData),
216
+ gcc.block(this.clientNetworkData),
217
+ gcc.block(this.clientSecurityData)
218
+ ])).toStream().getValue();
219
+ this.transport.send(ConnectInitial(ccReq).encode(asn1.ber));
220
+ var self = this;
221
+ this.transport.once('data', function (s) {
222
+ self.recvConnectResponse(s);
223
+ });
224
+ };
225
+ Client.prototype.sendErectDomainRequest = function () {
226
+ this.transport.send(new type.Component([
227
+ writeMCSPDUHeader(DomainMCSPDU.ERECT_DOMAIN_REQUEST),
228
+ per.writeInteger(0),
229
+ per.writeInteger(0)
230
+ ]));
231
+ };
232
+ Client.prototype.sendAttachUserRequest = function () {
233
+ this.transport.send(writeMCSPDUHeader(DomainMCSPDU.ATTACH_USER_REQUEST));
234
+ };
235
+ Client.prototype.sendChannelJoinRequest = function (channelId) {
236
+ this.transport.send(new type.Component([
237
+ writeMCSPDUHeader(DomainMCSPDU.CHANNEL_JOIN_REQUEST),
238
+ per.writeInteger16(this.userId, Channel.MCS_USERCHANNEL_BASE),
239
+ per.writeInteger16(channelId)
240
+ ]));
241
+ };
242
+ Client.prototype.connectChannels = function (s) {
243
+ if (this.channelsConnected == this.channels.length) {
244
+ var self = this;
245
+ this.transport.on('data', function (s) {
246
+ self.recv(s);
247
+ });
248
+ this.emit('connect', {
249
+ core: this.clientCoreData.obj,
250
+ security: this.clientSecurityData.obj,
251
+ net: this.clientNetworkData.obj
252
+ }, {
253
+ core: this.serverCoreData.obj,
254
+ security: this.serverSecurityData.obj
255
+ }, this.userId, this.channels);
256
+ return;
257
+ }
258
+ this.sendChannelJoinRequest(this.channels[this.channelsConnected++].id);
259
+ var self = this;
260
+ this.transport.once('data', function (s) {
261
+ self.recvChannelJoinConfirm(s);
262
+ });
263
+ };
264
+ function Server(transport) {
265
+ MCS.call(this, transport, DomainMCSPDU.SEND_DATA_REQUEST, DomainMCSPDU.SEND_DATA_INDICATION);
266
+ this.clientCoreData = null;
267
+ this.clientNetworkData = null;
268
+ this.clientSecurityData = null;
269
+ this.serverCoreData = gcc.serverCoreData();
270
+ this.serverSecurityData = gcc.serverSecurityData();
271
+ this.serverNetworkData = gcc.serverNetworkData(new type.Component([]));
272
+ var self = this;
273
+ this.transport.on('connect', function (selectedProtocol) {
274
+ self.serverCoreData.obj.clientRequestedProtocol.value = selectedProtocol;
275
+ }).once('data', function (s) {
276
+ self.recvConnectInitial(s);
277
+ });
278
+ }
279
+ inherits(Server, MCS);
280
+ Server.prototype.recvConnectInitial = function (s) {
281
+ var userData = new type.Stream(ConnectInitial().decode(s, asn1.ber).value.userData.value);
282
+ var clientSettings = gcc.readConferenceCreateRequest(userData);
283
+ for (var i in clientSettings) {
284
+ if (!clientSettings[i].obj) {
285
+ continue;
286
+ }
287
+ switch (clientSettings[i].obj.__TYPE__) {
288
+ case gcc.MessageType.CS_CORE:
289
+ this.clientCoreData = clientSettings[i];
290
+ break;
291
+ case gcc.MessageType.CS_SECURITY:
292
+ this.clientSecurityData = clientSettings[i];
293
+ break;
294
+ case gcc.MessageType.CS_NET:
295
+ this.clientNetworkData = clientSettings[i];
296
+ for (var i = 0; i < this.clientNetworkData.obj.channelCount.value; i++) {
297
+ this.serverNetworkData.obj.channelIdArray.obj.push(new type.UInt16Le(i + 1 + Channel.MCS_GLOBAL_CHANNEL));
298
+ }
299
+ break;
300
+ default:
301
+ log.debug('unhandle client gcc block : ' + clientSettings[i].obj.__TYPE__);
302
+ }
303
+ }
304
+ this.sendConnectResponse();
305
+ };
306
+ Server.prototype.sendConnectResponse = function () {
307
+ var ccReq = gcc.writeConferenceCreateResponse(new type.Component([
308
+ gcc.block(this.serverCoreData),
309
+ gcc.block(this.serverSecurityData),
310
+ gcc.block(this.serverNetworkData),
311
+ ])).toStream().getValue();
312
+ this.transport.send(ConnectResponse(ccReq).encode(asn1.ber));
313
+ };
314
+ module.exports = {
315
+ Client: Client,
316
+ Server: Server
317
+ };
318
+ //# sourceMappingURL=mcs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcs.js","sourceRoot":"","sources":["../../../../../../../../src/main/domain/rdp/lib/protocol/t125/mcs.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,188 @@
1
+ var type = require('../../core').type;
2
+ var error = require('../../core').error;
3
+ function readLength(s) {
4
+ var byte = new type.UInt8().read(s).value;
5
+ var size = 0;
6
+ if (byte & 0x80) {
7
+ byte &= ~0x80;
8
+ size = byte << 8;
9
+ size += new type.UInt8().read(s).value;
10
+ }
11
+ else {
12
+ size = byte;
13
+ }
14
+ return size;
15
+ }
16
+ function writeLength(value) {
17
+ if (value > 0x7f) {
18
+ return new type.UInt16Be(value | 0x8000);
19
+ }
20
+ else {
21
+ return new type.UInt8(value);
22
+ }
23
+ }
24
+ function readChoice(s) {
25
+ return new type.UInt8().read(s).value;
26
+ }
27
+ function writeChoice(choice) {
28
+ return new type.UInt8(choice);
29
+ }
30
+ function readSelection(s) {
31
+ return new type.UInt8().read(s).value;
32
+ }
33
+ function writeSelection(selection) {
34
+ return new type.UInt8(selection);
35
+ }
36
+ function readNumberOfSet(s) {
37
+ return new type.UInt8().read(s).value;
38
+ }
39
+ function writeNumberOfSet(numberOfSet) {
40
+ return new type.UInt8(numberOfSet);
41
+ }
42
+ function readEnumerates(s) {
43
+ return new type.UInt8().read(s).value;
44
+ }
45
+ function writeEnumerates(enumerate) {
46
+ return new type.UInt8(enumerate);
47
+ }
48
+ function readInteger(s) {
49
+ var result;
50
+ var size = readLength(s);
51
+ switch (size) {
52
+ case 1:
53
+ result = new type.UInt8();
54
+ break;
55
+ case 2:
56
+ result = new type.UInt16Be();
57
+ break;
58
+ case 4:
59
+ result = new type.UInt32Be();
60
+ break;
61
+ default:
62
+ throw new error.UnexpectedFatalError('NODE_RDP_PROTOCOL_T125_PER_BAD_INTEGER_LENGTH');
63
+ }
64
+ return result.read(s).value;
65
+ }
66
+ function writeInteger(value) {
67
+ if (value <= 0xff) {
68
+ return new type.Component([writeLength(1), new type.UInt8(value)]);
69
+ }
70
+ else if (value < 0xffff) {
71
+ return new type.Component([writeLength(2), new type.UInt16Be(value)]);
72
+ }
73
+ else {
74
+ return new type.Component([writeLength(4), new type.UInt32Be(value)]);
75
+ }
76
+ }
77
+ function readInteger16(s, minimum) {
78
+ return new type.UInt16Be().read(s).value + (minimum || 0);
79
+ }
80
+ function writeInteger16(value, minimum) {
81
+ return new type.UInt16Be(value - (minimum || 0));
82
+ }
83
+ function readObjectIdentifier(s, oid) {
84
+ var size = readLength(s);
85
+ if (size !== 5) {
86
+ return false;
87
+ }
88
+ var a_oid = [0, 0, 0, 0, 0, 0];
89
+ var t12 = new type.UInt8().read(s).value;
90
+ a_oid[0] = t12 >> 4;
91
+ a_oid[1] = t12 & 0x0f;
92
+ a_oid[2] = new type.UInt8().read(s).value;
93
+ a_oid[3] = new type.UInt8().read(s).value;
94
+ a_oid[4] = new type.UInt8().read(s).value;
95
+ a_oid[5] = new type.UInt8().read(s).value;
96
+ for (var i in oid) {
97
+ if (oid[i] !== a_oid[i])
98
+ return false;
99
+ }
100
+ return true;
101
+ }
102
+ function writeObjectIdentifier(oid) {
103
+ return new type.Component([new type.UInt8(5), new type.UInt8((oid[0] << 4) & (oid[1] & 0x0f)), new type.UInt8(oid[2]), new type.UInt8(oid[3]), new type.UInt8(oid[4]), new type.UInt8(oid[5])]);
104
+ }
105
+ function readNumericString(s, minValue) {
106
+ var length = readLength(s);
107
+ length = (length + minValue + 1) / 2;
108
+ s.readPadding(length);
109
+ }
110
+ function writeNumericString(nStr, minValue) {
111
+ var length = nStr.length;
112
+ var mlength = minValue;
113
+ if (length - minValue >= 0) {
114
+ mlength = length - minValue;
115
+ }
116
+ var result = [];
117
+ for (var i = 0; i < length; i += 2) {
118
+ var c1 = nStr.charCodeAt(i);
119
+ var c2 = 0;
120
+ if (i + 1 < length) {
121
+ c2 = nStr.charCodeAt(i + 1);
122
+ }
123
+ else {
124
+ c2 = 0x30;
125
+ }
126
+ c1 = (c1 - 0x30) % 10;
127
+ c2 = (c2 - 0x30) % 10;
128
+ result[result.length] = new type.UInt8((c1 << 4) | c2);
129
+ }
130
+ return new type.Component([writeLength(mlength), new type.Component(result)]);
131
+ }
132
+ function readPadding(s, length) {
133
+ s.readPadding(length);
134
+ }
135
+ function writePadding(length) {
136
+ return new type.BinaryString(Buffer.from(Array(length + 1).join("\x00")));
137
+ }
138
+ function readOctetStream(s, octetStream, minValue) {
139
+ var size = readLength(s) + (minValue || 0);
140
+ if (size !== octetStream.length) {
141
+ return false;
142
+ }
143
+ for (var i = 0; i < size; i++) {
144
+ var c = new type.UInt8().read(s);
145
+ if (octetStream.charCodeAt(i) !== c.value) {
146
+ return false;
147
+ }
148
+ }
149
+ return true;
150
+ }
151
+ function writeOctetStream(oStr, minValue) {
152
+ minValue = minValue || 0;
153
+ var length = oStr.length;
154
+ var mlength = minValue;
155
+ if (length - minValue >= 0) {
156
+ mlength = length - minValue;
157
+ }
158
+ result = [];
159
+ for (var i = 0; i < length; i++) {
160
+ result[result.length] = new type.UInt8(oStr[i]);
161
+ }
162
+ return new type.Component([writeLength(mlength), new type.Component(result)]);
163
+ }
164
+ module.exports = {
165
+ readLength: readLength,
166
+ writeLength: writeLength,
167
+ readChoice: readChoice,
168
+ writeChoice: writeChoice,
169
+ readSelection: readSelection,
170
+ writeSelection: writeSelection,
171
+ readNumberOfSet: readNumberOfSet,
172
+ writeNumberOfSet: writeNumberOfSet,
173
+ readEnumerates: readEnumerates,
174
+ writeEnumerates: writeEnumerates,
175
+ readInteger: readInteger,
176
+ writeInteger: writeInteger,
177
+ readInteger16: readInteger16,
178
+ writeInteger16: writeInteger16,
179
+ readObjectIdentifier: readObjectIdentifier,
180
+ writeObjectIdentifier: writeObjectIdentifier,
181
+ readNumericString: readNumericString,
182
+ writeNumericString: writeNumericString,
183
+ readPadding: readPadding,
184
+ writePadding: writePadding,
185
+ readOctetStream: readOctetStream,
186
+ writeOctetStream: writeOctetStream
187
+ };
188
+ //# sourceMappingURL=per.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"per.js","sourceRoot":"","sources":["../../../../../../../../src/main/domain/rdp/lib/protocol/t125/per.js"],"names":[],"mappings":"AAmBA,IAAI,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC;AACtC,IAAI,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC;AAMxC,SAAS,UAAU,CAAC,CAAC;IACpB,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1C,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAG,IAAI,GAAG,IAAI,EAAE,CAAC;QAChB,IAAI,IAAI,CAAC,IAAI,CAAC;QACd,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC;QACjB,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACxC,CAAC;SACI,CAAC;QACL,IAAI,GAAG,IAAI,CAAC;IACb,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAMD,SAAS,WAAW,CAAC,KAAK;IACzB,IAAG,KAAK,GAAG,IAAI,EAAE,CAAC;QACjB,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;IAC1C,CAAC;SACI,CAAC;QACL,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;AACF,CAAC;AAMD,SAAS,UAAU,CAAC,CAAC;IACpB,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACvC,CAAC;AAMD,SAAS,WAAW,CAAC,MAAM;IAC1B,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAMD,SAAS,aAAa,CAAC,CAAC;IACvB,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACvC,CAAC;AAMD,SAAS,cAAc,CAAC,SAAS;IAChC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAMD,SAAS,eAAe,CAAC,CAAC;IACzB,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACvC,CAAC;AAMD,SAAS,gBAAgB,CAAC,WAAW;IACpC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AACpC,CAAC;AAMD,SAAS,cAAc,CAAC,CAAC;IACxB,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACvC,CAAC;AAMD,SAAS,eAAe,CAAC,SAAS;IACjC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAMD,SAAS,WAAW,CAAC,CAAC;IACrB,IAAI,MAAM,CAAC;IACX,IAAI,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IACzB,QAAO,IAAI,EAAE,CAAC;QACd,KAAK,CAAC;YACL,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC1B,MAAM;QACP,KAAK,CAAC;YACL,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC7B,MAAM;QACP,KAAK,CAAC;YACL,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC7B,MAAM;QACP;YACC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,+CAA+C,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC7B,CAAC;AAMD,SAAS,YAAY,CAAC,KAAK;IAC1B,IAAG,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;SACI,IAAG,KAAK,GAAG,MAAM,EAAE,CAAC;QACxB,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;SACI,CAAC;QACL,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;AACF,CAAC;AAOD,SAAS,aAAa,CAAC,CAAC,EAAE,OAAO;IAChC,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;AAC3D,CAAC;AAOD,SAAS,cAAc,CAAC,KAAK,EAAE,OAAO;IACrC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAOD,SAAS,oBAAoB,CAAC,CAAC,EAAE,GAAG;IACnC,IAAI,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IACzB,IAAG,IAAI,KAAK,CAAC,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACd,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACzC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;IACpB,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1C,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1C,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1C,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAE1C,KAAI,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QAClB,IAAG,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IACtC,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAMD,SAAS,qBAAqB,CAAC,GAAG;IACjC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjM,CAAC;AAOD,SAAS,iBAAiB,CAAC,CAAC,EAAE,QAAQ;IAClC,IAAI,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,GAAG,CAAC,MAAM,GAAG,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC;AAOD,SAAS,kBAAkB,CAAC,IAAI,EAAE,QAAQ;IACtC,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IACzB,IAAI,OAAO,GAAG,QAAQ,CAAC;IACvB,IAAG,MAAM,GAAG,QAAQ,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IAChC,CAAC;IAED,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,EAAE,GAAG,CAAC,CAAC;QACR,IAAG,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC;YAChB,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAChC,CAAC;aACI,CAAC;YACF,EAAE,GAAG,IAAI,CAAC;QACd,CAAC;QACD,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtB,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEtB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAClF,CAAC;AAMD,SAAS,WAAW,CAAC,CAAC,EAAE,MAAM;IAC1B,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC;AAMD,SAAS,YAAY,CAAC,MAAM;IACxB,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC;AAQD,SAAS,eAAe,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ;IAC7C,IAAI,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;IAC3C,IAAG,IAAI,KAAK,WAAW,CAAC,MAAM,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjC,IAAG,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;YACvC,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAOD,SAAS,gBAAgB,CAAC,IAAI,EAAE,QAAQ;IACvC,QAAQ,GAAG,QAAQ,IAAI,CAAC,CAAC;IACtB,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IACzB,IAAI,OAAO,GAAG,QAAQ,CAAC;IAEvB,IAAG,MAAM,GAAG,QAAQ,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IAChC,CAAC;IAED,MAAM,GAAG,EAAE,CAAC;IACZ,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAClF,CAAC;AAKD,MAAM,CAAC,OAAO,GAAG;IAChB,UAAU,EAAG,UAAU;IACvB,WAAW,EAAG,WAAW;IACzB,UAAU,EAAG,UAAU;IACvB,WAAW,EAAG,WAAW;IACzB,aAAa,EAAG,aAAa;IAC7B,cAAc,EAAG,cAAc;IAC/B,eAAe,EAAG,eAAe;IACjC,gBAAgB,EAAG,gBAAgB;IACnC,cAAc,EAAG,cAAc;IAC/B,eAAe,EAAG,eAAe;IACjC,WAAW,EAAG,WAAW;IACzB,YAAY,EAAG,YAAY;IAC3B,aAAa,EAAG,aAAa;IAC7B,cAAc,EAAG,cAAc;IAC/B,oBAAoB,EAAG,oBAAoB;IAC3C,qBAAqB,EAAG,qBAAqB;IAC7C,iBAAiB,EAAG,iBAAiB;IACrC,kBAAkB,EAAG,kBAAkB;IACvC,WAAW,EAAG,WAAW;IACzB,YAAY,EAAG,YAAY;IAC3B,eAAe,EAAG,eAAe;IACjC,gBAAgB,EAAG,gBAAgB;CACnC,CAAC"}
@@ -0,0 +1,94 @@
1
+ var inherits = require('util').inherits;
2
+ var type = require('../core').type;
3
+ var events = require('events');
4
+ var Action = {
5
+ FASTPATH_ACTION_FASTPATH: 0x0,
6
+ FASTPATH_ACTION_X224: 0x3
7
+ };
8
+ function TPKT(transport) {
9
+ this.transport = transport;
10
+ this.transport.expect(2);
11
+ var self = this;
12
+ this.transport.once('data', function (s) {
13
+ self.recvHeader(s);
14
+ }).on('close', function () {
15
+ self.emit('close');
16
+ }).on('error', function (err) {
17
+ self.emit('error', err);
18
+ });
19
+ }
20
+ inherits(TPKT, events.EventEmitter);
21
+ TPKT.prototype.recvHeader = function (s) {
22
+ var version = new type.UInt8().read(s).value;
23
+ var self = this;
24
+ if (version === Action.FASTPATH_ACTION_X224) {
25
+ new type.UInt8().read(s);
26
+ this.transport.expect(2);
27
+ this.transport.once('data', function (s) {
28
+ self.recvExtendedHeader(s);
29
+ });
30
+ }
31
+ else {
32
+ this.secFlag = ((version >> 6) & 0x3);
33
+ var length = new type.UInt8().read(s).value;
34
+ if (length & 0x80) {
35
+ this.transport.expect(1);
36
+ this.transport.once('data', function (s) {
37
+ self.recvExtendedFastPathHeader(s, length);
38
+ });
39
+ }
40
+ else {
41
+ this.transport.expect(length - 2);
42
+ this.transport.once('data', function (s) {
43
+ self.recvFastPath(s);
44
+ });
45
+ }
46
+ }
47
+ };
48
+ TPKT.prototype.recvExtendedHeader = function (s) {
49
+ var size = new type.UInt16Be().read(s);
50
+ this.transport.expect(size.value - 4);
51
+ var self = this;
52
+ this.transport.once('data', function (s) {
53
+ self.recvData(s);
54
+ });
55
+ };
56
+ TPKT.prototype.recvData = function (s) {
57
+ this.emit('data', s);
58
+ this.transport.expect(2);
59
+ var self = this;
60
+ this.transport.once('data', function (s) {
61
+ self.recvHeader(s);
62
+ });
63
+ };
64
+ TPKT.prototype.recvExtendedFastPathHeader = function (s, length) {
65
+ var rightPart = new type.UInt8().read(s).value;
66
+ var leftPart = length & ~0x80;
67
+ var packetSize = (leftPart << 8) + rightPart;
68
+ var self = this;
69
+ this.transport.expect(packetSize - 3);
70
+ this.transport.once('data', function (s) {
71
+ self.recvFastPath(s);
72
+ });
73
+ };
74
+ TPKT.prototype.recvFastPath = function (s) {
75
+ this.emit('fastPathData', this.secFlag, s);
76
+ var self = this;
77
+ this.transport.expect(2);
78
+ this.transport.once('data', function (s) {
79
+ self.recvHeader(s);
80
+ });
81
+ };
82
+ TPKT.prototype.send = function (message) {
83
+ this.transport.send(new type.Component([
84
+ new type.UInt8(Action.FASTPATH_ACTION_X224),
85
+ new type.UInt8(0),
86
+ new type.UInt16Be(message.size() + 4),
87
+ message
88
+ ]));
89
+ };
90
+ TPKT.prototype.close = function () {
91
+ this.transport.close();
92
+ };
93
+ module.exports = TPKT;
94
+ //# sourceMappingURL=tpkt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tpkt.js","sourceRoot":"","sources":["../../../../../../../src/main/domain/rdp/lib/protocol/tpkt.js"],"names":[],"mappings":"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"}