f9ad802f | 14-Jul-2021 |
Martin Storsjö |
mingw: fix building for ARM/AArch64 Don't use x86 inline assembly in these cases, but fall back to __sync_fetch_and_or, similar to _InterlockedOr8 in the MSVC case. This corresp
mingw: fix building for ARM/AArch64 Don't use x86 inline assembly in these cases, but fall back to __sync_fetch_and_or, similar to _InterlockedOr8 in the MSVC case. This corresponds to what is done in src/unix/atomic-ops.h, where ARM/AArch64 cases end up implementing cmpxchgi with __sync_val_compare_and_swap. PR-URL: https://github.com/libuv/libuv/pull/3236 Reviewed-By: Jameson Nash <vtjnash@gmail.com>
show more ...
|
5c85d67b | 13-Jul-2021 |
Ryan Liptak |
doc,udp: note that suggested_size is 1 max-sized dgram The intention here is to make working with recvmmsg more straight-forward, since internally libuv expects buffers that are mult
doc,udp: note that suggested_size is 1 max-sized dgram The intention here is to make working with recvmmsg more straight-forward, since internally libuv expects buffers that are multiples of UV__UDP_DGRAM_MAXSIZE, but previously the availability of that value wasn't readily apparent to the caller. Closes: https://github.com/libuv/libuv/issues/2822 Closes: https://github.com/libuv/libuv/issues/1025 Closes: https://github.com/libuv/libuv/pull/1114 PR-URL: https://github.com/libuv/libuv/pull/2986 Reviewed-By: Jameson Nash <vtjnash@gmail.com>
show more ...
|
03f1a697 | 13-Jul-2021 |
Jameson Nash |
unix,stream: fix loop hang after uv_shutdown While most users will likely typically call uv_close in their uv_shutdown callback, some callers (notable nodejs) do not always do so. Th
unix,stream: fix loop hang after uv_shutdown While most users will likely typically call uv_close in their uv_shutdown callback, some callers (notable nodejs) do not always do so. This can result in libuv keeping the loop active, even though there are no outstanding reqs left to handle. This bug was added in 80f2f826bf90b84e659321c0b7fd8af419acb85e, where the premise of that commit appears to have simply been incorrect, as demonstrated by the added test. Refs: https://github.com/libuv/libuv/issues/3202 PR-URL: https://github.com/libuv/libuv/pull/3233 Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
show more ...
|
e49ef4f3 | 09-Jul-2021 |
Guilherme Íscaro |
darwin: fix uv_barrier race condition Prior to this patch a race condition may occur in case a thread tries to destroy the barrier while other awaiting threads were not notified. Sin
darwin: fix uv_barrier race condition Prior to this patch a race condition may occur in case a thread tries to destroy the barrier while other awaiting threads were not notified. Since the internal mutex and condition variables are destroyed this may cause an undefined behavior as described by the man pages. So in order to prevent such scenarios the detroy function will not wait until all awaiting threads are finished before proceeding. Fixes: https://github.com/libuv/libuv/issues/3102 PR-URL: https://github.com/libuv/libuv/pull/3162 Reviewed-By: Jameson Nash <vtjnash@gmail.com>
show more ...
|
b12699b1 | 07-Jul-2021 |
Richard Lau |
linux: read CPU model information on ppc Fixes: https://github.com/libuv/libuv/issues/3217 PR-URL: https://github.com/libuv/libuv/pull/3232 Reviewed-By: Jameson Nash <vtjnash@gmail.c
linux: read CPU model information on ppc Fixes: https://github.com/libuv/libuv/issues/3217 PR-URL: https://github.com/libuv/libuv/pull/3232 Reviewed-By: Jameson Nash <vtjnash@gmail.com>
show more ...
|
337dbfd9 | 07-Jul-2021 |
Jameson Nash |
doc: add vtjnash GPG ID PR-URL: https://github.com/libuv/libuv/pull/3235 Reviewed-By: Richard Lau <riclau@uk.ibm.com> |
b6d51dc4 | 02-Jul-2021 |
Joshua M. Clulow |
illumos,tty: UV_TTY_MODE_IO waits for 4 bytes uv_tty_set_mode() allows a tty device to be set to raw mode with UV_TTY_MODE_RAW, which correctly sets MIN and TIME to appropriate value
illumos,tty: UV_TTY_MODE_IO waits for 4 bytes uv_tty_set_mode() allows a tty device to be set to raw mode with UV_TTY_MODE_RAW, which correctly sets MIN and TIME to appropriate values for character input. When UV_TTY_MODE_IO is passed, on illumos systems a compatibility implementation of cfmakeraw() is used that does _not_ set MIN or TIME. As a result, consumers of IO mode will block until a minimum of 4 bytes is available on the tty instead of just 1 as is expected. PR-URL: https://github.com/libuv/libuv/pull/3219 Reviewed-By: Jameson Nash <vtjnash@gmail.com>
show more ...
|
caf22ddb | 02-Jul-2021 |
tjarlama |
illumos: event ports to epoll Sunos has added epoll wrappers to offer compatability for binaries build specifically for linux (https://illumos.org/man/5/epoll). With this, it's now p
illumos: event ports to epoll Sunos has added epoll wrappers to offer compatability for binaries build specifically for linux (https://illumos.org/man/5/epoll). With this, it's now possible to develop epoll as a generic interface and share between Linux and SUNOS, similar to kqueue. Fixes: https://github.com/libuv/libuv/issues/3008 PR-URL: https://github.com/libuv/libuv/pull/3046 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
show more ...
|
03d12d1a | 02-Jul-2021 |
Santiago Gimeno |
build: make sure -fvisibility=hidden is set PR-URL: https://github.com/libuv/libuv/pull/3005 Reviewed-By: Jameson Nash <vtjnash@gmail.com> |
b7466e31 | 21-May-2021 |
Ben Noordhuis |
idna: fix OOB read in punycode decoder libuv was vulnerable to out-of-bounds reads in the uv__idna_toascii() function which is used to convert strings to ASCII. This is called by the
idna: fix OOB read in punycode decoder libuv was vulnerable to out-of-bounds reads in the uv__idna_toascii() function which is used to convert strings to ASCII. This is called by the DNS resolution function and can lead to information disclosures or crashes. Reported by Eric Sesterhenn in collaboration with Cure53 and ExpressVPN. Reported-By: Eric Sesterhenn <eric.sesterhenn@x41-dsec.de> Fixes: https://github.com/libuv/libuv/issues/3147 PR-URL: https://github.com/libuv/libuv-private/pull/1 Refs: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22918 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com>
show more ...
|
4a27d87a | 01-Jul-2021 |
Jameson Nash |
doc: switch discussion forum to github Freenode is gone (replaced by Libera.chat), but IRC was unused anyways. Fixes: https://github.com/libuv/libuv/issues/3157 Fixes: https://g
doc: switch discussion forum to github Freenode is gone (replaced by Libera.chat), but IRC was unused anyways. Fixes: https://github.com/libuv/libuv/issues/3157 Fixes: https://github.com/libuv/libuv/issues/3208 PR-URL: https://github.com/libuv/libuv/pull/3214 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
show more ...
|
592cd40a | 01-Jul-2021 |
Erkhes N <71805796+rexes-ND@users.noreply.github.com> |
test: wrong pointer arithmetic multiplier PR-URL: https://github.com/libuv/libuv/pull/3216 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Jameson Nash <vtjnash@gmail.co
test: wrong pointer arithmetic multiplier PR-URL: https://github.com/libuv/libuv/pull/3216 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Jameson Nash <vtjnash@gmail.com>
show more ...
|
9ec6bb91 | 22-Jun-2021 |
Jameson Nash |
docs: move list of project links under PR control Copied from https://github.com/libuv/libuv/wiki/Projects-that-use-libuv, since the wiki was vulnerable to spam content. PR-
docs: move list of project links under PR control Copied from https://github.com/libuv/libuv/wiki/Projects-that-use-libuv, since the wiki was vulnerable to spam content. PR-URL: https://github.com/libuv/libuv/pull/3204 Reviewed-By: Richard Lau <riclau@uk.ibm.com>
show more ...
|
103dbaed | 21-Jun-2021 |
Darshan Sen |
Revert "win,fs: correct error code in uv_fs_read and uv_fs_write" This reverts commit 93942168281680bca60ddbd8d4c596fabcb8efd9. Refs: https://github.com/libuv/libuv/pull/3180 Re
Revert "win,fs: correct error code in uv_fs_read and uv_fs_write" This reverts commit 93942168281680bca60ddbd8d4c596fabcb8efd9. Refs: https://github.com/libuv/libuv/pull/3180 Refs: https://github.com/libuv/libuv/pull/3205 PR-URL: https://github.com/libuv/libuv/pull/3211 Reviewed-By: Jameson Nash <vtjnash@gmail.com>
show more ...
|
963ecc82 | 19-Jun-2021 |
Ben Noordhuis |
unix: implement cpu_relax() on ppc64 We also tell the compiler it is not allowed to reorder the PAUSE instruction relative to other instructions. It is a mostly theoretical issue, bu
unix: implement cpu_relax() on ppc64 We also tell the compiler it is not allowed to reorder the PAUSE instruction relative to other instructions. It is a mostly theoretical issue, but better safe than sorry. PR-URL: https://github.com/libuv/libuv/pull/2590 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Jameson Nash <vtjnash@gmail.com>
show more ...
|
9918a174 | 19-Jun-2021 |
twosee |
win,tcp: translate system errors correctly PR-URL: https://github.com/libuv/libuv/pull/3200 Reviewed-By: Jameson Nash <vtjnash@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> |
79d836b9 | 19-Jun-2021 |
twosee |
doc: more accurate list of valid send_handle's PR-URL: https://github.com/libuv/libuv/pull/3201 Reviewed-By: Jameson Nash <vtjnash@gmail.com> |
99eb736b | 10-Jun-2021 |
Jameson Nash |
win,tcp: make uv_close work more like unix This is an attempt to fix some resource management issues on Windows. Win32 sockets have an issue where it sends an RST packet if there is
win,tcp: make uv_close work more like unix This is an attempt to fix some resource management issues on Windows. Win32 sockets have an issue where it sends an RST packet if there is an outstanding overlapped calls. We can avoid that by being certain to explicitly cancel our read and write requests first. This also removes some conditional cleanup code, since we might as well clean it up eagerly (like unix). Otherwise, it looks to me like these might cause the accept callbacks to be run after the endgame had freed the memory for them. The comment here seems mixed up between send and recv buffers. The default behavior on calling `closesocket` is already to do a graceful shutdown (see https://docs.microsoft.com/en-us/windows/win32/api/winsock/nf-winsock-closesocket with default l_onoff=zero) if it is the last open handle. The expected behavior if there are pending reads in flight is to send an RST packet, notifying the client that the server connection was destroyed before acknowledging the EOF. Additionally, we need to cancel writes explicitly: we need to notify Win32 that it is okay to cancel these writes (so it doesn't also generate an RST packet on the wire). Refs: https://github.com/libuv/libuv/pull/3035 Refs: https://github.com/nodejs/node/pull/35946 Refs: https://github.com/nodejs/node/issues/35904 Fixes: https://github.com/libuv/libuv/issues/3034 PR-URL: https://github.com/libuv/libuv/pull/3036 Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
show more ...
|
6b0051d1 | 08-Jun-2021 |
Ali Mohammad Pur |
core: Correct the conditionals for {cloexec,nonblock}_ioctl These functions are declared with one set of conditionals in the header, and defined with another set of conditionals in the c
core: Correct the conditionals for {cloexec,nonblock}_ioctl These functions are declared with one set of conditionals in the header, and defined with another set of conditionals in the c file. This commit makes all decisions regarding `uv__{nonblock,cloexec}_ioctl` depend on a boolean macro instead. There's one function that expects `uv__nonblock_ioctl` to be defined, so that bit of the function is also conditionally compiled. PR-URL: https://github.com/libuv/libuv/pull/3163 Reviewed-By: Jameson Nash <vtjnash@gmail.com> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
show more ...
|
b201c1a0 | 28-May-2021 |
Darshan Sen |
freebsd: fix an incompatible pointer type warning Fixes: https://github.com/libuv/libuv/issues/3155 PR-URL: https://github.com/libuv/libuv/pull/3188 Reviewed-By: Jameson Nash <vtjnas
freebsd: fix an incompatible pointer type warning Fixes: https://github.com/libuv/libuv/issues/3155 PR-URL: https://github.com/libuv/libuv/pull/3188 Reviewed-By: Jameson Nash <vtjnash@gmail.com>
show more ...
|
a98839d7 | 28-May-2021 |
James M Snell |
cleanup,win: Remove _WIN32 guards on threadpool Fixes: https://github.com/libuv/libuv/issues/2980 Refs: https://github.com/nodejs/node/pull/35021 Reviewed-By: Ben Noordhuis <info@bno
cleanup,win: Remove _WIN32 guards on threadpool Fixes: https://github.com/libuv/libuv/issues/2980 Refs: https://github.com/nodejs/node/pull/35021 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Jameson Nash <vtjnash@gmail.com>
show more ...
|
07b86b96 | 28-May-2021 |
David CARLIER |
src: DragonFlyBSD has mmsghdr struct too Still returns ENOSYS, until the send/recv functions are implemented. PR-URL: https://github.com/libuv/libuv/pull/3040 Reviewed-By: Santi
src: DragonFlyBSD has mmsghdr struct too Still returns ENOSYS, until the send/recv functions are implemented. PR-URL: https://github.com/libuv/libuv/pull/3040 Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Jameson Nash <vtjnash@gmail.com>
show more ...
|
2ce720c6 | 28-May-2021 |
twosee |
poll,win: UV_PRIORITIZED option should not assert PR-URL: https://github.com/libuv/libuv/pull/3171 Reviewed-By: Jameson Nash <vtjnash@gmail.com> |
93942168 | 28-May-2021 |
Darshan Sen |
win,fs: correct error code in uv_fs_read and uv_fs_write Just like the unix counterpart, uv_fs_read and uv_fs_write should throw an EBADF instead of manually throwing an EPERM when the p
win,fs: correct error code in uv_fs_read and uv_fs_write Just like the unix counterpart, uv_fs_read and uv_fs_write should throw an EBADF instead of manually throwing an EPERM when the passed fd has not been opened with the right access flags. PR-URL: https://github.com/libuv/libuv/pull/3180 Reviewed-By: Jameson Nash <vtjnash@gmail.com>
show more ...
|
bcc4f8fd | 28-May-2021 |
twosee |
stream: introduce uv_try_write2 function `uv_try_write2(stream, bufs, nbufs, send_handle)` acts like `uv_try_write()` and extended write function for sending handles over a pipe like
stream: introduce uv_try_write2 function `uv_try_write2(stream, bufs, nbufs, send_handle)` acts like `uv_try_write()` and extended write function for sending handles over a pipe like `uv_write2`. It always returns `UV_EAGAIN` instead of `UV_ENOSYS` on Windows so we can easily write cross-platform code without special treatment. PR-URL: https://github.com/libuv/libuv/pull/3183 Reviewed-By: Jameson Nash <vtjnash@gmail.com>
show more ...
|