#
c074ba64 |
| 01-Jul-2024 |
Daniel Stenberg |
code: language cleanup in comments Based on the standards and guidelines we use for our documentation. - expand contractions (they're => they are etc) - host name = > hostname
code: language cleanup in comments Based on the standards and guidelines we use for our documentation. - expand contractions (they're => they are etc) - host name = > hostname - file name => filename - user name = username - man page => manpage - run-time => runtime - set-up => setup - back-end => backend - a HTTP => an HTTP - Two spaces after a period => one space after period Closes #14073
show more ...
|
#
f786fce9 |
| 05-Jun-2024 |
Andy Pan |
socketpair: provide `Curl_socketpair` only when `!CURL_DISABLE_SOCKETPAIR` Ref: https://curl.se/dev/log.cgi?id=20240605035856-3529577 Reported-by: Marcel Raad Closes #13888
|
#
23fe1a52 |
| 01-Jun-2024 |
Andy Pan |
socketpair: add `eventfd` and use `SOCK_NONBLOCK` for `socketpair()` Currently, we use `pipe` for `wakeup_create`, which requires ***two*** file descriptors. Furthermore, given its compl
socketpair: add `eventfd` and use `SOCK_NONBLOCK` for `socketpair()` Currently, we use `pipe` for `wakeup_create`, which requires ***two*** file descriptors. Furthermore, given its complexity inside, `pipe` is a bit heavyweight for just a simple event wait/notify mechanism. `eventfd` would be a more suitable solution for this kind of scenario, kernel also advocates for developers to use `eventfd` instead of `pipe` in some simple use cases: Applications can use an eventfd file descriptor instead of a pipe (see pipe(2) in all cases where a pipe is used simply to signal events. The kernel overhead of an eventfd file descriptor is much lower than that of a pipe, and only one file descriptor is required (versus the two required for a pipe). This change adds the new backend of `eventfd` for `wakeup_create` and uses it where available, eliminating the overhead of `pipe`. Also, it optimizes the `wakeup_create` to eliminate the system calls that make file descriptors non-blocking by moving the logic of setting non-blocking flags on file descriptors to `socketpair.c` and using `SOCK_NONBLOCK` for `socketpair(2)`, `EFD_NONBLOCK` for `eventfd(2)`. Ref: https://man7.org/linux/man-pages/man7/pipe.7.html https://man7.org/linux/man-pages/man2/eventfd.2.html https://man7.org/linux/man-pages/man2/socketpair.2.html https://www.gnu.org/software/gnulib/manual/html_node/eventfd.html Closes #13874
show more ...
|
#
fd0d2ed7 |
| 13-May-2024 |
Andrew |
wakeup_create: use FD_CLOEXEC/SOCK_CLOEXEC for `pipe()`/`socketpair()` Fixes #13618 Closes #13625
|
#
03e7dff8 |
| 12-Dec-2023 |
Viktor Szakats |
windows: delete redundant headers `winsock2.h` pulls in `windows.h`. `ws2tcpip.h` pulls in `winsock2.h`. `winsock2.h` and `ws2tcpip.h` are also pulled by `curl/curl.h`. Keep onl
windows: delete redundant headers `winsock2.h` pulls in `windows.h`. `ws2tcpip.h` pulls in `winsock2.h`. `winsock2.h` and `ws2tcpip.h` are also pulled by `curl/curl.h`. Keep only those headers that are not already included, or the code under it uses something from that specific header. Closes #12539
show more ...
|
#
e9a7d4a1 |
| 21-Nov-2023 |
Viktor Szakats |
windows: use built-in `_WIN32` macro to detect Windows Windows compilers define `_WIN32` automatically. Windows SDK headers or build env defines `WIN32`, or we have to take care of it. T
windows: use built-in `_WIN32` macro to detect Windows Windows compilers define `_WIN32` automatically. Windows SDK headers or build env defines `WIN32`, or we have to take care of it. The agreement seems to be that `_WIN32` is the preferred practice here. Make the source code rely on that to detect we're building for Windows. Public `curl.h` was using `WIN32`, `__WIN32__` and `CURL_WIN32` for Windows detection, next to the official `_WIN32`. After this patch it only uses `_WIN32` for this. Also, make it stop defining `CURL_WIN32`. There is a slight chance these break compatibility with Windows compilers that fail to define `_WIN32`. I'm not aware of any obsolete or modern compiler affected, but in case there is one, one possible solution is to define this macro manually. grepping for `WIN32` remains useful to discover Windows-specific code. Also: - extend `checksrc` to ensure we're not using `WIN32` anymore. - apply minor formatting here and there. - delete unnecessary checks for `!MSDOS` when `_WIN32` is present. Co-authored-by: Jay Satiro Reviewed-by: Daniel Stenberg Closes #12376
show more ...
|
#
f198d33e |
| 18-May-2023 |
Emanuele Torre |
checksrc: disallow spaces before labels Out of 415 labels throughout the code base, 86 of those labels were not at the start of the line. Which means labels always at the start of th
checksrc: disallow spaces before labels Out of 415 labels throughout the code base, 86 of those labels were not at the start of the line. Which means labels always at the start of the line is the favoured style overall with 329 instances. Out of the 86 labels not at the start of the line: * 75 were indented with the same indentation level of the following line * 8 were indented with exactly one space * 2 were indented with one fewer indentation level then the following line * 1 was indented with the indentation level of the following line minus three space (probably unintentional) Co-Authored-By: Viktor Szakats Closes #11134
show more ...
|
#
a97e4eb9 |
| 24-Apr-2023 |
Daniel Stenberg |
socketpair: verify with a random value ... instead of using the curl time struct, since it would use a few uninitialized bytes and the sanitizers would complain. This is a neater app
socketpair: verify with a random value ... instead of using the curl time struct, since it would use a few uninitialized bytes and the sanitizers would complain. This is a neater approach I think. Reported-by: Boris Kuschel Fixes #10993 Closes #11015
show more ...
|
#
a6506f26 |
| 19-Feb-2023 |
Daniel Stenberg |
socketpair: allow EWOULDBLOCK when reading the pair check bytes Reported-by: Gunamoi Software Co-authored-by: Jay Satiro Fixes #10561 Closes #10562
|
#
2bc1d775 |
| 02-Jan-2023 |
Daniel Stenberg |
copyright: update all copyright lines and remove year ranges - they are mostly pointless in all major jurisdictions - many big corporations and projects already don't use them - save
copyright: update all copyright lines and remove year ranges - they are mostly pointless in all major jurisdictions - many big corporations and projects already don't use them - saves us from pointless churn - git keeps history for us - the year range is kept in COPYING checksrc is updated to allow non-year using copyright statements Closes #10205
show more ...
|
#
7fa449ca |
| 27-Dec-2022 |
Daniel Stenberg |
socketpair: allow localhost MITM sniffers Windows allow programs to MITM connections to localhost. The previous check here would detect that and error out. This new method writes data
socketpair: allow localhost MITM sniffers Windows allow programs to MITM connections to localhost. The previous check here would detect that and error out. This new method writes data to verify the pipe thus allowing MITM. Reported-by: SerusDev on github Fixes #10144 Closes #10169
show more ...
|
#
ad9bc597 |
| 17-May-2022 |
max.mehl |
copyright: make repository REUSE compliant Add licensing and copyright information for all files in this repository. This either happens in the file itself as a comment header or in the
copyright: make repository REUSE compliant Add licensing and copyright information for all files in this repository. This either happens in the file itself as a comment header or in the file `.reuse/dep5`. This commit also adds a Github workflow to check pull requests and adapts copyright.pl to the changes. Closes #8869
show more ...
|
#
9a7a60db |
| 19-Jul-2021 |
Daniel Stenberg |
misc: copyright year range updates
|
#
0a513555 |
| 05-Jun-2021 |
Daniel Stenberg |
Revert "Revert "socketpair: fix potential hangs"" This reverts commit 3e70c3430a370a31eff2c1d8fea29edaca8f1127. Thus brings back the change from #7144 as was originally landed in
Revert "Revert "socketpair: fix potential hangs"" This reverts commit 3e70c3430a370a31eff2c1d8fea29edaca8f1127. Thus brings back the change from #7144 as was originally landed in c769d1eab4de8b Closes #7144 (again)
show more ...
|
#
3e70c343 |
| 03-Jun-2021 |
Daniel Stenberg |
Revert "socketpair: fix potential hangs" This reverts commit c769d1eab4de8b9f1bd84d992c63692fdc43c5be. See #7144 for details
|
#
c769d1ea |
| 28-May-2021 |
Paul Groke |
socketpair: fix potential hangs Fixes potential hang in accept by using select + non-blocking accept. Fixes potential hang in peer check by replacing the send/recv check with a
socketpair: fix potential hangs Fixes potential hang in accept by using select + non-blocking accept. Fixes potential hang in peer check by replacing the send/recv check with a getsockname/getpeername check. Adds length check for returned sockaddr data. Closes #7144
show more ...
|
Revision tags: curl-7_76_1, curl-7_76_0, curl-7_75_0, curl-7_74_0 |
|
#
4d2f8006 |
| 04-Nov-2020 |
Daniel Stenberg |
curl.se: new home Closes #6172
|
Revision tags: curl-7_73_0, tiny-curl-7_72_0, curl-7_72_0 |
|
#
d854572c |
| 14-Aug-2020 |
Daniel Stenberg |
socketpair: allow CURL_DISABLE_SOCKETPAIR ... to completely disable the use of socketpair Closes #5850
|
Revision tags: curl-7_71_1, curl-7_71_0, curl-7_70_0, curl-7_69_1, curl-7_69_0, curl-7_68_0 |
|
#
4b463992 |
| 24-Dec-2019 |
Xiang Xiao |
lib: fix warnings found when porting to NuttX - Undefine DEBUGASSERT in curl_setup_once.h in case it was already defined as a system macro. - Don't compile write32_le in curl_
lib: fix warnings found when porting to NuttX - Undefine DEBUGASSERT in curl_setup_once.h in case it was already defined as a system macro. - Don't compile write32_le in curl_endian unless CURL_SIZEOF_CURL_OFF_T > 4, since it's only used by Curl_write64_le. - Include <arpa/inet.h> in socketpair.c. Closes https://github.com/curl/curl/pull/4756
show more ...
|
Revision tags: curl-7_67_0 |
|
#
0dc14b83 |
| 10-Oct-2019 |
Harry Sintonen |
socketpair: fix include and define for older TCP header systems fixed build for systems that need netinet/in.h for IPPROTO_TCP and are missing INADDR_LOOPBACK Closes #4480
|
#
622cf7db |
| 10-Oct-2019 |
Daniel Stenberg |
socketpair: fix double-close in error case Follow-up to bc2dbef0afc08
|
#
bc2dbef0 |
| 04-Oct-2019 |
Daniel Stenberg |
socketpair: an implemention for Windows and more Curl_socketpair() is designed to be used and work everywhere if there's no native version or the native version isn't good enough.
socketpair: an implemention for Windows and more Curl_socketpair() is designed to be used and work everywhere if there's no native version or the native version isn't good enough. Closes #4466
show more ...
|