profile
viewpoint

chjj/blessed 9463

A high-level terminal interface library for node.js.

mscdex/busboy 1960

A streaming parser for HTML form data for node.js

mscdex/cap 300

A cross-platform binding for performing packet capturing with node.js

mscdex/httpolyglot 162

Serve http and https connections over the same port with node.js

mscdex/dicer 152

A very fast streaming multipart parser for node.js

mscdex/connect-busboy 140

Connect middleware for busboy

mscdex/bellhop 28

A node.js module that exposes streams for doing Pubsub and RPC.

mscdex/base91.js 26

basE91 encoding/decoding for node.js and browsers

mscdex/groan 22

A PHP session file parser written in JavaScript

mscdex/grappler 19

A minimalistic server for "comet" connections in Node.js.

Pull request review commentnodejs/node

child_process: add ChildProcess 'spawn' event

 child process, the `message` argument can contain data that JSON is not able to represent. See [Advanced serialization][] for more details. +### Event: `'spawn'`+<!-- YAML+added: v14.13.0
added: REPLACEME
zenflow

comment created time in 16 minutes

PullRequestReviewEvent

pull request commentnodejs/node

stream: write(chunk, encoding, cb) encoding can be null

The targeted subsystem in the commit message should be doc instead of stream.

dev-script

comment created time in 17 minutes

push eventmscdex/nodebench

nodebench

commit sha 44f5d4a1a91dc548c1572a7e59d673cf8b4d17ae

results: add ff028016ffd1e5a157b8665c07356966c0ea9f2a

view details

push time in 4 hours

push eventmscdex/nodebench

nodebench

commit sha 6d35804602a3b4ffa9be9afaac0ea73d39d15139

results: add 785a5f9ae1674118ffeae4525080c6d3ede8fd3e

view details

push time in a day

push eventmscdex/nodebench

nodebench

commit sha 1efc23f224353567c7df34e541a0478c842f4565

results: add abd8cdfc4e7d0d7f563a9b0f91523fe8395d5e25

view details

push time in 2 days

push eventmscdex/nodebench

nodebench

commit sha 2f3dafc2a83931edd7aae89eefc070f22d33eb24

results: add d6fe46f749bf39f8cb0a9b29f13f34672122c4eb

view details

push time in 3 days

issue commentnodejs/node

Reloading page bypasses TLS client authentication

Firefox is most likely using TLS tickets. You can verify this by setting NODE_DEBUG=tls before starting node and then looking at the lines that start with server onclienthello. Those lines will tell you if there is a session ID being sent and if there is a session ticket being sent.

maikeriva

comment created time in 4 days

push eventmscdex/nodebench

nodebench

commit sha b22091fba7c596c3bebfbeee5cfbca8a71936eb9

results: add d71b467bbe8ffa5cacb54ff70b7329256b7f9c0a

view details

push time in 4 days

issue openednodejs/node

Feature Request: sync and async zlib.* instances without streams

Is your feature request related to a problem? Please describe.

I have a need to inflate/deflate chunks of data and get the result immediately/easily. The streaming interface makes this a bit cumbersome and has caused issues in the past (e.g. the changing of flushing behavior with multiple writes within a major node version).

Describe the solution you'd like

The solution I'd like would essentially be a hybrid between zlib.Deflate/zlib.Inflate/etc. and the one-off zlib.* functions. It would be like the zlib.Deflate/zlib.Inflate instances in that it would keep a zlib context around for reuse, but like the one-off functions in that it would only be used to process a single chunk. You could almost put this feature inside the one-off functions and just allow them to accept a pre-created zlib context (another API would need to be added to do this too).

Describe alternatives you've considered

I'm currently having to use the streaming interface which is less than ideal to say the least and is more prone to regressions because of the additional machinery (streams) involved. However I really do not want to have to maintain this extra complexity.

I've also considered just writing some binding code to do what I want, but I'd rather not have to force end users to have to compile to be able to use compression in my project, especially for something that should be easily achievable in node.

created time in 5 days

push eventmscdex/nodebench

nodebench

commit sha 4698f2d02faf179b190452d837c824c5b5223748

results: add 9c62e0e384e2ea5a45a4011f31c97be60f2a0737

view details

push time in 5 days

pull request commentnodejs/node

http: lazy create IncomingMessage.headers

The other thing to be aware of is that with this change, modifying .rawHeaders/.rawTrailers (before accessing .headers) can now affect the content of .headers.

ronag

comment created time in 6 days

issue openednodejs/node-gyp

Feature Request: display options in addition to commands in --help output

  • Node Version: n/a
  • Platform: n/a
  • Compiler: n/a
  • Module: n/a

Just as the title says, it would be very helpful to have the valid options listed in addition to commands in --help output as I'm always finding myself having to revisit the readme every time to remember what the name of some option is.

created time in 6 days

push eventmscdex/nodebench

nodebench

commit sha 9c9c3a2b75520c839c80eab1ebfe4e8d99f89a05

results: add a8971f87d3573ac247110e6afde0dc475fe21264

view details

push time in 6 days

issue commentmscdex/node-imap

time out issues.

In general with node, only use rejectUnauthorized: false if you don't care about security.

Rajan

comment created time in 7 days

push eventmscdex/nodebench

nodebench

commit sha 9abc7ed9a82d9735b1d8b47c3c5f41fc8f488e8f

results: add 770ad3a52dad9aa9977fae19221c6701352c1110

view details

push time in 7 days

push eventmscdex/nodebench

nodebench

commit sha b1bbed0b7ca44bf4eb53a71388598b4a04ccbdd9

results: add ed8af4e93831d3cf21d5562e900371d796b5fa20

view details

push time in 8 days

PR opened PHPMailer/PHPMailer

Reset SMTP session after error with keepalive

Fixes: https://github.com/PHPMailer/PHPMailer/issues/2137

I couldn't figure out a way to trigger the issue with the current testing mechanism in the project.

+3 -0

0 comment

1 changed file

pr created time in 9 days

push eventmscdex/PHPMailer

Brian White

commit sha f97e5b2611086119630321978559ccb6dfed58cf

Reset SMTP session after error with keepalive Fixes: https://github.com/PHPMailer/PHPMailer/issues/2137

view details

push time in 9 days

create barnchmscdex/PHPMailer

branch : smtp-fix-keepalive

created branch time in 9 days

fork mscdex/PHPMailer

The classic email sending library for PHP

fork in 9 days

issue commentmscdex/ssh2

Pipe to Channel hangs on "Parser: IN_PACKETBEFORE (expecting 16)"

@smarusa I have no idea and probably won't have time to investigate unfortunately. I'm currently in the middle of a rewrite which may remedy many of these issues though.

ad-m

comment created time in 9 days

issue openedPHPMailer/PHPMailer

SMTP connection not automatically reset on error when using keepalive

Please check these things before submitting your issue:

  • [x] Read the error message you're seeing - it often tells you what is wrong, and may contain useful links & instructions
  • [ ] Make sure you're using the latest version of PHPMailer
  • [x] Check that your problem is not dealt with in the troubleshooting guide, especially if you're having problems connecting to Gmail or GoDaddy
  • [ ] Include sufficient code to reproduce your problem
  • [ ] If you're having an SMTP issue, include the debug output generated with SMTPDebug = 2 set
  • [ ] If you have a question about how to use PHPMailer (rather than reporting a bug in it), tag a question on Stack Overflow with phpmailer, but search first!

Problem description

We encountered this issue on an older version of PHPMailer (5.2.6 to be precise) running on PHP 5.6, however after reviewing the latest code in both the 5.2-stable and master branches, it appears the same bug still exists.

If a connection is set to utilize keepalive with SMTP, an RSET is not automatically sent when an error is encountered, which can cause artificial issues when additional mail sends are attempted on the same connection. One example would be if the server replies with an error in response to a MAIL FROM. In this case PHPMailer immediately throws/returns directly back to the Send() callsite without performing any kind of cleanup along the way.

I think it might be a good idea to automatically reset the session for the user upon receiving an error, especially since I was not able to even find any warning about end users needing to explicitly call $mailer->smtp->Reset() when Send() fails and keepalive is being used.

The way I've fixed this (for now) is by patching class.phpmailer.php to add the following to the exception handler inside PostSend():

// PHPMailer 5.2.x
if ($this->Mailer == 'smtp' && $this->SMTPKeepAlive == true) {
  $this->smtp->Reset();
}

Code to reproduce

Debug output

created time in 9 days

issue commentmscdex/mmmagic

not able to install mmmagic

It needs a proper build environment because it's a compiled addon (written in C++), not just plain javascript.

shah20

comment created time in 9 days

push eventmscdex/nodebench

nodebench

commit sha 01c9e49e275745988d97ea649b1cdd7de5ea8d56

results: add c205f672e9cf0c70ea26f87eb97342947a244e18

view details

push time in 9 days

PR closed nodejs/node

these are tests invalid

<!-- Thank you for your pull request. Please provide a description above and review the requirements below.

Bug fixes and new features should include tests and possibly benchmarks.

Contributors guide: https://github.com/nodejs/node/blob/master/CONTRIBUTING.md -->

Checklist

<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->

  • [ ] make -j4 test (UNIX), or vcbuild test (Windows) passes
  • [ ] tests and/or benchmarks are included
  • [ ] documentation is changed or added
  • [ ] commit message follows commit guidelines

<!-- Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or

(b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or

(c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.

(d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved. -->

+3 -0

0 comment

2 changed files

sandyddinh

pr closed time in 9 days

issue commentmscdex/busboy

Any issues with Node14?

It could very well be that node changed the order of events.

amit777

comment created time in 10 days

issue closedmscdex/ssh2

Using a readStream in server read request

I'm having a little trouble trying to figure out how to use a read stream to fulfill read requests using the sftp server I've implemented. Excuse me if this has already been asked, but I couldn't seam to find it. As a workaround I could stream the file to a local tmp and use sync file read, but it would be far faster to stream it.

Basically, if the read stream runs out of buffer, it needs to refill the buffer and continue. In that time a bunch of requests are coming in (i've tried returning true and false, not sure what the appropriate action would be if the stream isn't ready).

I can get it to read the entire file, and call EOF after, but it never finishes downloading (but is at 100%).

I can give you some pseudo code examples if you are not following.

closed time in 10 days

steveswallow

push eventmscdex/nodebench

nodebench

commit sha 4a0c3568bdfa67aa00c7e2e1cfa93265ff7d8e40

results: add 69ef4c2375b5110886b08957cd2305ce8aa8eb32

view details

push time in 10 days

issue commentmscdex/busboy

Any issues with Node14?

I don't know of anything offhand.

amit777

comment created time in 10 days

issue commentmscdex/node-imap

Search then Fetch

imap.search() returns UIDs, not sequence numbers. If you want the latter, you need imap.seq.search().

georgeglessner

comment created time in 10 days

issue commentnodejs/node

Node.Js does not build successfully using --shared-openssl configure flag

You need a newer (or more complete) version of OpenSSL 1.1.1. In general it's best to match the version of OpenSSL bundled with whichever version/branch of node you're compiling for.

A quick search reveals that a bugfix for EVP_PKEY_OP_TYPE_KEYGEN being undefined was introduced in 1.1.1a and OPENSSL_INIT_set_config_filename was introduced in 1.1.1b (check the crypto.h diff).

crowder-pw

comment created time in 11 days

Pull request review commentnodejs/node

doc: split supported platforms table

 Node.js does not support a platform version if a vendor has expired support for it. In other words, Node.js does not support running on End-of-Life (EoL) platforms. This is true regardless of entries in the table below. -| Operating System | Architectures    | Versions                        | Support Type | Notes                             |-| ---------------- | ---------------- | ------------------------------- | ------------ | --------------------------------- |-| GNU/Linux        | x64              | kernel >= 3.10, glibc >= 2.17   | Tier 1       | e.g. Ubuntu 16.04 <sup>[1](#fn1)</sup>, Debian 9, EL 7 <sup>[2](#fn2)</sup> |-| GNU/Linux        | x64              | kernel >= 3.10, musl >= 1.1.19  | Experimental | e.g. Alpine 3.8                   |-| GNU/Linux        | x86              | kernel >= 3.10, glibc >= 2.17   | Experimental | Downgraded as of Node.js 10       |-| GNU/Linux        | arm64            | kernel >= 4.5, glibc >= 2.17    | Tier 1       | e.g. Ubuntu 16.04, Debian 9, EL 7 <sup>[3](#fn3)</sup> |-| GNU/Linux        | armv7            | kernel >= 4.14, glibc >= 2.24   | Tier 1       | e.g. Ubuntu 18.04, Debian 9       |-| GNU/Linux        | armv6            | kernel >= 4.14, glibc >= 2.24   | Experimental | Downgraded as of Node.js 12       |-| GNU/Linux        | ppc64le >=power8 | kernel >= 3.10.0, glibc >= 2.17 | Tier 2       | e.g. Ubuntu 16.04 <sup>[1](#fn1)</sup>, EL 7  <sup>[2](#fn2)</sup> |-| GNU/Linux        | s390x            | kernel >= 3.10.0, glibc >= 2.17 | Tier 2       | e.g. EL 7 <sup>[2](#fn2)</sup>    |-| Windows          | x64, x86 (WoW64) | >= Windows 8.1/2012 R2          | Tier 1       | <sup>[4](#fn4),[5](#fn5)</sup>    |-| Windows          | x86 (native)     | >= Windows 8.1/2012 R2          | Tier 1 (running) / Experimental (compiling) <sup>[6](#fn6)</sup> | |-| Windows          | x64, x86         | Windows Server 2012 (not R2)    | Experimental |                                   |-| Windows          | arm64            | >= Windows 10                   | Tier 2 (compiling) / Experimental (running) |    |-| macOS            | x64              | >= 10.13                        | Tier 1       |                                   |-| SmartOS          | x64              | >= 18                           | Tier 2       |                                   |-| AIX              | ppc64be >=power7 | >= 7.2 TL02                     | Tier 2       |                                   |-| FreeBSD          | x64              | >= 11                           | Experimental | Downgraded as of Node.js 12  <sup>[7](#fn7)</sup>     |--<em id="fn1">1</em>: GCC 6 is not provided on the base platform. Users will+#### Tier 1++| Operating System | Architectures    | Versions                        | Notes                             |+| ---------------- | ---------------- | ------------------------------- | --------------------------------- |+| GNU/Linux        | x64              | kernel >= 3.10, glibc >= 2.17   | e.g. Ubuntu 16.04 <sup>[1](#tier1-fn1)</sup>, Debian 9, EL 7 <sup>[2](#tier1-fn2)</sup> |+| GNU/Linux        | arm64            | kernel >= 4.5, glibc >= 2.17    | e.g. Ubuntu 16.04, Debian 9, EL 7 <sup>[3](#tier1-fn3)</sup> |+| GNU/Linux        | armv7            | kernel >= 4.14, glibc >= 2.24   | e.g. Ubuntu 18.04, Debian 9       |+| Windows          | x64, x86 (WoW64) | >= Windows 8.1/2012 R2          | <sup>[4](#tier1-fn4),[5](#tier1-fn5)</sup>    |+| Windows          | x86 (native)     | >= Windows 8.1/2012 R2          | Tier 1 (running) / Experimental (compiling) <sup>[6](#tier1-fn6)</sup> |+| macOS            | x64              | >= 10.13                        |                                   |++<em id="tier1-fn1">1</em>: GCC 6 is not provided on the base platform. Users will   need the   [Toolchain test builds PPA](https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test?field.series_filter=xenial)   or similar to source a newer compiler. -<em id="fn2">2</em>: GCC 6 is not provided on the base platform. Users will+<em id="tier1-fn2">2</em>: GCC 6 is not provided on the base platform. Users will   need the   [devtoolset-6](https://www.softwarecollections.org/en/scls/rhscl/devtoolset-6/)   or later to source a newer compiler. -<em id="fn3">3</em>: Older kernel versions may work for ARM64. However the+<em id="tier1-fn3">3</em>: Older kernel versions may work for ARM64. However the   Node.js test infrastructure only tests >= 4.5. -<em id="fn4">4</em>: On Windows, running Node.js in Windows terminal emulators+<em id="tier1-fn4">4</em>: On Windows, running Node.js in Windows terminal emulators   like `mintty` requires the usage of [winpty](https://github.com/rprichard/winpty)   for the tty channels to work (e.g. `winpty node.exe script.js`).   In "Git bash" if you call the node shell alias (`node` without the `.exe`   extension), `winpty` is used automatically. -<em id="fn5">5</em>: The Windows Subsystem for Linux (WSL) is not+<em id="tier1-fn5">5</em>: The Windows Subsystem for Linux (WSL) is not   supported, but the GNU/Linux build process and binaries should work. The   community will only address issues that reproduce on native GNU/Linux   systems. Issues that only reproduce on WSL should be reported in the   [WSL issue tracker](https://github.com/Microsoft/WSL/issues). Running the   Windows binary (`node.exe`) in WSL is not recommended. It will not work   without workarounds such as stdio redirection. -<em id="fn6">6</em>: Running Node.js on x86 Windows should work and binaries+<em id="tier1-fn6">6</em>: Running Node.js on x86 Windows should work and binaries are provided. However, tests in our infrastructure only run on WoW64. Furthermore, compiling on x86 Windows is Experimental and may not be possible. -<em id="fn7">7</em>: The default FreeBSD 12.0 compiler is Clang 6.0.1, but++#### Tier 2++| Operating System | Architectures    | Versions                        | Notes                             |+| ---------------- | ---------------- | ------------------------------- | --------------------------------- |+| GNU/Linux        | ppc64le >=power8 | kernel >= 3.10.0, glibc >= 2.17 | e.g. Ubuntu 16.04 <sup>[1](#tier2-fn1)</sup>, EL 7  <sup>[2](#tier2-fn2)</sup> |+| GNU/Linux        | s390x            | kernel >= 3.10.0, glibc >= 2.17 | e.g. EL 7 <sup>[2](#tier2-fn2)</sup>              |+| Windows          | arm64            | >= Windows 10                   | Tier 2 (compiling) / Experimental (running) |

Or maybe duplicate these split support entries and just note which type in the comments?

mmarchini

comment created time in 11 days

PullRequestReviewEvent

Pull request review commentnodejs/node

doc: split supported platforms table

 Node.js does not support a platform version if a vendor has expired support for it. In other words, Node.js does not support running on End-of-Life (EoL) platforms. This is true regardless of entries in the table below. -| Operating System | Architectures    | Versions                        | Support Type | Notes                             |-| ---------------- | ---------------- | ------------------------------- | ------------ | --------------------------------- |-| GNU/Linux        | x64              | kernel >= 3.10, glibc >= 2.17   | Tier 1       | e.g. Ubuntu 16.04 <sup>[1](#fn1)</sup>, Debian 9, EL 7 <sup>[2](#fn2)</sup> |-| GNU/Linux        | x64              | kernel >= 3.10, musl >= 1.1.19  | Experimental | e.g. Alpine 3.8                   |-| GNU/Linux        | x86              | kernel >= 3.10, glibc >= 2.17   | Experimental | Downgraded as of Node.js 10       |-| GNU/Linux        | arm64            | kernel >= 4.5, glibc >= 2.17    | Tier 1       | e.g. Ubuntu 16.04, Debian 9, EL 7 <sup>[3](#fn3)</sup> |-| GNU/Linux        | armv7            | kernel >= 4.14, glibc >= 2.24   | Tier 1       | e.g. Ubuntu 18.04, Debian 9       |-| GNU/Linux        | armv6            | kernel >= 4.14, glibc >= 2.24   | Experimental | Downgraded as of Node.js 12       |-| GNU/Linux        | ppc64le >=power8 | kernel >= 3.10.0, glibc >= 2.17 | Tier 2       | e.g. Ubuntu 16.04 <sup>[1](#fn1)</sup>, EL 7  <sup>[2](#fn2)</sup> |-| GNU/Linux        | s390x            | kernel >= 3.10.0, glibc >= 2.17 | Tier 2       | e.g. EL 7 <sup>[2](#fn2)</sup>    |-| Windows          | x64, x86 (WoW64) | >= Windows 8.1/2012 R2          | Tier 1       | <sup>[4](#fn4),[5](#fn5)</sup>    |-| Windows          | x86 (native)     | >= Windows 8.1/2012 R2          | Tier 1 (running) / Experimental (compiling) <sup>[6](#fn6)</sup> | |-| Windows          | x64, x86         | Windows Server 2012 (not R2)    | Experimental |                                   |-| Windows          | arm64            | >= Windows 10                   | Tier 2 (compiling) / Experimental (running) |    |-| macOS            | x64              | >= 10.13                        | Tier 1       |                                   |-| SmartOS          | x64              | >= 18                           | Tier 2       |                                   |-| AIX              | ppc64be >=power7 | >= 7.2 TL02                     | Tier 2       |                                   |-| FreeBSD          | x64              | >= 11                           | Experimental | Downgraded as of Node.js 12  <sup>[7](#fn7)</sup>     |--<em id="fn1">1</em>: GCC 6 is not provided on the base platform. Users will+#### Tier 1++| Operating System | Architectures    | Versions                        | Notes                             |+| ---------------- | ---------------- | ------------------------------- | --------------------------------- |+| GNU/Linux        | x64              | kernel >= 3.10, glibc >= 2.17   | e.g. Ubuntu 16.04 <sup>[1](#tier1-fn1)</sup>, Debian 9, EL 7 <sup>[2](#tier1-fn2)</sup> |+| GNU/Linux        | arm64            | kernel >= 4.5, glibc >= 2.17    | e.g. Ubuntu 16.04, Debian 9, EL 7 <sup>[3](#tier1-fn3)</sup> |+| GNU/Linux        | armv7            | kernel >= 4.14, glibc >= 2.24   | e.g. Ubuntu 18.04, Debian 9       |+| Windows          | x64, x86 (WoW64) | >= Windows 8.1/2012 R2          | <sup>[4](#tier1-fn4),[5](#tier1-fn5)</sup>    |+| Windows          | x86 (native)     | >= Windows 8.1/2012 R2          | Tier 1 (running) / Experimental (compiling) <sup>[6](#tier1-fn6)</sup> |+| macOS            | x64              | >= 10.13                        |                                   |++<em id="tier1-fn1">1</em>: GCC 6 is not provided on the base platform. Users will   need the   [Toolchain test builds PPA](https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test?field.series_filter=xenial)   or similar to source a newer compiler. -<em id="fn2">2</em>: GCC 6 is not provided on the base platform. Users will+<em id="tier1-fn2">2</em>: GCC 6 is not provided on the base platform. Users will   need the   [devtoolset-6](https://www.softwarecollections.org/en/scls/rhscl/devtoolset-6/)   or later to source a newer compiler. -<em id="fn3">3</em>: Older kernel versions may work for ARM64. However the+<em id="tier1-fn3">3</em>: Older kernel versions may work for ARM64. However the   Node.js test infrastructure only tests >= 4.5. -<em id="fn4">4</em>: On Windows, running Node.js in Windows terminal emulators+<em id="tier1-fn4">4</em>: On Windows, running Node.js in Windows terminal emulators   like `mintty` requires the usage of [winpty](https://github.com/rprichard/winpty)   for the tty channels to work (e.g. `winpty node.exe script.js`).   In "Git bash" if you call the node shell alias (`node` without the `.exe`   extension), `winpty` is used automatically. -<em id="fn5">5</em>: The Windows Subsystem for Linux (WSL) is not+<em id="tier1-fn5">5</em>: The Windows Subsystem for Linux (WSL) is not   supported, but the GNU/Linux build process and binaries should work. The   community will only address issues that reproduce on native GNU/Linux   systems. Issues that only reproduce on WSL should be reported in the   [WSL issue tracker](https://github.com/Microsoft/WSL/issues). Running the   Windows binary (`node.exe`) in WSL is not recommended. It will not work   without workarounds such as stdio redirection. -<em id="fn6">6</em>: Running Node.js on x86 Windows should work and binaries+<em id="tier1-fn6">6</em>: Running Node.js on x86 Windows should work and binaries are provided. However, tests in our infrastructure only run on WoW64. Furthermore, compiling on x86 Windows is Experimental and may not be possible. -<em id="fn7">7</em>: The default FreeBSD 12.0 compiler is Clang 6.0.1, but++#### Tier 2++| Operating System | Architectures    | Versions                        | Notes                             |+| ---------------- | ---------------- | ------------------------------- | --------------------------------- |+| GNU/Linux        | ppc64le >=power8 | kernel >= 3.10.0, glibc >= 2.17 | e.g. Ubuntu 16.04 <sup>[1](#tier2-fn1)</sup>, EL 7  <sup>[2](#tier2-fn2)</sup> |+| GNU/Linux        | s390x            | kernel >= 3.10.0, glibc >= 2.17 | e.g. EL 7 <sup>[2](#tier2-fn2)</sup>              |+| Windows          | arm64            | >= Windows 10                   | Tier 2 (compiling) / Experimental (running) |

I think we should decide what these tier tables represent, either for compilation or execution. I personally think it should indicate support for execution, in which case this entry would need to be moved to the 'Experimental' table below.

mmarchini

comment created time in 11 days

PullRequestReviewEvent

push eventmscdex/nodebench

nodebench

commit sha f95b9dead0ee3b282c9ee1b32972ddfd06bfdba0

results: add 2b3eb101b57ff99cb1e3917dfe6f3064a37ea220

view details

push time in 11 days

issue commentmscdex/ssh2

Using a readStream in server read request

It's not a node or ssh2 issue, it's just that streams of data in general and SFTP are not really compatible for the reason I mentioned.

FWIW Redis also has a method for extracting subsets of data that could be used: GETRANGE

steveswallow

comment created time in 12 days

Pull request review commentnodejs/node

win, child_process: sanitize env variables

 function normalizeSpawnArguments(file, args, options) {     env.NODE_V8_COVERAGE = process.env.NODE_V8_COVERAGE;   } +  let envKeys = [];   // Prototype values are intentionally included.   for (const key in env) {+    envKeys.push(key);+  }++  if (process.platform === 'win32') {+    // On Windows env keys are case insensitive. Filter out duplicates,+    // keeping only the first one (in lexicographic order)+    const sawKey = new Set();+    envKeys = envKeys.sort().filter((key) => {+      const upercaseKey = key.toUpperCase();+      if (sawKey.has(upercaseKey)) {+        return false;+      }+      sawKey.add(upercaseKey);
      sawKey.add(uppercaseKey);
bzoz

comment created time in 12 days

PullRequestReviewEvent

Pull request review commentnodejs/node

win, child_process: sanitize env variables

 function normalizeSpawnArguments(file, args, options) {     env.NODE_V8_COVERAGE = process.env.NODE_V8_COVERAGE;   } +  let envKeys = [];   // Prototype values are intentionally included.   for (const key in env) {+    envKeys.push(key);+  }++  if (process.platform === 'win32') {+    // On Windows env keys are case insensitive. Filter out duplicates,+    // keeping only the first one (in lexicographic order)+    const sawKey = new Set();+    envKeys = envKeys.sort().filter((key) => {+      const upercaseKey = key.toUpperCase();+      if (sawKey.has(upercaseKey)) {
      if (sawKey.has(uppercaseKey)) {
bzoz

comment created time in 12 days

PullRequestReviewEvent

Pull request review commentnodejs/node

win, child_process: sanitize env variables

 function normalizeSpawnArguments(file, args, options) {     env.NODE_V8_COVERAGE = process.env.NODE_V8_COVERAGE;   } +  let envKeys = [];   // Prototype values are intentionally included.   for (const key in env) {+    envKeys.push(key);+  }++  if (process.platform === 'win32') {+    // On Windows env keys are case insensitive. Filter out duplicates,+    // keeping only the first one (in lexicographic order)+    const sawKey = new Set();+    envKeys = envKeys.sort().filter((key) => {+      const upercaseKey = key.toUpperCase();
      const uppercaseKey = key.toUpperCase();
bzoz

comment created time in 12 days

PullRequestReviewEvent

pull request commentnodejs/node

fs/promises: fix fd resource cleanup

Is there a way we can add a test for this?

bnoordhuis

comment created time in 12 days

issue commentmscdex/node-imap

Child processes (fetchMsg, msg) do not throw any error when IMAP has error

My only guess is that there is some kind of bug in your code. If the socket disconnects, there is no way for imap to magically continue. Are you reusing the same connection object when reconnecting or creating a new connection object (new Imap(..)) on each try (this would be preferrable)?

Dsiddhesh

comment created time in 12 days

push eventmscdex/nodebench

nodebench

commit sha 82f7dc07f7a18f4bdf3f5e7aeeed0163fe126378

results: add 9d12c14b19bc30baa4cf556a0b8281e76637f7db

view details

push time in 12 days

issue commentmscdex/ssh2

Using a readStream in server read request

You can respond to them in any order you want. However be aware that clients can request any offset at any time, which is going to be difficult/impossible to support with a readable stream backing the opened file.

On a related note, the S3 API allows for retrieving byte ranges of objects.

steveswallow

comment created time in 12 days

issue commentmscdex/ssh2

Using a readStream in server read request

Well in general, you can respond the requests at any time, you don't have to respond immediately within the request handler itself. So if you get a read request for more bytes than are available, just wait until that many bytes are available or the stream ends, whichever comes first. At that point you can respond with the appropriate response (sftp.status(reqid, STATUS_CODE.EOF) or sftp.data(reqid, data);).

steveswallow

comment created time in 13 days

pull request commentnodejs/node

module: Improves Top-Level await error in cjs

I agree changing this in V8 would be a better solution than having to maintain a error message string check like this.

bdougie

comment created time in 13 days

issue commentmscdex/ssh2

Using a readStream in server read request

I'm curious as to why you're using a stream for this. Why not simply do the equivalent of fs.open() for 'OPEN' requests, fs.read() for 'READ' requests, etc., or using those exact methods if you're just reading from the local disk? That would simplify things a lot.

steveswallow

comment created time in 13 days

issue commentmscdex/ssh2

Using a readStream in server read request

I think I'd need to see a simple example of what you're trying to accomplish.

steveswallow

comment created time in 13 days

issue commentnodejs/node

v12.17.0 zlib.gzipSync changed compression result

@puzrin As for the why, you would have to ask that question to the Chromium team as we are using their zlib fork.

adrai

comment created time in 13 days

issue commentmscdex/node-imap

Child processes (fetchMsg, msg) do not throw any error when IMAP has error

It shouldn't hurt anything, but you shouldn't need to explicitly destroy since any 'error' event typically indicates a fatal (connection) error which should cause the closing of the underlying socket.

Dsiddhesh

comment created time in 13 days

issue commentmscdex/node-imap

Child processes (fetchMsg, msg) do not throw any error when IMAP has error

If you don't have any keepalive enabled, then a network disconnection won't be detected (as quickly as you expect) because of how TCP works and your OS's TCP connection settings. If keepalive is enabled, then the network disconnection will be detected and the appropriate error will be emitted.

Dsiddhesh

comment created time in 13 days

issue closedmscdex/node-imap

Regarding errror [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client

Hi Team, We are using IMAP NPM for our application and while batch testing we came across this error inside 'error' event. We checked on the net and concluded that this error is thrown when a server tries to send more than one response to a client. In our case we are unable to find out for which exact scenario we are getting this error. We are executing mix flows which has functionality like get Email using filter, list folder, update email message etc, We wanted to know if there is any way if we can get more insights about this error in 'error' event of IMAP or is there any way to handle it.

closed time in 13 days

Dsiddhesh

issue commentmscdex/node-imap

Child processes (fetchMsg, msg) do not throw any error when IMAP has error

I'm not quite sure what kind of setup you have going on there, but on the imap connection object, you can listen for the 'error' event for errors and the 'close'/'end' event to know when the connection closes.

You can additionally set an explicit keepalive setting in your connection config object to change how dead connections are detected.

Dsiddhesh

comment created time in 13 days

issue commentmscdex/ssh2-streams

Packet transform errors kill the server

Like all EventEmitters in node, you can attach an 'error' event handler on the (sftp instance) object.

AlexandraK

comment created time in 13 days

pull request commentnodejs/node

fs: add validation for fd and path

Refs: in the commit message should instead be Fixes: as the changes resolve the linked issue.

dylanelliott27

comment created time in 13 days

Pull request review commentnodejs/node

fs: add validation for fd and path

+'use strict';+require('../common');++const assert = require('assert');+const fs = require('fs');++{+  const fd = 'k';++  assert.throws(+    () => {+      fs.createReadStream(null, { fd: fd });+    },+    {+      code: 'ERR_INVALID_ARG_TYPE',+      name: 'TypeError',+    });++  assert.throws(+    () => {+      fs.createWriteStream(null, { fd: fd });
      fs.createWriteStream(null, { fd });
dylanelliott27

comment created time in 13 days

PullRequestReviewEvent

Pull request review commentnodejs/node

fs: add validation for fd and path

+'use strict';+require('../common');++const assert = require('assert');+const fs = require('fs');++{+  const fd = 'k';++  assert.throws(+    () => {+      fs.createReadStream(null, { fd: fd });
      fs.createReadStream(null, { fd });
dylanelliott27

comment created time in 13 days

PullRequestReviewEvent

Pull request review commentnodejs/node

fs: add validation for fd and path

 function WriteStream(path, options) {   this.closed = false;   this[kIsPerformingIO] = false; +  // If fd has been set, validate, otherwise validate path.+  if (this.fd !== null) {+    validateInteger(this.fd, 'fd', 0);+  } else if (this.fd === null) {
  } else {
dylanelliott27

comment created time in 13 days

PullRequestReviewEvent

Pull request review commentnodejs/node

fs: add validation for fd and path

 function ReadStream(path, options) {     this.pos = this.start;   } +  // If fd has been set, validate, otherwise validate path.+  if (this.fd !== null) {+    validateInteger(this.fd, 'fd', 0);+  } else if (this.fd === null) {
  } else {
dylanelliott27

comment created time in 13 days

PullRequestReviewEvent

push eventmscdex/nodebench

nodebench

commit sha d6d51c09608016fa4a951fa10f79573995e7bcd9

results: add 35d82af78c1bbd05baa783b3b25f2eb7b48d1848

view details

push time in 13 days

push eventmscdex/nodebench

nodebench

commit sha 2413e6276997d3e1ab464d2d9b9c5e4b9ea1f0e9

results: add a63e121e339daf54c8037a27be6a406f0588ca4b

view details

push time in 14 days

Pull request review commentnodejs/node

doc: update process.release

 tarball. * `lts` {string} a string label identifying the [LTS][] label for this release.   This property only exists for LTS releases and is `undefined` for all other   release types, including _Current_ releases. Currently the valid values are:

If we're not going to maintain a list of all possible values, then I think we should change the preceding wording here from "Currently the valid values are:" to something like "Valid values may include:" to indicate that the following list is a subset. While "Argon" and others may no longer be supported they are still technically LTS release lines that someone could encounter.

schamberg97

comment created time in 15 days

PullRequestReviewEvent

push eventmscdex/nodebench

nodebench

commit sha 8b60c1bb07e6d3169123e86a58e41ef90a82e533

results: add 636c0bb419907188308c01992e546ab1628bc556

view details

push time in 15 days

push eventmscdex/nodebench

nodebench

commit sha 48a198aea3e10b3c1fdad7f2fe4ca1c1bc472822

results: add 7fc1a4a893e080d0e55d7af9638938d00889dc24

view details

push time in 16 days

push eventmscdex/nodebench

nodebench

commit sha 1b92ae25870aea6c9f857877a9ac5369c164fdc9

results: add 1204400d6411694d08bde0c3c197c9a72b72f570

view details

push time in 17 days

issue commentmscdex/node-imap

get wrong struct with recursive attachment

Could you set debug: console.log in your connection config object and show the relevant lines resulting from the fetch?

chenxiaoba

comment created time in 17 days

issue commentmscdex/ssh2

Can't start ssh session - Error: Handshake failed: no matching client->server HMAC

Until the bug is resolved, a matching HMAC has to be found.

MonsieurBarti

comment created time in 18 days

Pull request review commentnodejs/node

lib: return boolean result of `assert.match` method

 assert.ifError = function ifError(err) {   } }; -function internalMatch(string, regexp, message, fn) {+function internalMatch(string, regexp, message, fn, shouldThrows = true) {

minor nit: shouldThrow would sound better IMO

juanarbol

comment created time in 18 days

PullRequestReviewEvent

issue commentmscdex/ssh2

Can't start ssh session - Error: Handshake failed: no matching client->server HMAC

If the cipher being selected during the handshake is an AEAD cipher (e.g. aes-gcm), then this is a known issue. If not, the error indicates that the server does not support the HMACs you have set in your algorithms.

MonsieurBarti

comment created time in 18 days

push eventmscdex/nodebench

nodebench

commit sha 26ddff63b0dfec98d4016ff7e8c4175e52628d42

results: add ccdd1bd82acf8d2c92ae08dcfad327f5adb030ac

view details

push time in 18 days

issue commentmscdex/node-imap

Regarding errror [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client

imap has nothing to do with http. The error is coming from somewhere else in your code.

Dsiddhesh

comment created time in 18 days

issue commentnodejs/node

Visited doc links styling is visually distracting

Here's an example of what I currently see:

link-styling

mscdex

comment created time in 19 days

issue openednodejs/node

Visited doc links styling is visually distracting

  • Version: master
  • Platform: n/a
  • Subsystem: doc

https://github.com/nodejs/node/pull/35034 removed the default styling for links, which is now causing visited links to contrast with all other links and is visually distracting. Perhaps the original issue can be solved some other way?

created time in 19 days

issue commentmscdex/busboy

Using async function for file event handler of busboy

'finish' gets emitted when the entire form has been parsed/read. This does not necessarily indicate that buffered file contents (in memory) have been completely written to disk yet because of how node streams work. You're free to handle that situation however you want.

johnsky007

comment created time in 19 days

issue commentmscdex/ssh2

Timed out while waiting for handshake stuck on Outgoing: Writing KEXINIT

I'm not sure I understand the situation. Are you changing IPs (on the client?) while connecting to an ssh server or ?

RunsetTech

comment created time in 19 days

push eventmscdex/nodebench

nodebench

commit sha 848addd1b75ef117514ecf3968fab6df5e2e0fea

results: add cb2b82bddc1dd8d434847388c460d507433aeae2

view details

push time in 19 days

Pull request review commentnodejs/node

crypto: improve randomInt out-of-range error message

 assert.throws(     assert.throws(() => crypto.randomInt(...arg, common.mustNotCall()), {       code: 'ERR_OUT_OF_RANGE',       name: 'RangeError',-      message: 'The value of "max" is out of range. It must be > ' +

Why not just change the string's wording instead of completely removing the property?

Trott

comment created time in 20 days

PullRequestReviewEvent

pull request commentnodejs/node

crypto: improve randomInt out-of-range error message

s/cryptop/crypto/ in commit message

Trott

comment created time in 20 days

push eventmscdex/nodebench

nodebench

commit sha b6ac07d034ecfe14c3fc3bf986a45264e4706c19

results: add 226eabb1aa4b178c32c002b641bef3688c4097ba

view details

push time in 20 days

issue commentmscdex/connect-busboy

EPIPE Error when uploading large file using nodejs

The server is somehow severing the connection abruptly. I don't see anything wrong with the code you've shown.

soubhikchatterjee

comment created time in 20 days

push eventmscdex/nodebench

nodebench

commit sha 88a2cac8dffea66c432c9222616dcb04df29faf4

results: add 66f62b3cf910411462511069f06fea19065f31d7

view details

push time in 21 days

push eventmscdex/nodebench

nodebench

commit sha bab6ea52277075ee0f679f9ec84f2389699d1c65

results: add 6e8701b92335a0fbf2f732948c00202b4fa9bbfe

view details

push time in 22 days

pull request commentnodejs/node

doc: add missing copyFile change history

It's debatable that this is worth including, especially considering the semver-major label of the original PR was added "defensively" as the PR was designed to fix a bug.

I don't think we typically document these sorts of changes to APIs (?) because users should have been passing legitimate values in the first place.

codebytere

comment created time in 23 days

Pull request review commentnodejs/node

doc: add missing copyFile change history

 operations. The specific constants currently defined are described in ## `fs.copyFile(src, dest[, mode], callback)` <!-- YAML added: v8.5.0+changes:+  - version: v14.0.0+    pr-url: https://github.com/nodejs/node/pull/27044+    description: Changed 'mode' argument to 'flags' and imposed

Two issues I see with this:

  • It actually changed from flags to mode
  • I don't think documenting the name change is worthwhile. All that really matters (if anything) is the change in behavior.
codebytere

comment created time in 23 days

PullRequestReviewEvent

Pull request review commentnodejs/node

crypto: fix randomInt range check

 assert.throws(     }   ); -  crypto.randomInt(0, common.mustCall());-  crypto.randomInt(0, 0, common.mustCall());

Yes.

tniessen

comment created time in 23 days

PullRequestReviewEvent
more