Log

Author Commit Date CI Message
MBeanwenshengming 648ec50e 2023-09-21T15:13:31 Add function evbuffer_add_reference_with_offset() This is the same as evbuffer_add_reference(), but allows to specify offset in the @data v2: rename evbuffer_add_reference_misalign() to evbuffer_add_reference_with_offset()
Gordon Bergling 8728c983 2023-08-02T10:56:35 evthread: Fix typos in error messages - s/probaby/probably/
DmiTriy Fedchenko 0797e207 2023-08-02T18:37:42 Fixed misaligned address access
Dmitry Ilyin f39ad1c4 2023-08-31T22:38:41 ws: replace evws_send with evws_send_text/evws_send_binary (ABI breakage) (#1500) Replace evws_send with evws_send_text, and introduce new API - evws_send_binary, that can be used to send binary frames. But note, that this commit breaks the ABI compatibility, but it should be OK, since there was only alpha release with evws_send, and nobody should rely on this, and I hope nobody does (we decided to go this way to avoid supporting deprecated API).
Michael Davidsaver 21d2f5a4 2023-08-18T07:51:02 Fixes #include of winsock.h before winsock2.h
Michael Davidsaver c9ec6aaf 2023-08-01T14:02:34 Update cmake policy wrt. RPATH on OSX Previous settings caused install outside CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES to use install_name "lib/" in place of the expected (and useful) "@rpath/".
Michael Davidsaver 3c29a81b 2023-07-30T07:44:53 fixup RPATH computation Handle cases where ${CMAKE_INSTALL_LIBDIR} is not ${CMAKE_INSTALL_PREFIX}/lib . Also, preserve user provided ${CMAKE_INSTALL_RPATH} . fixup for 41a7393f3ecd1e9f58331df4653dac2e6739304e
Azat Khuzhin 66b3904b 2023-07-29T22:27:31 Merge pull request #1498 from mdavidsaver/cleanup-_WIN32_WINNT
Michael Davidsaver f76bd641 2023-07-29T08:12:26 increment _WIN32_WINNT in evutil.c
Michael Davidsaver 126523f9 2023-07-25T11:01:32 fix prototype of evutil_check_working_afunix_() mingw w/ gcc 12 defaults to -Wstrict-prototype which complains about K&R style argument lists.
Michael Davidsaver a14ff912 2023-07-25T10:52:10 move _WIN32_WINNT defintions before first #include _WIN32_WINNT and WIN32_LEAN_AND_MEAN need to be defined before the windows.h is included for the first time. Avoid the confusion of indirect #include by defining before any.
Azat Khuzhin 6db587de 2023-07-16T15:23:14 Merge branch 'scorecard-action' (#1494) * scorecard-action: docs(readme): add scorecard badge Enable Scorecard GitHub Action
Diogo Teles Sant'Anna e26e0647 2023-07-14T14:09:52 docs(readme): add scorecard badge
Diogo Teles Sant'Anna 613581bb 2023-07-14T13:38:04 Enable Scorecard GitHub Action
Azat Khuzhin 7b302e7d 2023-07-13T21:21:58 Merge branch 'disable-signalfd' * disable-signalfd: Increase timeout for tests Disable signalfd by default
Azat Khuzhin 3d1d7548 2023-07-11T21:29:37 Increase timeout for tests Now, it 20min for sequential runs is not enough already, I've tested it on t3.medium manually and got the same: Total Test time (real) = 1275.03 sec And also if I run tests in parallel then I had few failures: bufferevent/bufferevent_connect_fail: FAIL /root/libevent/test/regress_bufferevent.c:865: didn't fail? what 128 FAIL /root/libevent/test/regress_bufferevent.c:906: assert(test_ok == 1): 0 vs 1 FAIL /root/libevent/test/regress_bufferevent.c:839: assert(n_events_invoked == 1): 2 vs 1bufferevent/bufferevent_connect_fail_eventcb_defer: FAIL /root/libevent/test/regress_bufferevent.c:839: assert(n_events_invoked == 1): 2 vs 1bufferevent/bufferevent_connect_fail_eventcb: 3/386 TESTS FAILED. (45 skipped) v2: Increase timeout more (for netbsd)
Azat Khuzhin 57d9eec6 2023-07-10T10:40:49 Disable signalfd by default signalfd may behave differently to sigaction/signal, so to avoid breaking libevent users (like [1], [2]) disable it by default. [1]: https://github.com/tmux/tmux/pull/3621 [2]: https://github.com/tmux/tmux/pull/3626 Also signalfd is not that perfect: - you need to SIG_BLOCK the signal before - blocked signals are not reset on exec - blocked signals are allowed to coalesce - so in case of multiple signals sent you may get the signal only once (ok for most of the signals, but may be a problem for SIGCHLD, though you may call waitpid() in a loop or use pidfd) - and also one implementation problem - sigprocmask is unspecified in a multithreaded process Refs: - https://lwn.net/Articles/415684/ - https://ldpreload.com/blog/signalfd-is-useless Refs: https://github.com/libevent/libevent/issues/1460 Refs: #1342 (cc @dmantipov)
Vladislav Gusev 227510d5 2023-07-13T22:20:33 Fix EVDNS_BASE_DISABLE_WHEN_INACTIVE (#1493) I faced with strange problem: event loop doesn't exit after dns resolving with `EVDNS_BASE_DISABLE_WHEN_INACTIVE`. Stand: - Ubuntu 22; - libevent release-2.1.12-stable - `resolve.conf` contains 2 nameservers; - I use `evdns_base_new` with `EVDNS_BASE_DISABLE_WHEN_INACTIVE | EVDNS_BASE_INITIALIZE_NAMESERVERS` to avoid OS specific code. After small investigation, look like events related with dns sockets added to event_base before `evdns->disable_when_inactive` was initialized. `libevent` did epoll_ctl(DEL) after resolving completed on the first socket, but the second socket remained in the `epoll` interest list.
mareksm 36ad1006 2023-06-26T11:13:58 #1479: GCC12 error for EVUTIL_FALLTHROUGH
Azat Khuzhin 5ab24bdd 2023-06-28T21:33:47 Merge branch 'becat-fixes' * becat-fixes: becat: fix handling positional arguments becat: handle -T correctly
Azat Khuzhin 2b729238 2023-06-28T21:33:41 becat: fix handling positional arguments
Azat Khuzhin 687124d0 2023-06-28T21:33:41 becat: handle -T correctly
Azat Khuzhin be4eb97d 2023-06-21T22:26:51 Disable lazy gettimeofday/clock_gettime comparison (#1474)
Azat Khuzhin 2e312772 2023-06-20T22:18:41 Disable lazy gettimeofday/clock_gettime comparison The benefit of this optimization is questionable for the following reasons: - libevent uses CLOCK_MONOTONIC_COARSE which is fast enough (on my desktop CLOCK_MONOTONIC/CLOCK_MONOTONIC_RAW works 40/50 millions of ops per second, and CLOCK_MONOTONIC_COARSE is faster) - libevent has caching of time (EVENT_BASE_FLAG_NO_CACHE_TIME) So I don't see any reason for using one more caching - lazy comparsion (whatever you call it).
Krzysztof Dynowski 13366d27 2023-06-13T07:23:10 Test timer - synchronize clock before tv_timeout calculation.
Krzysztof Dynowski 4f993028 2023-06-13T07:23:10 Synchronize clock before tv_timeout calculation.
FreeCipher b30c0d04 2023-06-21T03:55:00 Use mm_* functions in evutil_inet_pton_scope (#1476)
Dave Hart 242f7676 2023-06-17T00:16:41 Enable containing package CFLAGS etc. Add AC_SUBST of LIBEVENT_FLAGS, LIBEVENT_CPPFLAGS, and LIBEVENT_LDFLAGS so they are relayed from the configure command line to the Makefile
Q_uan 57bb630c 2023-06-20T13:49:37 Add __cplusplus in ws.h to fix compilation errors when using c++ compiler
Alex b0194392 2023-06-08T23:25:22 wepoll: replace default malloc/free with libevent mm_ variants (#1472) This replaces malloc and free in wepoll.c with mm_malloc and mm_free. I'm using event-internal.h instead of mm-internal.h. Using only mm-internal.h in wepoll.c can cause errors regarding the export symbol macros.
Azat Khuzhin 45e24185 2023-06-07T22:39:46 Merge pull request #1470 from mdavidsaver/auto-detect-ssl Both cmake and autoconf are capable of automatically detecting the presence of OpenSSL and MbedTLS. However, the present build time logic doesn't do this. With cmake, my starting point is to preserve the reversed logic of `EVENT__DISABLE_OPENSSL` and `EVENT__DISABLE_MBEDTLS`, adding a third option `AUTO` as the new default. I'm following the pattern of this [post on the cmake list](https://cmake.org/pipermail/cmake/2016-October/064342.html). `OFF` and `ON` should continue with their present behaviors. With autoconf, I've tried to implement what I understand to be conventional behavior. eg. `--enable-openssl` and `--disable-openssl` should continue to have the same effect. The default if neither is passed is equivalent to the new `--enable-openssl=auto`. I've also added another commit removing what I think is an unnecessary `break` in `m4/libevent_mbedtls.m4`, which I suspect is leftover from some copy+paste from `m4/libevent_openssl.m4`. Surprisingly to me, a `break` outside of any loop does not seem to be treated as an error.
Michael Davidsaver 7cd51ae1 2023-06-06T12:43:02 Add CI tests which require SSL libraries
Michael Davidsaver 9ce6ae78 2023-06-05T18:38:22 Add option to auto-detect OpenSSL and MbedTLS
Michael Davidsaver 71848a23 2023-06-06T12:34:08 libevent_mbedtls.m4 remove extraneous break Maybe a leftover or copy+paste from a for loop in libevent_openssl.m4 ?
Diogo Teles Sant'Anna bca26524 2023-05-25T02:05:28 Create Security Policy (#1462) I've created the SECURITY.md file following a GitHub's template and considering the report vulnerability through security advisory, which is a handy new GitHub feature (but it's still in beta and has to be enabled). Closes #1461 Co-authored-by: Azat Khuzhin <a3at.mail@gmail.com>
Leo Zhang 1418e793 2023-05-25T10:37:24 build: fix some new warnings /opensource/libevent/sample/ws-chat-server.c:253:1: warning: control reaches end of non-void function [-Wreturn-type] } ^
Azat Khuzhin 283a371f 2023-05-23T21:46:14 cmake: log when CMAKE_DEBUG_POSTFIX/CMAKE_BUILD_TYPE is changed
Azat Khuzhin 2112c396 2023-05-22T08:21:01 autotools: fix generating pkg-config files (by substituting CMAKE_DEBUG_POSTFIX) Fixes: #1459
Daniel Engberg 4effaee5 2023-05-22T00:01:17 cmake: Fix .pc files when building in Release mode Don't define CMAKE_DEBUG_POSTFIX as this breaks Release builds, only apply when doing debug builds.
Azat Khuzhin abc114e3 2023-05-21T12:49:34 Bump default version when git tag is incorrect Fixes: #1457
Azat Khuzhin 1c06b68f 2023-05-21T10:09:50 Add a note about the last number in NUMERIC_VERSION
Azat Khuzhin fe9dc8f6 2023-05-21T08:54:07 Merge branch 'release-2.2-pull' - 2.2.1-alpha (#1380) * release-2.2-pull: Bump version to 2.2.1 Update ChangeLog and whatsnew for 2.2.1 Update contributors (for 2.2 release)
Azat Khuzhin 8d1388a3 2023-05-21T08:40:48 Bump version to 2.2.1
Azat Khuzhin 4e19e8b4 2023-05-20T16:28:28 Update ChangeLog and whatsnew for 2.2.1
Azat Khuzhin 6ce568c3 2022-11-20T23:15:29 Update contributors (for 2.2 release)
Azat Khuzhin 13ce3045 2023-05-20T18:19:04 Merge branch 'changelog-improvements' * changelog-improvements: Generate changelog in a reverse order Add PR number into the changelog Use authors of the real patches instead of merge commits Cleanup changelog.py
Azat Khuzhin 1fb3e6d7 2023-05-20T17:40:01 Generate changelog in a reverse order
Azat Khuzhin 8b87ad48 2023-05-20T17:36:58 Add PR number into the changelog
Azat Khuzhin fb2e1a69 2023-05-20T16:34:55 Use authors of the real patches instead of merge commits
Azat Khuzhin c2e917d3 2023-05-20T16:29:22 Cleanup changelog.py - Use positional argument for revision range - Remove unused import - Add some todos
Azat Khuzhin 2c2ffb8d 2023-05-20T16:00:09 Revert "cmake: Only use relative paths for install DESTINATION option (#1405)" After rebasing I broke the initial intention of this patch, so it simply should be reverted. This reverts commit 81c6b8823c1b58d7837e827bb1098aa5f9e5956b.
Azat Khuzhin 5324e482 2023-05-16T21:21:48 Merge branch 'ssl-read-pull' - #1454 * ssl-read-pull: ssl: add some comments for lack of notify_close Drop unused le_ssl_ops::err_is_ok More SSL_read() to fill big buffer Make bufferevent_set_max_single_read() effect
Azat Khuzhin 49a7ae4c 2023-05-16T21:14:34 ssl: add some comments for lack of notify_close
Azat Khuzhin e5941b2c 2023-05-16T21:16:33 Drop unused le_ssl_ops::err_is_ok It is not used anymore since errors are ignored if some progress had been done.
Thuan Tran ef51444f 2023-05-15T10:18:38 More SSL_read() to fill big buffer Once SSL_read() only get max 16K bytes (one TLS record). In case of big buffer, should more SSL_read() to fill the buffer. Using sample https-client to measure max income MBit/s via nload tool. Note: set bufferevent_set_max_single_read() by 32K and add the chunk callback to read out each piece of data. The client sample do https request a data 900KB (the server don't use Transfer-Encoding: chunked) - With origin/master: max income is 2.26 MBit/s The chunk callback never get a piece of data > 16K. - With this PR: max income is 2.44 MBit/s The chunk callback can get some piece of data 32K or more.
Thuan Tran 4ab3242d 2023-05-15T19:57:38 Make bufferevent_set_max_single_read() effect
Ingo Bauersachs acfac7ae 2022-12-01T18:39:52 Make dependency paths relocatable The generated configurations for both CMake and pkg-config included absolute paths to dependencies (OpenSSL, MbedTLS). This is contrary to the general CMake advise to create relocatable packages [1]. Additionally, when building both mbedtls and libevent via CMake's FetchContent in the same project, loading the project would fail with INTERFACE_INCLUDE_DIRECTORIES property contains path: "/home/user/project/cmake-build/_deps/mbedtls-build/include" which is prefixed in the source directory. The required changes include: - Adding the outer includes only to the BUILD_INTERFACE solves the makes the CMake paths relocatable and thus solves the FetchContent problem. - Updates to libevent_*.pc.in fixes the relocatable issues for pkg-config and properly declares currently missing dependencies. - Using components for linking to OpenSSL (requiring CMake 3.4) and MbedTLS. The new MbedTLS target names now match the component names of the MbedTLS' CMake project. - Use the Threads CMake library reference instead of a direct reference to support both built-in pthread and -lpthread. v2 (azat): get back CMAKE_REQUIRED_LIBRARIES [1] https://cmake.org/cmake/help/v3.25/manual/cmake-packages.7.html#creating-relocatable-packages
Jeremy W. Murphy 81c6b882 2023-05-16T05:07:36 cmake: Only use relative paths for install DESTINATION option (#1405) As described in #1404, the explicit use of CMAKE_INSTALL_PREFIX conflicts with using command-line --prefix. This simply removes all explicit use of CMAKE_INSTALL_PREFIX. Otherwise this path will be duplicated: $ cmake -DCMAKE_BUILD_TYPE=debug -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_INSTALL_PREFIX=inst .. $ DESTDIR=inst ninja install ... -- Installing: inst/src/le/libevent/.cmake-debug/inst/include/event2/util.h -- Installing: inst/src/le/libevent/.cmake-debug/inst/include/event2/ws.h ... Fixes: #1404 Co-authored-by: Jeremy Murphy <jeremymu@blackmagicdesign.com>
Azat Khuzhin 4dee61c0 2023-05-14T22:56:02 Merge remote-tracking branch 'upstream/pr/1397' - #1397 * upstream/pr/1397: Make sure exported include dirs are correct Fix Configure_RPATH() Install LibeventConfig.cmake similar to other cmake files Use GNUInstallDirs for mapping installation directories
Tobias Mayer 16be768d 2023-01-15T07:49:19 Make sure exported include dirs are correct CMake config files don't need any logic to detect the location of installed headers or DSOs, because these locations are already determined at project configuration time. They also don't need to distinguish between build and install trees, because that is already handled by the generated `LibeventTargets-*.cmake` files.
Azat Khuzhin 41a7393f 2022-07-10T13:48:53 Fix Configure_RPATH()
Jonathan Ringer be03bf38 2021-11-08T06:47:25 Install LibeventConfig.cmake similar to other cmake files - Don't destroy cmake file between test case invocations
Jonathan Ringer 1f1593ff 2021-10-27T16:40:10 Use GNUInstallDirs for mapping installation directories
Azat Khuzhin fe610f2c 2023-05-14T22:35:53 Fix util/mm_calloc_enomem under FreeBSD It looks like the compiler optimizes this call out with tt_assert(): (gdb) disas /m test_event_calloc_enomem Dump of assembler code for function test_event_calloc_enomem: 0x0000000000293bb0 <+0>: push %rbp 0x0000000000293bb1 <+1>: mov %rsp,%rbp 0x0000000000293bb4 <+4>: call 0x29f510 <__error@plt> 0x0000000000293bb9 <+9>: movl $0x0,(%rax) 0x0000000000293bbf <+15>: call 0x2990e0 <tinytest_set_test_failed_> 0x0000000000293bc4 <+20>: mov $0x2168e4,%edi 0x0000000000293bc9 <+25>: mov $0x220582,%esi 0x0000000000293bce <+30>: mov $0x20d893,%edx 0x0000000000293bd3 <+35>: mov $0x53a,%ecx 0x0000000000293bd8 <+40>: xor %eax,%eax 0x0000000000293bda <+42>: call 0x29f3b0 <printf@plt> 0x0000000000293bdf <+47>: mov $0x20da72,%edi 0x0000000000293be4 <+52>: mov $0x20f731,%esi 0x0000000000293be9 <+57>: xor %eax,%eax 0x0000000000293beb <+59>: pop %rbp 0x0000000000293bec <+60>: jmp 0x29f3b0 <printf@plt> While with tt_ptr_op() it does not: (gdb) disas /m test_event_calloc_enomem Dump of assembler code for function test_event_calloc_enomem: 0x0000000000293bd0 <+0>: push %rbp 0x0000000000293bd1 <+1>: mov %rsp,%rbp 0x0000000000293bd4 <+4>: push %rbx 0x0000000000293bd5 <+5>: push %rax 0x0000000000293bd6 <+6>: call 0x29f610 <__error@plt> 0x0000000000293bdb <+11>: movl $0x0,(%rax) 0x0000000000293be1 <+17>: mov $0xffffffffffffffff,%rdi 0x0000000000293be8 <+24>: mov $0xffffffffffffffff,%rsi 0x0000000000293bef <+31>: call 0x2a01c0 <calloc@plt> 0x0000000000293bf4 <+36>: test %rax,%rax 0x0000000000293bf7 <+39>: je 0x293c2b <test_event_calloc_enomem+91>
Azat Khuzhin 13f55523 2023-05-14T22:29:12 test: add missing include of arpa/inet.h for ntohs in regress_ws.c This will fix one warning in FreeBSD
Azat Khuzhin 1f006637 2023-05-14T22:03:26 Merge branch 'build/osx-fixes' * build/osx-fixes: Suppress -Wmacro-redefined for htonll/ntohll in OSX Fix -Wtautological-constant-out-of-range-compare in regress_http under OSX
Azat Khuzhin 6eba967e 2023-05-14T22:00:19 Suppress -Wmacro-redefined for htonll/ntohll in OSX OSX: test/regress_ws.c:61:9: warning: 'htonll' macro redefined [-Wmacro-redefined] #define htonll(x) \ ^ /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/sys/_endian.h:141:9: note: previous definition is here #define htonll(x) __DARWIN_OSSwapInt64(x) ^ test/regress_ws.c:65:9: warning: 'ntohll' macro redefined [-Wmacro-redefined] #define ntohll(x) htonll(x) ^ /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/sys/_endian.h:140:9: note: previous definition is here #define ntohll(x) __DARWIN_OSSwapInt64(x) ^
Azat Khuzhin 5f1fc92b 2023-05-14T21:55:43 Fix -Wtautological-constant-out-of-range-compare in regress_http under OSX compiler warning: test/regress_http.c:968:38: warning: result of comparison of constant 65536 with expression of type 'enum evhttp_cmd_type' is always true [-Wtautological-constant-out-of-range-compare] if (evhttp_request_get_command(req) != EVHTTP_REQ_CUSTOM) { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~
Dmitry Antipov d1969098 2022-12-09T13:09:44 Silence weird GCC warning about an uninitialized variable For the CMake release build with -DEVENT__ENABLE_GCC_WARNINGS=ON and -DEVENT__DISABLE_MM_REPLACEMENT=ON, GCC version 11 and 12 may complain about possibly uninitialized variable: In function ‘event_debug_assert_not_added_’, inlined from ‘event_assign’ at event.c:2184:2, inlined from ‘event_new’ at event.c:2276:6: cc1: error: ‘ev’ may be used uninitialized [-Werror=maybe-uninitialized] event.c: In function ‘event_new’: event.c:361:13: note: by argument 1 of type ‘const struct event *’ to event_debug_assert_not_added_.part.0’ declared here 361 | static void event_debug_assert_not_added_(const struct event *ev) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This warning is most likely a false positive and can be silenced by explicitly disabling inlining for 'event_assign()'. Signed-off-by: Dmitry Antipov <dantipov@cloudlinux.com>
Azat Khuzhin 73037f88 2023-05-14T20:32:50 Ignore any archives (since you may use separate build dir for 'make dist')
Azat Khuzhin e8cbe7b6 2023-05-14T20:04:34 Merge branch 'ssl/fix-partial-read' - #1451 * ssl/fix-partial-read: ssl: do not triger EOF if some data had been successfully read ssl: rename err_is_ok to handshake_is_ok (internal API)
Azat Khuzhin 7652cf40 2023-05-14T16:53:13 ssl: do not triger EOF if some data had been successfully read Previously in case when evbuffer_reserve_space() returns > 1, but it was able to read only 1 IO vector, it will try to read the next one, got 0 (EOF for mbedTLS or SSL_ERROR_ZERO_RETURN for OpenSSL) and will trigger EOF, while instead, it should trigger EV_READ w/o EOF and only after EOF.
Azat Khuzhin 6375dcb4 2023-05-14T16:45:14 ssl: rename err_is_ok to handshake_is_ok (internal API)
liaotonglang d06e573c 2023-05-05T15:13:05 style fix: use tab for indent
fanquake bdb343e1 2023-05-04T09:49:28 ci: use newer actions/x versions for master jobs Now that the jobs are running again, a number of deprecation warnings have surfaced https://github.com/libevent/libevent/actions/runs/4876367881: ```bash Node.js 12 actions are deprecated. Please update the following actions to use Node.js 16: actions/checkout@v2.0.0. ``` Looks like the most straightforward thing todo here is just use the newer version of the checkout action. Also move to the v1 tag for the coveralls job, rather than a pinned, much older version (the latest release is 1.2.5, https://github.com/coverallsapp/github-action/releases). Same again for actions/cache.
fanquake 21173669 2023-05-04T09:38:56 ci: use OpenBSD 7.2 over 7.1 In the most recent CI run, all the OpenBSD CI jobs failed, i.e https://github.com/libevent/libevent/actions/runs/4876367885/jobs/8699759831, this seems to be due to the fact that packages for 7.1 have been removed from https://cdn.openbsd.org/pub/OpenBSD/ (only has 7.2 & 7.3): ```bash Config file: openbsd-7.1.conf https://cdn.openbsd.org/pub/OpenBSD/7.1/packages/amd64/: no such dir Can't find rsync-3.2.3p0 Couldn't install rsync-3.2.3p0 exec shell: bash run.sh showDebugInfo ``` Switch to using 7.2, which is available, so that the CI will run.
fanquake 60ad22d4 2023-05-03T16:28:58 actions: use supported version of Ubuntu It looks like these jobs are failing to run, because support for ubuntu-18.04 has been removed entirely, see: https://github.com/actions/runner-images/issues/6002. Migrate to ubuntu-20.04.
fanquake 75208132 2023-04-21T04:33:22 doc: minor cleanups following #1441 (#1442) Also fixes 1 broken link (apologies).
Azat Khuzhin 612a74c7 2023-04-17T21:19:58 Merge pull request #1441 from fanquake/autoconf_doc_updates doc: minor autoconf/formatting improvements
fanquake ac69410e 2023-04-17T14:28:43 doc: mark Autotools as deprecated in building.md Re-arrange so CMake is mentioned first. Formatting improvements.
fanquake 2470b37b 2023-04-17T14:22:30 doc: move autoconf link in readme to autoconf section.
lilinjie 4c993a0e 2023-04-11T04:44:37 Fix typo in changelog (#1438)
Azat Khuzhin f747a7b9 2023-04-04T22:19:07 Prohibit VLA in autotools too
Azat Khuzhin f04d90b1 2023-04-04T22:15:35 Fix building with -Wstack-protector due to VLA and fobid them It is not a thankless task to fix such issues on and on, let's just prohibit this cases, and our build with -Werror on CI will show new issues from now on. Fixes: #1434
fanquake 1878232b 2023-02-13T15:57:55 build: split kqueue warning message into cross-compile and apple This is output when compiling (natively) on macOS systems, which is confusing, because no cross-compilation is involved. Split the message into separate cases.
zhenhaonong fc568ff0 2023-03-17T19:53:50 Deal with partial writes on SSL write SSL write may do partial writes in some cases. For example, document of mbedtls_ssl_write says: If the return value is non-negative but less than length, the function must be called again with updated arguments: buf + ret, len - ret (if ret is the return value) until it returns a value equal to the last 'len' argument. In case of partial writes, we should continue writing the same chain of buffer, not the next chain.
Liao Tonglang 9203d98f 2023-03-27T04:35:00 http: style fix: use space between arguments list (#1435)
Azat Khuzhin 6e1826dd 2023-03-08T21:34:37 ci: fix typo in yaml for cifuzz Follow-up for: #1431
Azat Khuzhin 606056d6 2023-03-06T21:22:10 ci: switch to ubuntu 20.04 github action reports "internal error" for builds on ubuntu 18.04: linux-cmake-job (ubuntu-18.04, COMPILER_CLANG) This is a scheduled Ubuntu-18.04 brownout. The Ubuntu-18.04 environment is deprecated and will be removed on April 1st, 2023. For more details, see https://github.com/actions/runner-images/issues/6002 linux-cmake-job (ubuntu-18.04, COMPILER_CLANG) GitHub Actions has encountered an internal error when running your job.
Diogo Teles Sant'Anna 99a4b1a7 2023-03-06T14:26:11 ci: set minimal permissions on GitHub Actions Change made by setting top-level read-only permisisons, and any other necessary permissions set as job-level. Closes #1421 Signed-off-by: Diogo Teles Sant'Anna <diogoteles@google.com>
Liao Tonglang 6bfa5805 2023-03-05T23:59:21 http: Reduce times of checking if response has body (#1395) Use a variable 'need_body' to store the result of evhttp_response_needs_body(), then use the variable instead of call the function again.
Michael Ford 185e2f00 2023-03-05T23:58:22 build: improve mbedtls searching on macOS with brew for cmake (#1419) This just copies the same logic used to find OpenSSL on macOS using homebrew, for finding mbedtls via brew. Without it, the build will fail out the box with a brew installed mbedtls.
Kurt Roeckx 4e6375e8 2023-03-05T16:56:56 Always have evutil_secure_rng_add_bytes available (#1427) When libevent doesn't provide random the arc4 function, but they come from libc, there is no need to call this function, so make it do nothing. Fixes: #1393
Zhipeng Xue 3a0cf34b 2023-03-04T22:29:09 ws-chat-server: fix potential resource leak
Zhipeng Xue bac9d10a 2023-03-05T05:13:54 Fix potential null dereference in http-server (#1430) Co-authored-by: Azat Khuzhin <a3at.mail@gmail.com>
Zhipeng Xue fa05966d 2023-03-05T05:12:04 test: fix potential null dereference in https_bind_ssl_bevcb (#1428) Co-authored-by: Azat Khuzhin <a3at.mail@gmail.com>
Cœur 557990ca 2023-03-02T12:41:11 Optimize arc4random_uniform() (by syncing with OpenBSD implementation) 1. In d4de062, in Feb 2010, libevent adopted OpenBSD implementation of arc4random_uniform. 2. In https://github.com/openbsd/src/commit/728918cba93e0418bea2a73c9784f6b80c2a9dbd, in Jun 2012, OpenBSD improved their implementation to be faster, by changing arc4random_uniform() to calculate ``2**32 % upper_bound'' as ``-upper_bound % upper_bound''. Alternatively we can simply remove arc4random_uniform() since it is not used by libevent anyway, but let's just sync the header for now.
Cœur e96e98ae 2023-03-02T13:43:54 evdns: fix "Branch condition evaluates to a garbage value" in reply_parse
Cœur 3bcc92cf 2023-03-02T13:59:32 Fix the value is never actually read from 'argument' in evhttp_parse_query_impl() Although the value stored to 'argument' is used in the enclosing expression, the value is never actually read from 'argument'
Cœur b84fee24 2023-03-02T14:07:44 Fix "Value stored to 'a' is never read" in SHA1Transform() Using same fix as used in android [1]. [1]: android.googlesource.com/platform/dalvik/+/android-4.4.2_r2/libdex/sha1.cpp#193