diff options
author | Szymon Marczak <sz.marczak@gmail.com> | 2018-09-02 12:07:20 +0200 |
---|---|---|
committer | Matteo Collina <hello@matteocollina.com> | 2018-09-05 12:58:40 +0200 |
commit | d6a43438d6ed3f262cc87fe2ebd0c46a87c1ff57 (patch) | |
tree | 40287494a163f4b0c765c05f2b02244a681af179 /lib | |
parent | 441391b9ebb1dda7721c1b0ce6b700b45c598b2b (diff) | |
download | android-node-v8-d6a43438d6ed3f262cc87fe2ebd0c46a87c1ff57.tar.gz android-node-v8-d6a43438d6ed3f262cc87fe2ebd0c46a87c1ff57.tar.bz2 android-node-v8-d6a43438d6ed3f262cc87fe2ebd0c46a87c1ff57.zip |
http2: don't expose the original socket through the socket proxy
Refs: https://github.com/nodejs/node/pull/22486
PR-URL: https://github.com/nodejs/node/pull/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>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/internal/http2/core.js | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/lib/internal/http2/core.js b/lib/internal/http2/core.js index ad4f98593d..f2a298b6e5 100644 --- a/lib/internal/http2/core.js +++ b/lib/internal/http2/core.js @@ -646,7 +646,9 @@ const proxySocketHandler = { get(session, prop) { switch (prop) { case 'setTimeout': - return session.setTimeout.bind(session); + case 'ref': + case 'unref': + return session[prop].bind(session); case 'destroy': case 'emit': case 'end': @@ -654,6 +656,9 @@ const proxySocketHandler = { case 'read': case 'resume': case 'write': + case 'setEncoding': + case 'setKeepAlive': + case 'setNoDelay': throw new ERR_HTTP2_NO_SOCKET_MANIPULATION(); default: const socket = session[kSocket]; @@ -672,7 +677,9 @@ const proxySocketHandler = { set(session, prop, value) { switch (prop) { case 'setTimeout': - session.setTimeout = value; + case 'ref': + case 'unref': + session[prop] = value; return true; case 'destroy': case 'emit': @@ -681,6 +688,9 @@ const proxySocketHandler = { case 'read': case 'resume': case 'write': + case 'setEncoding': + case 'setKeepAlive': + case 'setNoDelay': throw new ERR_HTTP2_NO_SOCKET_MANIPULATION(); default: const socket = session[kSocket]; |