Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 96c259f1 | 2024-06-26 12:10:00 | tcpkeepalive: distinguish OS versions and use proper time units (#1669) DragonFly BSD changed the time unit for TCP keep-alive from milliseconds to seconds since v5.8 and Solaris 11.4 added `TCP_KEEPIDLE`, `TCP_KEEPINTVL`, and `TCP_KEEPCNT` with time units in second while Solaris <11.4 still use `TCP_KEEPALIVE_THRESHOLD` and `TCP_KEEPALIVE_ABORT_THRESHOLD` with time units in millisecond. Currently, we don't differentiate among DragonFly BSD versions but set the keepalive options with seconds, which will result in unexpected behaviors on DragonFlyBSD <5.8. This PR intends to fix the wrong usage of time units of TCP keepalive options on DragonFly BSD <5.8 and consolidate the logic of time units conversion for TCP keepalive across platforms. In addition, this PR introduces a new custom macro for determining Solaris 11.4. This macro is expected to help us implement some new features for `libuv` using some abilities that only exist on Solaris 11.4 and other mainstream platforms in the future, considering that Oracle developed and released Solaris 11.4 to replenish plenty of features on Solaris that have already been implemented on other UNIX-like OSs but missing from Solaris <11.4, also bring a good deal of new features. ### References - [Change tcp keepalive options from ms to seconds (DISRUPTIVE)](https://lists.dragonflybsd.org/pipermail/commits/2019-July/719125.html) - [DragonFly BSD 5.8 release notes](https://www.dragonflybsd.org/release58/) - [DragonFly TCP](https://man.dragonflybsd.org/?command=tcp§ion=4) - [Solaris 11.3 TCP](https://docs.oracle.com/cd/E86824_01/html/E54777/tcp-7p.html) - [Solaris 11.4 TCP](https://docs.oracle.com/cd/E88353_01/html/E37851/tcp-4p.html) - [Solaris 11.4 release notes](https://docs.oracle.com/cd/E37838_01/html/E60973/) Signed-off-by: Andy Pan <i@andypan.me> | ||
| 832f5269 | 2024-05-17 16:54:22 | aix: enable SO_REUSEPORT on AIX AIX 7.2.5 added the feature that would add the capability to distribute incoming connections across all listening ports. https://www.ibm.com/support/pages/how-get-better-listening-performance-multiple-listening-sockets-using-same-port-number-soreuseport --------- Signed-off-by: Andy Pan <i@andypan.me> | ||
| eec47a67 | 2024-04-30 15:59:58 | Fix typos (#1634) | ||
| cbbf209c | 2024-04-29 13:31:34 | Support SO_REUSEPORT on FreeBSD, DragonFly and Solaris (#1624) ## References - [The SO_REUSEPORT socket option on Linux](https://lwn.net/Articles/542629/) - [DragonFly Release 3.6](https://www.dragonflybsd.org/release36/) - [FreeBSD 12.0-RELEASE Release Notes](https://www.freebsd.org/releases/12.0R/relnotes/) - [SO_REUSEPORT on Solaris 11.4](https://docs.oracle.com/cd/E88353_01/html/E37843/setsockopt-3c.html) Co-authored-by: Azat Khuzhin <azat@libevent.org> | ||
| 73c0349e | 2024-04-29 13:16:58 | Fix evutil_parse_sockaddr_port documentation (#1628) In some IDE like Xcode, the list is interpreted as markdown instead of plain text | ||
| 539f73e3 | 2024-02-20 09:30:22 | Fix leak in evbuffer_add_file() on empty files Found by oss-fuzz, after coverage had been improved in google/oss-fuzz#11257 v2: adjust test v3: fix for windows (_get_osfhandle() crashes when called on closed fd) v4: fix for EVENT__DISABLE_MM_REPLACEMENT | ||
| 9c8860ec | 2024-03-11 15:50:43 | chore: remove repetitive words Signed-off-by: tgolang <seekseat@aliyun.com> | ||
| e66df92c | 2024-03-07 16:19:11 | Accept SOCK_NONBLOCK/SOCK_CLOEXEC in type argument of socketpair (#1567) Setting `SOCK_NONBLOCK` and `SOCK_CLOEXEC` in the `type` argument of `socketpair()` is widely supported across UNIX-like OS: Linux, *BSD, Solaris, etc., as is the `socket()`. This will conserve several extra system calls, we should use it where available. ### References - [socketpair(2) on Linux](https://man7.org/linux/man-pages/man2/socketpair.2.html#HISTORY) - [socketpair(2) on FreeBSD](https://man.freebsd.org/cgi/man.cgi?query=socketpair&sektion=2#DESCRIPTION) - [socketpair(2) on DragonFly](https://man.dragonflybsd.org/?command=socketpair§ion=2) - [socketpair(2) on NetBSD](https://man.netbsd.org/socketpair.2#DESCRIPTION) - [socketpair(2) on OpenBSD](https://man.openbsd.org/socketpair.2) - [socketpair(3C) on Solaris](https://docs.oracle.com/cd/E88353_01/html/E37843/socketpair-3c.html) Changelog: - Set SOCK_NONBLOCK and SOCK_CLOEXEC in the type argument of socketpair - Avoid EPROTOTYPE on macOS and OpenBSD - Eliminate the warnings about unused variables - Add some comments | ||
| d9b5fe31 | 2024-02-18 18:03:38 | evrpc: proper NULL checks (API function return value added) Note, that in order to do this evrpc_hook_add_meta() should have return value, so this is a minor ABI change, which should not affect C ABI, but still worth to mention. Anyway this will be done in 2.2 release and unlikely RPC subsystem is popular. | ||
| 9d4853b3 | 2024-01-13 20:51:49 | Optimize preprocessor directives on Solaris for evutil_set_tcp_keepalive (#1536) Changes: - Optimize preprocessor directives on Solaris for evutil_set_tcp_keepalive - Reduce the amount of code being compiled and trim trailing whitespace in passing. - Move comments for Solaris under its macro - Refactor the control flow |