http2: don't expose the original socket through the socket proxy · nodejs/node@805bf40 · GitHub
Skip to content

Commit 805bf40

Browse files
szmarczakBethGriggs
authored andcommitted
http2: don't expose the original socket through the socket proxy
Refs: #22486 Backport-PR-URL: #22850 PR-URL: #22650 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Anatoli Papirovski <apapirovski@mac.com> Reviewed-By: James M Snell <jasnell@gmail.com>
1 parent 60f7bfa commit 805bf40

3 files changed

Lines changed: 23 additions & 27 deletions

File tree

lib/internal/http2/core.js

Lines changed: 12 additions & 2 deletions

test/parallel/test-http2-socket-proxy.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@ server.on('stream', common.mustCall(function(stream, headers) {
3838
common.expectsError(() => socket.read, errMsg);
3939
common.expectsError(() => socket.resume, errMsg);
4040
common.expectsError(() => socket.write, errMsg);
41+
common.expectsError(() => socket.setEncoding, errMsg);
42+
common.expectsError(() => socket.setKeepAlive, errMsg);
43+
common.expectsError(() => socket.setNoDelay, errMsg);
4144

4245
common.expectsError(() => (socket.destroy = undefined), errMsg);
4346
common.expectsError(() => (socket.emit = undefined), errMsg);
@@ -46,10 +49,18 @@ server.on('stream', common.mustCall(function(stream, headers) {
4649
common.expectsError(() => (socket.read = undefined), errMsg);
4750
common.expectsError(() => (socket.resume = undefined), errMsg);
4851
common.expectsError(() => (socket.write = undefined), errMsg);
52+
common.expectsError(() => (socket.setEncoding = undefined), errMsg);
53+
common.expectsError(() => (socket.setKeepAlive = undefined), errMsg);
54+
common.expectsError(() => (socket.setNoDelay = undefined), errMsg);
4955

5056
assert.doesNotThrow(() => (socket.on = socket.on));
5157
assert.doesNotThrow(() => (socket.once = socket.once));
5258

59+
socket.unref();
60+
assert.strictEqual(socket._handle.hasRef(), false);
61+
socket.ref();
62+
assert.strictEqual(socket._handle.hasRef(), true);
63+
5364
stream.respond();
5465

5566
socket.writable = 0;

test/parallel/test-http2-unbound-socket-proxy.js

Lines changed: 0 additions & 25 deletions

0 commit comments

Comments
 (0)