#
1eac3310 |
| 10-Aug-2024 |
Ben Noordhuis |
linux: support abstract unix socket autobinding (#4499) Autobinding is a feature that lets the kernel pick a name for the abstract socket, instead of userspace having to provide one.
linux: support abstract unix socket autobinding (#4499) Autobinding is a feature that lets the kernel pick a name for the abstract socket, instead of userspace having to provide one. Two bugs that this change exposed are also fixed: 1. strlen(sa.sun_path) can read past the end if the file path is exactly sizeof(sa.sun_path) long (use memchr instead), and 2. don't return UV_ENOBUFS for abstract sockets when the buffer is exactly large enough to hold the result; per commit e5f4b79809, abstract socket names are not zero-terminated
show more ...
|
#
c8d4a87f |
| 21-May-2024 |
Andy Pan |
bsd: support pipe2() on *BSD (#4412) --------- Signed-off-by: Andy Pan <i@andypan.me>
|
#
1dd0ab13 |
| 25-Dec-2023 |
Santiago Gimeno |
linux: fix bind/connect for abstract sockets (#4266) The `\0` character has no special significance in abstract sockets, so the addrlen field in both `bind()` and `connect()` should take
linux: fix bind/connect for abstract sockets (#4266) The `\0` character has no special significance in abstract sockets, so the addrlen field in both `bind()` and `connect()` should take that into account.
show more ...
|
#
6be130e1 |
| 16-Nov-2023 |
Ben Noordhuis |
unix,win: fix read past end of pipe name buffer (#4209) Passing a socket name without a trailing nul byte to uv_pipe_bind2() or (on Windows) uv_pipe_connect2() resulted in reading beyond
unix,win: fix read past end of pipe name buffer (#4209) Passing a socket name without a trailing nul byte to uv_pipe_bind2() or (on Windows) uv_pipe_connect2() resulted in reading beyond the end of the name buffer when copying or converting it. Fix that by copying the socket name to temporary storage first and add the trailing nul byte explicitly. Add a check for embedded nul bytes in the socket name. Fix a small memory leak in the Windows error path of uv_pipe_bind2().
show more ...
|
#
d843b7cf |
| 14-Nov-2023 |
Jameson Nash |
pipe: add back error handling to connect / bind (#4202) This was incorrectly dropped by #4030, where previously connecting to "" might fail eventually, now instead it would return EINVAL
pipe: add back error handling to connect / bind (#4202) This was incorrectly dropped by #4030, where previously connecting to "" might fail eventually, now instead it would return EINVAL and then fail to initialize the struct or call the callback.
show more ...
|
#
2f1614b1 |
| 06-Jun-2023 |
Ben Noordhuis |
unix,win: add UV_PIPE_NO_TRUNCATE flag (#4040) Libuv's default behavior is to truncate long Unix socket paths. The flag tells it to return an error instead. Fixes: https://githu
unix,win: add UV_PIPE_NO_TRUNCATE flag (#4040) Libuv's default behavior is to truncate long Unix socket paths. The flag tells it to return an error instead. Fixes: https://github.com/libuv/libuv/issues/4036
show more ...
|
#
b9b6db05 |
| 04-Jun-2023 |
Ben Noordhuis |
linux: support abstract unix sockets (#4030) Add two new APIs for binding and connecting to abstract UNIX sockets. Fixes: https://github.com/libuv/libuv/issues/4028
|
#
1b01b786 |
| 24-May-2023 |
Ben Noordhuis |
unix,win: replace QUEUE with struct uv__queue (#4022) Recent versions of gcc have started emitting warnings about the liberal type casting inside the QUEUE macros. Although the warnings
unix,win: replace QUEUE with struct uv__queue (#4022) Recent versions of gcc have started emitting warnings about the liberal type casting inside the QUEUE macros. Although the warnings are false positives, let's use them as the impetus to switch to a type-safer and arguably cleaner approach. Fixes: https://github.com/libuv/libuv/issues/4019
show more ...
|
#
acfe668e |
| 18-Oct-2022 |
Ben Noordhuis |
build: add MemorySanitizer (MSAN) support (#3788) - unpoison results from linux system call wrappers - unpoison results from stat/fstat/lstat to pacify clang 14 (fixed in late
build: add MemorySanitizer (MSAN) support (#3788) - unpoison results from linux system call wrappers - unpoison results from stat/fstat/lstat to pacify clang 14 (fixed in later versions) - add MSAN build option - turn on MSAN CI build
show more ...
|
#
8bcd689c |
| 11-Jun-2022 |
theanarkh <2923878201@qq.com> |
tcp,pipe: fail `bind` or `listen` after `close` (#3641) Return `UV_EINVAL` in `bind` and `listen` when `handle` is `UV_HANDLE_CLOSING` or `UV_HANDLE_CLOSED`. Fixes: https://gith
tcp,pipe: fail `bind` or `listen` after `close` (#3641) Return `UV_EINVAL` in `bind` and `listen` when `handle` is `UV_HANDLE_CLOSING` or `UV_HANDLE_CLOSED`. Fixes: https://github.com/libuv/libuv/issues/3503
show more ...
|
#
5ec89b8c |
| 10-Mar-2022 |
V-for-Vasili |
aix, ibmi: handle server hang when remote sends TCP RST (#3482) Workaround getsockname() not working for a TCP handle that has received RST from the remote. Co-authored-by: Jame
aix, ibmi: handle server hang when remote sends TCP RST (#3482) Workaround getsockname() not working for a TCP handle that has received RST from the remote. Co-authored-by: Jameson Nash <vtjnash@gmail.com>
show more ...
|
#
d54c92e3 |
| 15-Feb-2022 |
Jameson Nash |
win: fix style nits [NFC] (#3474) Internal functions usually have a uv__ prefix.
|
Revision tags: v1.41.0 |
|
#
4ddc2927 |
| 10-Nov-2020 |
Jameson Nash |
stream: add uv_pipe and uv_socketpair to the API Equivalents of `pipe` and `socketpair` for cross-platform use. PR-URL: https://github.com/libuv/libuv/pull/2953 Reviewed-By: San
stream: add uv_pipe and uv_socketpair to the API Equivalents of `pipe` and `socketpair` for cross-platform use. PR-URL: https://github.com/libuv/libuv/pull/2953 Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
show more ...
|
Revision tags: v1.40.0, v1.39.0, v1.38.1, v1.38.0, v1.37.0, v1.36.0, v1.35.0, v1.34.2, v1.34.1, v1.34.0 |
|
#
a6296880 |
| 29-Nov-2019 |
Witold Kręcicki |
pipe: disallow listening on an IPC pipe PR-URL: https://github.com/libuv/libuv/pull/2559 Reviewed-By: Jameson Nash <vtjnash@gmail.com> Reviewed-By: Saúl Ibarra Corretgé <s@saghul.net> |
#
1b045d46 |
| 20-Jan-2020 |
Xu Meng |
ibmi: ensure that pipe backlog is not zero On IBMi PASE, listen(pipe_fd, backlog=0) leads to "Connection refused" error PR-URL: https://github.com/libuv/libuv/pull/2641 Reviewed
ibmi: ensure that pipe backlog is not zero On IBMi PASE, listen(pipe_fd, backlog=0) leads to "Connection refused" error PR-URL: https://github.com/libuv/libuv/pull/2641 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
show more ...
|
Revision tags: v1.33.1, v1.33.0 |
|
#
0ff717e3 |
| 25-Sep-2019 |
MaYuming |
build: fix build warning on cygwin Signed-off-by: MaYuming <maym@appexnetworks.com> PR-URL: https://github.com/libuv/libuv/pull/2489 Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
build: fix build warning on cygwin Signed-off-by: MaYuming <maym@appexnetworks.com> PR-URL: https://github.com/libuv/libuv/pull/2489 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Saúl Ibarra Corretgé <s@saghul.net>
show more ...
|
Revision tags: v1.32.0, v1.31.0, v1.30.1, v1.30.0, v1.29.1, v1.29.0, v1.28.0, v1.27.0, v1.26.0, v1.25.0, v1.24.1, v1.24.0, v1.23.2, v1.23.1, v1.23.0, v1.22.0, v1.21.0, v1.20.3, v1.20.2, v1.20.1, v1.20.0, v1.19.2, v1.19.1, v1.19.0, v1.18.0, v1.17.0, v1.16.1, v1.16.0, v1.15.0, v1.14.1, v1.14.0, v1.13.1, v1.13.0, v1.12.0 |
|
#
90415a33 |
| 20-Mar-2017 |
Santiago Gimeno |
udp: add support for UDP connected sockets Add two new methods: `uv_udp_connect()` to connect / disconnect an UDP handle. `uv_udp_getpeername()` to get the remote peer address o
udp: add support for UDP connected sockets Add two new methods: `uv_udp_connect()` to connect / disconnect an UDP handle. `uv_udp_getpeername()` to get the remote peer address of a connected UDP handle. Modify `uv_udp_send()` and `uv_udp_try_send()` to accept a `NULL` `addr` to send messages over an "UDP connection". Refs: https://github.com/libuv/leps/pull/10 PR-URL: https://github.com/libuv/libuv/pull/1872 Backport-PR-URL: https://github.com/libuv/libuv/pull/2217 Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
show more ...
|
#
d16897c4 |
| 31-May-2018 |
Santiago Gimeno |
unix: refactor getsockname/getpeername methods PR-URL: https://github.com/libuv/libuv/pull/1872 Backport-PR-URL: https://github.com/libuv/libuv/pull/2217 Reviewed-By: Saúl Ibarra Cor
unix: refactor getsockname/getpeername methods PR-URL: https://github.com/libuv/libuv/pull/1872 Backport-PR-URL: https://github.com/libuv/libuv/pull/2217 Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
show more ...
|
#
f66eda7c |
| 31-Jan-2019 |
yeyuanfeng |
unix: fix epoll cpu 100% issue Fixes: https://github.com/libuv/libuv/issues/2162 PR-URL: https://github.com/libuv/libuv/pull/2166 Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
unix: fix epoll cpu 100% issue Fixes: https://github.com/libuv/libuv/issues/2162 PR-URL: https://github.com/libuv/libuv/pull/2166 Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com> Reviewed-By: Li YuBei <leeight@gmail.com> Reviewed-By: Jameson Nash <vtjnash@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
show more ...
|
#
8972e65b |
| 03-Dec-2018 |
Ben Noordhuis |
unix: harden string copying, introduce strscpy() Replace calls to strcpy() and strncpy() with the newly introduced uv__strscpy() function that is meticulous about zero-terminating th
unix: harden string copying, introduce strscpy() Replace calls to strcpy() and strncpy() with the newly introduced uv__strscpy() function that is meticulous about zero-terminating the destination buffer. PR-URL: https://github.com/libuv/libuv/pull/2065 Refs: https://www.kernel.org/doc/htmldocs/kernel-api/API-strscpy.html Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com>
show more ...
|
#
40498795 |
| 28-Aug-2018 |
Jameson Nash |
stream: autodetect direction Previously, we required the user to specify the expected read/write flags for a pipe or tty. But we've already been asking the OS to tell us what they ac
stream: autodetect direction Previously, we required the user to specify the expected read/write flags for a pipe or tty. But we've already been asking the OS to tell us what they actually are (fcntl F_GETFL), so we can hopefully just use that information directly. Fixes: https://github.com/libuv/libuv/issues/1936 PR-URL: https://github.com/libuv/libuv/pull/1964 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
show more ...
|
#
619937c7 |
| 28-Jun-2018 |
Ben Noordhuis |
unix,win: merge handle flags Some long overdue refactoring that unifies more of the UNIX and Windows backends. PR-URL: https://github.com/libuv/libuv/pull/1904 Reviewed-By:
unix,win: merge handle flags Some long overdue refactoring that unifies more of the UNIX and Windows backends. PR-URL: https://github.com/libuv/libuv/pull/1904 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
show more ...
|
#
2256be01 |
| 28-May-2018 |
Ben Noordhuis |
unix: catch some cases of watching fd twice Libuv does not support multiple handles watching the same file descriptor. That condition is caught by an assert but it's detached from t
unix: catch some cases of watching fd twice Libuv does not support multiple handles watching the same file descriptor. That condition is caught by an assert but it's detached from the call site and therefore not always trivial to track down. This commit turns cases where we can easily detect duplicates into runtime `UV_EEXIST` errors. More work is needed to catch _all_ cases. Partially addresses https://github.com/libuv/libuv/issues/1172. PR-URL: https://github.com/libuv/libuv/pull/1851 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
show more ...
|
#
19855c03 |
| 19-Nov-2017 |
zzzjim |
unix: fix uv_pipe_chmod() on macOS According to its man page, there is a bug in fstat() on macOS related to pipes. This commit replaces a fstat() call in uv_pipe_chmod() with a stat(
unix: fix uv_pipe_chmod() on macOS According to its man page, there is a bug in fstat() on macOS related to pipes. This commit replaces a fstat() call in uv_pipe_chmod() with a stat() call in order to get the correct permissions. PR-URL: https://github.com/libuv/libuv/pull/1635 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
show more ...
|
#
89cbbc89 |
| 19-Jan-2018 |
Mason X |
include,src: introduce UV__ERR() macro Using -errno, -E**, and -pthread_function() can be error prone, and breaks compatibility with some operating systems that already negate errno'
include,src: introduce UV__ERR() macro Using -errno, -E**, and -pthread_function() can be error prone, and breaks compatibility with some operating systems that already negate errno's (e.g. Haiku). This commit adds a UV__ERR() macro that ensures libuv errors are negative. Fixes: https://github.com/libuv/help/issues/39 PR-URL: https://github.com/libuv/libuv/pull/1687 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com> Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
show more ...
|