appium-ios-remotexpc 5.16.1 → 5.16.3
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.
- package/CHANGELOG.md +12 -0
- package/build/src/lib/port-forwarding/device-port-forwarder.d.ts +9 -0
- package/build/src/lib/port-forwarding/device-port-forwarder.d.ts.map +1 -1
- package/build/src/lib/port-forwarding/device-port-forwarder.js +41 -3
- package/build/src/lib/port-forwarding/device-port-forwarder.js.map +1 -1
- package/build/src/services/ios/accessibility-audit/index.d.ts +15 -0
- package/build/src/services/ios/accessibility-audit/index.d.ts.map +1 -1
- package/build/src/services/ios/accessibility-audit/index.js +37 -0
- package/build/src/services/ios/accessibility-audit/index.js.map +1 -1
- package/package.json +1 -1
- package/src/lib/port-forwarding/device-port-forwarder.ts +45 -4
- package/src/services/ios/accessibility-audit/index.ts +42 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
## [5.16.3](https://github.com/appium/appium-ios-remotexpc/compare/v5.16.2...v5.16.3) (2026-08-28)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
* **accessibility:** reject unknown audit types before they reach the device ([#306](https://github.com/appium/appium-ios-remotexpc/issues/306)) ([9b4200b](https://github.com/appium/appium-ios-remotexpc/commit/9b4200b419817aae9969a99e3e103e28e8e03115))
|
|
6
|
+
|
|
7
|
+
## [5.16.2](https://github.com/appium/appium-ios-remotexpc/compare/v5.16.1...v5.16.2) (2026-08-27)
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **port-forwarding:** destroy upstream socket when client disconnects during connect ([#305](https://github.com/appium/appium-ios-remotexpc/issues/305)) ([957181d](https://github.com/appium/appium-ios-remotexpc/commit/957181d05a8ae4fdcfed7c0ddf73446408c5f444))
|
|
12
|
+
|
|
1
13
|
## [5.16.1](https://github.com/appium/appium-ios-remotexpc/compare/v5.16.0...v5.16.1) (2026-08-27)
|
|
2
14
|
|
|
3
15
|
### Bug Fixes
|
|
@@ -25,6 +25,15 @@ export declare class DevicePortForwarder extends EventEmitter {
|
|
|
25
25
|
once<K extends keyof DevicePortForwarderEvents>(eventName: K, listener: DevicePortForwarderEvents[K]): this;
|
|
26
26
|
off<K extends keyof DevicePortForwarderEvents>(eventName: K, listener: DevicePortForwarderEvents[K]): this;
|
|
27
27
|
private handleDownstreamConnection;
|
|
28
|
+
/**
|
|
29
|
+
* Opens the upstream socket while watching for the client going away.
|
|
30
|
+
* Returns undefined after cleanup if the connect fails or the client disconnected meanwhile.
|
|
31
|
+
*/
|
|
32
|
+
private openUpstreamForClient;
|
|
33
|
+
/**
|
|
34
|
+
* Pipes the two sockets together and tears both down when either side closes or errors.
|
|
35
|
+
*/
|
|
36
|
+
private bridgeSockets;
|
|
28
37
|
private openUpstreamSocket;
|
|
29
38
|
}
|
|
30
39
|
//# sourceMappingURL=device-port-forwarder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device-port-forwarder.d.ts","sourceRoot":"","sources":["../../../../src/lib/port-forwarding/device-port-forwarder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAIzC,OAAO,KAAK,EAAC,yBAAyB,EAAE,0BAA0B,EAA0B,MAAM,YAAY,CAAC;AAE/G;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,YAAY;IACnD,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA0B;IAC3D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAA0B;IAC7D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;gBAEvC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,0BAA0B;IAStF;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBlB,EAAE,CAAC,CAAC,SAAS,MAAM,yBAAyB,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,yBAAyB,CAAC,CAAC,CAAC,GAAG,IAAI;IAIzG,IAAI,CAAC,CAAC,SAAS,MAAM,yBAAyB,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,yBAAyB,CAAC,CAAC,CAAC,GAAG,IAAI;IAI3G,GAAG,CAAC,CAAC,SAAS,MAAM,yBAAyB,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,yBAAyB,CAAC,CAAC,CAAC,GAAG,IAAI;YAIrG,0BAA0B;
|
|
1
|
+
{"version":3,"file":"device-port-forwarder.d.ts","sourceRoot":"","sources":["../../../../src/lib/port-forwarding/device-port-forwarder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAIzC,OAAO,KAAK,EAAC,yBAAyB,EAAE,0BAA0B,EAA0B,MAAM,YAAY,CAAC;AAE/G;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,YAAY;IACnD,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA0B;IAC3D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAA0B;IAC7D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;gBAEvC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,0BAA0B;IAStF;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBlB,EAAE,CAAC,CAAC,SAAS,MAAM,yBAAyB,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,yBAAyB,CAAC,CAAC,CAAC,GAAG,IAAI;IAIzG,IAAI,CAAC,CAAC,SAAS,MAAM,yBAAyB,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,yBAAyB,CAAC,CAAC,CAAC,GAAG,IAAI;IAI3G,GAAG,CAAC,CAAC,SAAS,MAAM,yBAAyB,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,yBAAyB,CAAC,CAAC,CAAC,GAAG,IAAI;YAIrG,0BAA0B;IAcxC;;;OAGG;YACW,qBAAqB;IAqCnC;;OAEG;IACH,OAAO,CAAC,aAAa;YAwCP,kBAAkB;CAUjC"}
|
|
@@ -67,6 +67,29 @@ export class DevicePortForwarder extends EventEmitter {
|
|
|
67
67
|
async handleDownstreamConnection(localSocket) {
|
|
68
68
|
this.activeSockets.add(localSocket);
|
|
69
69
|
this.emit('clientConnected', localSocket);
|
|
70
|
+
const upstreamSocket = await this.openUpstreamForClient(localSocket);
|
|
71
|
+
if (!upstreamSocket) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
this.activeSockets.add(upstreamSocket);
|
|
75
|
+
this.emit('upstreamConnected', upstreamSocket);
|
|
76
|
+
this.bridgeSockets(localSocket, upstreamSocket);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Opens the upstream socket while watching for the client going away.
|
|
80
|
+
* Returns undefined after cleanup if the connect fails or the client disconnected meanwhile.
|
|
81
|
+
*/
|
|
82
|
+
async openUpstreamForClient(localSocket) {
|
|
83
|
+
let clientError;
|
|
84
|
+
let clientClosed = false;
|
|
85
|
+
const onEarlyError = (err) => {
|
|
86
|
+
clientError = err;
|
|
87
|
+
};
|
|
88
|
+
const onEarlyClose = () => {
|
|
89
|
+
clientClosed = true;
|
|
90
|
+
};
|
|
91
|
+
localSocket.once('error', onEarlyError);
|
|
92
|
+
localSocket.once('close', onEarlyClose);
|
|
70
93
|
let upstreamSocket;
|
|
71
94
|
try {
|
|
72
95
|
upstreamSocket = await this.openUpstreamSocket();
|
|
@@ -76,10 +99,25 @@ export class DevicePortForwarder extends EventEmitter {
|
|
|
76
99
|
this.emit('upstreamConnectError', err);
|
|
77
100
|
this.emit('clientDisconnected', localSocket, err);
|
|
78
101
|
localSocket.destroy();
|
|
79
|
-
return;
|
|
102
|
+
return undefined;
|
|
80
103
|
}
|
|
81
|
-
|
|
82
|
-
|
|
104
|
+
finally {
|
|
105
|
+
localSocket.off('error', onEarlyError);
|
|
106
|
+
localSocket.off('close', onEarlyClose);
|
|
107
|
+
}
|
|
108
|
+
if (clientClosed || localSocket.destroyed || clientError !== undefined) {
|
|
109
|
+
this.activeSockets.delete(localSocket);
|
|
110
|
+
this.emit('clientDisconnected', localSocket, clientError);
|
|
111
|
+
localSocket.destroy();
|
|
112
|
+
upstreamSocket.destroy();
|
|
113
|
+
return undefined;
|
|
114
|
+
}
|
|
115
|
+
return upstreamSocket;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Pipes the two sockets together and tears both down when either side closes or errors.
|
|
119
|
+
*/
|
|
120
|
+
bridgeSockets(localSocket, upstreamSocket) {
|
|
83
121
|
let cleanedUp = false;
|
|
84
122
|
const teardown = () => {
|
|
85
123
|
this.activeSockets.delete(localSocket);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device-port-forwarder.js","sourceRoot":"","sources":["../../../../src/lib/port-forwarding/device-port-forwarder.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"device-port-forwarder.js","sourceRoot":"","sources":["../../../../src/lib/port-forwarding/device-port-forwarder.ts"],"names":[],"mappings":"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"}
|
|
@@ -57,6 +57,13 @@ export declare class AccessibilityAuditService {
|
|
|
57
57
|
* fixed for the device, so repeated writes need not re-read the catalogue.
|
|
58
58
|
*/
|
|
59
59
|
private settingTypes;
|
|
60
|
+
/**
|
|
61
|
+
* Supported audit types, read once per connection.
|
|
62
|
+
*
|
|
63
|
+
* Like the setting catalogue this is fixed for the device, so validating a
|
|
64
|
+
* name costs one round trip per connection rather than one per audit.
|
|
65
|
+
*/
|
|
66
|
+
private auditTypeNames;
|
|
60
67
|
private constructor();
|
|
61
68
|
/**
|
|
62
69
|
* Connects to the daemon and completes the DTX handshake.
|
|
@@ -120,6 +127,14 @@ export declare class AccessibilityAuditService {
|
|
|
120
127
|
* @param options Timeout for the completion callback.
|
|
121
128
|
*/
|
|
122
129
|
runAudit(auditTypes: string[], options?: RunAuditOptions): Promise<AxAuditIssue[]>;
|
|
130
|
+
/**
|
|
131
|
+
* Rejects audit types the device does not implement.
|
|
132
|
+
*
|
|
133
|
+
* An unrecognised name makes the daemon return neither issues nor a
|
|
134
|
+
* completion, and that connection can never run another audit — so the name
|
|
135
|
+
* must never reach the device.
|
|
136
|
+
*/
|
|
137
|
+
private assertKnownAuditTypes;
|
|
123
138
|
/**
|
|
124
139
|
* Returns the element the device's accessibility focus is currently on.
|
|
125
140
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/accessibility-audit/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAC,cAAc,EAAsB,MAAM,qBAAqB,CAAC;AACxE,OAAO,EACL,KAAK,SAAS,EACd,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EAKxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAC,mBAAmB,EAAE,KAAK,aAAa,EAAC,MAAM,oBAAoB,CAAC;AA8C3E;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iFAAiF;IACjF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iDAAiD;IACjD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,yBAAyB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/accessibility-audit/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -76,6 +76,13 @@ export class AccessibilityAuditService {
|
|
|
76
76
|
* fixed for the device, so repeated writes need not re-read the catalogue.
|
|
77
77
|
*/
|
|
78
78
|
settingTypes;
|
|
79
|
+
/**
|
|
80
|
+
* Supported audit types, read once per connection.
|
|
81
|
+
*
|
|
82
|
+
* Like the setting catalogue this is fixed for the device, so validating a
|
|
83
|
+
* name costs one round trip per connection rather than one per audit.
|
|
84
|
+
*/
|
|
85
|
+
auditTypeNames;
|
|
79
86
|
constructor(transport) {
|
|
80
87
|
this.transport = transport;
|
|
81
88
|
}
|
|
@@ -209,6 +216,7 @@ export class AccessibilityAuditService {
|
|
|
209
216
|
})
|
|
210
217
|
: undefined;
|
|
211
218
|
try {
|
|
219
|
+
await this.assertKnownAuditTypes(auditTypes);
|
|
212
220
|
if (options.targetPid !== undefined) {
|
|
213
221
|
// Narrows the audit to one process; omitted, the daemon uses the
|
|
214
222
|
// foreground app.
|
|
@@ -229,6 +237,35 @@ export class AccessibilityAuditService {
|
|
|
229
237
|
stopLog?.();
|
|
230
238
|
}
|
|
231
239
|
}
|
|
240
|
+
/**
|
|
241
|
+
* Rejects audit types the device does not implement.
|
|
242
|
+
*
|
|
243
|
+
* An unrecognised name makes the daemon return neither issues nor a
|
|
244
|
+
* completion, and that connection can never run another audit — so the name
|
|
245
|
+
* must never reach the device.
|
|
246
|
+
*/
|
|
247
|
+
async assertKnownAuditTypes(auditTypes) {
|
|
248
|
+
if (auditTypes.length === 0) {
|
|
249
|
+
return;
|
|
250
|
+
}
|
|
251
|
+
// Deliberately not the caller's `timeoutMs`: that budget is for the audit
|
|
252
|
+
// itself, and reusing it here would let a long audit spend it twice.
|
|
253
|
+
const known = this.auditTypeNames ?? new Set(await this.getSupportedAuditTypes());
|
|
254
|
+
if (known.size === 0) {
|
|
255
|
+
// Nothing to validate against. Caching an empty catalogue would reject
|
|
256
|
+
// every type from here on — including after the daemon recovered — which
|
|
257
|
+
// is worse than the wedge this guards against, so let the call through.
|
|
258
|
+
log.debug('Device reported no supported audit types; skipping validation');
|
|
259
|
+
return;
|
|
260
|
+
}
|
|
261
|
+
this.auditTypeNames = known;
|
|
262
|
+
const unknown = auditTypes.filter((auditType) => !known.has(auditType));
|
|
263
|
+
if (unknown.length > 0) {
|
|
264
|
+
throw new Error(`Unknown ${util.pluralize('audit type', unknown.length)} ` +
|
|
265
|
+
`${unknown.map((auditType) => JSON.stringify(auditType)).join(', ')}; ` +
|
|
266
|
+
`the device supports: ${[...known].join(', ')}`);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
232
269
|
/**
|
|
233
270
|
* Returns the element the device's accessibility focus is currently on.
|
|
234
271
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/ios/accessibility-audit/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/ios/accessibility-audit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAC,cAAc,EAAE,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAIL,oBAAoB,EACpB,kBAAkB,EAClB,WAAW,EACX,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAC,mBAAmB,EAAqB,MAAM,oBAAoB,CAAC;AAE3E,MAAM,GAAG,GAAG,SAAS,CAAC,oBAAoB,CAAC,CAAC;AAE5C,uEAAuE;AACvE,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,iFAAiF;AACjF,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAE9B;;;;;;GAMG;AACH,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAgE;IAChG;QACE,mBAAmB;QACnB,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;YACpB,yEAAyE;YACzE,4DAA4D;YAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACnF,MAAM,IAAI,KAAK,CACb,YAAY,UAAU,2DAA2D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CACzG,CAAC;YACJ,CAAC;QACH,CAAC;KACF;IACD;QACE,mBAAmB;QACnB,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;YACpB,wEAAwE;YACxE,kDAAkD;YAClD,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,YAAY,UAAU,4CAA4C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC7G,CAAC;QACH,CAAC;KACF;CACF,CAAC,CAAC;AAEH,gFAAgF;AAChF,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,qCAAqC;AACrC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAwB9B;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,OAAO,yBAAyB;IAyBC;IAxBrC,MAAM,CAAU,gBAAgB,GAAG,mBAAmB,CAAC,gBAAgB,CAAC;IAExE,0FAA0F;IAClF,aAAa,GAAG,CAAC,CAAC;IAE1B,yEAAyE;IACjE,aAAa,GAAG,KAAK,CAAC;IAE9B;;;;;OAKG;IACK,YAAY,CAA8C;IAElE;;;;;OAKG;IACK,cAAc,CAA0B;IAEhD,YAAqC,SAA8B;QAA9B,cAAS,GAAT,SAAS,CAAqB;IAAG,CAAC;IAEvE;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAY;QAC7B,OAAO,IAAI,yBAAyB,CAAC,MAAM,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,0DAA0D;IAC1D,KAAK,CAAC,aAAa,CAAC,OAAuB;QACzC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7E,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,oDAAoD;IACpD,KAAK,CAAC,eAAe,CAAC,OAAuB;QAC3C,OAAO,aAAa,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,oBAAoB,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,oBAAoB,CAAC,CAAC;IAC/G,CAAC;IAED,oEAAoE;IACpE,KAAK,CAAC,sBAAsB,CAAC,OAAuB;QAClD,OAAO,aAAa,CAClB,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,8BAA8B,EAAE,IAAI,EAAE,OAAO,CAAC,EAC1E,8BAA8B,CAC/B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,wBAAwB,CAAC,OAAuB;QACpD,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,6BAA6B,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3G,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,sCAAsC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9F,CAAC;QACD,OAAO,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,uBAAuB,CAAC,UAAkB,EAAE,KAAuB,EAAE,OAAuB;QAChG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,kCAAkC,UAAU,2BAA2B,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACvG,CAAC;QACJ,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC7F,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,wEAAwE;YACxE,uDAAuD;YACvD,MAAM,IAAI,KAAK,CAAC,YAAY,UAAU,0BAA0B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACjG,CAAC;QACD,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAE5B,MAAM,GAAG,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC;QAC9C,GAAG,CAAC,SAAS,CAAC,EAAC,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;QACzD,2EAA2E;QAC3E,4CAA4C;QAC5C,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,6CAA6C,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3F,CAAC;IAED,6EAA6E;IACrE,KAAK,CAAC,gBAAgB,CAAC,OAAuB;QACpD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;YAC9D,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC9F,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,0BAA0B,CAAC,OAAuB;QACtD,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,2CAA2C,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1F,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,QAAQ,CAAC,UAAoB,EAAE,UAA2B,EAAE;QAChE,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAC;QAC7G,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,kEAAkE;QAClE,2EAA2E;QAC3E,uEAAuE;QACvE,kCAAkC;QAClC,MAAM,MAAM,GAAmB,EAAE,CAAC;QAClC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,sBAAsB,EAAE,CAAC,IAAI,EAAE,EAAE;YAC3E,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC,KAAqB,CAAC,CAAC;YACrC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK;YAC3B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE;gBACvD,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;oBAChC,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC,CAAC;YACJ,CAAC,CAAC,SAAS,CAAC;QAEd,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBACpC,iEAAiE;gBACjE,kBAAkB;gBAClB,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;gBAChC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACpC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC;YAClE,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAC9C,sDAAsD,EACtD,OAAO,CAAC,SAAS,CAClB,CAAC;YACF,MAAM,GAAG,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YAC1B,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;YAC3D,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC;YACxC,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;QAC3E,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,UAAU,EAAE,CAAC;YACb,OAAO,EAAE,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,qBAAqB,CAAC,UAAoB;QACtD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,0EAA0E;QAC1E,qEAAqE;QACrE,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;QAClF,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACrB,uEAAuE;YACvE,yEAAyE;YACzE,wEAAwE;YACxE,GAAG,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;YAC3E,OAAO;QACT,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAE5B,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QACxE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,WAAW,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG;gBACxD,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBACvE,wBAAwB,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClD,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,iBAAiB,CAAC,UAA0B,EAAE;QAClD,MAAM,EAAC,SAAS,GAAG,KAAK,EAAE,WAAW,GAAG,KAAK,EAAC,GAAG,OAAO,CAAC;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,qCAAqC,EAAE,SAAS,CAAC,CAAC;QAC/F,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,CAAC;QAClD,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,UAAU,EAAE,CAAC;YAC/B,wEAAwE;YACxE,4BAA4B;YAC5B,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACpB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACrE,2EAA2E;YAC3E,yBAAyB;YACzB,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,MAAM,CAAC;YAC/B,OAAO,kBAAkB,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1D,CAAC;gBAAS,CAAC;YACT,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;YACD,0DAA0D;YAC1D,IAAI,IAAI,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACH,qBAAqB,CACnB,QAA+C,EAC/C,UAAmC,EAAE;QAErC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,qCAAqC,EAAE,CAAC,IAAI,EAAE,EAAE;YACpF,QAAQ,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,CAAC;QAClD,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,OAAO,GAAG,EAAE;YACV,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,EAAE,CAAC;YACP,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACxB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;YACD,yEAAyE;YACzE,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;YACxB,IAAI,IAAI,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;YAClD,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,wBAAwB,CAC5B,OAAkB,EAClB,SAA6B,EAC7B,OAAuB;QAEvB,MAAM,GAAG,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3C,GAAG,CAAC,SAAS,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC;QAC/C,OAAO,mBAAmB,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kCAAkC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5G,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,iBAAiB,CAAC,KAAa,EAAE,OAAuB;QAC5D,MAAM,GAAG,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACrB,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,4BAA4B,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3G,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,qDAAqD;IAC7C,qBAAqB,CAAC,IAAY;QACxC,MAAM,GAAG,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACpB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,uCAAuC,EAAE,GAAG,CAAC,CAAC;IAC5E,CAAC;IAED,8EAA8E;IACtE,cAAc,CAAC,OAAgB;QACrC,MAAM,GAAG,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;IAClE,CAAC;IAED,wCAAwC;IACxC,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;;AAmCH;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,IAAe;IAC3C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC9C,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC1D,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAyB,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;AAClF,CAAC;AAED,8CAA8C;AAC9C,SAAS,aAAa,CAAC,KAAc,EAAE,QAAgB;IACrD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,EAAE,CAAC;QAChF,MAAM,IAAI,KAAK,CAAC,YAAY,QAAQ,uCAAuC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACrH,CAAC;IACD,OAAO,KAAiB,CAAC;AAC3B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAkB;IACnD,OAAO;QACL,UAAU,EAAE,yBAAyB;QACrC,KAAK,EAAE;YACL,UAAU,EAAE,aAAa;YACzB,KAAK,EAAE,EAAC,mBAAmB,EAAE,EAAC,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAC,EAAC;SAC7E;KACF,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,SAAS,eAAe,CAAC,GAAY;IACnC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5F,CAAC;IACD,MAAM,MAAM,GAAG,GAA8B,CAAC;IAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,mBAAmB,CAAC;IAC9C,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,GAAG,CAAC,KAAK,CAAC,wCAAwC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO;QACL,GAAG,MAAM;QACT,UAAU,EAAE,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;QAC5E,WAAW,EAAE,OAAO,MAAM,CAAC,mBAAmB,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS;QACpG,YAAY,EAAE,MAAM,CAAC,qBAAqB;QAC1C,OAAO,EAAE,OAAO,MAAM,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;QACzF,eAAe,EAAE,OAAO,MAAM,CAAC,uBAAuB,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS;KACjH,CAAC;AACJ,CAAC;AAED,OAAO,EAAC,mBAAmB,EAAE,cAAc,EAAE,UAAU,EAAC,CAAC;AACzD,eAAe,yBAAyB,CAAC"}
|
package/package.json
CHANGED
|
@@ -83,7 +83,33 @@ export class DevicePortForwarder extends EventEmitter {
|
|
|
83
83
|
this.activeSockets.add(localSocket);
|
|
84
84
|
this.emit('clientConnected', localSocket);
|
|
85
85
|
|
|
86
|
-
|
|
86
|
+
const upstreamSocket = await this.openUpstreamForClient(localSocket);
|
|
87
|
+
if (!upstreamSocket) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
this.activeSockets.add(upstreamSocket);
|
|
92
|
+
this.emit('upstreamConnected', upstreamSocket);
|
|
93
|
+
this.bridgeSockets(localSocket, upstreamSocket);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Opens the upstream socket while watching for the client going away.
|
|
98
|
+
* Returns undefined after cleanup if the connect fails or the client disconnected meanwhile.
|
|
99
|
+
*/
|
|
100
|
+
private async openUpstreamForClient(localSocket: Socket): Promise<Socket | undefined> {
|
|
101
|
+
let clientError: Error | undefined;
|
|
102
|
+
let clientClosed = false;
|
|
103
|
+
const onEarlyError = (err: Error): void => {
|
|
104
|
+
clientError = err;
|
|
105
|
+
};
|
|
106
|
+
const onEarlyClose = (): void => {
|
|
107
|
+
clientClosed = true;
|
|
108
|
+
};
|
|
109
|
+
localSocket.once('error', onEarlyError);
|
|
110
|
+
localSocket.once('close', onEarlyClose);
|
|
111
|
+
|
|
112
|
+
let upstreamSocket: Socket;
|
|
87
113
|
try {
|
|
88
114
|
upstreamSocket = await this.openUpstreamSocket();
|
|
89
115
|
} catch (err) {
|
|
@@ -91,12 +117,27 @@ export class DevicePortForwarder extends EventEmitter {
|
|
|
91
117
|
this.emit('upstreamConnectError', err);
|
|
92
118
|
this.emit('clientDisconnected', localSocket, err);
|
|
93
119
|
localSocket.destroy();
|
|
94
|
-
return;
|
|
120
|
+
return undefined;
|
|
121
|
+
} finally {
|
|
122
|
+
localSocket.off('error', onEarlyError);
|
|
123
|
+
localSocket.off('close', onEarlyClose);
|
|
95
124
|
}
|
|
96
125
|
|
|
97
|
-
|
|
98
|
-
|
|
126
|
+
if (clientClosed || localSocket.destroyed || clientError !== undefined) {
|
|
127
|
+
this.activeSockets.delete(localSocket);
|
|
128
|
+
this.emit('clientDisconnected', localSocket, clientError);
|
|
129
|
+
localSocket.destroy();
|
|
130
|
+
upstreamSocket.destroy();
|
|
131
|
+
return undefined;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
return upstreamSocket;
|
|
135
|
+
}
|
|
99
136
|
|
|
137
|
+
/**
|
|
138
|
+
* Pipes the two sockets together and tears both down when either side closes or errors.
|
|
139
|
+
*/
|
|
140
|
+
private bridgeSockets(localSocket: Socket, upstreamSocket: Socket): void {
|
|
100
141
|
let cleanedUp = false;
|
|
101
142
|
const teardown = (): void => {
|
|
102
143
|
this.activeSockets.delete(localSocket);
|
|
@@ -117,6 +117,14 @@ export class AccessibilityAuditService {
|
|
|
117
117
|
*/
|
|
118
118
|
private settingTypes: Map<string, number | undefined> | undefined;
|
|
119
119
|
|
|
120
|
+
/**
|
|
121
|
+
* Supported audit types, read once per connection.
|
|
122
|
+
*
|
|
123
|
+
* Like the setting catalogue this is fixed for the device, so validating a
|
|
124
|
+
* name costs one round trip per connection rather than one per audit.
|
|
125
|
+
*/
|
|
126
|
+
private auditTypeNames: Set<string> | undefined;
|
|
127
|
+
|
|
120
128
|
private constructor(private readonly transport: AxAuditDtxTransport) {}
|
|
121
129
|
|
|
122
130
|
/**
|
|
@@ -264,6 +272,7 @@ export class AccessibilityAuditService {
|
|
|
264
272
|
: undefined;
|
|
265
273
|
|
|
266
274
|
try {
|
|
275
|
+
await this.assertKnownAuditTypes(auditTypes);
|
|
267
276
|
if (options.targetPid !== undefined) {
|
|
268
277
|
// Narrows the audit to one process; omitted, the daemon uses the
|
|
269
278
|
// foreground app.
|
|
@@ -287,6 +296,39 @@ export class AccessibilityAuditService {
|
|
|
287
296
|
}
|
|
288
297
|
}
|
|
289
298
|
|
|
299
|
+
/**
|
|
300
|
+
* Rejects audit types the device does not implement.
|
|
301
|
+
*
|
|
302
|
+
* An unrecognised name makes the daemon return neither issues nor a
|
|
303
|
+
* completion, and that connection can never run another audit — so the name
|
|
304
|
+
* must never reach the device.
|
|
305
|
+
*/
|
|
306
|
+
private async assertKnownAuditTypes(auditTypes: string[]): Promise<void> {
|
|
307
|
+
if (auditTypes.length === 0) {
|
|
308
|
+
return;
|
|
309
|
+
}
|
|
310
|
+
// Deliberately not the caller's `timeoutMs`: that budget is for the audit
|
|
311
|
+
// itself, and reusing it here would let a long audit spend it twice.
|
|
312
|
+
const known = this.auditTypeNames ?? new Set(await this.getSupportedAuditTypes());
|
|
313
|
+
if (known.size === 0) {
|
|
314
|
+
// Nothing to validate against. Caching an empty catalogue would reject
|
|
315
|
+
// every type from here on — including after the daemon recovered — which
|
|
316
|
+
// is worse than the wedge this guards against, so let the call through.
|
|
317
|
+
log.debug('Device reported no supported audit types; skipping validation');
|
|
318
|
+
return;
|
|
319
|
+
}
|
|
320
|
+
this.auditTypeNames = known;
|
|
321
|
+
|
|
322
|
+
const unknown = auditTypes.filter((auditType) => !known.has(auditType));
|
|
323
|
+
if (unknown.length > 0) {
|
|
324
|
+
throw new Error(
|
|
325
|
+
`Unknown ${util.pluralize('audit type', unknown.length)} ` +
|
|
326
|
+
`${unknown.map((auditType) => JSON.stringify(auditType)).join(', ')}; ` +
|
|
327
|
+
`the device supports: ${[...known].join(', ')}`,
|
|
328
|
+
);
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
|
|
290
332
|
/**
|
|
291
333
|
* Returns the element the device's accessibility focus is currently on.
|
|
292
334
|
*
|