Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| f0cb4b7f | 2023-02-12 07:58:55 | Suppress data race for test_ok variable | ||
| 39be38ff | 2023-02-12 07:58:29 | Suppress data race for event_debug_created_threadable_ctx_ variable | ||
| f9134df7 | 2023-02-04 15:00:48 | Add LEV_OPT_BIND_IPV4_AND_IPV6 flag (#1400) Libevent introduced the LEV_OPT_BIND_IPV6ONLY to pass to evconnlistener_new_bind to make it automatically set the underlying socket as accepting ipv6 requests. This works fine on posix compliant platforms as by the standard every new AF_INET6 socket is created as both supporting ipv6 and ipv4 connections. But on windows the default is the opposite, with the flag IPV6_V6ONLY being always enabled by default. This makes creating a listener to supports both protocols a bit more tricky as winsock doesn't allow changing this flag after evconnlistener_new_bind does all the initial setup because as stated in the docs, you can't change it after the sonnect connected, so one would have to manually create the socket beforehand and set the flag and then call evconnlistener_new with the socket itself. It would be nice to have libevent keep a consistent behaviour across the platforms in this scenario, maybe or by making it always set IPV6_V6ONLY to false unless LEV_OPT_BIND_IPV6ONLY is passed, in which case it's set to true, or add another flag to forcefully set it to false and keep the system dependent behaviour as default. So this patch add new option for libevent listeners to bind to both - LEV_OPT_BIND_IPV4_AND_IPV6 | ||
| a5b0ded3 | 2023-02-04 14:56:53 | Add config for vim/nvim | ||
| 4d85d28a | 2023-01-28 13:28:52 | Fix pthread detection for regress tests on Android Fixes: #1403 | ||
| 35375101 | 2023-01-27 08:57:33 | Fixes some new warnings under clang-15 - -Wdeprecated-non-prototype /src/le/libevent/strlcpy.c:48:1: warning: a function definition without a prototype is deprecated in all versions of C and is not supported in C2x [-Wdeprecated-non-prototype] event_strlcpy_(dst, src, siz) - -Wstrict-prototypes /src/le/libevent/evthread.c:82:70: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] struct evthread_condition_callbacks *evthread_get_condition_callbacks() - -Wunused-but-set-variable /src/le/libevent/test/regress_buffer.c:130:6: warning: variable 'n' set but not used [-Wunused-but-set-variable] int n = 0; ^ | ||
| 3d138bda | 2023-01-27 08:51:56 | Allow evdns_base_new to succeed with no nameservers configured (#1389) * evdns-no-ns: Allow evdns_base_new to succeed with no nameservers configured Replace magic numbers with consts for evdns_base_resolv_conf_parse() errors | ||
| ebd7e8d7 | 2023-01-27 08:44:41 | Allow evdns_base_new to succeed with no nameservers configured If resolv.conf has no nameservers, evdns_base_new can still succeed with the default of using the name server from localhost matching the man page documentation for resolv.conf. | ||
| a7fffb5c | 2023-01-17 23:02:56 | Replace magic numbers with consts for evdns_base_resolv_conf_parse() errors | ||
| c01cb1d6 | 2023-01-10 11:20:24 | Fix ignoring return value of arc4random() warning (with _FORTIFY_SOURCE defined) arc4random() defines with __wur (warn-unused-return) macro in glibc, but the problem pops up only for gentoo, since only it really define __wur to __attribute__ ((__warn_unused_result__)), because it defines _FORTIFY_SOURCE unconditionally [1]. [1]: https://gitweb.gentoo.org/proj/gcc-patches.git/tree/9.4.0/gentoo/01_all_default-fortify-source.patch?id=7f7f80a650607c3090ae0790b8daef88434da681 And hence you get this error: ```sh docker run -v $PWD:/src:ro --rm --name le -w /src -it gentoo/stage3 bash -c 'mkdir /build && cd /build && /src/configure --enable-gcc-warnings=yes --disable-samples && make -j && echo OK' /src/evutil_rand.c: In function 'evutil_secure_rng_init': /src/evutil_rand.c:56:16: error: ignoring return value of 'arc4random' declared with attribute 'warn_unused_result' [-Werror=unused-result] 56 | (void) arc4random(); | ^~~~~~~~~~~~ cc1: all warnings being treated as errors make[1]: *** [Makefile:2056: evutil_rand.lo] Error 1 make[1]: *** Waiting for unfinished jobs.... make[1]: Leaving directory '/build' make: *** [Makefile:1523: all] Error 2 ``` Also it seems that GCC works as expected here [2], and will not change the behavior. [2]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66425 | ||
| 94cc08fd | 2023-01-15 20:56:56 | Add CTestCostData.txt to gitignore | ||
| 0b79a002 | 2023-01-02 17:06:48 | buffer: use pread() for evbuffer_file_segment_materialize() If pread(2) is available, prefer it over double lseek(2) and read(2) in evbuffer_file_segment_materialize(). Signed-off-by: Dmitry Antipov <dantipov@cloudlinux.com> | ||
| 1fe626c4 | 2022-12-16 00:34:25 | Allow CLI override of CMAKE_DEBUG_POSTFIX (#1391) Allows cmake -DCMAKE_BUILD_TYPE=DEBUG -DCMAKE_DEBUG_POSTFIX= for a debug build with the regular library names. | ||
| d8ecb88f | 2022-11-26 19:40:02 | ci: add CIFuzz Github action (#1382) Signed-off-by: David Korczynski <david@adalogics.com> Co-authored-by: Azat Khuzhin <a3at.mail@gmail.com> | ||
| dfbb004a | 2022-11-20 23:11:00 | Fix script for updating contributors | ||
| 82af0ea4 | 2022-11-20 22:18:37 | cmake: remove redundant _GNU_SOURCE definition As reported by @francoisk: `_GNU_SOURCE` is defined in the private config header but also on the compiler command-line for every object. Fixes: #1333 | ||
| 097af7b7 | 2022-11-20 21:52:49 | Merge branch 'release-2.2-changelog-prepare' * release-2.2-changelog-prepare: Changelog skeleton Start new changelog for 2.2 | ||
| d179ae92 | 2022-11-20 21:52:12 | Changelog skeleton | ||
| f40642ee | 2022-11-13 22:09:12 | Start new changelog for 2.2 | ||
| e28b3bef | 2022-11-20 21:50:40 | Merge branch 'release-scripts' * release-scripts: Add a script to generate changelog Add a script to add new contributors Rellocate some text in CONTRIBUTORS.md | ||
| acd4cc63 | 2022-11-13 21:53:17 | Add a script to generate changelog | ||
| 7c8b3e99 | 2022-11-13 21:44:10 | Add a script to add new contributors | ||
| d130d9f9 | 2022-11-13 21:32:44 | Rellocate some text in CONTRIBUTORS.md | ||
| 650d8619 | 2022-11-20 14:51:36 | cmake: do influence CMAKE_DEBUG_POSTFIX of the outer project (if any) Consider the following example: $ touch lib.c $ cat > CMakeLists.txt <<EOL add_subdirectory(/src/le/libevent libevent EXCLUDE_FROM_ALL) add_library(lib lib.c) EOL $ mkdir .cmake $ cmake -DCMAKE_BUILD_TYPE=debug -G Ninja .. $ ninja $ ls *.a liblibd.a So now outer project also has "d" prefix for libraries. Let's avoid this by setting non-cached variable. Fixes: #1371 | ||
| ed079c9f | 2022-11-16 22:06:06 | Add ws-chat-server to gitignore (#1376) | ||
| 7a18af8c | 2022-11-15 12:38:41 | Exclude arc4random_buf implementation if it's already present in the platform (#1375) This patch excludes definition of arc4random_buf on systems where it is already present. When the symbol is found, the macro EVENT__HAVE_ARC4RANDOM_BUF is set via CMake's configure_file(..). Co-authored-by: Azat Khuzhin <a3at.mail@gmail.com> | ||
| cdeb3242 | 2022-11-13 14:05:43 | Various documentation improvements (#842) * doc-pull: doc: add build prerequisites doc: add MSVC and GNUC options Fixes: #843 | ||
| 3d82675e | 2019-06-22 00:03:36 | doc: add build prerequisites [ci skip] | ||
| a3973a5a | 2019-06-19 22:27:39 | doc: add MSVC and GNUC options | ||
| 8800b17a | 2022-11-01 14:26:11 | evdns: integrate deferred_response_callback into evdns_request the allocation of the struct deferred_reply_callback can fail. If that happens a program waiting for a callback never gets a callback. The program would asume that it either gets an error or a callback when e.g. calling evdns_base_resolve_ipv6. I did an analysis of the evdns.c code and concluded that struct evdns_request would live until the callback is executed. Based on that conclusion I removed the struct deferred_reply_callback and moved the neccessary fields for data which should be copied from struct request into struct evdns_request. The fields evdns_callback_type user_callback and void *user_pointer are moved into struct evdns_request as it is a more natural place for them to live than struct request. | ||
| 45c66e48 | 2022-11-13 20:39:17 | Add CI checks for OpenBSD (#1326) Initially 6.9 and 7.1 had been added, however due to some issues (you can read about them below) 6.9 had been disabled. netbsd 6.9 does not have correct library namings for autotools: 2022-08-17T04:59:58.8339420Z libtool: link: (cd ".libs" && rm -f "libevent.so.1.0" && ln -s "libevent-2.2.so.1.0" "libevent.so.1.0") $ grep ^library_names= libevent.la· library_names='libevent-2.2.so.1.0 libevent.so.1.0' # And this is wrong, it should be: libtool: link: (cd ".libs" && rm -f "libevent-2.2.so.1" && ln -s "libevent-2.2.so.1.0.0" "libevent-2.2.so.1") libtool: link: (cd ".libs" && rm -f "libevent.so" && ln -s "libevent-2.2.so.1.0.0" "libevent.so") library_names='libevent-2.2.so.1.0.0 libevent-2.2.so.1 libevent.so' **And I think that 7.1 should also fail, however it has system-wide libevent installed with evdns in the libevent.so** Also there are some issues with `TEST_EXPORT_SHARED` test, because of libraries naming: 2022-09-13T06:38:29.2150790Z [test-export] test for install tree(in system-wide path) 2022-09-13T06:38:29.2151500Z [test-export] fail: link core and run core expects success but gets failure. 2022-09-13T06:38:29.2063870Z /usr/bin/cc CMakeFiles/test-export.dir/test-export.c.o -o test-export -L/usr/local/lib -Wl,-z,origin,-rpath,/usr/local/lib -levent_core-2.2 -lpthread -Wl,-rpath-link,/usr/X11R6/lib:/usr/local/lib· 2022-09-13T06:38:29.2152190Z ld: error: unable to find library -levent_core-2.2 2022-09-13T06:38:28.3915680Z -- Install configuration: "Release" 2022-09-13T06:38:28.3916700Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1.0.0 2022-09-13T06:38:28.3917110Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1 2022-09-13T06:38:28.3917480Z -- Up-to-date: /usr/local/lib/libevent_core.so # no libevent_core-2.2.so So I have to disable it too. Co-authored-by: Azat Khuzhin <azat@libevent.org> | ||
| 1af745d0 | 2022-10-25 11:30:34 | signal: new signal handling backend based on signalfd Linux-specific signal handling backend based on signalfd(2) system call, and public function event_base_get_signal_method() to obtain an underlying kernel signal handling mechanism. Signed-off-by: Dmitry Antipov <dantipov@cloudlinux.com> | ||
| 9e346936 | 2022-11-12 18:56:25 | Ignore unknown pragmas Since new compilers has new checks (like -Wdangling-pointer), and so to avoid extra checks in cmake/autotools, simply suppress if the pragma is unknown. | ||
| 72a4fe76 | 2022-11-12 18:59:41 | ws-chat-server: fix session name initialization (using of uninitialized data) | ||
| c8c730c8 | 2022-11-12 18:56:03 | cmake: tiny cleanup | ||
| 56d380b9 | 2022-11-12 18:45:13 | ws: ignore case while comparing values of Upgrade/Connection headers Cc: @widgetii Fixes: #1373 | ||
| 8482e227 | 2022-11-12 18:44:44 | ws-chat-server: avoid SIGSEGV in case of evws_new_session() failure | ||
| dda05f45 | 2022-11-12 18:11:08 | sample/ws-chat.html: allow to open it via file:// protocol | ||
| 2dfad6c3 | 2022-11-12 18:06:09 | Suppress -Wdangling-pointer in event_signal_closure() gcc 12 complains: [34/46] Building C object CMakeFiles/event_static.dir/event.c.o /src/le/libevent/event.c: In function ‘event_signal_closure’: /src/le/libevent/event.c:1384:32: warning: storing the address of local variable ‘ncalls’ in ‘*ev.ev_.ev_signal.ev_pncalls’ [-Wdangling-pointer=] 1384 | ev->ev_pncalls = &ncalls; | ~~~~~~~~~~~~~~~^~~~~~~~~ /src/le/libevent/event.c:1378:15: note: ‘ncalls’ declared here 1378 | short ncalls; | ^~~~~~ /src/le/libevent/event.c:1378:15: note: ‘ev’ declared here | ||
| e1d7d3e4 | 2022-11-12 17:56:51 | sha1: ignore -Wstringop-overread warning Fixes the following: [4/38] Building C object CMakeFiles/event_shared.dir/sha1.c.o In function ‘SHA1Update’, inlined from ‘SHA1Final’ at /src/le/libevent/sha1.c:274:5, inlined from ‘builtin_SHA1’ at /src/le/libevent/sha1.c:292:5: /src/le/libevent/sha1.c:228:13: warning: ‘SHA1Transform’ reading 64 bytes from a region of size 7 [-Wstringop-overread] 228 | SHA1Transform(context->state, *(const unsigned char (*)[64])&data[i]); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /src/le/libevent/sha1.c:228:13: note: referencing argument 2 of type ‘const unsigned char[64]’ /src/le/libevent/sha1.c: In function ‘builtin_SHA1’: /src/le/libevent/sha1.c:80:13: note: in a call to function ‘SHA1Transform’ 80 | static void SHA1Transform(uint32_t state[5], const unsigned char buffer[64]) { | ^~~~~~~~~~~~~ | ||
| 23a01aa2 | 2022-11-12 16:41:55 | sha1: hide SHA1_CTX | ||
| ef8f8caa | 2022-11-04 23:52:01 | Fix syntax error (#1369) | ||
| ff99f67a | 2022-11-04 01:59:17 | fixed missing check for null after strdup in evutil_inet_pton_scope (#1366) | ||
| 3ec3b469 | 2022-10-23 13:47:23 | ws: fix compile error on centos 7 - very old compiler (#1359) * http: fix typo * ws: fix comile error On CentOS: CC ws.lo ws.c: In function 'get_ws_frame': ws.c:244:3: error: 'for' loop initial declarations are only allowed in C99 mode for (int i = 0; i < payload_len; i++) { ^ ws.c:244:3: note: use option -std=c99 or -std=gnu99 to compile your code | ||
| f04a70f0 | 2022-10-22 22:23:52 | Fix data-race in ws code (#1360) @widgetii: " ================================================================= ==985==ERROR: AddressSanitizer: heap-use-after-free on address 0xb24323e5 at pc 0xb6a06f1c bp 0x9fffc694 sp 0x9fffc260 WRITE of size 2 at 0xb24323e5 thread T22 #0 0xb6a06f1b in __interceptor_memcpy.part.43 (/usr/lib/libasan.so.5+0x41f1b) 0xb24323e5 is located 229 bytes inside of 512-byte region [0xb2432300,0xb2432500) freed by thread T0 (app) here: #0 0xb6a849df in free (/usr/lib/libasan.so.5+0xbf9df) #1 0xb64b6e07 in evbuffer_drain (/usr/lib/libevent_core-2.2.so.1+0x9e07) previously allocated by thread T22 here: #0 0xb6a84d17 in __interceptor_malloc (/usr/lib/libasan.so.5+0xbfd17) #1 0xb64b3d1b (/usr/lib/libevent_core-2.2.so.1+0x6d1b) #2 0x61223 in onIceCandidateHandler /home/dima/git/app/src/webrtc/local.c:116 #3 0x19296f in onNewIceLocalCandidate /home/dima/git/webrtc-c/src/source/PeerConnection/PeerConnection.c:471 " * upstream/pr/1360: Remove bad copy-paste Add locks for server WS, fixes #1357 | ||
| e8f5a61d | 2022-10-12 22:15:21 | Remove bad copy-paste | ||
| c2ecb4ac | 2022-10-12 14:13:44 | Add locks for server WS, fixes #1357 | ||
| 8f47d8de | 2022-10-03 09:31:10 | cmake: Fix Android build. Android/Bionic C library needs no special flags to have threading support. Found when trying to build with vcpkg. | ||
| 285fc7cc | 2022-10-08 19:26:24 | Use heap-bases contexts for MbedTLS handles (#1355) @widgetii: "Recently after studying [https-client.c code](https://github.com/libevent/libevent/blob/master/sample/https-client.c#L532) I found that I cannot use MbedTLS with `bufferevent_mbedtls_socket_new` same way as for OpenSSL in other than hello-world code. In mentioned sample code, ssl context is created by `SSL_new()` (as heap-based pointer), but for MbedTLS stack value is used. The issue is in different semantics because OpenSSL is responsible for memory allocation and release for its context, but for MbedTLS it turns out user should do the same manually. I expect that in both cases, setting option `BEV_OPT_CLOSE_ON_FREE` will free all linked resources, but in case of MbedTLS I have memory leak after connection is closed. My proposal is: 1. Provide new `mbedtls_ssl_new` helper-function for end-user that do the same job as `SSL_new()` and use it and example in sample: ```c mbedtls_ssl_context *mbedtls_ssl_new(const mbedtls_ssl_config *conf) { mbedtls_ssl_context *ssl = calloc(1, sizeof(*ssl)); mbedtls_ssl_init(ssl); mbedtls_ssl_setup(ssl, conf); return ssl; } ``` 2. Add `free(ctx->ssl)` right after https://github.com/libevent/libevent/blob/master/bufferevent_mbedtls.c#L68" Fixes: #1354 | ||
| aa163a4f | 2022-10-04 21:42:30 | Fix memleak in regress tests | ||
| 10ed1f1c | 2022-10-04 17:57:01 | Change code for samples | ||
| 88317a4e | 2022-10-04 17:49:22 | Add helpers and all regress tests are passed | ||
| b5b4c7fe | 2022-09-28 16:41:59 | fix: arc4_getword integer overflow, detected by -fsanitize=undefined | ||
| 117ee9a0 | 2022-09-15 14:06:50 | epoll: use epoll_pwait2() if available On GNU/Linux with epoll backend, prefer epoll_pwait2() if available, which is useful to support the timeout with microsecond precision. | ||
| f8bb9d84 | 2022-09-16 15:55:56 | Fix socketpair failure when temporary directory has non-latin character | ||
| 211c6653 | 2022-09-26 11:54:14 | Add manual CMAKE_C_BYTE_ORDER set for old CMake | ||
| ceb6bcd6 | 2022-09-14 22:14:28 | ci: disable freebsd 13.0 builds (due to issues in the image) Before it fails with: exec ssh: pkg install -y mbedtls cmake python3 /bin/bash /Users/runner/work/_actions/vmactions/freebsd-vm/v0/run.sh execSSH Config file: freebsd-13.0.conf Pseudo-terminal will not be allocated because stdin is not a terminal. Warning: no access to tty (Bad file descriptor). Thus no job control in this shell. Installing pkg-1.18.3... Newer FreeBSD version for package pkg: To ignore this error set IGNORE_OSVERSION=yes - package: 1301000 - running kernel: 1300139 Ignore the mismatch and continue? [y/N]: Failed to install the following 1 package(s): /tmp//pkg.txz.18yvwm Bootstrapping pkg from pkg+http://pkg.FreeBSD.org/FreeBSD:13:amd64/quarterly, please wait... Verifying signature with trusted certificate pkg.freebsd.org.2013102301... done Error: The process '/bin/bash' failed with exit code 1 And now with: ld-elf.so.1: /lib/libc.so.7: version FBSD_1.7 required by /usr/local/lib/libpython3.9.so.1.0 not found Commenting for now, anyway we do not need such huge CI matrix, because we have only public workers, and they are pretty busy. Cc: @Neilpang | ||
| 9174ba92 | 2022-09-14 22:13:12 | .github/workflows/build.yml: Cleanup trailing whitespaces | ||
| 53f9c420 | 2022-09-14 13:33:13 | Fix conflict with SHA1 function from openssl | ||
| e8313084 | 2022-09-12 22:16:56 | Add minimal WebSocket server implementation for evhttp (#1322) This adds few functions to use evhttp-based webserver to handle incoming WebSockets connections. We've tried to use both libevent and libwebsockets in our application, but found that we need to have different ports at the same time to handle standard HTTP and WebSockets traffic. This change can help to stick only with libevent library. Implementation was inspired by modified Libevent source code in ipush project [1]. [1]: https://github.com/sqfasd/ipush/tree/master/deps/libevent-2.0.21-stable Also, WebSocket-based chat server was added as a sample. | ||
| bb41229f | 2022-09-12 23:12:47 | Make rekey interval less predictable (#1331) | ||
| 039e8d96 | 2022-09-11 22:08:32 | Add openssl-compat.h into HDR_PRIVATE Fixes: #1334 | ||
| b19af675 | 2022-08-28 15:27:04 | Fix non-std printf %p arguments (#1327) * Fix non-std printf %p arguments when running with -Werror -pedantic-errors Co-authored-by: Mareks Malnacs <mareks.malnacs> | ||
| bb57cea3 | 2022-08-14 09:56:50 | test: fix util/getaddrinfo for netbsd (v2) Fixes: c198b0ce ("test: fix util/getaddrinfo for netbsd") Fixes: #1316 | ||
| 77a9b60e | 2022-08-14 00:46:48 | Merge pull request #1315 from yogo1212/http_per_socket_bebcb In it's current form, libevent requires multiple struct evhttp objects to be created in order to enable listening on sockets with more than one type of encryption. This change allows specifying per-socket how the associated bufferevents should be created. Thus, it becomes possible to have multiple listening sockets with different encryption parameters using only one evttp. | ||
| c198b0ce | 2022-08-13 20:48:00 | test: fix util/getaddrinfo for netbsd Fixes: #1316 | ||
| 86b5d2e9 | 2022-08-13 19:10:10 | Fixed CMake configuration failure (libevent#1321) Deleted usage of CMake feature 'file(REAL_PATH' which is available from version 3.19 with an old 'get_filename_component' so that older version of CMake can still be used to configure the project. | ||
| 1bdc9135 | 2022-08-01 10:16:18 | http: allow setting bevcb per socket Co-authored-by: Azat Khuzhin <azat@libevent.org> v2: remove handling of HTTP_BIND_IPV6 | ||
| a4cdc3c5 | 2022-08-13 19:51:02 | test: allow to run init_ssl() multiple times | ||
| 4ca417af | 2022-08-13 19:51:45 | test: add a comment for init_ssl() about suppressions for LSan | ||
| 99fd68ab | 2022-08-07 13:51:48 | Add check of mmap64 function and use it when available rather that mmap There can be issues on 32-bit architectures to mmap 2+GiB file, and to make this portable between different version of glibc, mmap64 was prefered over _FILE_OFFSET_BITS | ||
| b2aca3bc | 2022-08-07 19:37:32 | fix freebsd checks | ||
| c08ee399 | 2022-08-07 19:23:04 | fix freebsd checks | ||
| 4f662d66 | 2022-08-07 18:56:00 | Add freebsd CI checks ci/linux skip ci/macos skip ci/windows skip ci/mingw skip | ||
| 80c1e0b7 | 2022-07-29 20:58:27 | Search library name of Debug for find_event_lib. | ||
| dd610b77 | 2022-07-29 20:49:35 | Add postfix for Debug configuration. | ||
| 05a03d4a | 2022-08-06 14:23:53 | Add more HTTP_ response codes | ||
| 3e7a7380 | 2022-07-12 21:57:41 | ci: increase number of attempts to 5 | ||
| bfa526ce | 2022-07-12 21:08:00 | ci: add retries Right now it is possible for some tests to fail, because of lack of CPU time. And it is better to have green CI even if this will take longer. | ||
| d3264949 | 2022-07-12 10:07:04 | ci: use ubuntu 22.04 with clang 11 for sanitizers build (#1306) * ci-tsan-recent: test: fix unused variable in rand test (catched by newer clang) ci: use ubuntu 22.04 with clang 11 for sanitizers build | ||
| 33fb0e35 | 2022-07-12 09:54:14 | test: fix unused variable in rand test (catched by newer clang) | ||
| 87c016a0 | 2022-07-12 08:03:36 | ci: use ubuntu 22.04 with clang 11 for sanitizers build There are periodically some heap-use-after-free reported in ratelim tests by TSan, which I cannot reproduce locally and even on CI it is flaky. Let's try to use recent clang, maybe it fixes some issues in sanitizers. Refs: #1206 | ||
| 213a822a | 2022-07-11 22:52:57 | test: increase timeout significantly in dns/getaddrinfo_cancel_stress (for TSan) Fixes: #1304 | ||
| 15780dd2 | 2022-07-11 03:45:32 | ci: disable broken mingw cmake builds (#1207) | ||
| c90acbb6 | 2022-07-11 03:51:31 | Slightly adjust badges markdown in README | ||
| a3572af7 | 2022-07-11 03:50:16 | ci: fix master/upstream workflow (syntax error) | ||
| 9b7b549b | 2022-07-11 03:47:45 | Update CI status badge | ||
| 587f26fb | 2022-07-10 16:49:53 | Rework CI to keep everything in one workflow (by using reusable workflow) Right now because we have separate workflows there is no one page with all the jobs, instead we have separate page for each workflow (linux, windows, ...) This is pretty inconvenient, so let's make it cleaner, and now we will have only two: - for pull requests - for upstream/master | ||
| 5ff98dc1 | 2022-07-10 17:33:15 | evdns: accept domains up to 254 long (previosly only 63 long was accepted) Previously evdns was using HOST_NAME_MAX, and define it to 255 *only* if it not set, however it does set on linux: $ egrep -r define.*HOST_NAME_MAX /usr/include/bits /usr/include/bits/local_lim.h:#define HOST_NAME_MAX 64 /usr/include/bits/posix1_lim.h:#define _POSIX_HOST_NAME_MAX 255 /usr/include/bits/confname.h:#define _SC_HOST_NAME_MAX _SC_HOST_NAME_MAX But 64 should be the limit of the host component, not for the whole hostname, as also noted by @ploxiln So use our own EVDNS_NAME_MAX const, which is set to 255. Fixes: #1280 | ||
| 1933f6aa | 2022-07-10 16:31:57 | test: make dns/getaddrinfo_cancel_stress more deterministic Fixes: #1271 Follow-up for: 90bcf2d660b9b43cb8e747421d4938f08f935bd7 | ||
| 48727342 | 2022-07-10 16:18:08 | Add a note that IOCP is experimental feature Refs: #1228 | ||
| 63ef005a | 2022-07-10 15:47:00 | ci: drop processing "ci skip" message in commit in favor of official skip Since [1] github actions official support skipping workflows based on the message. [1]: https://github.blog/changelog/2021-02-08-github-actions-skip-pull-request-and-push-workflows-with-skip-ci/ | ||
| fc24a299 | 2022-07-10 15:10:20 | ci: add ability skip specific workflow Public CI workers has pretty high load, and sometimes you need to test only specific workflow, i.e. windows. So let's add ability to limit which workflow should be run. | ||
| 69e9f7ee | 2022-07-10 13:55:32 | Initial OpenSSL 3.0 support (#1288) * openssl-3: ci: use ubuntu 22.04 with OpenSSl 3.0 instead of building OpenSSL from sources ci: set LD_LIBRARY_PATH for openssl 3.0 build test: suppress warning for already defined SSL_get_peer_certificate autotools: print $OPENSSL_LIBS/$OPENSSL_INCS Suppress -Wunused-value for BIO_set_close() Use OPENSSL_VERSION_NUMBER over OPENSSL_VERSION_MAJOR (for compatibility) Attempt to add OpenSSL 3 to the Linux build matrix Initial OpenSSL 3.0 support | ||
| 54078b30 | 2022-07-10 13:11:13 | ci: use ubuntu 22.04 with OpenSSl 3.0 instead of building OpenSSL from sources | ||
| fb549006 | 2022-07-10 12:24:42 | ci: set LD_LIBRARY_PATH for openssl 3.0 build Fixes: /home/runner/work/libevent/libevent/build/test/.libs/regress: error while loading shared libraries: libssl.so.3: cannot open shared object file: No such file or directory | ||
| d84c8851 | 2022-07-10 09:59:14 | test: suppress warning for already defined SSL_get_peer_certificate build report: [1/2] Building C object CMakeFiles/regress.dir/test/regress_mbedtls.c.o /src/le/libevent/test/regress_mbedtls.c:50: warning: "SSL_get_peer_certificate" redefined 50 | #define SSL_get_peer_certificate mbedtls_ssl_get_peer_cert | In file included from /src/le/libevent/test/regress.h:139, from /src/le/libevent/test/regress_mbedtls.c:35: /src/oss/openssl/include/openssl/ssl.h:1799: note: this is the location of the previous definition 1799 | # define SSL_get_peer_certificate SSL_get1_peer_certificate | [2/2] Linking C executable bin/regress But this should be cleaned up. | ||
| a0087e2c | 2022-07-10 09:29:21 | autotools: print $OPENSSL_LIBS/$OPENSSL_INCS | ||
| e67085e5 | 2022-07-10 09:26:16 | Suppress -Wunused-value for BIO_set_close() | ||
| c22f2757 | 2022-07-09 23:27:23 | Use OPENSSL_VERSION_NUMBER over OPENSSL_VERSION_MAJOR (for compatibility) Since OpenSSL 3.0 there is new OPENSSL_VERSION_MAJOR, but previous releases does not have it. So let's use plain old OPENSSL_VERSION_NUMBER to avoid more preprocessor macros. |