@honeybbq/teamspeak 0.0.1 → 1.0.0-beta.7

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 (393) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +726 -2
  3. package/dist/client/abort.d.ts +5 -0
  4. package/dist/client/abort.d.ts.map +1 -0
  5. package/dist/client/abort.js +23 -0
  6. package/dist/client/abort.js.map +1 -0
  7. package/dist/client/address.d.ts +17 -0
  8. package/dist/client/address.d.ts.map +1 -0
  9. package/dist/client/address.js +66 -0
  10. package/dist/client/address.js.map +1 -0
  11. package/dist/client/api/voice.d.ts +24 -0
  12. package/dist/client/api/voice.d.ts.map +1 -0
  13. package/dist/client/api/voice.js +33 -0
  14. package/dist/client/api/voice.js.map +1 -0
  15. package/dist/client/capabilities.d.ts +68 -0
  16. package/dist/client/capabilities.d.ts.map +1 -0
  17. package/dist/client/capabilities.js +59 -0
  18. package/dist/client/capabilities.js.map +1 -0
  19. package/dist/client/client.d.ts +196 -0
  20. package/dist/client/client.d.ts.map +1 -0
  21. package/dist/client/client.js +1523 -0
  22. package/dist/client/client.js.map +1 -0
  23. package/dist/client/commands.d.ts +66 -0
  24. package/dist/client/commands.d.ts.map +1 -0
  25. package/dist/client/commands.js +162 -0
  26. package/dist/client/commands.js.map +1 -0
  27. package/dist/client/crypto/crypt-ops.d.ts +7 -0
  28. package/dist/client/crypto/crypt-ops.d.ts.map +1 -0
  29. package/dist/client/crypto/crypt-ops.js +2 -0
  30. package/dist/client/crypto/crypt-ops.js.map +1 -0
  31. package/dist/client/crypto/crypt.d.ts +37 -0
  32. package/dist/client/crypto/crypt.d.ts.map +1 -0
  33. package/dist/client/crypto/crypt.js +203 -0
  34. package/dist/client/crypto/crypt.js.map +1 -0
  35. package/dist/client/crypto/eax.d.ts +12 -0
  36. package/dist/client/crypto/eax.d.ts.map +1 -0
  37. package/dist/client/crypto/eax.js +118 -0
  38. package/dist/client/crypto/eax.js.map +1 -0
  39. package/dist/client/crypto/identity.d.ts +97 -0
  40. package/dist/client/crypto/identity.d.ts.map +1 -0
  41. package/dist/client/crypto/identity.js +412 -0
  42. package/dist/client/crypto/identity.js.map +1 -0
  43. package/dist/client/crypto/index.d.ts +7 -0
  44. package/dist/client/crypto/index.d.ts.map +1 -0
  45. package/dist/client/crypto/index.js +5 -0
  46. package/dist/client/crypto/index.js.map +1 -0
  47. package/dist/client/crypto/primitives.d.ts +43 -0
  48. package/dist/client/crypto/primitives.d.ts.map +1 -0
  49. package/dist/client/crypto/primitives.js +116 -0
  50. package/dist/client/crypto/primitives.js.map +1 -0
  51. package/dist/client/diagnostics.d.ts +45 -0
  52. package/dist/client/diagnostics.d.ts.map +1 -0
  53. package/dist/client/diagnostics.js +30 -0
  54. package/dist/client/diagnostics.js.map +1 -0
  55. package/dist/client/discovery/index.d.ts +2 -0
  56. package/dist/client/discovery/index.d.ts.map +1 -0
  57. package/dist/client/discovery/index.js +2 -0
  58. package/dist/client/discovery/index.js.map +1 -0
  59. package/dist/client/discovery/resolver.d.ts +26 -0
  60. package/dist/client/discovery/resolver.d.ts.map +1 -0
  61. package/dist/client/discovery/resolver.js +275 -0
  62. package/dist/client/discovery/resolver.js.map +1 -0
  63. package/dist/client/errors.d.ts +82 -0
  64. package/dist/client/errors.d.ts.map +1 -0
  65. package/dist/client/errors.js +201 -0
  66. package/dist/client/errors.js.map +1 -0
  67. package/dist/client/events.d.ts +3 -0
  68. package/dist/client/events.d.ts.map +1 -0
  69. package/dist/client/events.js +8 -0
  70. package/dist/client/events.js.map +1 -0
  71. package/dist/client/handshake/crypt-handshake.d.ts +17 -0
  72. package/dist/client/handshake/crypt-handshake.d.ts.map +1 -0
  73. package/dist/client/handshake/crypt-handshake.js +128 -0
  74. package/dist/client/handshake/crypt-handshake.js.map +1 -0
  75. package/dist/client/handshake/crypt-init2.d.ts +7 -0
  76. package/dist/client/handshake/crypt-init2.d.ts.map +1 -0
  77. package/dist/client/handshake/crypt-init2.js +37 -0
  78. package/dist/client/handshake/crypt-init2.js.map +1 -0
  79. package/dist/client/handshake/index.d.ts +4 -0
  80. package/dist/client/handshake/index.d.ts.map +1 -0
  81. package/dist/client/handshake/index.js +4 -0
  82. package/dist/client/handshake/index.js.map +1 -0
  83. package/dist/client/handshake/license.d.ts +35 -0
  84. package/dist/client/handshake/license.d.ts.map +1 -0
  85. package/dist/client/handshake/license.js +169 -0
  86. package/dist/client/handshake/license.js.map +1 -0
  87. package/dist/client/handshake.d.ts +27 -0
  88. package/dist/client/handshake.d.ts.map +1 -0
  89. package/dist/client/handshake.js +126 -0
  90. package/dist/client/handshake.js.map +1 -0
  91. package/dist/client/helpers.d.ts +6 -0
  92. package/dist/client/helpers.d.ts.map +1 -0
  93. package/dist/client/helpers.js +13 -0
  94. package/dist/client/helpers.js.map +1 -0
  95. package/dist/client/hooks.d.ts +7 -0
  96. package/dist/client/hooks.d.ts.map +1 -0
  97. package/dist/client/hooks.js +28 -0
  98. package/dist/client/hooks.js.map +1 -0
  99. package/dist/client/index.d.ts +26 -0
  100. package/dist/client/index.d.ts.map +1 -0
  101. package/dist/client/index.js +28 -0
  102. package/dist/client/index.js.map +1 -0
  103. package/dist/client/reconnect.d.ts +12 -0
  104. package/dist/client/reconnect.d.ts.map +1 -0
  105. package/dist/client/reconnect.js +44 -0
  106. package/dist/client/reconnect.js.map +1 -0
  107. package/dist/client/throttle.d.ts +20 -0
  108. package/dist/client/throttle.d.ts.map +1 -0
  109. package/dist/client/throttle.js +83 -0
  110. package/dist/client/throttle.js.map +1 -0
  111. package/dist/client/trace.d.ts +223 -0
  112. package/dist/client/trace.d.ts.map +1 -0
  113. package/dist/client/trace.js +13 -0
  114. package/dist/client/trace.js.map +1 -0
  115. package/dist/client/transfer.d.ts +111 -0
  116. package/dist/client/transfer.d.ts.map +1 -0
  117. package/dist/client/transfer.js +243 -0
  118. package/dist/client/transfer.js.map +1 -0
  119. package/dist/client/transport/generation-window.d.ts +30 -0
  120. package/dist/client/transport/generation-window.d.ts.map +1 -0
  121. package/dist/client/transport/generation-window.js +97 -0
  122. package/dist/client/transport/generation-window.js.map +1 -0
  123. package/dist/client/transport/handler.d.ts +61 -0
  124. package/dist/client/transport/handler.d.ts.map +1 -0
  125. package/dist/client/transport/handler.js +793 -0
  126. package/dist/client/transport/handler.js.map +1 -0
  127. package/dist/client/transport/index.d.ts +6 -0
  128. package/dist/client/transport/index.d.ts.map +1 -0
  129. package/dist/client/transport/index.js +5 -0
  130. package/dist/client/transport/index.js.map +1 -0
  131. package/dist/client/transport/packet.d.ts +36 -0
  132. package/dist/client/transport/packet.d.ts.map +1 -0
  133. package/dist/client/transport/packet.js +55 -0
  134. package/dist/client/transport/packet.js.map +1 -0
  135. package/dist/client/transport/quicklz.d.ts +24 -0
  136. package/dist/client/transport/quicklz.d.ts.map +1 -0
  137. package/dist/client/transport/quicklz.js +179 -0
  138. package/dist/client/transport/quicklz.js.map +1 -0
  139. package/dist/client/types.d.ts +226 -0
  140. package/dist/client/types.d.ts.map +1 -0
  141. package/dist/client/types.js +39 -0
  142. package/dist/client/types.js.map +1 -0
  143. package/dist/core/api/channels.d.ts +182 -0
  144. package/dist/core/api/channels.d.ts.map +1 -0
  145. package/dist/core/api/channels.js +155 -0
  146. package/dist/core/api/channels.js.map +1 -0
  147. package/dist/core/api/clients.d.ts +304 -0
  148. package/dist/core/api/clients.d.ts.map +1 -0
  149. package/dist/core/api/clients.js +260 -0
  150. package/dist/core/api/clients.js.map +1 -0
  151. package/dist/core/api/command.d.ts +305 -0
  152. package/dist/core/api/command.d.ts.map +1 -0
  153. package/dist/core/api/command.js +363 -0
  154. package/dist/core/api/command.js.map +1 -0
  155. package/dist/core/api/files.d.ts +153 -0
  156. package/dist/core/api/files.d.ts.map +1 -0
  157. package/dist/core/api/files.js +181 -0
  158. package/dist/core/api/files.js.map +1 -0
  159. package/dist/core/api/groups.d.ts +248 -0
  160. package/dist/core/api/groups.d.ts.map +1 -0
  161. package/dist/core/api/groups.js +271 -0
  162. package/dist/core/api/groups.js.map +1 -0
  163. package/dist/core/api/moderation.d.ts +205 -0
  164. package/dist/core/api/moderation.d.ts.map +1 -0
  165. package/dist/core/api/moderation.js +209 -0
  166. package/dist/core/api/moderation.js.map +1 -0
  167. package/dist/core/api/parse.d.ts +16 -0
  168. package/dist/core/api/parse.d.ts.map +1 -0
  169. package/dist/core/api/parse.js +40 -0
  170. package/dist/core/api/parse.js.map +1 -0
  171. package/dist/core/api/server.d.ts +310 -0
  172. package/dist/core/api/server.d.ts.map +1 -0
  173. package/dist/core/api/server.js +290 -0
  174. package/dist/core/api/server.js.map +1 -0
  175. package/dist/core/command/command.d.ts +20 -0
  176. package/dist/core/command/command.d.ts.map +1 -0
  177. package/dist/core/command/command.js +112 -0
  178. package/dist/core/command/command.js.map +1 -0
  179. package/dist/core/command/ids.d.ts +125 -0
  180. package/dist/core/command/ids.d.ts.map +1 -0
  181. package/dist/core/command/ids.js +85 -0
  182. package/dist/core/command/ids.js.map +1 -0
  183. package/dist/core/command/parser.d.ts +17 -0
  184. package/dist/core/command/parser.d.ts.map +1 -0
  185. package/dist/core/command/parser.js +65 -0
  186. package/dist/core/command/parser.js.map +1 -0
  187. package/dist/core/command/request.d.ts +61 -0
  188. package/dist/core/command/request.d.ts.map +1 -0
  189. package/dist/core/command/request.js +64 -0
  190. package/dist/core/command/request.js.map +1 -0
  191. package/dist/core/command/responses.d.ts +59 -0
  192. package/dist/core/command/responses.d.ts.map +1 -0
  193. package/dist/core/command/responses.js +74 -0
  194. package/dist/core/command/responses.js.map +1 -0
  195. package/dist/core/command-name.d.ts +333 -0
  196. package/dist/core/command-name.d.ts.map +1 -0
  197. package/dist/core/command-name.js +331 -0
  198. package/dist/core/command-name.js.map +1 -0
  199. package/dist/core/enums.d.ts +146 -0
  200. package/dist/core/enums.d.ts.map +1 -0
  201. package/dist/core/enums.js +132 -0
  202. package/dist/core/enums.js.map +1 -0
  203. package/dist/core/errorcode.d.ts +413 -0
  204. package/dist/core/errorcode.d.ts.map +1 -0
  205. package/dist/core/errorcode.js +410 -0
  206. package/dist/core/errorcode.js.map +1 -0
  207. package/dist/core/errors.d.ts +111 -0
  208. package/dist/core/errors.d.ts.map +1 -0
  209. package/dist/core/errors.js +233 -0
  210. package/dist/core/errors.js.map +1 -0
  211. package/dist/core/events.d.ts +207 -0
  212. package/dist/core/events.d.ts.map +1 -0
  213. package/dist/core/events.js +6 -0
  214. package/dist/core/events.js.map +1 -0
  215. package/dist/core/helpers.d.ts +42 -0
  216. package/dist/core/helpers.d.ts.map +1 -0
  217. package/dist/core/helpers.js +156 -0
  218. package/dist/core/helpers.js.map +1 -0
  219. package/dist/core/index.d.ts +35 -0
  220. package/dist/core/index.d.ts.map +1 -0
  221. package/dist/core/index.js +34 -0
  222. package/dist/core/index.js.map +1 -0
  223. package/dist/core/internal.d.ts +23 -0
  224. package/dist/core/internal.d.ts.map +1 -0
  225. package/dist/core/internal.js +20 -0
  226. package/dist/core/internal.js.map +1 -0
  227. package/dist/core/middleware.d.ts +14 -0
  228. package/dist/core/middleware.d.ts.map +1 -0
  229. package/dist/core/middleware.js +18 -0
  230. package/dist/core/middleware.js.map +1 -0
  231. package/dist/core/notification-name.d.ts +154 -0
  232. package/dist/core/notification-name.d.ts.map +1 -0
  233. package/dist/core/notification-name.js +152 -0
  234. package/dist/core/notification-name.js.map +1 -0
  235. package/dist/core/notifications.d.ts +43 -0
  236. package/dist/core/notifications.d.ts.map +1 -0
  237. package/dist/core/notifications.js +116 -0
  238. package/dist/core/notifications.js.map +1 -0
  239. package/dist/core/permission-name.d.ts +533 -0
  240. package/dist/core/permission-name.d.ts.map +1 -0
  241. package/dist/core/permission-name.js +531 -0
  242. package/dist/core/permission-name.js.map +1 -0
  243. package/dist/core/permission.d.ts +31 -0
  244. package/dist/core/permission.d.ts.map +1 -0
  245. package/dist/core/permission.js +20 -0
  246. package/dist/core/permission.js.map +1 -0
  247. package/dist/core/property-name.d.ts +403 -0
  248. package/dist/core/property-name.d.ts.map +1 -0
  249. package/dist/core/property-name.js +405 -0
  250. package/dist/core/property-name.js.map +1 -0
  251. package/dist/core/reason.d.ts +39 -0
  252. package/dist/core/reason.d.ts.map +1 -0
  253. package/dist/core/reason.js +36 -0
  254. package/dist/core/reason.js.map +1 -0
  255. package/dist/core/reconnect.d.ts +59 -0
  256. package/dist/core/reconnect.d.ts.map +1 -0
  257. package/dist/core/reconnect.js +55 -0
  258. package/dist/core/reconnect.js.map +1 -0
  259. package/dist/core/types.d.ts +110 -0
  260. package/dist/core/types.d.ts.map +1 -0
  261. package/dist/core/types.js +27 -0
  262. package/dist/core/types.js.map +1 -0
  263. package/dist/query/client.d.ts +194 -0
  264. package/dist/query/client.d.ts.map +1 -0
  265. package/dist/query/client.js +967 -0
  266. package/dist/query/client.js.map +1 -0
  267. package/dist/query/errors.d.ts +61 -0
  268. package/dist/query/errors.d.ts.map +1 -0
  269. package/dist/query/errors.js +100 -0
  270. package/dist/query/errors.js.map +1 -0
  271. package/dist/query/index.d.ts +36 -0
  272. package/dist/query/index.d.ts.map +1 -0
  273. package/dist/query/index.js +34 -0
  274. package/dist/query/index.js.map +1 -0
  275. package/dist/query/knownhosts.d.ts +61 -0
  276. package/dist/query/knownhosts.d.ts.map +1 -0
  277. package/dist/query/knownhosts.js +223 -0
  278. package/dist/query/knownhosts.js.map +1 -0
  279. package/dist/query/lines.d.ts +14 -0
  280. package/dist/query/lines.d.ts.map +1 -0
  281. package/dist/query/lines.js +29 -0
  282. package/dist/query/lines.js.map +1 -0
  283. package/dist/query/options.d.ts +187 -0
  284. package/dist/query/options.d.ts.map +1 -0
  285. package/dist/query/options.js +213 -0
  286. package/dist/query/options.js.map +1 -0
  287. package/dist/query/reconnect.d.ts +29 -0
  288. package/dist/query/reconnect.d.ts.map +1 -0
  289. package/dist/query/reconnect.js +87 -0
  290. package/dist/query/reconnect.js.map +1 -0
  291. package/dist/query/ssh.d.ts +345 -0
  292. package/dist/query/ssh.d.ts.map +1 -0
  293. package/dist/query/ssh.js +241 -0
  294. package/dist/query/ssh.js.map +1 -0
  295. package/dist/query/stream.d.ts +38 -0
  296. package/dist/query/stream.d.ts.map +1 -0
  297. package/dist/query/stream.js +70 -0
  298. package/dist/query/stream.js.map +1 -0
  299. package/dist/query/tcp.d.ts +38 -0
  300. package/dist/query/tcp.d.ts.map +1 -0
  301. package/dist/query/tcp.js +53 -0
  302. package/dist/query/tcp.js.map +1 -0
  303. package/dist/query/transport.d.ts +36 -0
  304. package/dist/query/transport.d.ts.map +1 -0
  305. package/dist/query/transport.js +2 -0
  306. package/dist/query/transport.js.map +1 -0
  307. package/dist/query/web.d.ts +54 -0
  308. package/dist/query/web.d.ts.map +1 -0
  309. package/dist/query/web.js +146 -0
  310. package/dist/query/web.js.map +1 -0
  311. package/dist/versions/index.d.ts +3094 -0
  312. package/dist/versions/index.d.ts.map +1 -0
  313. package/dist/versions/index.js +9237 -0
  314. package/dist/versions/index.js.map +1 -0
  315. package/package.json +118 -4
  316. package/src/client/abort.ts +24 -0
  317. package/src/client/address.ts +74 -0
  318. package/src/client/api/voice.ts +61 -0
  319. package/src/client/capabilities.ts +106 -0
  320. package/src/client/client.ts +1809 -0
  321. package/src/client/commands.ts +193 -0
  322. package/src/client/crypto/crypt-ops.ts +6 -0
  323. package/src/client/crypto/crypt.ts +275 -0
  324. package/src/client/crypto/eax.ts +152 -0
  325. package/src/client/crypto/identity.ts +484 -0
  326. package/src/client/crypto/index.ts +21 -0
  327. package/src/client/crypto/primitives.ts +141 -0
  328. package/src/client/diagnostics.ts +58 -0
  329. package/src/client/discovery/index.ts +1 -0
  330. package/src/client/discovery/resolver.ts +325 -0
  331. package/src/client/errors.ts +217 -0
  332. package/src/client/events.ts +12 -0
  333. package/src/client/handshake/crypt-handshake.ts +157 -0
  334. package/src/client/handshake/crypt-init2.ts +48 -0
  335. package/src/client/handshake/index.ts +3 -0
  336. package/src/client/handshake/license.ts +208 -0
  337. package/src/client/handshake.ts +150 -0
  338. package/src/client/helpers.ts +10 -0
  339. package/src/client/hooks.ts +30 -0
  340. package/src/client/index.ts +93 -0
  341. package/src/client/reconnect.ts +43 -0
  342. package/src/client/throttle.ts +92 -0
  343. package/src/client/trace.ts +237 -0
  344. package/src/client/transfer.ts +436 -0
  345. package/src/client/transport/generation-window.ts +108 -0
  346. package/src/client/transport/handler.ts +926 -0
  347. package/src/client/transport/index.ts +14 -0
  348. package/src/client/transport/packet.ts +69 -0
  349. package/src/client/transport/quicklz.ts +209 -0
  350. package/src/client/types.ts +268 -0
  351. package/src/core/api/channels.ts +396 -0
  352. package/src/core/api/clients.ts +654 -0
  353. package/src/core/api/command.ts +563 -0
  354. package/src/core/api/files.ts +405 -0
  355. package/src/core/api/groups.ts +622 -0
  356. package/src/core/api/moderation.ts +525 -0
  357. package/src/core/api/parse.ts +52 -0
  358. package/src/core/api/server.ts +709 -0
  359. package/src/core/command/command.ts +125 -0
  360. package/src/core/command/ids.ts +149 -0
  361. package/src/core/command/parser.ts +68 -0
  362. package/src/core/command/request.ts +119 -0
  363. package/src/core/command/responses.ts +114 -0
  364. package/src/core/command-name.ts +334 -0
  365. package/src/core/enums.ts +167 -0
  366. package/src/core/errorcode.ts +412 -0
  367. package/src/core/errors.ts +258 -0
  368. package/src/core/events.ts +219 -0
  369. package/src/core/helpers.ts +161 -0
  370. package/src/core/index.ts +126 -0
  371. package/src/core/internal.ts +23 -0
  372. package/src/core/middleware.ts +24 -0
  373. package/src/core/notification-name.ts +155 -0
  374. package/src/core/notifications.ts +157 -0
  375. package/src/core/permission-name.ts +538 -0
  376. package/src/core/permission.ts +34 -0
  377. package/src/core/property-name.ts +411 -0
  378. package/src/core/reason.ts +38 -0
  379. package/src/core/reconnect.ts +98 -0
  380. package/src/core/types.ts +138 -0
  381. package/src/query/client.ts +1132 -0
  382. package/src/query/errors.ts +108 -0
  383. package/src/query/index.ts +65 -0
  384. package/src/query/knownhosts.ts +257 -0
  385. package/src/query/lines.ts +28 -0
  386. package/src/query/options.ts +388 -0
  387. package/src/query/reconnect.ts +84 -0
  388. package/src/query/ssh.ts +614 -0
  389. package/src/query/stream.ts +91 -0
  390. package/src/query/tcp.ts +85 -0
  391. package/src/query/transport.ts +35 -0
  392. package/src/query/web.ts +195 -0
  393. package/src/versions/index.ts +10774 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/query/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import { TeamspeakError } from "@honeybbq/teamspeak";
2
+ /**
3
+ * The `ssh` transport was asked for and `ssh2` is not installed.
4
+ *
5
+ * `ssh2` is an optional peer dependency — ServerQuery over raw TCP and over
6
+ * WebQuery need nothing but Node — so an application that only uses those has
7
+ * no reason to carry it. This says which package to add rather than failing
8
+ * with a module-not-found from inside the loader.
9
+ *
10
+ * @experimental Part of the `@honeybbq/teamspeak/query` entry, which may
11
+ * change in a minor release.
12
+ */
13
+ export declare class MissingDependencyError extends TeamspeakError {
14
+ /** {@inheritDoc @honeybbq/teamspeak!TeamspeakError.kind} */
15
+ static readonly kind: string;
16
+ /** The package to install. */
17
+ readonly package: "ssh2";
18
+ constructor();
19
+ }
20
+ /**
21
+ * An SSH server's host key was not accepted, so nothing was sent to it: the
22
+ * caller's check refused it, or the `known_hosts` file it named does not know
23
+ * the host, records another key, revokes this one, or could not be read.
24
+ *
25
+ * The check runs before the login, so the query password has not left the
26
+ * process. What the check said is kept as this error's `cause`: an unknown host
27
+ * is told apart from a changed key there, and a changed key may be somebody
28
+ * else answering the port. Retrying cannot help, so the default reconnection
29
+ * policy does not.
30
+ *
31
+ * @experimental Part of the `@honeybbq/teamspeak/query` entry, which may
32
+ * change in a minor release.
33
+ */
34
+ export declare class SshHostKeyError extends TeamspeakError {
35
+ /** {@inheritDoc @honeybbq/teamspeak!TeamspeakError.kind} */
36
+ static readonly kind: string;
37
+ /** The host that was dialled. */
38
+ readonly host: string;
39
+ /** The port that was dialled. */
40
+ readonly port: number;
41
+ constructor(host: string, port: number, message: string, options?: ErrorOptions);
42
+ }
43
+ /**
44
+ * The server refused an SSH login: a wrong query login name or password, or an
45
+ * account the server does not accept over SSH.
46
+ *
47
+ * SSH logs in before the query protocol starts, so this is not a `ServerError`
48
+ * with a protocol code; the failure is the SSH client's own, kept as this
49
+ * error's `cause`.
50
+ *
51
+ * @experimental Part of the `@honeybbq/teamspeak/query` entry, which may
52
+ * change in a minor release.
53
+ */
54
+ export declare class QueryAuthError extends TeamspeakError {
55
+ /** {@inheritDoc @honeybbq/teamspeak!TeamspeakError.kind} */
56
+ static readonly kind: string;
57
+ /** The SSH login name whose authentication failed. */
58
+ readonly username: string;
59
+ constructor(username: string, message: string, options?: ErrorOptions);
60
+ }
61
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/query/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;;;;;;;;;GAUG;AACH,qBAAa,sBAAuB,SAAQ,cAAc;IACxD,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAA4B;IAYjE,8BAA8B;IAC9B,QAAQ,CAAC,OAAO,EAAG,MAAM,CAAU;IAEnC,cAEC;CACF;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,eAAgB,SAAQ,cAAc;IACjD,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAAqB;IAY1D,iCAAiC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,YAAY,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,EAI9E;CACF;AAED;;;;;;;;;;GAUG;AACH,qBAAa,cAAe,SAAQ,cAAc;IAChD,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAAoB;IAYzD,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,YAAY,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,EAGpE;CACF"}
@@ -0,0 +1,100 @@
1
+ import { TeamspeakError } from "@honeybbq/teamspeak";
2
+ /**
3
+ * The `ssh` transport was asked for and `ssh2` is not installed.
4
+ *
5
+ * `ssh2` is an optional peer dependency — ServerQuery over raw TCP and over
6
+ * WebQuery need nothing but Node — so an application that only uses those has
7
+ * no reason to carry it. This says which package to add rather than failing
8
+ * with a module-not-found from inside the loader.
9
+ *
10
+ * @experimental Part of the `@honeybbq/teamspeak/query` entry, which may
11
+ * change in a minor release.
12
+ */
13
+ export class MissingDependencyError extends TeamspeakError {
14
+ /** {@inheritDoc @honeybbq/teamspeak!TeamspeakError.kind} */
15
+ static kind = "MissingDependencyError";
16
+ static {
17
+ // On the prototype, not the instance, as built-in errors do: an own `name`
18
+ // would be enumerable and show up in JSON.stringify and object spread.
19
+ Object.defineProperty(this.prototype, "name", {
20
+ value: "MissingDependencyError",
21
+ writable: true,
22
+ configurable: true,
23
+ enumerable: false,
24
+ });
25
+ }
26
+ /** The package to install. */
27
+ package = "ssh2";
28
+ constructor() {
29
+ super('the ssh transport needs the optional dependency "ssh2", which is not installed');
30
+ }
31
+ }
32
+ /**
33
+ * An SSH server's host key was not accepted, so nothing was sent to it: the
34
+ * caller's check refused it, or the `known_hosts` file it named does not know
35
+ * the host, records another key, revokes this one, or could not be read.
36
+ *
37
+ * The check runs before the login, so the query password has not left the
38
+ * process. What the check said is kept as this error's `cause`: an unknown host
39
+ * is told apart from a changed key there, and a changed key may be somebody
40
+ * else answering the port. Retrying cannot help, so the default reconnection
41
+ * policy does not.
42
+ *
43
+ * @experimental Part of the `@honeybbq/teamspeak/query` entry, which may
44
+ * change in a minor release.
45
+ */
46
+ export class SshHostKeyError extends TeamspeakError {
47
+ /** {@inheritDoc @honeybbq/teamspeak!TeamspeakError.kind} */
48
+ static kind = "SshHostKeyError";
49
+ static {
50
+ // On the prototype, not the instance, as built-in errors do: an own `name`
51
+ // would be enumerable and show up in JSON.stringify and object spread.
52
+ Object.defineProperty(this.prototype, "name", {
53
+ value: "SshHostKeyError",
54
+ writable: true,
55
+ configurable: true,
56
+ enumerable: false,
57
+ });
58
+ }
59
+ /** The host that was dialled. */
60
+ host;
61
+ /** The port that was dialled. */
62
+ port;
63
+ constructor(host, port, message, options) {
64
+ super(message, options);
65
+ this.host = host;
66
+ this.port = port;
67
+ }
68
+ }
69
+ /**
70
+ * The server refused an SSH login: a wrong query login name or password, or an
71
+ * account the server does not accept over SSH.
72
+ *
73
+ * SSH logs in before the query protocol starts, so this is not a `ServerError`
74
+ * with a protocol code; the failure is the SSH client's own, kept as this
75
+ * error's `cause`.
76
+ *
77
+ * @experimental Part of the `@honeybbq/teamspeak/query` entry, which may
78
+ * change in a minor release.
79
+ */
80
+ export class QueryAuthError extends TeamspeakError {
81
+ /** {@inheritDoc @honeybbq/teamspeak!TeamspeakError.kind} */
82
+ static kind = "QueryAuthError";
83
+ static {
84
+ // On the prototype, not the instance, as built-in errors do: an own `name`
85
+ // would be enumerable and show up in JSON.stringify and object spread.
86
+ Object.defineProperty(this.prototype, "name", {
87
+ value: "QueryAuthError",
88
+ writable: true,
89
+ configurable: true,
90
+ enumerable: false,
91
+ });
92
+ }
93
+ /** The SSH login name whose authentication failed. */
94
+ username;
95
+ constructor(username, message, options) {
96
+ super(message, options);
97
+ this.username = username;
98
+ }
99
+ }
100
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/query/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;;;;;;;;;GAUG;AACH,MAAM,OAAO,sBAAuB,SAAQ,cAAc;IACxD,4DAA4D;IAC5D,MAAM,CAAmB,IAAI,GAAW,wBAAwB,CAAC;IACjE;QACE,2EAA2E;QAC3E,uEAAuE;QACvE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE;YAC5C,KAAK,EAAE,wBAAwB;YAC/B,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;IAED,8BAA8B;IACrB,OAAO,GAAG,MAAe,CAAC;IAEnC;QACE,KAAK,CAAC,gFAAgF,CAAC,CAAC;IAC1F,CAAC;CACF;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,eAAgB,SAAQ,cAAc;IACjD,4DAA4D;IAC5D,MAAM,CAAmB,IAAI,GAAW,iBAAiB,CAAC;IAC1D;QACE,2EAA2E;QAC3E,uEAAuE;QACvE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE;YAC5C,KAAK,EAAE,iBAAiB;YACxB,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;IAED,iCAAiC;IACxB,IAAI,CAAS;IACtB,iCAAiC;IACxB,IAAI,CAAS;IAEtB,YAAY,IAAY,EAAE,IAAY,EAAE,OAAe,EAAE,OAAsB;QAC7E,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED;;;;;;;;;;GAUG;AACH,MAAM,OAAO,cAAe,SAAQ,cAAc;IAChD,4DAA4D;IAC5D,MAAM,CAAmB,IAAI,GAAW,gBAAgB,CAAC;IACzD;QACE,2EAA2E;QAC3E,uEAAuE;QACvE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE;YAC5C,KAAK,EAAE,gBAAgB;YACvB,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;IAED,sDAAsD;IAC7C,QAAQ,CAAS;IAE1B,YAAY,QAAgB,EAAE,OAAe,EAAE,OAAsB;QACnE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * A TeamSpeak ServerQuery client.
3
+ *
4
+ * ServerQuery is the administrative interface to a TeamSpeak server: the voice
5
+ * protocol's commands, plus the ones only an administrator can run. This entry
6
+ * runs the same typed commands as `@honeybbq/teamspeak`,
7
+ * over raw TCP (10011), SSH (10022) or TeamSpeak 6's HTTP WebQuery (10080).
8
+ *
9
+ * Only what belongs to ServerQuery is exported here. The typed commands, ids
10
+ * and errors every client shares come from `@honeybbq/teamspeak`.
11
+ *
12
+ * SSH checks the server's host key before it sends the login, and has no
13
+ * default for how: one of `knownHosts`, `hostKey` or `insecureIgnoreHostKey`
14
+ * has to be given, because the query login is a credential and a client that
15
+ * accepts any key hands it to whatever answers the port.
16
+ *
17
+ * @experimental This entry point is new and may change in a minor release: the
18
+ * `QueryClient` API, its options and its event map are all still settling.
19
+ * Pin a version and read the changelog if you depend on it.
20
+ *
21
+ * @packageDocumentation
22
+ */
23
+ export { QueryClient } from "./client.js";
24
+ export type { QueryClientOptions, QueryEventCategory, QueryEventMap, QueryEventsOption, QueryTransportOptions, } from "./client.js";
25
+ export type { QueryTransport } from "./transport.js";
26
+ export { defaultShouldRetry } from "./reconnect.js";
27
+ export { MissingDependencyError, QueryAuthError, SshHostKeyError } from "./errors.js";
28
+ export { StreamTransport } from "./stream.js";
29
+ export type { QueryStream } from "./stream.js";
30
+ export { connectTcp } from "./tcp.js";
31
+ export type { TcpConnector, TcpOptions } from "./tcp.js";
32
+ export { connectSsh } from "./ssh.js";
33
+ export type { SshChannel, SshClient, SshConnectOptions, SshConnection, SshDialOptions, SshDialTarget, SshHostKey, SshHostKeyCallbackPolicy, SshHostKeyPolicy, SshHostKeyVerifier, SshInsecureHostKeyPolicy, SshKnownHostsPolicy, SshOptions, SshSuppliedConnectionOptions, } from "./ssh.js";
34
+ export { WebQueryHttpError, WebQueryTransport } from "./web.js";
35
+ export type { WebQueryOptions } from "./web.js";
36
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/query/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAGpD,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAItF,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,YAAY,EACV,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,aAAa,EACb,UAAU,EACV,wBAAwB,EACxB,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACxB,mBAAmB,EACnB,UAAU,EACV,4BAA4B,GAC7B,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAChE,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * A TeamSpeak ServerQuery client.
3
+ *
4
+ * ServerQuery is the administrative interface to a TeamSpeak server: the voice
5
+ * protocol's commands, plus the ones only an administrator can run. This entry
6
+ * runs the same typed commands as `@honeybbq/teamspeak`,
7
+ * over raw TCP (10011), SSH (10022) or TeamSpeak 6's HTTP WebQuery (10080).
8
+ *
9
+ * Only what belongs to ServerQuery is exported here. The typed commands, ids
10
+ * and errors every client shares come from `@honeybbq/teamspeak`.
11
+ *
12
+ * SSH checks the server's host key before it sends the login, and has no
13
+ * default for how: one of `knownHosts`, `hostKey` or `insecureIgnoreHostKey`
14
+ * has to be given, because the query login is a credential and a client that
15
+ * accepts any key hands it to whatever answers the port.
16
+ *
17
+ * @experimental This entry point is new and may change in a minor release: the
18
+ * `QueryClient` API, its options and its event map are all still settling.
19
+ * Pin a version and read the changelog if you depend on it.
20
+ *
21
+ * @packageDocumentation
22
+ */
23
+ export { QueryClient } from "./client.js";
24
+ // Reconnection: the client's default retry decision, and the shared options.
25
+ export { defaultShouldRetry } from "./reconnect.js";
26
+ // Errors unique to ServerQuery.
27
+ export { MissingDependencyError, QueryAuthError, SshHostKeyError } from "./errors.js";
28
+ // The transports each `transport` kind builds on, for a caller that wants one
29
+ // directly or that is writing its own `custom` opener.
30
+ export { StreamTransport } from "./stream.js";
31
+ export { connectTcp } from "./tcp.js";
32
+ export { connectSsh } from "./ssh.js";
33
+ export { WebQueryHttpError, WebQueryTransport } from "./web.js";
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/query/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAW1C,6EAA6E;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,gCAAgC;AAChC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEtF,8EAA8E;AAC9E,uDAAuD;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAiBtC,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * What a host key check needs to know about the key a server presented. A
3
+ * structural type, so this module reads no further than it uses.
4
+ */
5
+ export interface PresentedHostKey {
6
+ /** The host that was dialled, as the caller wrote it. */
7
+ readonly host: string;
8
+ /** The port that was dialled. */
9
+ readonly port: number;
10
+ /** The key's wire encoding: the blob a `known_hosts` line carries in base64. */
11
+ readonly key: Uint8Array;
12
+ /** The key's algorithm, as its own encoding names it. */
13
+ readonly keyType: string;
14
+ /** The key's `SHA256:` fingerprint, as `ssh-keygen -lf` prints it. */
15
+ readonly fingerprint: string;
16
+ }
17
+ /**
18
+ * The OpenSSH fingerprint of a key: `SHA256:` and the unpadded base64 of the
19
+ * SHA-256 of its wire encoding, which is what `ssh-keygen -lf` prints.
20
+ */
21
+ export declare function fingerprintOf(key: Uint8Array): string;
22
+ /**
23
+ * The algorithm a key's wire encoding names, such as `ssh-ed25519`: the first
24
+ * field of the encoding, a length-prefixed string.
25
+ *
26
+ * Throws on an encoding that is too short to hold one, so that a key which
27
+ * cannot be read is refused rather than described as nothing.
28
+ */
29
+ export declare function keyTypeOf(key: Uint8Array): string;
30
+ /**
31
+ * An OpenSSH `known_hosts` file, read for the one question a client asks of it:
32
+ * is this the key the host is recorded with.
33
+ *
34
+ * Follows what `ssh` does with `StrictHostKeyChecking=yes`: a host the file
35
+ * does not mention is refused, so is one whose recorded keys do not include the
36
+ * key it presented, and so is any key a `@revoked` line names, whatever host
37
+ * presents it. Nothing is ever added to the file.
38
+ *
39
+ * `@cert-authority` lines are read and then ignored. They name a key that signs
40
+ * host certificates, and a presented plain key is not one, so they can neither
41
+ * accept nor refuse it.
42
+ */
43
+ export declare class KnownHosts {
44
+ #private;
45
+ private constructor();
46
+ /**
47
+ * Read the text of a `known_hosts` file. `source` names it in messages.
48
+ *
49
+ * Throws on a line it cannot read, naming the file and line, rather than
50
+ * skipping it: a skipped `@revoked` line would let the key it revokes
51
+ * through.
52
+ */
53
+ static parse(text: string, source: string): KnownHosts;
54
+ /**
55
+ * Accept the key by returning, or refuse it by throwing an `Error` that says
56
+ * why: revoked, a host the file does not know, or a key that differs from the
57
+ * recorded one.
58
+ */
59
+ verify(presented: PresentedHostKey): void;
60
+ }
61
+ //# sourceMappingURL=knownhosts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knownhosts.d.ts","sourceRoot":"","sources":["../../src/query/knownhosts.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,yDAAyD;IACzD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gFAAgF;IAChF,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IACzB,yDAAyD;IACzD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,sEAAsE;IACtE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAErD;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAQjD;AA2GD;;;;;;;;;;;;GAYG;AACH,qBAAa,UAAU;;IAKrB,OAAO,eAIN;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CA4CrD;IAED;;;;OAIG;IACH,MAAM,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAwBxC;CACF"}
@@ -0,0 +1,223 @@
1
+ import { createHash, createHmac, timingSafeEqual } from "node:crypto";
2
+ /**
3
+ * The OpenSSH fingerprint of a key: `SHA256:` and the unpadded base64 of the
4
+ * SHA-256 of its wire encoding, which is what `ssh-keygen -lf` prints.
5
+ */
6
+ export function fingerprintOf(key) {
7
+ return `SHA256:${createHash("sha256").update(key).digest("base64").replace(/=+$/, "")}`;
8
+ }
9
+ /**
10
+ * The algorithm a key's wire encoding names, such as `ssh-ed25519`: the first
11
+ * field of the encoding, a length-prefixed string.
12
+ *
13
+ * Throws on an encoding that is too short to hold one, so that a key which
14
+ * cannot be read is refused rather than described as nothing.
15
+ */
16
+ export function keyTypeOf(key) {
17
+ if (key.length >= 4) {
18
+ const length = new DataView(key.buffer, key.byteOffset, key.byteLength).getUint32(0);
19
+ if (length > 0 && length <= key.length - 4) {
20
+ return Buffer.from(key.subarray(4, 4 + length)).toString("latin1");
21
+ }
22
+ }
23
+ throw new Error("the host key is not a valid SSH public key encoding");
24
+ }
25
+ /** The port OpenSSH leaves out of a `known_hosts` host: SSH's own. */
26
+ const DEFAULT_PORT = 22;
27
+ /**
28
+ * A host as `known_hosts` writes it, and as hashed entries hash it: the bare
29
+ * name for port 22, `[name]:port` for any other. Lower-cased, since host names
30
+ * are not case sensitive and OpenSSH looks them up that way.
31
+ */
32
+ function addressOf(host, port) {
33
+ const name = (host.startsWith("[") && host.endsWith("]") ? host.slice(1, -1) : host).toLowerCase();
34
+ return port === DEFAULT_PORT ? name : `[${name}]:${port}`;
35
+ }
36
+ /**
37
+ * Whether `text` matches `pattern`, where `*` stands for any run of characters
38
+ * and `?` for exactly one.
39
+ *
40
+ * Written as a loop that backs up to the last `*` rather than as a regular
41
+ * expression: a pattern with several stars would make a regular expression
42
+ * backtrack exponentially on a name that does not match.
43
+ */
44
+ function wildcardMatch(pattern, text) {
45
+ let p = 0;
46
+ let t = 0;
47
+ let star = -1;
48
+ let resume = 0;
49
+ while (t < text.length) {
50
+ const wanted = pattern[p];
51
+ if (wanted === "*") {
52
+ star = p++;
53
+ resume = t;
54
+ }
55
+ else if (wanted === "?" || wanted === text[t]) {
56
+ p++;
57
+ t++;
58
+ }
59
+ else if (star >= 0) {
60
+ p = star + 1;
61
+ t = ++resume;
62
+ }
63
+ else {
64
+ return false;
65
+ }
66
+ }
67
+ while (pattern[p] === "*")
68
+ p++;
69
+ return p === pattern.length;
70
+ }
71
+ /** The base64 in a key field, strictly: `Buffer.from` would skip what it cannot read. */
72
+ function decodeBase64(text) {
73
+ if (!/^[A-Za-z0-9+/]+={0,2}$/.test(text))
74
+ return undefined;
75
+ const bytes = Buffer.from(text, "base64");
76
+ return bytes.toString("base64") === text ? new Uint8Array(bytes) : undefined;
77
+ }
78
+ function sameBytes(a, b) {
79
+ return a.length === b.length && timingSafeEqual(a, b);
80
+ }
81
+ /** `|1|salt|hash`: the host field `ssh-keygen -H` writes, an HMAC-SHA1 of the address. */
82
+ function hashedMatcher(field) {
83
+ const parts = field.split("|");
84
+ if (parts.length !== 4 || parts[1] !== "1")
85
+ return undefined;
86
+ const salt = decodeBase64(parts[2] ?? "");
87
+ const hash = decodeBase64(parts[3] ?? "");
88
+ if (salt === undefined || hash === undefined)
89
+ return undefined;
90
+ return (address) => sameBytes(createHmac("sha1", salt).update(address).digest(), hash);
91
+ }
92
+ /**
93
+ * A comma-separated host field: patterns with `*` and `?`, `[host]:port` for a
94
+ * port other than 22, and `!` to exclude. An address matches when some pattern
95
+ * does and no excluded one does.
96
+ */
97
+ function patternMatcher(field) {
98
+ const patterns = [];
99
+ for (const item of field.split(",")) {
100
+ if (item === "")
101
+ continue;
102
+ const negated = item.startsWith("!");
103
+ const pattern = (negated ? item.slice(1) : item).toLowerCase();
104
+ if (pattern === "")
105
+ return undefined;
106
+ patterns.push({ negated, pattern });
107
+ }
108
+ if (patterns.length === 0)
109
+ return undefined;
110
+ return (address) => {
111
+ let matched = false;
112
+ for (const { negated, pattern } of patterns) {
113
+ if (!wildcardMatch(pattern, address))
114
+ continue;
115
+ if (negated)
116
+ return false;
117
+ matched = true;
118
+ }
119
+ return matched;
120
+ };
121
+ }
122
+ /**
123
+ * An OpenSSH `known_hosts` file, read for the one question a client asks of it:
124
+ * is this the key the host is recorded with.
125
+ *
126
+ * Follows what `ssh` does with `StrictHostKeyChecking=yes`: a host the file
127
+ * does not mention is refused, so is one whose recorded keys do not include the
128
+ * key it presented, and so is any key a `@revoked` line names, whatever host
129
+ * presents it. Nothing is ever added to the file.
130
+ *
131
+ * `@cert-authority` lines are read and then ignored. They name a key that signs
132
+ * host certificates, and a presented plain key is not one, so they can neither
133
+ * accept nor refuse it.
134
+ */
135
+ export class KnownHosts {
136
+ #source;
137
+ #entries;
138
+ #revoked;
139
+ constructor(source, entries, revoked) {
140
+ this.#source = source;
141
+ this.#entries = entries;
142
+ this.#revoked = revoked;
143
+ }
144
+ /**
145
+ * Read the text of a `known_hosts` file. `source` names it in messages.
146
+ *
147
+ * Throws on a line it cannot read, naming the file and line, rather than
148
+ * skipping it: a skipped `@revoked` line would let the key it revokes
149
+ * through.
150
+ */
151
+ static parse(text, source) {
152
+ const entries = [];
153
+ const revoked = [];
154
+ const lines = text.split(/\r?\n/);
155
+ for (const [index, raw] of lines.entries()) {
156
+ const line = raw.trim();
157
+ if (line === "" || line.startsWith("#"))
158
+ continue;
159
+ const where = `${source}:${index + 1}`;
160
+ const fields = line.split(/[ \t]+/);
161
+ let marker;
162
+ if (fields[0]?.startsWith("@")) {
163
+ marker = fields.shift();
164
+ if (marker !== "@revoked" && marker !== "@cert-authority") {
165
+ throw new Error(`${where}: unknown marker ${JSON.stringify(marker)}`);
166
+ }
167
+ }
168
+ const [hostField, keyType, encoded] = fields;
169
+ if (hostField === undefined || keyType === undefined || encoded === undefined) {
170
+ throw new Error(`${where}: expected a host, a key type and a key`);
171
+ }
172
+ const key = decodeBase64(encoded);
173
+ if (key === undefined)
174
+ throw new Error(`${where}: the key is not valid base64`);
175
+ let named;
176
+ try {
177
+ named = keyTypeOf(key);
178
+ }
179
+ catch {
180
+ throw new Error(`${where}: the key is not a valid SSH public key encoding`);
181
+ }
182
+ if (named !== keyType) {
183
+ throw new Error(`${where}: the key is ${named}, but the line says ${keyType}`);
184
+ }
185
+ const matches = hostField.startsWith("|")
186
+ ? hashedMatcher(hostField)
187
+ : patternMatcher(hostField);
188
+ if (matches === undefined) {
189
+ throw new Error(`${where}: cannot read the host ${JSON.stringify(hostField)}`);
190
+ }
191
+ const entry = { line: index + 1, matches, keyType, key };
192
+ if (marker === "@revoked")
193
+ revoked.push(entry);
194
+ else if (marker === undefined)
195
+ entries.push(entry);
196
+ }
197
+ return new KnownHosts(source, entries, revoked);
198
+ }
199
+ /**
200
+ * Accept the key by returning, or refuse it by throwing an `Error` that says
201
+ * why: revoked, a host the file does not know, or a key that differs from the
202
+ * recorded one.
203
+ */
204
+ verify(presented) {
205
+ const label = `${presented.keyType} ${presented.fingerprint}`;
206
+ const revoked = this.#revoked.find((entry) => sameBytes(entry.key, presented.key));
207
+ if (revoked !== undefined) {
208
+ throw new Error(`the host key ${label} is revoked in ${this.#source}:${revoked.line}, so it is not accepted from any host`);
209
+ }
210
+ const address = addressOf(presented.host, presented.port);
211
+ const recorded = this.#entries.filter((entry) => entry.matches(address));
212
+ if (recorded.length === 0) {
213
+ throw new Error(`${address} is not in ${this.#source}; its key ${label} has to be added before connecting`);
214
+ }
215
+ if (recorded.some((entry) => sameBytes(entry.key, presented.key)))
216
+ return;
217
+ const known = recorded
218
+ .map((entry) => `${entry.keyType} ${fingerprintOf(entry.key)} (line ${entry.line})`)
219
+ .join(", ");
220
+ throw new Error(`${address} presented ${label}, but ${this.#source} records ${known}: the server's key changed, or something else is answering this port`);
221
+ }
222
+ }
223
+ //# sourceMappingURL=knownhosts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knownhosts.js","sourceRoot":"","sources":["../../src/query/knownhosts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Splits a byte stream into the lines ServerQuery speaks.
3
+ *
4
+ * A line ends at `\n`. The server writes `\n\r`, so the `\r` belongs to the
5
+ * start of the next line rather than the end of this one; both ends are
6
+ * trimmed. Bytes are decoded as UTF-8 only once a whole line is in, so a
7
+ * character split across two chunks arrives whole.
8
+ */
9
+ export declare class LineReader {
10
+ #private;
11
+ /** Add a chunk and return the lines it completed, without their terminators. */
12
+ push(chunk: Uint8Array): string[];
13
+ }
14
+ //# sourceMappingURL=lines.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lines.d.ts","sourceRoot":"","sources":["../../src/query/lines.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,qBAAa,UAAU;;IAGrB,gFAAgF;IAChF,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE,CAchC;CACF"}