Commit graph

222 commits

Author SHA1 Message Date
rillig
27765e1864 lang/nodejs: allow no-op SUBST 2020-03-22 20:28:13 +00:00
adam
d4f3db6918 nodejs: updated to 3.11.0
Version 13.11.0

Notable Changes:
async_hooks: add sync enterWith to ALS
cli: allow --jitless V8 flag in NODE_OPTIONS
fs: return first folder made by mkdir recursive
n-api: define release 6
os: create a getter for kernel version
wasi: add returnOnExit option
2020-03-18 10:03:59 +00:00
tnn
22a17c931b nodejs: remove a stale portability skip. Add another one. 2020-03-13 00:45:06 +00:00
jperkin
19524e16da nodejs*: Unbreak builds, again, this time with comment. 2020-03-11 09:22:49 +00:00
adam
573b699def nodejs: updated to 13.10.1
Version 13.10.1 (Current):

In Node.js 13.9.0 deps/zlib was switched to the chromium maintained implementation. This change had the unforseen consequence of breaking building from the tarballs we release as we were too aggressively removing unneccessary files from the deps/zlib folder. This release includes a patch that ensures that individuals will once again be able to build Node.js from source.
2020-03-05 10:13:18 +00:00
adam
c6bbb4e69e nodejs: updated to 13.10.0
Version 13.10.0 (Current):

Notable Changes

async_hooks
- introduce async-context API
stream
- support passing generator functions into pipeline()
tls
- expose SSL_export_keying_material
vm
- implement vm.measureMemory() for per-context memory measurement
2020-03-04 18:59:39 +00:00
adam
62522c0c94 nodejs: updated to 13.9.0
Version 13.9.0 (Current)
async_hooks
* add executionAsyncResource
crypto
* add crypto.diffieHellman
* add DH support to generateKeyPair
* simplify DH groups
* add key type 'dh'
test
* skip keygen tests on arm systems
perf_hooks
* add property flags to GCPerformanceEntry
process
* report ArrayBuffer memory in memoryUsage()
readline
* make tab size configurable
report
* add support for Workers
worker
* add ability to take heap snapshot from parent thread
added new collaborators
* add ronag to collaborators
2020-02-24 16:04:21 +00:00
jperkin
2dfcdec6c1 nodejs*: Consolidate python27 requirement.
It's still required as of nodejs v13.
2020-02-18 23:06:05 +00:00
adam
17f4d01def nodejs: updated to 13.8.0
Version 13.8.0 (Current):

Notable Changes

This is a security release.

Vulnerabilities fixed:

CVE-2019-15606: HTTP header values do not have trailing OWS trimmed.
CVE-2019-15605: HTTP request smuggling using malformed Transfer-Encoding header.
CVE-2019-15604: Remotely trigger an assertion on a TLS server with a malformed certificate string.

Also, HTTP parsing is more strict to be more secure. Since this may cause problems in interoperability with some non-conformant HTTP implementations, it is possible to disable the strict checks with the --insecure-http-parser command line flag, or the insecureHTTPParser http option. Using the insecure HTTP parser should be avoided.
2020-02-07 09:51:53 +00:00
jperkin
982c63fe94 *: Remove obsolete BUILDLINK_API_DEPENDS.openssl. 2020-01-25 10:45:10 +00:00
adam
cc82abf612 nodejs12: use external OpenSSL; bump revision 2020-01-24 18:55:49 +00:00
adam
b3c2386e9c nodejs: updated to 13.7.0
Version 13.7.0

Notable Changes
deps:
* upgrade to libuv 1.34.1
* upgrade npm to 6.13.6
module
* add API for interacting with source maps
* loader getSource, getFormat, transform hooks
* logical conditional exports ordering
* unflag conditional exports
process:
* allow monitoring uncaughtException
2020-01-24 18:52:20 +00:00
adam
a308b104e2 nodejs: updated to 13.6.0
Version 13.6.0 (Current):

Notable Changes
* assert:
  - Implement assert.match() and assert.doesNotMatch()
* events:
  - Add EventEmitter.on to async iterate over events
  - Allow monitoring error events
* fs:
  - Allow overriding fs for streams
* perf_hooks:
  - Move perf_hooks out of experimental
* repl:
  - Implement ZSH-like reverse-i-search
* tls:
  - Add PSK (pre-shared key) support
2020-01-08 22:30:38 +00:00
tnn
832b24ce43 nodejs: work around type issue in NetBSD's copy of libc++ headers 2020-01-06 23:06:44 +00:00
adam
2013de043b nodejs: updated to 13.5.0
Version 13.5.0 (Current):
Notable Changes
cli:
* add --trace-exit cli option
http,https:
* increase server headers timeout
readline:
* update ansi-regex
* promote _getCursorPos to public api
repl:
* add completion preview
util:
* add Set and map size to inspect output
wasi:
* require CLI flag to require() wasi module
2019-12-29 15:38:04 +00:00
adam
02cd59eccf Get rid of http-parser for nodejs 12+ 2019-12-13 06:26:07 +00:00
adam
7a3df3ad92 nodejs: updated to 13.3.0
Version 13.3.0:

Notable Changes
fs:
Reworked experimental recursive rmdir()
The maxBusyTries option is renamed to maxRetries, and its default is set to 0. The emfileWait option has been removed, and EMFILE errors use the same retry logic as other errors. The retryDelay option is now supported. ENFILE errors are now retried.
http:
Make maximum header size configurable per-stream or per-server
http2:
Make maximum tolerated rejected streams configurable
Allow to configure maximum tolerated invalid frames
wasi:
Introduce initial WASI support
2019-12-09 20:03:51 +00:00
adam
89d7e0a79d nodejs: updated to 10.17.0
Version 10.17.0 'Dubnium' (LTS):

Notable changes
crypto:
- add support for chacha20-poly1305 for AEAD
- increase maxmem range from 32 to 53 bits
deps:
- update npm to 6.11.3
- upgrade openssl sources to 1.1.1d
dns: remove dns.promises experimental warning
fs: remove experimental warning for fs.promises
http: makes response.writeHead return the response
http2: makes response.writeHead return the response
n-api:
- make func argument of napi_create_threadsafe_function optional
- mark version 5 N-APIs as stable
- implement date object
process: add --unhandled-rejections flag
stream:
- implement Readable.from async iterator utility
- make Symbol.asyncIterator support stable
2019-11-24 15:49:31 +00:00
rillig
8c6aee8563 lang: align variable assignments
pkglint -Wall -F --only aligned --only indent -r

No manual corrections.
2019-11-03 19:03:56 +00:00
kamil
012de308d9 nodejs: Fix build with Clang 10+ 2019-09-12 16:04:07 +00:00
maya
581bc2b0bd Create a node.js REPLACE_* mk-fragment.
Extracting the code in devel/yarn to be used in another package, too.
2019-08-18 03:44:42 +00:00
adam
4df09907ad nodejs: updated to 10.16.3
Version 10.16.3 'Dubnium' (LTS):

Notable changes

This is a security release.

Node.js, as well as many other implementations of HTTP/2, have been found vulnerable to Denial of Service attacks. See https://github.com/Netflix/security-bulletins/blob/master/advisories/third-party/2019-002.md for more information.

Vulnerabilities fixed:

CVE-2019-9511 “Data Dribble”: The attacker requests a large amount of data from a specified resource over multiple streams. They manipulate window size and stream priority to force the server to queue the data in 1-byte chunks. Depending on how efficiently this data is queued, this can consume excess CPU, memory, or both, potentially leading to a denial of service.

CVE-2019-9512 “Ping Flood”: The attacker sends continual pings to an HTTP/2 peer, causing the peer to build an internal queue of responses. Depending on how efficiently this data is queued, this can consume excess CPU, memory, or both, potentially leading to a denial of service.

CVE-2019-9513 “Resource Loop”: The attacker creates multiple request streams and continually shuffles the priority of the streams in a way that causes substantial churn to the priority tree. This can consume excess CPU, potentially leading to a denial of service.

CVE-2019-9514 “Reset Flood”: The attacker opens a number of streams and sends an invalid request over each stream that should solicit a stream of RST_STREAM frames from the peer. Depending on how the peer queues the RST_STREAM frames, this can consume excess memory, CPU, or both, potentially leading to a denial of service.

CVE-2019-9515 “Settings Flood”: The attacker sends a stream of SETTINGS frames to the peer. Since the RFC requires that the peer reply with one acknowledgement per SETTINGS frame, an empty SETTINGS frame is almost equivalent in behavior to a ping. Depending on how efficiently this data is queued, this can consume excess CPU, memory, or both, potentially leading to a denial of service.

CVE-2019-9516 “0-Length Headers Leak”: The attacker sends a stream of headers with a 0-length header name and 0-length header value, optionally Huffman encoded into 1-byte or greater headers. Some implementations allocate memory for these headers and keep the allocation alive until the session dies. This can consume excess memory, potentially leading to a denial of service.

CVE-2019-9517 “Internal Data Buffering”: The attacker opens the HTTP/2 window so the peer can send without constraint; however, they leave the TCP window closed so the peer cannot actually write (many of) the bytes on the wire. The attacker then sends a stream of requests for a large response object. Depending on how the servers queue the responses, this can consume excess memory, CPU, or both, potentially leading to a denial of service.

CVE-2019-9518 “Empty Frames Flood”: The attacker sends a stream of frames with an empty payload and without the end-of-stream flag. These frames can be DATA, HEADERS, CONTINUATION and/or PUSH_PROMISE. The peer spends time processing each frame disproportionate to attack bandwidth. This can consume excess CPU, potentially leading to a denial of service.
2019-08-16 15:18:16 +00:00
adam
ecfb27dc23 nodejs: updated to 10.16.2
Version 10.16.2 'Dubnium' (LTS)

Notable changes

This release patches a regression in the OpenSSL upgrade to 1.1.1c that causes intermittent hangs in machines that have low entropy.
2019-08-07 07:33:25 +00:00
adam
aeb5ade84e nodejs: updated to 10.16.1
Version 10.16.1 'Dubnium' (LTS)

Notable changes
deps: upgrade openssl sources to 1.1.1c
stream: do not unconditionally call \_read() on resume()
worker: fix nullptr deref after MessagePort deser failure
2019-08-03 07:31:15 +00:00
jperkin
03236ba2db nodejs: Work around getentropy issue on SunOS.
Noticed by Stefan Husch in joyent/pkgsrc#203.
2019-07-02 17:09:25 +00:00
adam
1859920cb9 nodejs: updated to 10.16.0
Version 10.16.0 'Dubnium' (LTS)

Notable Changes
deps:
update ICU to 64.2
upgrade npm to 6.9.0
upgrade openssl sources to 1.1.1b
upgrade to libuv 1.28.0
events: add once method to use promises with EventEmitter
n-api: mark thread-safe function as stable
repl: support top-level for-await-of
zlib: add brotli support
2019-05-31 20:52:00 +00:00
ryoon
6fc378bce9 Recursive revbump from textproc/icu 2019-04-03 00:32:25 +00:00
tsutsui
5f0411ede0 nodejs: fix SIGABRT on NetBSD/i386 8.0 by pulling upstream PR #21848.
Also apply similar ifdefs for NetBSD as FreeBSD and OpenBSD.
Now nodejs binary won't fail during lang/npm and www/firefox builds
on NetBSD/i386 8.0.

Bump PKGREVISION.

No particular comments on pkgsrc-bug@:
 http://mail-index.netbsd.org/pkgsrc-bugs/2019/03/19/msg066102.html
Should close PR pkg/53497, PR pkg/53758, PR pkg/53792, and PR pkg/53794.
2019-03-23 11:15:18 +00:00
adam
2f28391c99 nodejs: updated to 10.15.3
Version 10.15.3 'Dubnium' (LTS)
Notable Changes
doc: add antsmartian to collaborators
http: fix error check in Execute()
stream: fix end-of-stream for HTTP/2
2019-03-07 08:47:45 +00:00
adam
85337a413b nodejs: updated to 10.15.2
Version 10.15.2 'Dubnium' (LTS):

This is a security release. All Node.js users should consult the security release summary at:

https://nodejs.org/en/blog/vulnerability/february-2019-security-releases/

for details on patched vulnerabilities.

A fix for the following CVE is included in this release:

Node.js: Slowloris HTTP Denial of Service with keep-alive (CVE-2019-5737)
Notable Changes

http: Further prevention of "Slowloris" attacks on HTTP and HTTPS connections by consistently applying the receive timeout set by server.headersTimeout to connections in keep-alive mode.
2019-03-01 08:47:07 +00:00
rin
f4fed899a6 - Fix OpenSSL support for NetBSD/amd64 (https works fine now)
- Fix NetBSD/i386 support (hopefully also works for other ILP32 archs)
- Add NetBSD/aarch64 support
- Bump revision
2019-02-24 12:18:55 +00:00
nia
264beaac80 nodejs: Require http-parser>=2.9.0.
ok leot
2019-01-31 13:38:49 +00:00
adam
57913482b8 nodejs: updated to 10.15.1
10.15.1:
Notable Changes
doc:
- add oyyd to collaborators (Ouyang Yadong)
tls:
- throw if protocol too long
Bug fixes
2019-01-31 08:46:37 +00:00
ryoon
605971ebbf Fix build under NetBSD/i386 8.0, based on PR pkg/53758 2019-01-21 11:00:45 +00:00
jperkin
afd0682525 nodejs: Ensure largefile is enabled on SunOS. 2019-01-18 16:24:37 +00:00
ryoon
77e41b0ce1 Fix build under NetBSD/earmv7hf-el 2019-01-10 13:02:41 +00:00
ryoon
48c9f467d0 Fix comment 2019-01-10 13:02:21 +00:00
adam
046b39cdc0 nodejs: updated to 10.15.0
Version 10.15.0 'Dubnium' (LTS):
The 10.14.0 security release introduced some unexpected breakages on the 10.x release line. This is a special release to fix a regression in the HTTP binary upgrade response body and add a missing CLI flag to adjust the max header size of the http parser.

Notable Changes
cli:
add --max-http-header-size flag
http:
add maxHeaderSize property
2019-01-08 14:51:10 +00:00
wiz
1e9caac440 *: update email for fhajny 2018-12-15 21:12:18 +00:00
maya
b2ee549180 nodejs: don't invert notion of code.
from Mike Pumford.
2018-12-15 17:32:38 +00:00
adam
50fe53d2db nodejs: updated to 10.14.2
Version 10.14.2 'Dubnium' (LTS)
This LTS release comes with 374 commits. This includes 165 which are test or benchmark related, 77 which are doc related, 29 which are build / tool related and 15 commits which update dependencies.

Notable Changes
* deps:
  - upgrade to c-ares v1.15.0
* Windows:
  - A crashing process will now show the names of stack frames if the node.pdb file is available.
2018-12-12 16:38:06 +00:00
adam
598be163ce nodejs: updated to 10.14.1
Version 10.14.1 'Dubnium' (LTS):

Notable Changes
win/msi: Revert changes to installer causing issues on Windows systems.
2018-12-09 18:29:12 +00:00
adam
b42d0d3da7 nodejs: updated to 10.14.0
Version 10.14.0 'Dubnium' (LTS):

This is a security release. All Node.js users should consult the security release summary at:
https://nodejs.org/en/blog/vulnerability/november-2018-security-releases/
for details on patched vulnerabilities.

Fixes for the following CVEs are included in this release:
* Node.js: Denial of Service with large HTTP headers (CVE-2018-12121)
* Node.js: Slowloris HTTP Denial of Service (CVE-2018-12122 / Node.js)
* Node.js: Hostname spoofing in URL parser for javascript protocol (CVE-2018-12123)
* OpenSSL: Timing vulnerability in DSA signature generation (CVE-2018-0734)
* OpenSSL: Timing vulnerability in ECDSA signature generation (CVE-2019-0735)

Notable Changes
* deps: Upgrade to OpenSSL 1.1.0j, fixing CVE-2018-0734 and CVE-2019-0735
* http:
  - Headers received by HTTP servers must not exceed 8192 bytes in total to prevent possible Denial of Service attacks. Reported by Trevor Norris. (CVE-2018-12121 / Matteo Collina)
  - A timeout of 40 seconds now applies to servers receiving HTTP headers. This value can be adjusted with server.headersTimeout. Where headers are not completely received within this period, the socket is destroyed on the next received chunk. In conjunction with server.setTimeout(), this aids in protecting against excessive resource retention and possible Denial of Service. Reported by Jan Maybach (liebdich.com). (CVE-2018-12122 / Matteo Collina)
* url: Fix a bug that would allow a hostname being spoofed when parsing URLs with url.parse() with the 'javascript:' protocol.
2018-11-28 08:36:04 +00:00
adam
b48398a247 nodejs: updated to 10.13.0
Version 10.13.0 'Dubnium' (LTS)

This release marks the transition of Node.js 10.x into Long Term Support (LTS) with the codename 'Dubnium'. The 10.x release line now moves in to "Active LTS" and will remain so until April 2020. After that time it will move in to "Maintenance" until end of life in April 2021.

Notable Changes

This release only includes minimal changes necessary to fix known regressions prior to LTS.


Version 10.12.0 (Current)

Notable changes

assert
* The diff output is now a tiny bit improved by sorting object properties when inspecting the values that are compared with each other.

cli
* The options parser now normalizes _ to - in all multi-word command-line flags, e.g. --no_warnings has the same effect as --no-warnings.
* Added bash completion for the node binary. To generate a bash completion script, run node --completion-bash. The output can be saved to a file which can be sourced to enable completion.

crypto
* Added support for PEM-level encryption.
* Added an API asymmetric key pair generation. The new methods crypto.generateKeyPair and crypto.generateKeyPairSync can be used to generate public and private key pairs. The API supports RSA, DSA and EC and a variety of key encodings (both PEM and DER).
fs
* Added a recursive option to fs.mkdir and fs.mkdirSync. If this option is set to true, non-existing parent folders will be automatically created.

http2
* Added a 'ping' event to Http2Session that is emitted whenever a non-ack PING is received.
* Added support for the ORIGIN frame.
* Updated nghttp2 to 1.34.0. This adds RFC 8441 extended connect protocol support to allow use of WebSockets over HTTP/2.

module
* Added module.createRequireFromPath(filename). This new method can be used to create a custom require function that will resolve modules relative to the filename path.

process
* Added a 'multipleResolves' process event that is emitted whenever a Promise is attempted to be resolved multiple times, e.g. if the resolve and reject functions are both called in a Promise executor.

url
* Added url.fileURLToPath(url) and url.pathToFileURL(path). These methods can be used to correctly convert between file: URLs and absolute paths.

util
* Added the sorted option to util.inspect(). If set to true, all properties of an object and Set and Map entries will be sorted in the returned string. If set to a function, it is used as a compare function.
The util.instpect.custom symbol is now defined in the global symbol registry as Symbol.for('nodejs.util.inspect.custom').
* Added support for BigInt numbers in util.format().

V8 API
* A number of V8 C++ APIs have been marked as deprecated since they have been removed in the upstream repository. Replacement APIs are added where necessary.

Windows
* The Windows msi installer now provides an option to automatically install the tools required to build native modules.

Workers
* Debugging support for Workers using the DevTools protocol has been implemented.
* The public inspector module is now enabled in Workers.
2018-11-10 18:35:18 +00:00
tnn
3dc964d735 nodejs: unbreak previous for nodejs6 & nodejs8, add comments 2018-09-27 19:27:57 +00:00
tnn
0ee6ad20bc nodejs: SUBST paxctl in the correct Makefile 2018-09-27 19:15:59 +00:00
fhajny
4598406515 lang/nodejs: Update to 10.11.0.
- fs
  - Fixed fsPromises.readdir `withFileTypes`.
- http2
  - Added `http2stream.endAfterHeaders` property.
- util
  - Added `util.types.isBoxedPrimitive(value)`.
2018-09-20 14:05:25 +00:00
jperkin
26a57bfd91 nodejs: Work around build rpath issue with torque. 2018-09-07 14:24:54 +00:00
fhajny
48143b1628 lang/nodejs: Update to 10.10.0.
- child_process:
  - `TypedArray` and `DataView` values are now accepted as input by
    `execFileSync` and `spawnSync`.
- coverage:
  - Native V8 code coverage information can now be output to disk by
    setting the environment variable `NODE_V8_COVERAGE` to a directory.
- fs:
  - The methods `fs.read`, `fs.readSync`, `fs.write`, `fs.writeSync`,
    `fs.writeFile` and `fs.writeFileSync` now all accept `TypedArray`
    and `DataView` objects.
  - A new boolean option, `withFileTypes`, can be passed to to
    `fs.readdir` and `fs.readdirSync`. If set to true, the methods
    return an array of directory entries. These are objects that can
    be used to determine the type of each entry and filter them based
    on that without calling `fs.stat`.
- http2:
  - The `http2` module is no longer experimental.
- os:
  - Added two new methods: `os.getPriority` and `os.setPriority`,
    allowing to manipulate the scheduling priority of processes.
- process:
  - Added `process.allowedNodeEnvironmentFlags`. This object can be
    used to programmatically validate and list flags that are allowed
    in the `NODE_OPTIONS` environment variable.
- src:
  - Deprecated option variables in public C++ API.
  - Refactored options parsing.
- vm:
  - Added `vm.compileFunction`, a method to create new JavaScript
    functions from a source body, with options similar to those of
    the other `vm` methods.
2018-09-07 11:45:04 +00:00
fhajny
d45d977eac lang/nodejs: Update to 10.9.0.
- buffer:
  - Fix out-of-bounds (OOB) write in `Buffer.write()` for UCS-2
    encoding (CVE-2018-12115)
  - Fix unintentional exposure of uninitialized memory in
    `Buffer.alloc()` (CVE-2018-7166)
- deps:
  - Upgrade to OpenSSL 1.1.0i, fixing:
    - Client DoS due to large DH parameter (CVE-2018-0732)
    - ECDSA key extraction via local side-channel (CVE not assigned)
  - Upgrade V8 from 6.7 to 6.8
    - Memory reduction and performance improvements
- http: `http.get()` and `http.request()` (and `https` variants) can
  now accept three arguments to allow for a `URL` _and_ an `options`
  object
2018-08-16 12:23:11 +00:00