summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorSzymon Marczak <sz.marczak@gmail.com>2018-09-02 12:07:20 +0200
committerMatteo Collina <hello@matteocollina.com>2018-09-05 12:58:40 +0200
commitd6a43438d6ed3f262cc87fe2ebd0c46a87c1ff57 (patch)
tree40287494a163f4b0c765c05f2b02244a681af179 /lib
parent441391b9ebb1dda7721c1b0ce6b700b45c598b2b (diff)
downloadandroid-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.js14
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];