@novnc/novnc 1.6.0 → 1.7.0

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 (103) hide show
  1. package/core/base64.js +104 -0
  2. package/core/crypto/aes.js +178 -0
  3. package/core/crypto/bigint.js +34 -0
  4. package/core/crypto/crypto.js +90 -0
  5. package/core/crypto/des.js +330 -0
  6. package/core/crypto/dh.js +55 -0
  7. package/core/crypto/md5.js +82 -0
  8. package/core/crypto/rsa.js +132 -0
  9. package/core/decoders/copyrect.js +27 -0
  10. package/core/decoders/h264.js +321 -0
  11. package/core/decoders/hextile.js +181 -0
  12. package/core/decoders/jpeg.js +161 -0
  13. package/core/decoders/raw.js +59 -0
  14. package/core/decoders/rre.js +44 -0
  15. package/core/decoders/tight.js +393 -0
  16. package/core/decoders/tightpng.js +27 -0
  17. package/core/decoders/zlib.js +51 -0
  18. package/core/decoders/zrle.js +185 -0
  19. package/core/deflator.js +84 -0
  20. package/core/display.js +578 -0
  21. package/core/encodings.js +54 -0
  22. package/core/inflator.js +65 -0
  23. package/core/input/domkeytable.js +311 -0
  24. package/core/input/fixedkeys.js +129 -0
  25. package/core/input/gesturehandler.js +567 -0
  26. package/core/input/keyboard.js +294 -0
  27. package/core/input/keysym.js +616 -0
  28. package/core/input/keysymdef.js +688 -0
  29. package/core/input/util.js +191 -0
  30. package/core/input/vkeys.js +116 -0
  31. package/core/input/xtscancodes.js +173 -0
  32. package/core/ra2.js +312 -0
  33. package/core/rfb.js +3411 -0
  34. package/core/util/browser.js +233 -0
  35. package/core/util/cursor.js +249 -0
  36. package/core/util/element.js +32 -0
  37. package/core/util/events.js +138 -0
  38. package/core/util/eventtarget.js +35 -0
  39. package/core/util/int.js +15 -0
  40. package/core/util/logging.js +56 -0
  41. package/core/util/strings.js +28 -0
  42. package/core/websock.js +369 -0
  43. package/docs/API.md +0 -5
  44. package/package.json +6 -10
  45. package/vendor/pako/LICENSE +21 -0
  46. package/vendor/pako/README.md +6 -0
  47. package/{lib/vendor → vendor}/pako/lib/utils/common.js +13 -23
  48. package/{lib/vendor → vendor}/pako/lib/zlib/adler32.js +12 -14
  49. package/vendor/pako/lib/zlib/constants.js +47 -0
  50. package/{lib/vendor → vendor}/pako/lib/zlib/crc32.js +15 -14
  51. package/{lib/vendor → vendor}/pako/lib/zlib/deflate.js +459 -334
  52. package/{lib/vendor → vendor}/pako/lib/zlib/gzheader.js +13 -19
  53. package/{lib/vendor → vendor}/pako/lib/zlib/inffast.js +116 -119
  54. package/vendor/pako/lib/zlib/inflate.js +1527 -0
  55. package/{lib/vendor → vendor}/pako/lib/zlib/inftrees.js +103 -91
  56. package/vendor/pako/lib/zlib/messages.js +11 -0
  57. package/{lib/vendor → vendor}/pako/lib/zlib/trees.js +313 -268
  58. package/{lib/vendor → vendor}/pako/lib/zlib/zstream.js +4 -10
  59. package/lib/base64.js +0 -100
  60. package/lib/crypto/aes.js +0 -481
  61. package/lib/crypto/bigint.js +0 -41
  62. package/lib/crypto/crypto.js +0 -109
  63. package/lib/crypto/des.js +0 -374
  64. package/lib/crypto/dh.js +0 -81
  65. package/lib/crypto/md5.js +0 -97
  66. package/lib/crypto/rsa.js +0 -312
  67. package/lib/decoders/copyrect.js +0 -40
  68. package/lib/decoders/h264.js +0 -349
  69. package/lib/decoders/hextile.js +0 -195
  70. package/lib/decoders/jpeg.js +0 -175
  71. package/lib/decoders/raw.js +0 -66
  72. package/lib/decoders/rre.js +0 -52
  73. package/lib/decoders/tight.js +0 -363
  74. package/lib/decoders/tightpng.js +0 -51
  75. package/lib/decoders/zlib.js +0 -57
  76. package/lib/decoders/zrle.js +0 -192
  77. package/lib/deflator.js +0 -88
  78. package/lib/display.js +0 -588
  79. package/lib/encodings.js +0 -70
  80. package/lib/inflator.js +0 -77
  81. package/lib/input/domkeytable.js +0 -313
  82. package/lib/input/fixedkeys.js +0 -127
  83. package/lib/input/gesturehandler.js +0 -573
  84. package/lib/input/keyboard.js +0 -293
  85. package/lib/input/keysym.js +0 -878
  86. package/lib/input/keysymdef.js +0 -1351
  87. package/lib/input/util.js +0 -217
  88. package/lib/input/vkeys.js +0 -121
  89. package/lib/input/xtscancodes.js +0 -343
  90. package/lib/ra2.js +0 -535
  91. package/lib/rfb.js +0 -3398
  92. package/lib/util/browser.js +0 -239
  93. package/lib/util/cursor.js +0 -269
  94. package/lib/util/element.js +0 -41
  95. package/lib/util/events.js +0 -133
  96. package/lib/util/eventtarget.js +0 -53
  97. package/lib/util/int.js +0 -21
  98. package/lib/util/logging.js +0 -56
  99. package/lib/util/strings.js +0 -36
  100. package/lib/vendor/pako/lib/zlib/constants.js +0 -47
  101. package/lib/vendor/pako/lib/zlib/inflate.js +0 -1602
  102. package/lib/vendor/pako/lib/zlib/messages.js +0 -25
  103. package/lib/websock.js +0 -395
@@ -1,23 +1,17 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = GZheader;
7
- function GZheader() {
1
+ export default function GZheader() {
8
2
  /* true if compressed data believed to be text */
9
- this.text = 0;
3
+ this.text = 0;
10
4
  /* modification time */
11
- this.time = 0;
5
+ this.time = 0;
12
6
  /* extra flags (not used when writing a gzip file) */
13
- this.xflags = 0;
7
+ this.xflags = 0;
14
8
  /* operating system */
15
- this.os = 0;
9
+ this.os = 0;
16
10
  /* pointer to extra field or Z_NULL if none */
17
- this.extra = null;
11
+ this.extra = null;
18
12
  /* extra field length (valid if extra != Z_NULL) */
19
- this.extra_len = 0; // Actually, we don't need it in JS,
20
- // but leave for few code modifications
13
+ this.extra_len = 0; // Actually, we don't need it in JS,
14
+ // but leave for few code modifications
21
15
 
22
16
  //
23
17
  // Setup limits is not necessary because in js we should not preallocate memory
@@ -27,15 +21,15 @@ function GZheader() {
27
21
  /* space at extra (only when reading header) */
28
22
  // this.extra_max = 0;
29
23
  /* pointer to zero-terminated file name or Z_NULL */
30
- this.name = '';
24
+ this.name = '';
31
25
  /* space at name (only when reading header) */
32
26
  // this.name_max = 0;
33
27
  /* pointer to zero-terminated comment or Z_NULL */
34
- this.comment = '';
28
+ this.comment = '';
35
29
  /* space at comment (only when reading header) */
36
30
  // this.comm_max = 0;
37
31
  /* true if there was or will be a header crc */
38
- this.hcrc = 0;
32
+ this.hcrc = 0;
39
33
  /* true when done reading gzip header (not used when writing a gzip file) */
40
- this.done = false;
41
- }
34
+ this.done = false;
35
+ }
@@ -1,12 +1,6 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = inflate_fast;
7
1
  // See state defs from inflate.js
8
- var BAD = 30; /* got a data error -- remain here until reset */
9
- var TYPE = 12; /* i: waiting for type bits, including last-flag bit */
2
+ var BAD = 30; /* got a data error -- remain here until reset */
3
+ var TYPE = 12; /* i: waiting for type bits, including last-flag bit */
10
4
 
11
5
  /*
12
6
  Decode literal, length, and distance codes and write out the resulting
@@ -43,34 +37,36 @@ var TYPE = 12; /* i: waiting for type bits, including last-flag bit */
43
37
  requires strm.avail_out >= 258 for each loop to avoid checking for
44
38
  output space.
45
39
  */
46
- function inflate_fast(strm, start) {
40
+ export default function inflate_fast(strm, start) {
47
41
  var state;
48
- var _in; /* local strm.input */
49
- var last; /* have enough input while in < last */
50
- var _out; /* local strm.output */
51
- var beg; /* inflate()'s initial strm.output */
52
- var end; /* while out < end, enough space available */
53
- //#ifdef INFLATE_STRICT
54
- var dmax; /* maximum distance from zlib header */
55
- //#endif
56
- var wsize; /* window size or zero if not using window */
57
- var whave; /* valid bytes in the window */
58
- var wnext; /* window write index */
42
+ var _in; /* local strm.input */
43
+ var last; /* have enough input while in < last */
44
+ var _out; /* local strm.output */
45
+ var beg; /* inflate()'s initial strm.output */
46
+ var end; /* while out < end, enough space available */
47
+ //#ifdef INFLATE_STRICT
48
+ var dmax; /* maximum distance from zlib header */
49
+ //#endif
50
+ var wsize; /* window size or zero if not using window */
51
+ var whave; /* valid bytes in the window */
52
+ var wnext; /* window write index */
59
53
  // Use `s_window` instead `window`, avoid conflict with instrumentation tools
60
- var s_window; /* allocated sliding window, if wsize != 0 */
61
- var hold; /* local strm.hold */
62
- var bits; /* local strm.bits */
63
- var lcode; /* local strm.lencode */
64
- var dcode; /* local strm.distcode */
65
- var lmask; /* mask for first level of length codes */
66
- var dmask; /* mask for first level of distance codes */
67
- var here; /* retrieved table entry */
68
- var op; /* code bits, operation, extra bits, or */
69
- /* window position, window bytes to copy */
70
- var len; /* match length, unused bytes */
71
- var dist; /* match distance */
72
- var from; /* where to copy match from */
54
+ var s_window; /* allocated sliding window, if wsize != 0 */
55
+ var hold; /* local strm.hold */
56
+ var bits; /* local strm.bits */
57
+ var lcode; /* local strm.lencode */
58
+ var dcode; /* local strm.distcode */
59
+ var lmask; /* mask for first level of length codes */
60
+ var dmask; /* mask for first level of distance codes */
61
+ var here; /* retrieved table entry */
62
+ var op; /* code bits, operation, extra bits, or */
63
+ /* window position, window bytes to copy */
64
+ var len; /* match length, unused bytes */
65
+ var dist; /* match distance */
66
+ var from; /* where to copy match from */
73
67
  var from_source;
68
+
69
+
74
70
  var input, output; // JS specific, because we have no pointers
75
71
 
76
72
  /* copy state to local variables */
@@ -83,9 +79,9 @@ function inflate_fast(strm, start) {
83
79
  output = strm.output;
84
80
  beg = _out - (start - strm.avail_out);
85
81
  end = _out + (strm.avail_out - 257);
86
- //#ifdef INFLATE_STRICT
82
+ //#ifdef INFLATE_STRICT
87
83
  dmax = state.dmax;
88
- //#endif
84
+ //#endif
89
85
  wsize = state.wsize;
90
86
  whave = state.whave;
91
87
  wnext = state.wnext;
@@ -97,39 +93,42 @@ function inflate_fast(strm, start) {
97
93
  lmask = (1 << state.lenbits) - 1;
98
94
  dmask = (1 << state.distbits) - 1;
99
95
 
96
+
100
97
  /* decode literals and length/distances until end-of-block or not enough
101
98
  input data or output space */
102
99
 
103
- top: do {
100
+ top:
101
+ do {
104
102
  if (bits < 15) {
105
103
  hold += input[_in++] << bits;
106
104
  bits += 8;
107
105
  hold += input[_in++] << bits;
108
106
  bits += 8;
109
107
  }
108
+
110
109
  here = lcode[hold & lmask];
111
- dolen: for (;;) {
112
- // Goto emulation
113
- op = here >>> 24 /*here.bits*/;
110
+
111
+ dolen:
112
+ for (;;) { // Goto emulation
113
+ op = here >>> 24/*here.bits*/;
114
114
  hold >>>= op;
115
115
  bits -= op;
116
- op = here >>> 16 & 0xff /*here.op*/;
117
- if (op === 0) {
118
- /* literal */
116
+ op = (here >>> 16) & 0xff/*here.op*/;
117
+ if (op === 0) { /* literal */
119
118
  //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?
120
119
  // "inflate: literal '%c'\n" :
121
120
  // "inflate: literal 0x%02x\n", here.val));
122
- output[_out++] = here & 0xffff /*here.val*/;
123
- } else if (op & 16) {
124
- /* length base */
125
- len = here & 0xffff /*here.val*/;
126
- op &= 15; /* number of extra bits */
121
+ output[_out++] = here & 0xffff/*here.val*/;
122
+ }
123
+ else if (op & 16) { /* length base */
124
+ len = here & 0xffff/*here.val*/;
125
+ op &= 15; /* number of extra bits */
127
126
  if (op) {
128
127
  if (bits < op) {
129
128
  hold += input[_in++] << bits;
130
129
  bits += 8;
131
130
  }
132
- len += hold & (1 << op) - 1;
131
+ len += hold & ((1 << op) - 1);
133
132
  hold >>>= op;
134
133
  bits -= op;
135
134
  }
@@ -141,16 +140,17 @@ function inflate_fast(strm, start) {
141
140
  bits += 8;
142
141
  }
143
142
  here = dcode[hold & dmask];
144
- dodist: for (;;) {
145
- // goto emulation
146
- op = here >>> 24 /*here.bits*/;
143
+
144
+ dodist:
145
+ for (;;) { // goto emulation
146
+ op = here >>> 24/*here.bits*/;
147
147
  hold >>>= op;
148
148
  bits -= op;
149
- op = here >>> 16 & 0xff /*here.op*/;
150
- if (op & 16) {
151
- /* distance base */
152
- dist = here & 0xffff /*here.val*/;
153
- op &= 15; /* number of extra bits */
149
+ op = (here >>> 16) & 0xff/*here.op*/;
150
+
151
+ if (op & 16) { /* distance base */
152
+ dist = here & 0xffff/*here.val*/;
153
+ op &= 15; /* number of extra bits */
154
154
  if (bits < op) {
155
155
  hold += input[_in++] << bits;
156
156
  bits += 8;
@@ -159,21 +159,20 @@ function inflate_fast(strm, start) {
159
159
  bits += 8;
160
160
  }
161
161
  }
162
- dist += hold & (1 << op) - 1;
163
- //#ifdef INFLATE_STRICT
162
+ dist += hold & ((1 << op) - 1);
163
+ //#ifdef INFLATE_STRICT
164
164
  if (dist > dmax) {
165
165
  strm.msg = 'invalid distance too far back';
166
166
  state.mode = BAD;
167
167
  break top;
168
168
  }
169
- //#endif
169
+ //#endif
170
170
  hold >>>= op;
171
171
  bits -= op;
172
172
  //Tracevv((stderr, "inflate: distance %u\n", dist));
173
- op = _out - beg; /* max distance in output */
174
- if (dist > op) {
175
- /* see if copy from window */
176
- op = dist - op; /* distance back in window */
173
+ op = _out - beg; /* max distance in output */
174
+ if (dist > op) { /* see if copy from window */
175
+ op = dist - op; /* distance back in window */
177
176
  if (op > whave) {
178
177
  if (state.sane) {
179
178
  strm.msg = 'invalid distance too far back';
@@ -181,74 +180,69 @@ function inflate_fast(strm, start) {
181
180
  break top;
182
181
  }
183
182
 
184
- // (!) This block is disabled in zlib defailts,
185
- // don't enable it for binary compatibility
186
- //#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR
187
- // if (len <= op - whave) {
188
- // do {
189
- // output[_out++] = 0;
190
- // } while (--len);
191
- // continue top;
192
- // }
193
- // len -= op - whave;
194
- // do {
195
- // output[_out++] = 0;
196
- // } while (--op > whave);
197
- // if (op === 0) {
198
- // from = _out - dist;
199
- // do {
200
- // output[_out++] = output[from++];
201
- // } while (--len);
202
- // continue top;
203
- // }
204
- //#endif
183
+ // (!) This block is disabled in zlib defailts,
184
+ // don't enable it for binary compatibility
185
+ //#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR
186
+ // if (len <= op - whave) {
187
+ // do {
188
+ // output[_out++] = 0;
189
+ // } while (--len);
190
+ // continue top;
191
+ // }
192
+ // len -= op - whave;
193
+ // do {
194
+ // output[_out++] = 0;
195
+ // } while (--op > whave);
196
+ // if (op === 0) {
197
+ // from = _out - dist;
198
+ // do {
199
+ // output[_out++] = output[from++];
200
+ // } while (--len);
201
+ // continue top;
202
+ // }
203
+ //#endif
205
204
  }
206
205
  from = 0; // window index
207
206
  from_source = s_window;
208
- if (wnext === 0) {
209
- /* very common case */
207
+ if (wnext === 0) { /* very common case */
210
208
  from += wsize - op;
211
- if (op < len) {
212
- /* some from window */
209
+ if (op < len) { /* some from window */
213
210
  len -= op;
214
211
  do {
215
212
  output[_out++] = s_window[from++];
216
213
  } while (--op);
217
- from = _out - dist; /* rest from output */
214
+ from = _out - dist; /* rest from output */
218
215
  from_source = output;
219
216
  }
220
- } else if (wnext < op) {
221
- /* wrap around window */
217
+ }
218
+ else if (wnext < op) { /* wrap around window */
222
219
  from += wsize + wnext - op;
223
220
  op -= wnext;
224
- if (op < len) {
225
- /* some from end of window */
221
+ if (op < len) { /* some from end of window */
226
222
  len -= op;
227
223
  do {
228
224
  output[_out++] = s_window[from++];
229
225
  } while (--op);
230
226
  from = 0;
231
- if (wnext < len) {
232
- /* some from start of window */
227
+ if (wnext < len) { /* some from start of window */
233
228
  op = wnext;
234
229
  len -= op;
235
230
  do {
236
231
  output[_out++] = s_window[from++];
237
232
  } while (--op);
238
- from = _out - dist; /* rest from output */
233
+ from = _out - dist; /* rest from output */
239
234
  from_source = output;
240
235
  }
241
236
  }
242
- } else {
243
- /* contiguous in window */
237
+ }
238
+ else { /* contiguous in window */
244
239
  from += wnext - op;
245
- if (op < len) {
246
- /* some from window */
240
+ if (op < len) { /* some from window */
247
241
  len -= op;
248
242
  do {
249
243
  output[_out++] = s_window[from++];
250
244
  } while (--op);
251
- from = _out - dist; /* rest from output */
245
+ from = _out - dist; /* rest from output */
252
246
  from_source = output;
253
247
  }
254
248
  }
@@ -264,10 +258,10 @@ function inflate_fast(strm, start) {
264
258
  output[_out++] = from_source[from++];
265
259
  }
266
260
  }
267
- } else {
268
- from = _out - dist; /* copy direct from output */
269
- do {
270
- /* minimum length is three */
261
+ }
262
+ else {
263
+ from = _out - dist; /* copy direct from output */
264
+ do { /* minimum length is three */
271
265
  output[_out++] = output[from++];
272
266
  output[_out++] = output[from++];
273
267
  output[_out++] = output[from++];
@@ -280,31 +274,35 @@ function inflate_fast(strm, start) {
280
274
  }
281
275
  }
282
276
  }
283
- } else if ((op & 64) === 0) {
284
- /* 2nd level distance code */
285
- here = dcode[(here & 0xffff /*here.val*/) + (hold & (1 << op) - 1)];
277
+ }
278
+ else if ((op & 64) === 0) { /* 2nd level distance code */
279
+ here = dcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];
286
280
  continue dodist;
287
- } else {
281
+ }
282
+ else {
288
283
  strm.msg = 'invalid distance code';
289
284
  state.mode = BAD;
290
285
  break top;
291
286
  }
287
+
292
288
  break; // need to emulate goto via "continue"
293
289
  }
294
- } else if ((op & 64) === 0) {
295
- /* 2nd level length code */
296
- here = lcode[(here & 0xffff /*here.val*/) + (hold & (1 << op) - 1)];
290
+ }
291
+ else if ((op & 64) === 0) { /* 2nd level length code */
292
+ here = lcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];
297
293
  continue dolen;
298
- } else if (op & 32) {
299
- /* end-of-block */
294
+ }
295
+ else if (op & 32) { /* end-of-block */
300
296
  //Tracevv((stderr, "inflate: end of block\n"));
301
297
  state.mode = TYPE;
302
298
  break top;
303
- } else {
299
+ }
300
+ else {
304
301
  strm.msg = 'invalid literal/length code';
305
302
  state.mode = BAD;
306
303
  break top;
307
304
  }
305
+
308
306
  break; // need to emulate goto via "continue"
309
307
  }
310
308
  } while (_in < last && _out < end);
@@ -318,10 +316,9 @@ function inflate_fast(strm, start) {
318
316
  /* update state and return */
319
317
  strm.next_in = _in;
320
318
  strm.next_out = _out;
321
- strm.avail_in = _in < last ? 5 + (last - _in) : 5 - (_in - last);
322
- strm.avail_out = _out < end ? 257 + (end - _out) : 257 - (_out - end);
319
+ strm.avail_in = (_in < last ? 5 + (last - _in) : 5 - (_in - last));
320
+ strm.avail_out = (_out < end ? 257 + (end - _out) : 257 - (_out - end));
323
321
  state.hold = hold;
324
322
  state.bits = bits;
325
323
  return;
326
- }
327
- ;
324
+ };