diff options
author | Anna Henningsen <anna@addaleax.net> | 2018-09-24 11:51:14 +0200 |
---|---|---|
committer | Anna Henningsen <anna@addaleax.net> | 2018-10-04 09:20:24 -0700 |
commit | cbc3ef64ceaf95ec1d0d1535211ce3a6945407e1 (patch) | |
tree | bd63c53649b149b8860a7332010e2f952574b3e0 /doc | |
parent | d0fc382c4b18a7021d0a93194bc4b304ed6f7d6f (diff) | |
download | android-node-v8-cbc3ef64ceaf95ec1d0d1535211ce3a6945407e1.tar.gz android-node-v8-cbc3ef64ceaf95ec1d0d1535211ce3a6945407e1.tar.bz2 android-node-v8-cbc3ef64ceaf95ec1d0d1535211ce3a6945407e1.zip |
process: allow reading from stdout/stderr sockets
Allow reading from stdio streams that are conventionally
associated with process output, since this is only convention.
This involves disabling the oddness around closing stdio
streams. Its purpose is to prevent the file descriptors
0 through 2 from being closed, since doing so can lead
to information leaks when new file descriptors are being
opened; instead, not doing anything seems like a more
reasonable choice.
Fixes: https://github.com/nodejs/node/issues/21203
PR-URL: https://github.com/nodejs/node/pull/23053
Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'doc')
-rw-r--r-- | doc/api/errors.md | 43 | ||||
-rw-r--r-- | doc/api/process.md | 6 |
2 files changed, 32 insertions, 17 deletions
diff --git a/doc/api/errors.md b/doc/api/errors.md index 1cdd1d0f20..75146c24c3 100644 --- a/doc/api/errors.md +++ b/doc/api/errors.md @@ -1545,18 +1545,6 @@ An attempt was made to operate on an already closed socket. A call was made and the UDP subsystem was not running. -<a id="ERR_STDERR_CLOSE"></a> -### ERR_STDERR_CLOSE - -An attempt was made to close the `process.stderr` stream. By design, Node.js -does not allow `stdout` or `stderr` streams to be closed by user code. - -<a id="ERR_STDOUT_CLOSE"></a> -### ERR_STDOUT_CLOSE - -An attempt was made to close the `process.stdout` stream. By design, Node.js -does not allow `stdout` or `stderr` streams to be closed by user code. - <a id="ERR_STREAM_CANNOT_PIPE"></a> ### ERR_STREAM_CANNOT_PIPE @@ -1955,6 +1943,37 @@ removed: v10.0.0 The `repl` module was unable to parse data from the REPL history file. + +<a id="ERR_STDERR_CLOSE"></a> +### ERR_STDERR_CLOSE +<!-- YAML +removed: REPLACEME +changes: + - version: REPLACEME + pr-url: https://github.com/nodejs/node/pull/23053 + description: Rather than emitting an error, `process.stderr.end()` now + only closes the stream side but not the underlying resource, + making this error obsolete. +--> + +An attempt was made to close the `process.stderr` stream. By design, Node.js +does not allow `stdout` or `stderr` streams to be closed by user code. + +<a id="ERR_STDOUT_CLOSE"></a> +### ERR_STDOUT_CLOSE +<!-- YAML +removed: REPLACEME +changes: + - version: REPLACEME + pr-url: https://github.com/nodejs/node/pull/23053 + description: Rather than emitting an error, `process.stderr.end()` now + only closes the stream side but not the underlying resource, + making this error obsolete. +--> + +An attempt was made to close the `process.stdout` stream. By design, Node.js +does not allow `stdout` or `stderr` streams to be closed by user code. + <a id="ERR_STREAM_READ_NOT_IMPLEMENTED"></a> ### ERR_STREAM_READ_NOT_IMPLEMENTED <!-- YAML diff --git a/doc/api/process.md b/doc/api/process.md index 07d9b43b55..0eaeef8ba3 100644 --- a/doc/api/process.md +++ b/doc/api/process.md @@ -1907,9 +1907,7 @@ important ways: 1. They are used internally by [`console.log()`][] and [`console.error()`][], respectively. -2. They cannot be closed ([`end()`][] will throw). -3. They will never emit the [`'finish'`][] event. -4. Writes may be synchronous depending on what the stream is connected to +2. Writes may be synchronous depending on what the stream is connected to and whether the system is Windows or POSIX: - Files: *synchronous* on Windows and POSIX - TTYs (Terminals): *asynchronous* on Windows, *synchronous* on POSIX @@ -2134,7 +2132,6 @@ cases: code will be `128` + `6`, or `134`. [`'exit'`]: #process_event_exit -[`'finish'`]: stream.html#stream_event_finish [`'message'`]: child_process.html#child_process_event_message [`'rejectionHandled'`]: #process_event_rejectionhandled [`'uncaughtException'`]: #process_event_uncaughtexception @@ -2148,7 +2145,6 @@ cases: [`console.error()`]: console.html#console_console_error_data_args [`console.log()`]: console.html#console_console_log_data_args [`domain`]: domain.html -[`end()`]: stream.html#stream_writable_end_chunk_encoding_callback [`net.Server`]: net.html#net_class_net_server [`net.Socket`]: net.html#net_class_net_socket [`NODE_OPTIONS`]: cli.html#cli_node_options_options |