fsevents 1.0.5 → 1.0.6

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.

Potentially problematic release.


This version of fsevents might be problematic. Click here for more details.

Files changed (360) hide show
  1. package/Readme.md +12 -13
  2. package/node_modules/ansi/package.json +1 -2
  3. package/node_modules/are-we-there-yet/package.json +1 -2
  4. package/node_modules/asn1/.travis.yml +4 -0
  5. package/node_modules/asn1/lib/ber/reader.js +27 -33
  6. package/node_modules/asn1/lib/ber/writer.js +10 -11
  7. package/node_modules/asn1/package.json +21 -19
  8. package/node_modules/asn1/tst/ber/reader.test.js +36 -0
  9. package/node_modules/asn1/tst/ber/writer.test.js +74 -0
  10. package/node_modules/assert-plus/package.json +1 -0
  11. package/node_modules/{ctype → bl/node_modules/readable-stream/node_modules/core-util-is}/LICENSE +1 -6
  12. package/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/lib/util.js +11 -11
  13. package/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/package.json +17 -12
  14. package/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/test.js +68 -0
  15. package/node_modules/boom/package.json +1 -1
  16. package/node_modules/commander/package.json +1 -1
  17. package/node_modules/core-util-is/LICENSE +19 -0
  18. package/node_modules/core-util-is/lib/util.js +11 -11
  19. package/node_modules/core-util-is/package.json +17 -12
  20. package/node_modules/core-util-is/test.js +68 -0
  21. package/node_modules/dashdash/README.md +508 -0
  22. package/node_modules/dashdash/lib/dashdash.js +813 -0
  23. package/node_modules/dashdash/package.json +87 -0
  24. package/node_modules/deep-extend/LICENSE +1 -1
  25. package/node_modules/deep-extend/README.md +89 -52
  26. package/node_modules/deep-extend/index.js +1 -90
  27. package/node_modules/deep-extend/lib/deep-extend.js +144 -0
  28. package/node_modules/deep-extend/package.json +47 -16
  29. package/node_modules/deep-extend/test/index.spec.js +168 -5
  30. package/node_modules/delegates/package.json +1 -2
  31. package/node_modules/ecc-jsbn/.npmignore +15 -0
  32. package/node_modules/ecc-jsbn/LICENSE +21 -0
  33. package/node_modules/ecc-jsbn/README.md +8 -0
  34. package/node_modules/ecc-jsbn/index.js +57 -0
  35. package/node_modules/ecc-jsbn/lib/LICENSE-jsbn +40 -0
  36. package/node_modules/ecc-jsbn/lib/ec.js +561 -0
  37. package/node_modules/ecc-jsbn/lib/sec.js +170 -0
  38. package/node_modules/ecc-jsbn/package.json +63 -0
  39. package/node_modules/ecc-jsbn/test.js +14 -0
  40. package/node_modules/extsprintf/.gitmodules +6 -0
  41. package/node_modules/{path-is-absolute/license → extsprintf/LICENSE} +2 -4
  42. package/node_modules/extsprintf/Makefile +23 -0
  43. package/node_modules/extsprintf/Makefile.deps +39 -0
  44. package/node_modules/extsprintf/Makefile.targ +285 -0
  45. package/node_modules/extsprintf/README.md +39 -0
  46. package/node_modules/extsprintf/examples/simple.js +2 -0
  47. package/node_modules/{ctype/tools/jsl.conf → extsprintf/jsl.node.conf} +71 -63
  48. package/node_modules/extsprintf/lib/extsprintf.js +166 -0
  49. package/node_modules/extsprintf/package.json +48 -0
  50. package/node_modules/fstream/package.json +1 -2
  51. package/node_modules/{balanced-match → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match}/package.json +4 -22
  52. package/node_modules/{concat-map → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map}/package.json +3 -21
  53. package/node_modules/{brace-expansion → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion}/package.json +4 -23
  54. package/node_modules/fstream-ignore/node_modules/minimatch/package.json +4 -24
  55. package/node_modules/fstream-ignore/package.json +1 -2
  56. package/node_modules/gauge/package.json +1 -2
  57. package/node_modules/har-validator/package.json +15 -15
  58. package/node_modules/has-unicode/package.json +1 -2
  59. package/node_modules/hawk/dist/client.js +340 -0
  60. package/node_modules/hawk/lib/browser.js +14 -20
  61. package/node_modules/hawk/package.json +10 -10
  62. package/node_modules/hawk/test/browser.js +134 -101
  63. package/node_modules/hawk/test/index.js +61 -61
  64. package/node_modules/hawk/test/server.js +72 -84
  65. package/node_modules/hawk/test/uri.js +52 -63
  66. package/node_modules/http-signature/CHANGES.md +39 -0
  67. package/node_modules/http-signature/http_signing.md +16 -17
  68. package/node_modules/http-signature/lib/index.js +6 -4
  69. package/node_modules/http-signature/lib/parser.js +43 -29
  70. package/node_modules/http-signature/lib/signer.js +290 -74
  71. package/node_modules/http-signature/lib/utils.js +112 -0
  72. package/node_modules/http-signature/lib/verify.js +47 -15
  73. package/node_modules/http-signature/package.json +20 -14
  74. package/node_modules/is-my-json-valid/index.js +16 -14
  75. package/node_modules/is-my-json-valid/package.json +16 -12
  76. package/node_modules/is-typedarray/LICENSE.md +18 -0
  77. package/node_modules/is-typedarray/README.md +16 -0
  78. package/node_modules/is-typedarray/index.js +41 -0
  79. package/node_modules/is-typedarray/package.json +63 -0
  80. package/node_modules/is-typedarray/test.js +34 -0
  81. package/node_modules/jodid25519/.npmignore +11 -0
  82. package/node_modules/jodid25519/.travis.yml +7 -0
  83. package/node_modules/jodid25519/AUTHORS.md +3 -0
  84. package/node_modules/jodid25519/LICENSE +23 -0
  85. package/node_modules/jodid25519/README.md +51 -0
  86. package/node_modules/jodid25519/almond.0 +42 -0
  87. package/node_modules/jodid25519/almond.1 +13 -0
  88. package/node_modules/jodid25519/index.js +35 -0
  89. package/node_modules/jodid25519/jsdoc.json +19 -0
  90. package/node_modules/jodid25519/lib/core.js +481 -0
  91. package/node_modules/jodid25519/lib/curve255.js +221 -0
  92. package/node_modules/jodid25519/lib/dh.js +111 -0
  93. package/node_modules/jodid25519/lib/eddsa.js +573 -0
  94. package/node_modules/jodid25519/lib/utils.js +198 -0
  95. package/node_modules/jodid25519/package.json +77 -0
  96. package/node_modules/jsbn/.npmignore +2 -0
  97. package/node_modules/jsbn/LICENSE +40 -0
  98. package/node_modules/jsbn/README.md +175 -0
  99. package/node_modules/jsbn/example.html +12 -0
  100. package/node_modules/jsbn/example.js +3 -0
  101. package/node_modules/jsbn/index.js +1358 -0
  102. package/node_modules/jsbn/package.json +60 -0
  103. package/node_modules/json-schema/README.md +5 -0
  104. package/node_modules/json-schema/draft-00/hyper-schema +68 -0
  105. package/node_modules/json-schema/draft-00/json-ref +26 -0
  106. package/node_modules/json-schema/draft-00/links +33 -0
  107. package/node_modules/json-schema/draft-00/schema +155 -0
  108. package/node_modules/json-schema/draft-01/hyper-schema +68 -0
  109. package/node_modules/json-schema/draft-01/json-ref +26 -0
  110. package/node_modules/json-schema/draft-01/links +33 -0
  111. package/node_modules/json-schema/draft-01/schema +155 -0
  112. package/node_modules/json-schema/draft-02/hyper-schema +68 -0
  113. package/node_modules/json-schema/draft-02/json-ref +26 -0
  114. package/node_modules/json-schema/draft-02/links +35 -0
  115. package/node_modules/json-schema/draft-02/schema +166 -0
  116. package/node_modules/json-schema/draft-03/examples/address +20 -0
  117. package/node_modules/json-schema/draft-03/examples/calendar +53 -0
  118. package/node_modules/json-schema/draft-03/examples/card +105 -0
  119. package/node_modules/json-schema/draft-03/examples/geo +8 -0
  120. package/node_modules/json-schema/draft-03/examples/interfaces +23 -0
  121. package/node_modules/json-schema/draft-03/hyper-schema +60 -0
  122. package/node_modules/json-schema/draft-03/json-ref +26 -0
  123. package/node_modules/json-schema/draft-03/links +35 -0
  124. package/node_modules/json-schema/draft-03/schema +174 -0
  125. package/node_modules/json-schema/draft-04/hyper-schema +60 -0
  126. package/node_modules/json-schema/draft-04/links +41 -0
  127. package/node_modules/json-schema/draft-04/schema +189 -0
  128. package/node_modules/json-schema/draft-zyp-json-schema-03.xml +1120 -0
  129. package/node_modules/json-schema/draft-zyp-json-schema-04.xml +1072 -0
  130. package/node_modules/json-schema/lib/links.js +52 -0
  131. package/node_modules/json-schema/lib/validate.js +260 -0
  132. package/node_modules/json-schema/package.json +67 -0
  133. package/node_modules/json-schema/test/tests.js +95 -0
  134. package/node_modules/jsprim/CHANGES.md +30 -0
  135. package/node_modules/jsprim/LICENSE +19 -0
  136. package/node_modules/jsprim/README.md +228 -0
  137. package/node_modules/jsprim/lib/jsprim.js +478 -0
  138. package/node_modules/jsprim/package.json +54 -0
  139. package/node_modules/lodash._basetostring/package.json +1 -2
  140. package/node_modules/lodash._createpadding/package.json +1 -2
  141. package/node_modules/lodash.pad/package.json +1 -2
  142. package/node_modules/lodash.padleft/package.json +1 -2
  143. package/node_modules/lodash.padright/package.json +1 -2
  144. package/node_modules/lodash.repeat/package.json +1 -2
  145. package/node_modules/node-pre-gyp/CHANGELOG.md +8 -0
  146. package/node_modules/node-pre-gyp/README.md +570 -0
  147. package/node_modules/node-pre-gyp/lib/util/abi_crosswalk.json +4 -0
  148. package/node_modules/node-pre-gyp/node_modules/nopt/lib/nopt.js +2 -1
  149. package/node_modules/{abbrev → node-pre-gyp/node_modules/nopt/node_modules/abbrev}/package.json +30 -37
  150. package/node_modules/node-pre-gyp/node_modules/nopt/package.json +37 -57
  151. package/node_modules/node-pre-gyp/node_modules/nopt/test/basic.js +22 -0
  152. package/node_modules/node-pre-gyp/package.json +17 -17
  153. package/node_modules/node-uuid/.npmignore +2 -0
  154. package/node_modules/node-uuid/README.md +12 -1
  155. package/node_modules/node-uuid/bower.json +1 -1
  156. package/node_modules/node-uuid/component.json +11 -4
  157. package/node_modules/node-uuid/package.json +25 -12
  158. package/node_modules/node-uuid/test/test.js +3 -0
  159. package/node_modules/node-uuid/uuid.js +70 -45
  160. package/node_modules/npmlog/.travis.yml +14 -0
  161. package/node_modules/npmlog/log.js +3 -0
  162. package/node_modules/npmlog/package.json +23 -20
  163. package/node_modules/npmlog/test/basic.js +8 -1
  164. package/node_modules/once/package.json +2 -3
  165. package/node_modules/pinkie/index.js +23 -7
  166. package/node_modules/pinkie/package.json +22 -15
  167. package/node_modules/pinkie/readme.md +17 -9
  168. package/node_modules/pinkie-promise/package.json +16 -14
  169. package/node_modules/pinkie-promise/readme.md +5 -3
  170. package/node_modules/rc/README.md +1 -1
  171. package/node_modules/rc/index.js +1 -1
  172. package/node_modules/rc/node_modules/minimist/package.json +1 -1
  173. package/node_modules/rc/package.json +12 -12
  174. package/node_modules/request/.eslintrc +1 -1
  175. package/node_modules/request/.travis.yml +4 -4
  176. package/node_modules/request/CHANGELOG.md +25 -0
  177. package/node_modules/request/README.md +12 -13
  178. package/node_modules/request/lib/har.js +84 -75
  179. package/node_modules/request/lib/redirect.js +2 -3
  180. package/node_modules/request/lib/tunnel.js +13 -18
  181. package/node_modules/request/package.json +17 -16
  182. package/node_modules/request/request.js +16 -59
  183. package/node_modules/rimraf/README.md +7 -2
  184. package/node_modules/{wrappy → rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy}/package.json +5 -25
  185. package/node_modules/{inflight → rimraf/node_modules/glob/node_modules/inflight}/package.json +5 -25
  186. package/node_modules/rimraf/node_modules/glob/node_modules/inherits/LICENSE +16 -0
  187. package/node_modules/rimraf/node_modules/glob/node_modules/inherits/README.md +42 -0
  188. package/node_modules/rimraf/node_modules/glob/node_modules/inherits/inherits.js +1 -0
  189. package/node_modules/rimraf/node_modules/glob/node_modules/inherits/inherits_browser.js +23 -0
  190. package/node_modules/rimraf/node_modules/glob/node_modules/inherits/package.json +58 -0
  191. package/node_modules/rimraf/node_modules/glob/node_modules/inherits/test.js +25 -0
  192. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.npmignore +3 -0
  193. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/README.md +122 -0
  194. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/example.js +8 -0
  195. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js +191 -0
  196. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.npmignore +2 -0
  197. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.travis.yml +3 -0
  198. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/LICENSE.md +21 -0
  199. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/Makefile +6 -0
  200. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/README.md +80 -0
  201. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/example.js +5 -0
  202. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js +38 -0
  203. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json +79 -0
  204. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/test/balanced.js +56 -0
  205. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/.travis.yml +4 -0
  206. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/LICENSE +18 -0
  207. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/README.markdown +62 -0
  208. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/example/map.js +6 -0
  209. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/index.js +13 -0
  210. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json +90 -0
  211. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/test/map.js +39 -0
  212. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/package.json +81 -0
  213. package/node_modules/rimraf/node_modules/{minimatch → glob/node_modules/minimatch}/package.json +3 -21
  214. package/node_modules/rimraf/node_modules/glob/node_modules/once/node_modules/wrappy/README.md +36 -0
  215. package/node_modules/rimraf/node_modules/glob/node_modules/once/node_modules/wrappy/package.json +58 -0
  216. package/node_modules/rimraf/node_modules/glob/node_modules/once/node_modules/wrappy/test/basic.js +51 -0
  217. package/node_modules/rimraf/node_modules/glob/node_modules/once/node_modules/wrappy/wrappy.js +33 -0
  218. package/node_modules/rimraf/node_modules/glob/node_modules/once/package.json +70 -0
  219. package/node_modules/{path-is-absolute → rimraf/node_modules/glob/node_modules/path-is-absolute}/package.json +4 -22
  220. package/node_modules/rimraf/node_modules/glob/package.json +2 -20
  221. package/node_modules/rimraf/package.json +10 -10
  222. package/node_modules/semver/README.md +25 -1
  223. package/node_modules/semver/package.json +10 -10
  224. package/node_modules/semver/range.bnf +16 -0
  225. package/node_modules/semver/semver.js +0 -12
  226. package/node_modules/sshpk/.npmignore +8 -0
  227. package/node_modules/sshpk/.travis.yml +11 -0
  228. package/node_modules/sshpk/LICENSE +18 -0
  229. package/node_modules/sshpk/README.md +436 -0
  230. package/node_modules/sshpk/bin/sshpk-conv +183 -0
  231. package/node_modules/sshpk/lib/algs.js +168 -0
  232. package/node_modules/sshpk/lib/dhe.js +312 -0
  233. package/node_modules/sshpk/lib/ed-compat.js +94 -0
  234. package/node_modules/sshpk/lib/errors.js +58 -0
  235. package/node_modules/sshpk/lib/fingerprint.js +140 -0
  236. package/node_modules/sshpk/lib/formats/auto.js +73 -0
  237. package/node_modules/sshpk/lib/formats/pem.js +152 -0
  238. package/node_modules/sshpk/lib/formats/pkcs1.js +320 -0
  239. package/node_modules/sshpk/lib/formats/pkcs8.js +510 -0
  240. package/node_modules/sshpk/lib/formats/rfc4253.js +145 -0
  241. package/node_modules/sshpk/lib/formats/ssh-private.js +138 -0
  242. package/node_modules/sshpk/lib/formats/ssh.js +114 -0
  243. package/node_modules/sshpk/lib/index.js +25 -0
  244. package/node_modules/sshpk/lib/key.js +260 -0
  245. package/node_modules/sshpk/lib/private-key.js +224 -0
  246. package/node_modules/sshpk/lib/signature.js +237 -0
  247. package/node_modules/sshpk/lib/ssh-buffer.js +123 -0
  248. package/node_modules/sshpk/lib/utils.js +207 -0
  249. package/node_modules/sshpk/node_modules/assert-plus/AUTHORS +6 -0
  250. package/node_modules/sshpk/node_modules/assert-plus/CHANGES.md +8 -0
  251. package/node_modules/sshpk/node_modules/assert-plus/README.md +155 -0
  252. package/node_modules/sshpk/node_modules/assert-plus/assert.js +206 -0
  253. package/node_modules/sshpk/node_modules/assert-plus/package.json +88 -0
  254. package/node_modules/sshpk/package.json +92 -0
  255. package/node_modules/strip-json-comments/cli.js +2 -2
  256. package/node_modules/strip-json-comments/package.json +13 -12
  257. package/node_modules/strip-json-comments/readme.md +11 -5
  258. package/node_modules/strip-json-comments/strip-json-comments.js +16 -7
  259. package/node_modules/tar/package.json +1 -2
  260. package/node_modules/tar-pack/node_modules/readable-stream/node_modules/core-util-is/LICENSE +19 -0
  261. package/node_modules/tar-pack/node_modules/readable-stream/node_modules/core-util-is/lib/util.js +11 -11
  262. package/node_modules/tar-pack/node_modules/readable-stream/node_modules/core-util-is/package.json +17 -12
  263. package/node_modules/tar-pack/node_modules/readable-stream/node_modules/core-util-is/test.js +68 -0
  264. package/node_modules/tar-pack/node_modules/readable-stream/node_modules/inherits/package.json +1 -1
  265. package/node_modules/tar-pack/node_modules/rimraf/package.json +1 -2
  266. package/node_modules/tar-pack/package.json +1 -2
  267. package/node_modules/tough-cookie/lib/cookie.js +1 -1
  268. package/node_modules/tough-cookie/package.json +7 -7
  269. package/node_modules/tweetnacl/.npmignore +4 -0
  270. package/node_modules/tweetnacl/CHANGELOG.md +128 -0
  271. package/node_modules/tweetnacl/README.md +463 -0
  272. package/node_modules/tweetnacl/nacl-fast.js +2418 -0
  273. package/node_modules/tweetnacl/nacl-fast.min.js +2 -0
  274. package/node_modules/tweetnacl/nacl.js +1205 -0
  275. package/node_modules/tweetnacl/nacl.min.js +1 -0
  276. package/node_modules/tweetnacl/package.json +101 -0
  277. package/node_modules/uid-number/package.json +2 -3
  278. package/node_modules/verror/.gitmodules +0 -0
  279. package/node_modules/verror/LICENSE +19 -0
  280. package/node_modules/verror/Makefile +35 -0
  281. package/node_modules/verror/Makefile.targ +285 -0
  282. package/node_modules/verror/README.md +120 -0
  283. package/node_modules/verror/examples/levels-verror.js +36 -0
  284. package/node_modules/verror/examples/levels-werror.js +34 -0
  285. package/node_modules/verror/examples/varargs.js +6 -0
  286. package/node_modules/verror/examples/verror.js +13 -0
  287. package/node_modules/verror/examples/werror.js +14 -0
  288. package/node_modules/verror/jsl.node.conf +139 -0
  289. package/node_modules/verror/lib/verror.js +157 -0
  290. package/node_modules/verror/package.json +51 -0
  291. package/node_modules/verror/tests/tst.inherit.js +100 -0
  292. package/node_modules/verror/tests/tst.verror.js +156 -0
  293. package/node_modules/verror/tests/tst.werror.js +179 -0
  294. package/package.json +3 -3
  295. package/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/util.js +0 -106
  296. package/node_modules/core-util-is/util.js +0 -106
  297. package/node_modules/ctype/.npmignore +0 -1
  298. package/node_modules/ctype/CHANGELOG +0 -78
  299. package/node_modules/ctype/README +0 -82
  300. package/node_modules/ctype/README.old +0 -298
  301. package/node_modules/ctype/ctf.js +0 -245
  302. package/node_modules/ctype/ctio.js +0 -1485
  303. package/node_modules/ctype/ctype.js +0 -944
  304. package/node_modules/ctype/man/man3ctype/ctio.3ctype +0 -241
  305. package/node_modules/ctype/package.json +0 -51
  306. package/node_modules/ctype/tools/jsstyle +0 -839
  307. package/node_modules/http-signature/lib/util.js +0 -306
  308. package/node_modules/inflight/node_modules/once/package.json +0 -86
  309. package/node_modules/inflight/node_modules/once/test/once.js +0 -23
  310. package/node_modules/rimraf/node_modules/glob/LICENSE +0 -15
  311. package/node_modules/rimraf/node_modules/minimatch/LICENSE +0 -15
  312. package/node_modules/rimraf/node_modules/once/LICENSE +0 -15
  313. package/node_modules/rimraf/node_modules/once/README.md +0 -51
  314. package/node_modules/rimraf/node_modules/once/once.js +0 -21
  315. package/node_modules/rimraf/node_modules/once/package.json +0 -84
  316. package/node_modules/rimraf/node_modules/once/test/once.js +0 -23
  317. package/node_modules/tar-pack/node_modules/readable-stream/node_modules/core-util-is/util.js +0 -106
  318. package/node_modules/wrappy/LICENSE +0 -15
  319. /package/node_modules/{brace-expansion → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion}/.npmignore +0 -0
  320. /package/node_modules/{brace-expansion → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion}/README.md +0 -0
  321. /package/node_modules/{brace-expansion → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion}/example.js +0 -0
  322. /package/node_modules/{brace-expansion → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion}/index.js +0 -0
  323. /package/node_modules/{balanced-match → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match}/.npmignore +0 -0
  324. /package/node_modules/{balanced-match → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match}/.travis.yml +0 -0
  325. /package/node_modules/{balanced-match → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match}/LICENSE.md +0 -0
  326. /package/node_modules/{balanced-match → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match}/Makefile +0 -0
  327. /package/node_modules/{balanced-match → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match}/README.md +0 -0
  328. /package/node_modules/{balanced-match → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match}/example.js +0 -0
  329. /package/node_modules/{balanced-match → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match}/index.js +0 -0
  330. /package/node_modules/{balanced-match → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match}/test/balanced.js +0 -0
  331. /package/node_modules/{concat-map → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map}/.travis.yml +0 -0
  332. /package/node_modules/{concat-map → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map}/LICENSE +0 -0
  333. /package/node_modules/{concat-map → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map}/README.markdown +0 -0
  334. /package/node_modules/{concat-map → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map}/example/map.js +0 -0
  335. /package/node_modules/{concat-map → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map}/index.js +0 -0
  336. /package/node_modules/{concat-map → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map}/test/map.js +0 -0
  337. /package/node_modules/{abbrev → node-pre-gyp/node_modules/nopt/node_modules/abbrev}/.npmignore +0 -0
  338. /package/node_modules/{abbrev → node-pre-gyp/node_modules/nopt/node_modules/abbrev}/.travis.yml +0 -0
  339. /package/node_modules/{abbrev → node-pre-gyp/node_modules/nopt/node_modules/abbrev}/CONTRIBUTING.md +0 -0
  340. /package/node_modules/{abbrev → node-pre-gyp/node_modules/nopt/node_modules/abbrev}/LICENSE +0 -0
  341. /package/node_modules/{abbrev → node-pre-gyp/node_modules/nopt/node_modules/abbrev}/README.md +0 -0
  342. /package/node_modules/{abbrev → node-pre-gyp/node_modules/nopt/node_modules/abbrev}/abbrev.js +0 -0
  343. /package/node_modules/{abbrev → node-pre-gyp/node_modules/nopt/node_modules/abbrev}/test.js +0 -0
  344. /package/node_modules/{inflight → rimraf/node_modules/glob/node_modules/inflight}/.eslintrc +0 -0
  345. /package/node_modules/{inflight → rimraf/node_modules/glob/node_modules/inflight}/LICENSE +0 -0
  346. /package/node_modules/{inflight → rimraf/node_modules/glob/node_modules/inflight}/README.md +0 -0
  347. /package/node_modules/{inflight → rimraf/node_modules/glob/node_modules/inflight}/inflight.js +0 -0
  348. /package/node_modules/{fstream-ignore/node_modules/minimatch → rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy}/LICENSE +0 -0
  349. /package/node_modules/{wrappy → rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy}/README.md +0 -0
  350. /package/node_modules/{wrappy → rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy}/test/basic.js +0 -0
  351. /package/node_modules/{wrappy → rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy}/wrappy.js +0 -0
  352. /package/node_modules/{inflight → rimraf/node_modules/glob/node_modules/inflight}/test.js +0 -0
  353. /package/node_modules/rimraf/node_modules/{minimatch → glob/node_modules/minimatch}/README.md +0 -0
  354. /package/node_modules/rimraf/node_modules/{minimatch → glob/node_modules/minimatch}/minimatch.js +0 -0
  355. /package/node_modules/{inflight → rimraf/node_modules/glob}/node_modules/once/README.md +0 -0
  356. /package/node_modules/{inflight/node_modules/once → rimraf/node_modules/glob/node_modules/once/node_modules/wrappy}/LICENSE +0 -0
  357. /package/node_modules/{inflight → rimraf/node_modules/glob}/node_modules/once/once.js +0 -0
  358. /package/node_modules/{path-is-absolute → rimraf/node_modules/glob/node_modules/path-is-absolute}/index.js +0 -0
  359. /package/node_modules/{path-is-absolute → rimraf/node_modules/glob/node_modules/path-is-absolute}/readme.md +0 -0
  360. /package/node_modules/{deep-extend → verror}/.npmignore +0 -0
@@ -0,0 +1,224 @@
1
+ // Copyright 2015 Joyent, Inc.
2
+
3
+ module.exports = PrivateKey;
4
+
5
+ var assert = require('assert-plus');
6
+ var algs = require('./algs');
7
+ var crypto = require('crypto');
8
+ var Fingerprint = require('./fingerprint');
9
+ var Signature = require('./signature');
10
+ var errs = require('./errors');
11
+ var util = require('util');
12
+ var utils = require('./utils');
13
+ var edCompat;
14
+ var ed;
15
+
16
+ try {
17
+ edCompat = require('./ed-compat');
18
+ } catch (e) {
19
+ /* Just continue through, and bail out if we try to use it. */
20
+ }
21
+
22
+ var Key = require('./key');
23
+
24
+ var InvalidAlgorithmError = errs.InvalidAlgorithmError;
25
+ var KeyParseError = errs.KeyParseError;
26
+
27
+ var formats = {};
28
+ formats['auto'] = require('./formats/auto');
29
+ formats['pem'] = require('./formats/pem');
30
+ formats['pkcs1'] = require('./formats/pkcs1');
31
+ formats['pkcs8'] = require('./formats/pkcs8');
32
+ formats['rfc4253'] = require('./formats/rfc4253');
33
+ formats['ssh-private'] = require('./formats/ssh-private');
34
+ formats['openssh'] = formats['ssh-private'];
35
+ formats['ssh'] = formats['ssh-private'];
36
+
37
+ function PrivateKey(opts) {
38
+ assert.object(opts, 'options');
39
+ Key.call(this, opts);
40
+
41
+ this._pubCache = undefined;
42
+ }
43
+ util.inherits(PrivateKey, Key);
44
+
45
+ PrivateKey.formats = formats;
46
+
47
+ PrivateKey.prototype.toBuffer = function (format) {
48
+ if (format === undefined)
49
+ format = 'pkcs1';
50
+ assert.string(format, 'format');
51
+ assert.object(formats[format], 'formats[format]');
52
+
53
+ return (formats[format].write(this));
54
+ };
55
+
56
+ PrivateKey.prototype.hash = function (algo) {
57
+ return (this.toPublic().hash(algo));
58
+ };
59
+
60
+ PrivateKey.prototype.toPublic = function () {
61
+ if (this._pubCache)
62
+ return (this._pubCache);
63
+
64
+ var algInfo = algs.info[this.type];
65
+ var pubParts = [];
66
+ for (var i = 0; i < algInfo.parts.length; ++i) {
67
+ var p = algInfo.parts[i];
68
+ pubParts.push(this.part[p]);
69
+ }
70
+
71
+ this._pubCache = new Key({
72
+ type: this.type,
73
+ source: this,
74
+ parts: pubParts
75
+ });
76
+ if (this.comment)
77
+ this._pubCache.comment = this.comment;
78
+ return (this._pubCache);
79
+ };
80
+
81
+ PrivateKey.prototype.derive = function (newType, newSize) {
82
+ assert.string(newType, 'type');
83
+ assert.optionalNumber(newSize, 'size');
84
+ var priv, pub;
85
+
86
+ if (this.type === 'ed25519' && newType === 'curve25519') {
87
+ if (ed === undefined)
88
+ ed = require('jodid25519');
89
+
90
+ priv = this.part.r.data;
91
+ if (priv[0] === 0x00)
92
+ priv = priv.slice(1);
93
+ priv = priv.slice(0, 32);
94
+
95
+ pub = ed.dh.publicKey(priv);
96
+ priv = utils.mpNormalize(Buffer.concat([priv, pub]));
97
+
98
+ return (new PrivateKey({
99
+ type: 'curve25519',
100
+ parts: [
101
+ { name: 'R', data: utils.mpNormalize(pub) },
102
+ { name: 'r', data: priv }
103
+ ]
104
+ }));
105
+ } else if (this.type === 'curve25519' && newType === 'ed25519') {
106
+ if (ed === undefined)
107
+ ed = require('jodid25519');
108
+
109
+ priv = this.part.r.data;
110
+ if (priv[0] === 0x00)
111
+ priv = priv.slice(1);
112
+ priv = priv.slice(0, 32);
113
+
114
+ pub = ed.eddsa.publicKey(priv.toString('binary'));
115
+ pub = new Buffer(pub, 'binary');
116
+
117
+ priv = utils.mpNormalize(Buffer.concat([priv, pub]));
118
+
119
+ return (new PrivateKey({
120
+ type: 'ed25519',
121
+ parts: [
122
+ { name: 'R', data: utils.mpNormalize(pub) },
123
+ { name: 'r', data: priv }
124
+ ]
125
+ }));
126
+ }
127
+ throw (new Error('Key derivation not supported from ' + this.type +
128
+ ' to ' + newType));
129
+ };
130
+
131
+ PrivateKey.prototype.createVerify = function (hashAlgo) {
132
+ return (this.toPublic().createVerify(hashAlgo));
133
+ };
134
+
135
+ PrivateKey.prototype.createSign = function (hashAlgo) {
136
+ if (hashAlgo === undefined)
137
+ hashAlgo = this.defaultHashAlgorithm();
138
+ assert.string(hashAlgo, 'hash algorithm');
139
+
140
+ /* ED25519 is not supported by OpenSSL, use a javascript impl. */
141
+ if (this.type === 'ed25519' && edCompat !== undefined)
142
+ return (new edCompat.Signer(this, hashAlgo));
143
+ if (this.type === 'curve25519')
144
+ throw (new Error('Curve25519 keys are not suitable for ' +
145
+ 'signing or verification'));
146
+
147
+ var v, nm, err;
148
+ try {
149
+ nm = this.type.toUpperCase() + '-';
150
+ if (this.type === 'ecdsa')
151
+ nm = 'ecdsa-with-';
152
+ nm += hashAlgo.toUpperCase();
153
+ v = crypto.createSign(nm);
154
+ } catch (e) {
155
+ err = e;
156
+ }
157
+ if (v === undefined || (err instanceof Error &&
158
+ err.message.match(/Unknown message digest/))) {
159
+ nm = 'RSA-';
160
+ nm += hashAlgo.toUpperCase();
161
+ v = crypto.createSign(nm);
162
+ }
163
+ assert.ok(v, 'failed to create verifier');
164
+ var oldSign = v.sign.bind(v);
165
+ var key = this.toBuffer('pkcs1');
166
+ var type = this.type;
167
+ v.sign = function () {
168
+ var sig = oldSign(key);
169
+ if (typeof (sig) === 'string')
170
+ sig = new Buffer(sig, 'binary');
171
+ sig = Signature.parse(sig, type, 'asn1');
172
+ sig.hashAlgorithm = hashAlgo;
173
+ return (sig);
174
+ };
175
+ return (v);
176
+ };
177
+
178
+ PrivateKey.parse = function (data, format, name) {
179
+ if (typeof (data) !== 'string')
180
+ assert.buffer(data, 'data');
181
+ if (format === undefined)
182
+ format = 'auto';
183
+ assert.string(format, 'format');
184
+ if (name === undefined)
185
+ name = '(unnamed)';
186
+
187
+ assert.object(formats[format], 'formats[format]');
188
+
189
+ try {
190
+ var k = formats[format].read(data);
191
+ assert.ok(k instanceof PrivateKey, 'key is not a private key');
192
+ if (!k.comment)
193
+ k.comment = name;
194
+ return (k);
195
+ } catch (e) {
196
+ throw (new KeyParseError(name, format, e));
197
+ }
198
+ };
199
+
200
+ PrivateKey.isPrivateKey = function (obj, ver) {
201
+ return (utils.isCompatible(obj, PrivateKey, ver));
202
+ };
203
+
204
+ /*
205
+ * API versions for PrivateKey:
206
+ * [1,0] -- initial ver
207
+ * [1,1] -- added auto, pkcs[18], openssh/ssh-private formats
208
+ * [1,2] -- added defaultHashAlgorithm
209
+ * [1,3] -- added derive, ed, createDH
210
+ * [1,4] -- first tagged version
211
+ */
212
+ PrivateKey.prototype._sshpkApiVersion = [1, 4];
213
+
214
+ PrivateKey._oldVersionDetect = function (obj) {
215
+ assert.func(obj.toPublic);
216
+ assert.func(obj.createSign);
217
+ if (obj.derive)
218
+ return ([1, 3]);
219
+ if (obj.defaultHashAlgorithm)
220
+ return ([1, 2]);
221
+ if (obj.formats['auto'])
222
+ return ([1, 1]);
223
+ return ([1, 0]);
224
+ };
@@ -0,0 +1,237 @@
1
+ // Copyright 2015 Joyent, Inc.
2
+
3
+ module.exports = Signature;
4
+
5
+ var assert = require('assert-plus');
6
+ var algs = require('./algs');
7
+ var crypto = require('crypto');
8
+ var errs = require('./errors');
9
+ var utils = require('./utils');
10
+ var asn1 = require('asn1');
11
+ var SSHBuffer = require('./ssh-buffer');
12
+
13
+ var InvalidAlgorithmError = errs.InvalidAlgorithmError;
14
+ var SignatureParseError = errs.SignatureParseError;
15
+
16
+ function Signature(opts) {
17
+ assert.object(opts, 'options');
18
+ assert.arrayOfObject(opts.parts, 'options.parts');
19
+ assert.string(opts.type, 'options.type');
20
+
21
+ var partLookup = {};
22
+ for (var i = 0; i < opts.parts.length; ++i) {
23
+ var part = opts.parts[i];
24
+ partLookup[part.name] = part;
25
+ }
26
+
27
+ this.type = opts.type;
28
+ this.hashAlgorithm = opts.hashAlgo;
29
+ this.parts = opts.parts;
30
+ this.part = partLookup;
31
+ }
32
+
33
+ Signature.prototype.toBuffer = function (format) {
34
+ if (format === undefined)
35
+ format = 'asn1';
36
+ assert.string(format, 'format');
37
+
38
+ var buf;
39
+
40
+ switch (this.type) {
41
+ case 'rsa':
42
+ case 'ed25519':
43
+ if (format === 'ssh') {
44
+ buf = new SSHBuffer({});
45
+ buf.writeString('ssh-' + this.type);
46
+ buf.writePart(this.part.sig);
47
+ return (buf.toBuffer());
48
+ } else {
49
+ return (this.part.sig.data);
50
+ }
51
+
52
+ case 'dsa':
53
+ case 'ecdsa':
54
+ var r, s;
55
+ if (format === 'asn1') {
56
+ var der = new asn1.BerWriter();
57
+ der.startSequence();
58
+ r = utils.mpNormalize(this.part.r.data);
59
+ s = utils.mpNormalize(this.part.s.data);
60
+ der.writeBuffer(r, asn1.Ber.Integer);
61
+ der.writeBuffer(s, asn1.Ber.Integer);
62
+ der.endSequence();
63
+ return (der.buffer);
64
+ } else if (format === 'ssh' && this.type === 'dsa') {
65
+ buf = new SSHBuffer({});
66
+ buf.writeString('ssh-dss');
67
+ r = this.part.r.data;
68
+ if (r[0] === 0x00)
69
+ r = r.slice(1);
70
+ s = this.part.s.data;
71
+ buf.writeBuffer(Buffer.concat([r, s]));
72
+ return (buf.toBuffer());
73
+ } else if (format === 'ssh' && this.type === 'ecdsa') {
74
+ var inner = new SSHBuffer({});
75
+ r = this.part.r;
76
+ if (r[0] === 0x00)
77
+ r = r.slice(1);
78
+ inner.writePart(r);
79
+ inner.writePart(this.part.s);
80
+
81
+ buf = new SSHBuffer({});
82
+ /* XXX: find a more proper way to do this? */
83
+ var curve;
84
+ var sz = this.part.r.data.length * 8;
85
+ if (sz === 256)
86
+ curve = 'nistp256';
87
+ else if (sz === 384)
88
+ curve = 'nistp384';
89
+ else if (sz === 528)
90
+ curve = 'nistp521';
91
+ buf.writeString('ecdsa-sha2-' + curve);
92
+ buf.writeBuffer(inner.toBuffer());
93
+ return (buf.toBuffer());
94
+ }
95
+ throw (new Error('Invalid signature format'));
96
+ default:
97
+ throw (new Error('Invalid signature data'));
98
+ }
99
+ };
100
+
101
+ Signature.prototype.toString = function (format) {
102
+ assert.optionalString(format, 'format');
103
+ return (this.toBuffer(format).toString('base64'));
104
+ };
105
+
106
+ Signature.parse = function (data, type, format) {
107
+ if (typeof (data) === 'string')
108
+ data = new Buffer(data, 'base64');
109
+ assert.buffer(data, 'data');
110
+ assert.string(format, 'format');
111
+ assert.string(type, 'type');
112
+
113
+ var opts = {};
114
+ opts.type = type.toLowerCase();
115
+ opts.parts = [];
116
+
117
+ try {
118
+ assert.ok(data.length > 0, 'signature must not be empty');
119
+ switch (opts.type) {
120
+ case 'rsa':
121
+ return (parseOneNum(data, type, format, opts,
122
+ 'ssh-rsa'));
123
+ case 'ed25519':
124
+ return (parseOneNum(data, type, format, opts,
125
+ 'ssh-ed25519'));
126
+
127
+ case 'dsa':
128
+ case 'ecdsa':
129
+ if (format === 'asn1')
130
+ return (parseDSAasn1(data, type, format, opts));
131
+ else if (opts.type === 'dsa')
132
+ return (parseDSA(data, type, format, opts));
133
+ else
134
+ return (parseECDSA(data, type, format, opts));
135
+
136
+ default:
137
+ throw (new InvalidAlgorithmError(type));
138
+ }
139
+
140
+ } catch (e) {
141
+ if (e instanceof InvalidAlgorithmError)
142
+ throw (e);
143
+ throw (new SignatureParseError(type, format, e));
144
+ }
145
+ };
146
+
147
+ function parseOneNum(data, type, format, opts, headType) {
148
+ if (format === 'ssh') {
149
+ try {
150
+ var buf = new SSHBuffer({buffer: data});
151
+ var head = buf.readString();
152
+ } catch (e) {
153
+ /* fall through */
154
+ }
155
+ if (head === headType) {
156
+ var sig = buf.readPart();
157
+ assert.ok(buf.atEnd(), 'extra trailing bytes');
158
+ sig.name = 'sig';
159
+ opts.parts.push(sig);
160
+ return (new Signature(opts));
161
+ }
162
+ }
163
+ opts.parts.push({name: 'sig', data: data});
164
+ return (new Signature(opts));
165
+ }
166
+
167
+ function parseDSAasn1(data, type, format, opts) {
168
+ var der = new asn1.BerReader(data);
169
+ der.readSequence();
170
+ var r = der.readString(asn1.Ber.Integer, true);
171
+ var s = der.readString(asn1.Ber.Integer, true);
172
+
173
+ opts.parts.push({name: 'r', data: utils.mpNormalize(r)});
174
+ opts.parts.push({name: 's', data: utils.mpNormalize(s)});
175
+
176
+ return (new Signature(opts));
177
+ }
178
+
179
+ function parseDSA(data, type, format, opts) {
180
+ if (data.length != 40) {
181
+ var buf = new SSHBuffer({buffer: data});
182
+ var d = buf.readBuffer();
183
+ if (d.toString('ascii') === 'ssh-dss')
184
+ d = buf.readBuffer();
185
+ assert.ok(buf.atEnd(), 'extra trailing bytes');
186
+ assert.strictEqual(d.length, 40, 'invalid inner length');
187
+ data = d;
188
+ }
189
+ opts.parts.push({name: 'r', data: data.slice(0, 20)});
190
+ opts.parts.push({name: 's', data: data.slice(20, 40)});
191
+ return (new Signature(opts));
192
+ }
193
+
194
+ function parseECDSA(data, type, format, opts) {
195
+ var buf = new SSHBuffer({buffer: data});
196
+
197
+ var r, s;
198
+ var inner = buf.readBuffer();
199
+ if (inner.toString('ascii').match(/^ecdsa-/)) {
200
+ inner = buf.readBuffer();
201
+ assert.ok(buf.atEnd(), 'extra trailing bytes on outer');
202
+ buf = new SSHBuffer({buffer: inner});
203
+ r = buf.readPart();
204
+ } else {
205
+ r = {data: inner};
206
+ }
207
+
208
+ s = buf.readPart();
209
+ assert.ok(buf.atEnd(), 'extra trailing bytes');
210
+
211
+ r.name = 'r';
212
+ s.name = 's';
213
+
214
+ opts.parts.push(r);
215
+ opts.parts.push(s);
216
+ return (new Signature(opts));
217
+ }
218
+
219
+ Signature.isSignature = function (obj, ver) {
220
+ return (utils.isCompatible(obj, Signature, ver));
221
+ };
222
+
223
+ /*
224
+ * API versions for Signature:
225
+ * [1,0] -- initial ver
226
+ * [2,0] -- support for rsa in full ssh format, compat with sshpk-agent
227
+ * hashAlgorithm property
228
+ * [2,1] -- first tagged version
229
+ */
230
+ Signature.prototype._sshpkApiVersion = [2, 1];
231
+
232
+ Signature._oldVersionDetect = function (obj) {
233
+ assert.func(obj.toBuffer);
234
+ if (obj.hasOwnProperty('hashAlgorithm'))
235
+ return ([2, 0]);
236
+ return ([1, 0]);
237
+ };
@@ -0,0 +1,123 @@
1
+ // Copyright 2015 Joyent, Inc.
2
+
3
+ module.exports = SSHBuffer;
4
+
5
+ var assert = require('assert-plus');
6
+
7
+ function SSHBuffer(opts) {
8
+ assert.object(opts, 'options');
9
+ if (opts.buffer !== undefined)
10
+ assert.buffer(opts.buffer, 'options.buffer');
11
+
12
+ this._size = opts.buffer ? opts.buffer.length : 1024;
13
+ this._buffer = opts.buffer || (new Buffer(this._size));
14
+ this._offset = 0;
15
+ }
16
+
17
+ SSHBuffer.prototype.toBuffer = function () {
18
+ return (this._buffer.slice(0, this._offset));
19
+ };
20
+
21
+ SSHBuffer.prototype.atEnd = function () {
22
+ return (this._offset >= this._buffer.length);
23
+ };
24
+
25
+ SSHBuffer.prototype.remainder = function () {
26
+ return (this._buffer.slice(this._offset));
27
+ };
28
+
29
+ SSHBuffer.prototype.skip = function (n) {
30
+ this._offset += n;
31
+ };
32
+
33
+ SSHBuffer.prototype.expand = function () {
34
+ this._size *= 2;
35
+ var buf = new Buffer(this._size);
36
+ this._buffer.copy(buf, 0);
37
+ this._buffer = buf;
38
+ };
39
+
40
+ SSHBuffer.prototype.readPart = function () {
41
+ return ({data: this.readBuffer()});
42
+ };
43
+
44
+ SSHBuffer.prototype.readBuffer = function () {
45
+ var len = this._buffer.readUInt32BE(this._offset);
46
+ this._offset += 4;
47
+ assert.ok(this._offset + len <= this._buffer.length,
48
+ 'length out of bounds at +0x' + this._offset.toString(16));
49
+ var buf = this._buffer.slice(this._offset, this._offset + len);
50
+ this._offset += len;
51
+ return (buf);
52
+ };
53
+
54
+ SSHBuffer.prototype.readString = function () {
55
+ return (this.readBuffer().toString());
56
+ };
57
+
58
+ SSHBuffer.prototype.readCString = function () {
59
+ var offset = this._offset;
60
+ while (offset < this._buffer.length &&
61
+ this._buffer[offset] !== 0x00)
62
+ offset++;
63
+ assert.ok(offset < this._buffer.length, 'c string does not terminate');
64
+ var str = this._buffer.slice(this._offset, offset).toString();
65
+ this._offset = offset + 1;
66
+ return (str);
67
+ };
68
+
69
+ SSHBuffer.prototype.readInt = function () {
70
+ var v = this._buffer.readUInt32BE(this._offset);
71
+ this._offset += 4;
72
+ return (v);
73
+ };
74
+
75
+ SSHBuffer.prototype.readChar = function () {
76
+ var v = this._buffer[this._offset++];
77
+ return (v);
78
+ };
79
+
80
+ SSHBuffer.prototype.writeBuffer = function (buf) {
81
+ while (this._offset + 4 + buf.length > this._size)
82
+ this.expand();
83
+ this._buffer.writeUInt32BE(buf.length, this._offset);
84
+ this._offset += 4;
85
+ buf.copy(this._buffer, this._offset);
86
+ this._offset += buf.length;
87
+ };
88
+
89
+ SSHBuffer.prototype.writeString = function (str) {
90
+ this.writeBuffer(new Buffer(str, 'utf8'));
91
+ };
92
+
93
+ SSHBuffer.prototype.writeCString = function (str) {
94
+ while (this._offset + 1 + str.length > this._size)
95
+ this.expand();
96
+ this._buffer.write(str, this._offset);
97
+ this._offset += str.length;
98
+ this._buffer[this._offset++] = 0;
99
+ };
100
+
101
+ SSHBuffer.prototype.writeInt = function (v) {
102
+ while (this._offset + 4 > this._size)
103
+ this.expand();
104
+ this._buffer.writeUInt32BE(v, this._offset);
105
+ this._offset += 4;
106
+ };
107
+
108
+ SSHBuffer.prototype.writeChar = function (v) {
109
+ while (this._offset + 1 > this._size)
110
+ this.expand();
111
+ this._buffer[this._offset++] = v;
112
+ };
113
+
114
+ SSHBuffer.prototype.writePart = function (p) {
115
+ this.writeBuffer(p.data);
116
+ };
117
+
118
+ SSHBuffer.prototype.write = function (buf) {
119
+ while (this._offset + buf.length > this._size)
120
+ this.expand();
121
+ buf.copy(this._buffer, this._offset);
122
+ this._offset += buf.length;
123
+ };