Commit graph

209 commits

Author SHA1 Message Date
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
bsiegert
ed1ac05dec nodejs needs a recent libuv (1.22.0).
Bump revision.

This fixes a build failure on my machine with an older libuv version
installed.
2018-08-05 11:40:29 +00:00
fhajny
1afcc0ee4b lang/nodejs: Update to 10.8.0.
No notable changes besides update to npm 6.2.0, which we do not
bundle.
2018-08-02 12:18:24 +00:00
fhajny
724651191a lang/nodejs: Update to 10.7.0.
- console:
  - The `console.timeLog()` method has been implemented.
- deps:
  - Upgrade to libuv 1.22.0.
  - Upgrade to ICU 62.1 (Unicode 11, CLDR 33.1).
- http:
  - Added support for passing both `timeout` and `agent` options to
    `http.request`.
- inspector:
  - Expose the original console API in `require('inspector').console`.
- napi:
  - Added experimental support for functions dealing with bigint
    numbers.
- process:
  - The `process.hrtime.bigint()` method has been implemented.
  - Added the `--title` command line argument to set the process title
    on startup.
- trace_events:
  - Added process\_name metadata.
2018-07-20 13:59:41 +00:00
ryoon
b9c1e1d533 Recursive revbump from textproc/icu-62.1 2018-07-20 03:33:47 +00:00
fhajny
4ae2bf7c52 lang/nodejs: Update to 10.6.0.
- dns: An experimental promisified version of the dns module is now
  available. Give it a try with `require('dns').promises`.
- fs: `fs.lchown` has been undeprecated now that libuv supports it.
- lib: `Atomics.wake` is being renamed to `Atomics.notify` in the
  ECMAScript specification. Since Node.js now has experimental support
  for worker threads, we are being proactive and added a `notify` alias,
  while emitting a warning if `wake` is used.
- n-api: Add API for asynchronous functions.
- util: `util.inspect` is now able to return a result instead of
  throwing when the maximum call stack size is exceeded during
  inspection.
- vm: Add `script.createCachedData()`. This API replaces the
  `produceCachedData` option of the `Script` constructor that is now
  deprecated.
- worker: Support for relative paths has been added to the `Worker`
  constructor. Paths are interpreted relative to the current working
  directory.
2018-07-10 22:03:08 +00:00
adam
a31bce9748 extend PYTHON_VERSIONS_ for Python 3.7 2018-07-03 05:03:01 +00:00
fhajny
942004d630 lang/nodejs: Update to 10.5.0.
crypto:
- Support for crypto.scrypt() has been added.

fs:
- BigInt support has been added to fs.stat and fs.watchFile.
- APIs that take mode as arguments no longer throw on values larger
  than 0o777.
- Fix crashes in closed event watchers.

Worker Threads:
- Support for multi-threading has been added behind the
  --experimental-worker flag in the worker_threads module. This
  feature is experimental and may receive breaking changes at any time.
2018-06-23 13:38:00 +00:00
fhajny
533965e94e lang/nodejs: Update to 10.4.1.
- Fixes memory exhaustion DoS (CVE-2018-7164): Fixes a bug introduced
  in 9.7.0 that increases the memory consumed when reading from the
  network into JavaScript using the net.Socket object directly as a
  stream.
- http2
  - (CVE-2018-7161): Fixes Denial of Service vulnerability by updating
    the http2 implementation to not crash under certain circumstances
    during cleanup
  - (CVE-2018-1000168): Fixes Denial of Service vulnerability by
    upgrading nghttp2 to 1.32.0
- tls (CVE-2018-7162): Fixes Denial of Service vulnerability by
  updating the TLS implementation to not crash upon receiving
- n-api: Prevent use-after-free in napi_delete_async_work
2018-06-14 10:54:26 +00:00
fhajny
b66c6eff79 lang/nodejs: Update to 10.4.0.
- deps: update V8 to 6.7.288.43
- stream: ensure Stream.pipeline re-throws errors without callback
2018-06-12 09:06:46 +00:00
fhajny
30c92ceb15 lang/nodejs: Update to 10.3.0.
- fs: fix reads with pos > 4GB
- net: new option to allow IPC servers to be readable and writable
  by all users
- stream: fix removeAllListeners() for Stream.Readable to work as
  expected when no arguments are passed
2018-05-30 09:39:53 +00:00
fhajny
d5c2c93427 lang/nodejs: Update to 10.2.1.
- http: fix res emit close before user finish
- src: re-integrate headers into node.h
- test: mark test-zlib.zlib-binding.deflate as flaky
2018-05-25 11:18:18 +00:00
fhajny
18d4877437 lang/nodejs: Update to 10.2.0.
- addons:
  - Fixed a memory leak for users of `AsyncResource` and N-API.
- assert:
  - The `error` parameter of `assert.throws()` can be an object
    containing regular expressions now.
- crypto:
  - The `authTagLength` option has been made more flexible.
- esm:
  - Builtin modules (e.g. `fs`) now provide named exports in ES6
    modules.
- http:
  - Handling of `close` and `aborted` events has been made more
    consistent.
- module:
  - add --preserve-symlinks-main
- timers:
  - `timeout.refresh()` has been added to the public API.
- Embedder support:
  - Functions for creating V8 `Isolate` and `Context` objects with
    Node.js-specific behaviour have been added to the API.
  - Node.js `Environment`s clean up resources before exiting now.
  - Support for multi-threaded embedding has been improved.
2018-05-24 06:29:34 +00:00
fhajny
5d73e126e6 lang/nodejs: Update to 10.1.0.
- console: make console.table() use colored inspect
- fs: move fs/promises to fs.promises
- http: added aborted property to request
- n-api: initialize a module via a special symbol
- src: add public API to expose the main V8 Platform
2018-05-12 09:24:00 +00:00