473 Commits

Author SHA1 Message Date
Cheng
b07ff551db
build: fix GN build of uv
PR-URL: https://github.com/nodejs/node/pull/56955
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
2025-02-12 00:58:31 +00:00
deepak1556
b7ce941f9a build: gyp exclude libm linking on macOS
PR-URL: https://github.com/nodejs/node/pull/56901
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Shelley Vohr <shelley.vohr@gmail.com>
2025-02-07 18:10:41 +00:00
deepak1556
756a24242e build: remove explicit linker call to libm on macOS
/usr/lib/libm.tbd is available via libSystem.*.dylib and
reexports sanitizer symbols. When building for asan
this becomes an issue as the linker will resolve the symbols
from the system library rather from libclang_rt.*

For V8 that rely on specific version of these symbols
that get bundled as part of clang, for ex:
https://source.chromium.org/chromium/chromium/src/+/main:v8/src/heap/cppgc/platform.cc;l=93-97
accepting nullptr for shadow_offset in `asan_get_shadow_mapping`,
linking to system version that doesn't support this will lead to
a crash.

Clang driver eventually links with `-lSystem`
e82f93890d/clang/lib/Driver/ToolChains/Darwin.cpp (L1628-L1631),
this is done after linking the sanitizer libraries which
ensures right order of resolution for the symbols.

PR-URL: https://github.com/nodejs/node/pull/56901
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Shelley Vohr <shelley.vohr@gmail.com>
2025-02-07 18:10:40 +00:00
Cheng
e1e1ada807
deps: macro ENODATA is deprecated in libc++
PR-URL: https://github.com/nodejs/node/pull/56698
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2025-01-26 22:12:33 +00:00
Node.js GitHub Bot
a500382d18
deps: update libuv to 1.50.0
PR-URL: https://github.com/nodejs/node/pull/56616
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
2025-01-17 18:54:52 +00:00
Luigi Pinca
ca96c8dcbe
deps: update libuv to 1.49.2
Fixes: https://github.com/nodejs/node/issues/56137
Refs: https://github.com/nodejs/node/pull/56223
PR-URL: https://github.com/nodejs/node/pull/56224
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
2024-12-17 13:06:51 +00:00
Cheng
e90704cd9e
build: fix GN build for cares/uv deps
PR-URL: https://github.com/nodejs/node/pull/55477
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2024-10-23 03:48:59 +00:00
Santiago Gimeno
ecedcba357 deps: update libuv to 1.49.1
Refs: https://github.com/libuv/libuv/releases/tag/v1.49.1
PR-URL: https://github.com/nodejs/node/pull/55114
Refs: https://github.com/libuv/libuv/releases/tag/v1.49.0
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2024-10-14 06:51:18 +00:00
Cheng Zhao
b1468d21ee build,tools: make addons tests work with GN
PR-URL: https://github.com/nodejs/node/pull/50737
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io>
2024-02-23 16:14:42 +09:00
Santiago Gimeno
36dcd399c0 deps: upgrade libuv to 1.48.0
PR-URL: https://github.com/nodejs/node/pull/51697
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Debadree Chatterjee <debadree333@gmail.com>
2024-02-14 14:27:35 -03:00
Tobias Nießen
6d14352c51 src,deps: disable setuid() etc if io_uring enabled
Within Node.js, attempt to determine if libuv is using io_uring. If it
is, disable process.setuid() and other user identity setters.

We cannot fully prevent users from changing the process's user identity,
but this should still prevent some accidental, dangerous scenarios.

PR-URL: https://github.com/nodejs-private/node-private/pull/528
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
CVE-ID: CVE-2024-22017
2024-02-14 14:27:34 -03:00
Tobias Nießen
42e659cb9d deps: disable io_uring support in libuv by default
setuid() does not affect libuv's internal io_uring operations if
initialized before the call to setuid(). This potentially allows the
process to perform privileged operations despite presumably having
dropped such privileges through a call to setuid(). Similar concerns
apply to other functions that modify the process's user identity.

This commit changes libuv's io_uring behavior from opt-out (through
UV_USE_IO_URING=0) to opt-in (through UV_USE_IO_URING=1) until we figure
out a better long-term solution.

PR-URL: https://github.com/nodejs-private/node-private/pull/528
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
CVE-ID: CVE-2024-22017
2024-02-14 14:27:34 -03:00
Cheng Zhao
df16c69983
doc: the GN files should use Node's license
PR-URL: https://github.com/nodejs/node/pull/50694
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Tierney Cyren <hello@bnb.im>
2023-12-28 20:27:05 +00:00
Cheng Zhao
3f4ea7ad7f
build: fix warnings from uv for gn build
PR-URL: https://github.com/nodejs/node/pull/51069
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2023-12-06 20:53:24 +00:00
Abdirahim Musse
5504cf36ca deps: cherry-pick bfbe4e38d7 from libuv upstream
Original commit message:
  aix: disable ipv6 link local (#4229)

  AIX does not implement ifaddrs and when retrieving the network
  interfaces with uv_interface_addresses there was a test failure in
  tcp_connect6_link_local.

  For now disable ipv6 link local on aix to:

  1) fix broken aix build
  2) stop blocking libuv upgrade in node

  Refs: https://github.com/libuv/libuv/pull/4222#issuecomment-1812962233
  Refs: https://github.com/nodejs/node/pull/50650

Refs: bfbe4e38d7
PR-URL: https://github.com/nodejs/node/pull/50650
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2023-12-04 23:48:17 +00:00
Node.js GitHub Bot
d9f5b4560f deps: update libuv to 1.47.0
deps: update libuv to 1.47.0
PR-URL: https://github.com/nodejs/node/pull/50650
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2023-12-04 23:48:16 +00:00
Cheng Zhao
32af45d241
build: add GN build files
PR-URL: https://github.com/nodejs/node/pull/47637
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2023-11-11 09:51:05 +00:00
Ben Noordhuis
914ad2f518
deps: remove pthread-fixes.c from uv.gyp
The file was removed in the latest libuv upgrade. Remove it from the
build recipe as well.

Fixes: https://github.com/nodejs/node/issues/49739
PR-URL: https://github.com/nodejs/node/pull/49744
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Debadree Chatterjee <debadree333@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
2023-09-23 07:56:24 +00:00
Santiago Gimeno
df16705c69
deps: add missing thread-common.c in uv.gyp
PR-URL: https://github.com/nodejs/node/pull/49410
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2023-09-01 13:03:53 +00:00
Santiago Gimeno
acf071e9d5
deps: upgrade to libuv 1.46.0
Notable changes
- fs: use WTF-8 on Windows: https://github.com/libuv/libuv/pull/2970
- linux: add some more iouring backed fs ops: https://github.com/libuv/libuv/pull/4012

Important bugs fixed
- linux: work around io_uring IORING_OP_CLOSE bug: https://github.com/libuv/libuv/pull/4059
- src: don't run timers if loop is stopped/unref'd: https://github.com/libuv/libuv/pull/4048

PR-URL: https://github.com/nodejs/node/pull/48618
Fixes: https://github.com/nodejs/node/issues/48512
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
2023-07-02 23:23:35 +00:00
Jiawen Geng
b0e08d178e
build: sync libuv header change
PR-URL: https://github.com/nodejs/node/pull/48429
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
2023-06-14 05:27:57 +00:00
Joyee Cheung
4da7bc915c
build: replace js2c.py with js2c.cc
PR-URL: https://github.com/nodejs/node/pull/46997
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2023-05-24 13:33:01 +02:00
Santiago Gimeno
9e68f9413e deps: upgrade to libuv 1.45.0
- linux: introduce io_uring support https://github.com/libuv/libuv/pull/3952
- src: add new metrics APIs https://github.com/libuv/libuv/pull/3749
- unix,win: give thread pool threads an 8 MB stack https://github.com/libuv/libuv/pull/3787
- win,unix: change execution order of timers https://github.com/libuv/libuv/pull/3927

Fixes: https://github.com/nodejs/node/issues/43931
Fixes: https://github.com/nodejs/node/issues/42496
Fixes: https://github.com/nodejs/node/issues/47715
Fixes: https://github.com/nodejs/node/issues/47259
Fixes: https://github.com/nodejs/node/issues/47241
PR-URL: https://github.com/nodejs/node/pull/48078
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Debadree Chatterjee <debadree333@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
2023-05-24 11:07:04 +00:00
Cheng Zhao
0d575fe61a
gyp: put filenames in variables
PR-URL: https://github.com/nodejs/node/pull/46965
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2023-03-18 10:24:38 +01:00
Julian Dropmann
ee22706879
deps: fix libuv for android
Fix android build errors introduced by the upgrade to libuv 1.44.2

Fixes: https://github.com/nodejs/node/issues/46743
Fixes: https://github.com/nodejs/node/issues/46744
PR-URL: https://github.com/nodejs/node/pull/46746
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
2023-02-22 16:34:33 +00:00
Xu Meng
a3211e18b4
build,test: add proper support for IBM i
Python 3.9 on IBM i now properly returns "os400" for sys.platform
instead of claiming to be AIX as it did previously. While the IBM i PASE
environment is compatible with AIX, it is a subset and has numerous
differences which makes it beneficial to distinguish, however this means
that it now needs explicit support here.

PR-URL: https://github.com/nodejs/node/pull/46739
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
2023-02-22 04:18:56 +00:00
Luigi Pinca
28bf0317c2 deps: upgrade to libuv 1.44.2
Notable changes:

- Build regression fixes for various platform updates
  (https://github.com/libuv/libuv/pull/3428,
  https://github.com/libuv/libuv/pull/3419,
  https://github.com/libuv/libuv/pull/3423,
  https://github.com/libuv/libuv/pull/3413,
  https://github.com/libuv/libuv/pull/3431)
- Support for GNU/Hurd (https://github.com/libuv/libuv/pull/3450)
- Release tool improvements
  (https://github.com/libuv/libuv-release-tool/pull/13)
- Better performing rw locks on Win32 (https://github.com/libuv/libuv/pull/3383)
- Support for posix_spawn API (https://github.com/libuv/libuv/pull/3257)
- Fix regression on OpenBSD (https://github.com/libuv/libuv/pull/3506)
- Add uv_available_parallelism() (https://github.com/libuv/libuv/pull/3499)
- Don't use thread-unsafe strtok() (https://github.com/libuv/libuv/pull/3524)
- Fix hang after NOTE_EXIT (https://github.com/libuv/libuv/pull/3521)
- Better align order-of-events behavior between platforms
  (https://github.com/libuv/libuv/pull/3598)
- Fix fs event not fired if the watched file is moved/removed/recreated
  (https://github.com/libuv/libuv/pull/3540)
- Fix pipe resource leak if closed during connect (and other bugs)
  (https://github.com/libuv/libuv/pull/3611)
- Don't error when killing a zombie process
  (https://github.com/libuv/libuv/pull/3625)
- Avoid posix_spawnp() cwd bug (https://github.com/libuv/libuv/pull/3597)
- Skip EVFILT_PROC events when invalidating events for an fd
  (https://github.com/libuv/libuv/pull/3629)

Fixes: https://github.com/nodejs/node/issues/42290
PR-URL: https://github.com/nodejs/node/pull/42340
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2022-11-05 19:53:50 +01:00
Ben Noordhuis
ceb8f9c6eb deps: cherry-pick libuv/libuv@3a7b955
Original commit log follows:

darwin: translate EPROTOTYPE to ECONNRESET (libuv/libuv#3413)

macOS versions 10.10 and 10.15 - and presumbaly 10.11 to 10.14, too -
have a bug where a race condition causes the kernel to return EPROTOTYPE
because the socket isn't fully constructed.

It's probably the result of the peer closing the connection and that is
why libuv translates it to ECONNRESET.

Previously, libuv retried until the EPROTOTYPE error went away but some
VPN software causes the same behavior except the error is permanent, not
transient, turning the retry mechanism into an infinite loop.

Refs: https://github.com/libuv/libuv/pull/482
Refs: https://github.com/libuv/libuv/pull/3405
Fixes: https://github.com/nodejs/node/issues/43916

PR-URL: https://github.com/nodejs/node/pull/43950
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2022-07-25 09:47:59 +00:00
Ben Noordhuis
7287f44cdc deps: cherry-pick libuv/libuv@abb109f
Original commit log follows:

darwin: remove EPROTOTYPE error workaround (libuv/libuv#3405)

It's been reported in the past that OS X 10.10, because of a race
condition in the XNU kernel, sometimes returns a transient EPROTOTYPE
error when trying to write to a socket. Libuv handles that by retrying
the operation until it succeeds or fails with a different error.

Recently it's been reported that current versions of the operating
system formerly known as OS X fail permanently with EPROTOTYPE under
certain conditions, resulting in an infinite loop.

Because Apple isn't exactly forthcoming with bug fixes or even details,
I'm opting to simply remove the workaround and have the error bubble up.

Refs: https://github.com/libuv/libuv/pull/482
Fixes: https://github.com/nodejs/node/issues/43916

PR-URL: https://github.com/nodejs/node/pull/43950
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2022-07-25 09:47:57 +00:00
Darshan Sen
50b7ab9659
build: fix libuv builds for android aarch64
This syncs up the source list in
b2edcfee46/deps/uv/uv.gyp (L257-L265)
with
b2edcfee46/deps/uv/CMakeLists.txt (L218-L227).

Fixes: https://github.com/nodejs/node/issues/41380

Signed-off-by: Darshan Sen <raisinten@gmail.com>

PR-URL: https://github.com/nodejs/node/pull/41555
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Mary Marchini <oss@mmarchini.me>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2022-01-18 18:04:20 +00:00
Colin Ihrig
b6b6510187
deps: upgrade to libuv 1.43.0
Notable changes:

- `uv_ip_name()` has been added.
- On Windows, `uv_fs_read()` and `uv_fs_write()` now return
  `UV_EBADF` instead of `UV_EPERM` when the file descriptor
  was opened with incorrect flags. This matches the behavior
  on other platforms.
- Streams can be reset and attempted to read from after
  EOF is read.
- The main thread now has a valid ID instead of `NULL`.
- `uv_cpu_info()` now supports `aarch64`.
- Several minor issues related to mingw32 have been fixed.

PR-URL: https://github.com/nodejs/node/pull/41398
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Beth Griggs <bgriggs@redhat.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2022-01-07 02:45:31 +00:00
Daniel Bevenius
3b8d8c28eb
deps: add -fno-strict-aliasing flag to libuv
This commit turns on `-fno-strict-aliasing` in libuv.

Fixes: https://github.com/nodejs/node/issues/40368
Refs: https://github.com/libuv/libuv/issues/1230

PR-URL: https://github.com/nodejs/node/pull/40631
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Voltrex <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2021-11-16 19:20:34 +00:00
Luigi Pinca
c61870c376 deps: upgrade to libuv 1.42.0
Notable changes:

- win,tcp: make `uv_close()` work more like unix.
- cleanup,win: Remove `_WIN32` guards on threadpool.
- more errno mappings and fixes.
- higher performance try-writes.
- fix string encoding issue of `uv_os_gethostname()` (note: MINGW-W64
  upstream is broken on i686 due to
  https://sourceforge.net/p/mingw-w64/bugs/899/).
- zOS support.
- Workarounds for a `copy_file_range()` kernel bug.
- Better support for TSan.
- darwin: use `RLIMIT_STACK` for fsevents pthread.
- fix a bug that would cause libuv to hang if the user called
  `uv_shutdown()`.
- darwin: fix `uv_barrier()` race condition.

PR-URL: https://github.com/nodejs/node/pull/39525
Fixes: https://github.com/nodejs/node/issues/39502
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2021-08-04 16:08:46 +02:00
Ben Noordhuis
cac4f90468
deps: uv: cherry-pick 99c29c9c2c9b
Original commit message:

    idna: fix OOB read in punycode decoder

    Reported by Eric Sesterhenn in collaboration with
    Cure53 and ExpressVPN.

    Reported-By: Eric Sesterhenn <eric.sesterhenn@x41-dsec.de>
    PR-URL: https://github.com/libuv/libuv-private/pull/1
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Richard Lau <rlau@redhat.com>

CVE-ID: CVE-2021-22918
Refs: https://hackerone.com/reports/1209681
PR-URL: https://github.com/nodejs-private/node-private/pull/267
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Beth Griggs <bgriggs@redhat.com>
2021-07-01 15:45:01 +01:00
cjihrig
78d6e62fd0 deps: upgrade to libuv 1.41.0
Notable changes:

- The IBM i platform has been promoted to a Tier 2 platform.
- libuv is now built with `-fno-strict-aliasing`, and recommends
  that projects using libuv do the same.
- `uv_fs_mkdir()` now returns `UV_EINVAL` for invalid directory
  names on Windows.
- `uv_uptime()` now returns the correct value on OpenVZ containers.
- Windows 8 is the new minimum supported version of Windows.
- Bind errors are now reported from `uv_tcp_connect()`.
- The `uv_pipe()` function has been added.
- The `uv_socketpair()` function has been added.
- `uv_read_start()` error handling has been unified across
  Windows and Unix.

PR-URL: https://github.com/nodejs/node/pull/37360
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
2021-02-15 23:09:54 +01:00
cjihrig
af92317909 deps: upgrade to libuv 1.40.0
Notable changes:

- The UV_UDP_MMSG_FREE flag has been added.
- UV__EPROTO has been remapped from 4046 to -4046 for
  consistency with other error codes.
- On Windows, UTF-16 surrogate pairs are no longer
  replaced with the Unicode replacement character.
- uv_timer_get_due_in() has been added.

PR-URL: https://github.com/nodejs/node/pull/35333
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
2020-09-27 01:30:31 +00:00
cjihrig
62443686d9 deps: upgrade to libuv 1.39.0
Notable changes:

- uv_metrics_idle_time() and UV_METRICS_IDLE_TIME have been added
  for measuring the amount of time the event loop spends idle.
- uv_udp_using_recvmmsg() has been added to determine if a buffer
  is large enough for multiple datagrams should be allocated in
  the allocation callback of uv_udp_recvstart().
- On MinGW, the installation location has been updated to match
  Unix systems rather than Windows.
- uv_fs_copyfile() now tries to use copy_file_range() when
  possible.
- The test suite is now reported to pass on Darwin ARM64 (Apple
  Silicon).
- uv_{get,set}_process_title() now returns an error on platforms
  where uv_setup_args() is required, but has not yet been called.
- The _POSIX_PATH_MAX constant is no longer used, which could
  lead to buffer overflows in uv_fs_readlink() and
  uv_fs_realpath().

PR-URL: https://github.com/nodejs/node/pull/34915
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: David Carlier <devnexen@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com>
2020-08-25 10:49:14 +00:00
cjihrig
3751662906
deps: upgrade to libuv 1.38.1
Notable changes:

- A probable compiler bug in VS2019 was causing a
  failed assertion in libuv which appeared to the
  user as though the system clock was drifting. The
  `uv_hrtime()` code on Windows has been rearranged
  to work around the issue.
- On Linux, `uv_loadavg()` attempts to read from
  `/proc/loadavg` before falling back to calling
  `sysinfo()`. This works around a bug in LXC.
- A deadlock in the Windows TTY code has been fixed.
- An issue on macOS related to monotonic clocks jumping
  back in time has been worked around.

PR-URL: https://github.com/nodejs/node/pull/34187
Reviewed-By: David Carlier <devnexen@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Bartosz Sosnowski <bartosz@janeasystems.com>
2020-07-11 16:07:28 -04:00
cjihrig
227ad25cc6
deps: upgrade to libuv 1.38.0
Notable changes:

- `uv_library_shutdown()` has been added.
- `uv_udp_init_ex()` now accepts `UV_UDP_RECVMMSG`, although it
  is a no-op.
- Obsolete `MAX_PATH` restrictions have been removed on Windows,
  and Windows is now long path aware.
- Windows environment variables longer than 32,767 characters are
  now supported.
- Linux `cpu_times` are now reported as milliseconds to match
  other platforms.
- A memory leak resulting from `uv_loop_init()` failures has
  been fixed.

PR-URL: https://github.com/nodejs/node/pull/33446
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
2020-05-19 19:18:35 +02:00
cjihrig
4af0598134
deps: upgrade to libuv 1.37.0
Notable changes:

- The UV_UDP_RECVMMSG flag has been added. This flag is now
  required in order to utilize recvmmsg(). This was added in
  response to a regression introduced in 1.35.0 and 1.36.0.

PR-URL: https://github.com/nodejs/node/pull/32866
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: David Carlier <devnexen@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
2020-04-19 20:25:46 -04:00
cjihrig
df8cf44e24
deps: upgrade to libuv 1.36.0
Notable changes:

- gyp support has been removed.
- recvmmsg messages are returned in the correct order.
- IBMi cmake support has been added.
- uv_fs_lutime() has been added.
- uv_fs_statfs() on Windows properly handles file paths.

PR-URL: https://github.com/nodejs/node/pull/32866
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: David Carlier <devnexen@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
2020-04-19 20:25:46 -04:00
cjihrig
907bcad875
deps: upgrade to libuv 1.35.0
Notable changes:

- The UV_UDP_MMSG_CHUNK UDP flag has been added.
- Support has been dropped for FreeBSD < 10.
- The FreeBSD and Linux system call logic has been simplified to assume the
  presence of features covered by libuv's minimum system requirements.
- Listening on IPC pipes is no longer allowed.
- Fix iOS and Android builds.

PR-URL: https://github.com/nodejs/node/pull/32204
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2020-03-14 11:44:25 -04:00
forfun414
50317c38a4
build: support android build on ndk version equal or above 23
change scripts and sources for android build, don't need standalone
toolchain after ndk 19, and use clang as default android target
compiler.

PR-URL: https://github.com/nodejs/node/pull/31521
Reviewed-By: Christian Clauss <cclauss@me.com>
2020-03-11 16:50:52 +01:00
cjihrig
05d350a360 deps: upgrade to libuv 1.34.2
Notable changes:

- SetApplicationDaemon() is no longer called on macOS.
- uv_interface_addresses() is implemented on IBMi.
- The return value of uv__open_cloexec() is now handled
  properly.
- A race condition in fsevents has been fixed.

Fixes: https://github.com/nodejs/node/issues/31328
Fixes: https://github.com/nodejs/help/issues/2099

PR-URL: https://github.com/nodejs/node/pull/31477
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: David Carlier <devnexen@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2020-01-25 15:07:09 -08:00
cjihrig
216e42350f deps: upgrade to libuv 1.34.1
Notable changes:

- uv_fs_copyfile() now supports CIFS share destinations.
- isatty() now works on IBMi
- TTYs are opened with the O_NOCTTY flag.

Fixes: https://github.com/nodejs/node/issues/31170

PR-URL: https://github.com/nodejs/node/pull/31332
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: David Carlier <devnexen@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
2020-01-14 16:45:09 -08:00
cjihrig
5d2944d7b6
deps: upgrade to libuv 1.34.0
Notable changes:

- Fix handling of large files in uv_fs_copyfile().
  Fixes: https://github.com/nodejs/node/issues/30085
- Fix Android build errors.
- uv_sleep() has been added.
- uv_interface_addresses() IPv6 netmask support has been fixed.
  Fixes: https://github.com/nodejs/node/issues/30504
- uv_fs_mkstemp() has been added.

PR-URL: https://github.com/nodejs/node/pull/30783
Fixes: https://github.com/nodejs/node/issues/30085
Fixes: https://github.com/nodejs/node/issues/30504
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2019-12-06 11:14:59 -05:00
cjihrig
7d433a936b
deps: upgrade to libuv 1.33.1
Notable changes:

- uv_random() has been added.
- More work to read those pesky Windows
  environment variables.
- Several build fixes for Tier 3 platforms (Android,
  NetBSD, OpenBSD, Haiku).
- Stop using fsevents to watch files (using kqueue again).

PR-URL: https://github.com/nodejs/node/pull/29996
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: David Carlier <devnexen@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
2019-10-20 10:13:31 -05:00
cjihrig
df0e2e3625 deps: upgrade to libuv 1.32.0
Notable changes:

- `uv_tcp_close_reset()` has been added.
- `uv_udp_set_source_membership()` has been added.
- A double free in `uv_free_cpu_info()` on OpenBSD
  has been fixed.
- Defined, but empty environment variables can now
  be read on Windows.
- Several improvements to the cmake build process.
- The `EILSEQ` error code is now mapped by libuv.

PR-URL: https://github.com/nodejs/node/pull/29508
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: David Carlier <devnexen@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2019-09-12 00:49:02 -07:00
cjihrig
ce7f3ed13c
deps: upgrade to libuv 1.31.0
Notable changes:

- UV_FS_O_FILEMAP has been added for faster access to memory
  mapped files on Windows.
- uv_fs_mkdir() now returns UV_EINVAL for invalid filenames
  on Windows. It previously returned UV_ENOENT.
- The uv_fs_statfs() API has been added.
- The uv_os_environ() and uv_os_free_environ() APIs have
  been added.

Fixes: https://github.com/nodejs/node/issues/28599
Fixes: https://github.com/nodejs/node/issues/28945
Fixes: https://github.com/nodejs/node/issues/29008
PR-URL: https://github.com/nodejs/node/pull/29070
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
2019-08-11 11:22:01 -04:00
cjihrig
ea73666850
deps: upgrade to libuv 1.30.1
This upgrade is a small patch release, fixing compilation
errors on Android, Cygwin, and uClibc - none of which are
tested in the CI.

PR-URL: https://github.com/nodejs/node/pull/28511
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2019-07-02 13:25:23 -04:00