Log

Author Commit Date CI Message
William Marlow a29570a1 2022-06-19T10:45:57 Attempt to add OpenSSL 3 to the Linux build matrix v2: fix echo messages v3: fix autotools build (wrong path to pkg config)
William Marlow 29c420c4 2022-06-18T21:43:31 Initial OpenSSL 3.0 support * Don't use deprecated functions when building against OpenSSL 3.0. * Recognise that OpenSSL 3.0 can signal a dirty shutdown as a protocol. error in addition to the expected IO error produced by OpenSSL 1.1.1 * Update regress_mbedtls.c for compatibility with OpenSSL 3
Azat Khuzhin 20977eae 2022-07-09T23:22:00 Merge branch 'mbedtls-3' * mbedtls-3: sample/ssl-client-mbedtls.c: fix for MbedTLS 3 sample/ssl-client-mbedtls.c: break the loop on EOF sample/ssl-client-mbedtls.c: fix printing response in readcb Initial Mbed-TLS 3 support to get the GitHub Actions working again Support build dir of the MbedTLS
Azat Khuzhin acb7ef98 2022-07-09T21:17:06 ci/macos: remove separate openssl 1.1 from build matrix @ploxiln: On current homebrew, openssl@1.1 is the only openssl: [pierce@plo-mbp15 libevent]$ brew --prefix openssl /usr/local/opt/openssl@1.1 [pierce@plo-mbp15 libevent]$ brew info openssl openssl@1.1: stable 1.1.1g (bottled) [keg-only] Cryptography and SSL/TLS Toolkit @fanquake Indeed. OpenSSL 1.0 was removed from homebew in Homebrew/homebrew-core#46876. Related discussion also in Homebrew/homebrew-core#46454.
Azat Khuzhin 8bcbec77 2022-07-09T21:14:16 Merge branch 'fix-brew-autodetection' * fix-brew-autodetection: ci: fix cmake build w/o OPENSSL_ROOT_DIR ci: remove separate build for BREW_AUTODETECT_OPENSSL (use it by default) autotools: fix autodetection of openssl location via brew
Azat Khuzhin 6e310e3c 2022-07-09T20:05:35 sample/ssl-client-mbedtls.c: fix for MbedTLS 3 - use build_info.h over version.h - provide own certs P.S. since it is simpler then adding detection of the library version into autotools.
Azat Khuzhin fcf85e48 2022-07-09T21:03:36 sample/ssl-client-mbedtls.c: fix printing response in readcb
Azat Khuzhin ce20356a 2022-07-09T21:07:36 sample/ssl-client-mbedtls.c: break the loop on EOF
William Marlow 384c52e6 2022-06-23T23:06:14 Initial Mbed-TLS 3 support to get the GitHub Actions working again mingw has upgraded to Mbed-TLS 3.1.0, so all the mingw tests that need Mbed-TLS currently don't work. v2: add missing mbedtls/version.h into test/regress_mbedtls.c v3: suppress #warning "Including compat-2.x.h is deprecated" for mbedtls/compat-2.x.h
Azat Khuzhin 35e12a81 2022-07-09T20:40:52 Support build dir of the MbedTLS
Azat Khuzhin d881d062 2022-07-09T20:28:18 configure: fix AC_CHECK_FUNCS should use literals Error configure.ac:291: warning: AC_CHECK_FUNCS(getnameinfo ): you should use literals ../autoconf-2.71/lib/autoconf/functions.m4:117: AC_CHECK_FUNCS is expanded from... ../autoconf-2.71/lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... ../autoconf-2.71/lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... configure.ac:291: the top level configure.ac:291: warning: AC_CHECK_FUNCS(getprotobynumber ): you should use literals ../autoconf-2.71/lib/autoconf/functions.m4:117: AC_CHECK_FUNCS is expanded from... ../autoconf-2.71/lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... ../autoconf-2.71/lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... configure.ac:291: the top level configure.ac:291: warning: AC_CHECK_FUNCS(getservbyname ): you should use literals ../autoconf-2.71/lib/autoconf/functions.m4:117: AC_CHECK_FUNCS is expanded from... ../autoconf-2.71/lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... ../autoconf-2.71/lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... configure.ac:291: the top level configure.ac:291: warning: AC_CHECK_FUNCS(inet_ntop ): you should use literals ../autoconf-2.71/lib/autoconf/functions.m4:117: AC_CHECK_FUNCS is expanded from... ../autoconf-2.71/lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... ../autoconf-2.71/lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... configure.ac:291: the top level configure.ac:291: warning: AC_CHECK_FUNCS(inet_pton ): you should use literals ../autoconf-2.71/lib/autoconf/functions.m4:117: AC_CHECK_FUNCS is expanded from... ../autoconf-2.71/lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... ../autoconf-2.71/lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... configure.ac:291: the top level
kenping d96457e1 2022-04-21T15:59:28 listener: Preserve last error in evconnlistener_new_bind() before close In function evconnlistener_new_bind() after go to "err:", The evutil_closesocket() would clear the error code( I found this under Windows ). User can not use EVUTIL_SOCKET_ERROR() to get the evconnlistener_new_bind()'s failing error. I add a err_code variable to store and restore the last error code. v2: rebased by azat to make the patch simpler
Azat Khuzhin a9441ed6 2022-07-09T18:43:29 ci: fix cmake build w/o OPENSSL_ROOT_DIR cmake build rules does not have detection of OPENSSL_ROOT_DIR via brew, so we cannot run such builds on CI. Always set OPENSSL_ROOT_DIR for cmake.
Azat Khuzhin 4954b27b 2022-07-09T18:41:39 ci: remove separate build for BREW_AUTODETECT_OPENSSL (use it by default)
Azat Khuzhin 8bad28d6 2022-07-09T18:40:35 autotools: fix autodetection of openssl location via brew
Azat Khuzhin 7aeecb60 2022-07-09T18:12:07 Merge branch 'Werror' * Werror: test: ignore -Walloc-size-larger-than error for calloc() returns ENOMEM Fix EVBASE_ACQUIRE_LOCK/EVBASE_RELEASE_LOCK for EVENT__DISABLE_THREAD_SUPPORT http: suppress "flags may be used uninitialized in this function" error Detech -Wno-unused-functions for GCC too cmake: add compiler version to the status message Fix BEV_LOCK/BEV_UNLOCK macros for EVENT__DISABLE_THREAD_SUPPORT Run builds with -Werror on CI for linux Fix -Werror for autotools Add -Wundef for cmake and fix EVENT__SIZEOF_TIME_T usage
Azat Khuzhin 89332176 2022-07-09T17:14:12 test: ignore -Walloc-size-larger-than error for calloc() returns ENOMEM Compiler report: /home/runner/work/libevent/libevent/test/regress_util.c: In function ‘test_event_calloc’: /home/runner/work/libevent/libevent/test/regress_util.c:1318:4: error: argument 2 value ‘9223372036854775815’ exceeds maximum object size 9223372036854775807 [-Werror=alloc-size-larger-than=] p = mm_calloc(EV_SIZE_MAX/2, EV_SIZE_MAX/2 + 8); In file included from /home/runner/work/libevent/libevent/test/../util-internal.h:37:0, from /home/runner/work/libevent/libevent/test/regress_util.c:30: /usr/include/stdlib.h:541:14: note: in a call to allocation function ‘calloc’ declared here extern void *calloc (size_t __nmemb, size_t __size) v2: clang on CI does not have this option
Azat Khuzhin 648af99a 2022-07-09T17:20:26 Fix EVBASE_ACQUIRE_LOCK/EVBASE_RELEASE_LOCK for EVENT__DISABLE_THREAD_SUPPORT
Azat Khuzhin c8501afc 2022-07-09T17:17:38 http: suppress "flags may be used uninitialized in this function" error Some GCC reports [1]: /home/runner/work/libevent/libevent/http.c: In function ‘evhttp_make_header’: /home/runner/work/libevent/libevent/http.c:503:14: error: ‘flags’ may be used uninitialized in this function [-Werror=maybe-uninitialized] ev_uint16_t flags; ^~~~~ /home/runner/work/libevent/libevent/http.c: In function ‘evhttp_get_body’: /home/runner/work/libevent/libevent/http.c:2354:14: error: ‘flags’ may be used uninitialized in this function [-Werror=maybe-uninitialized] ev_uint16_t flags; ^~~~~ [1]: https://github.com/libevent/libevent/runs/7263518338?check_suite_focus=true#logs
Azat Khuzhin 39604493 2022-07-09T17:08:21 Detech -Wno-unused-functions for GCC too Otherwise build fails [1]: /home/runner/work/libevent/libevent/dist/libevent-2.2.0-alpha-dev/minheap-internal.h:64:6: error: ‘min_heap_ctor_’ defined but not used [-Werror=unused-function] void min_heap_ctor_(min_heap_t* s) { s->p = 0; s->n = 0; s->a = 0; } ^~~~~~~~~~~~~~ In file included from /home/runner/work/libevent/libevent/dist/libevent-2.2.0-alpha-dev/buffer.c:91:0: /home/runner/work/libevent/libevent/dist/libevent-2.2.0-alpha-dev/bufferevent-internal.h:414:1: error: ‘bufferevent_trigger_nolock_’ defined but not used [-Werror=unused-function] bufferevent_trigger_nolock_(struct bufferevent *bufev, short iotype, int options) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/runner/work/libevent/libevent/dist/libevent-2.2.0-alpha-dev/buffer.c:89:0: /home/runner/work/libevent/libevent/dist/libevent-2.2.0-alpha-dev/evthread-internal.h:140:1: error: ‘EVLOCK_TRY_LOCK_’ defined but not used [-Werror=unused-function] EVLOCK_TRY_LOCK_(void *lock) [1]: https://github.com/libevent/libevent/runs/7263518180?check_suite_focus=true
Azat Khuzhin 92b73c7d 2022-07-09T15:45:34 cmake: add compiler version to the status message
Azat Khuzhin 09550714 2022-07-09T15:38:56 Fix BEV_LOCK/BEV_UNLOCK macros for EVENT__DISABLE_THREAD_SUPPORT
Azat Khuzhin 1915b564 2022-07-09T14:47:12 Run builds with -Werror on CI for linux
Azat Khuzhin 03945889 2022-07-09T14:43:39 Fix -Werror for autotools
Azat Khuzhin f5ad737d 2022-07-09T14:22:38 Add -Wundef for cmake and fix EVENT__SIZEOF_TIME_T usage Note, autotools already supports it.
Azat Khuzhin 1bc62ce1 2022-07-09T14:13:57 https-client: fix strndup() for mingw build Right now it still reports [1]: 2022-07-09T10:53:05.4152800Z ../sample/https-client.c:558:43: warning: implicit declaration of function 'strndup' [-Wimplicit-function-declaration] 2022-07-09T10:53:05.4153300Z 558 | char *host_ipv6 = strndup(&host[1], strlen(&host[1]) - 1); 2022-07-09T10:53:05.4153651Z | ^~~~~~~ 2022-07-09T10:53:05.4154095Z ../sample/https-client.c:558:43: warning: incompatible implicit declaration of built-in function 'strndup' [-Wbuiltin-declaration- [1]: https://github.com/libevent/libevent/runs/7263194178?check_suite_focus=true
Azat Khuzhin 29032da6 2022-07-09T13:35:54 Fix some OpenSSL 3 test issues (#1291) These are updates to help with OpenSSL 3 compilation. I found https://github.com/libevent/libevent/pull/1288 after I started this, but these seem independent, and fix a different set of problems: - First off, OpenSSL 3 does not by default allow signing with SHA1 digests - moving this to SHA256 universally at this point seems a better idea than continuing to use the insecure SHA1 for older OpenSSL versions. This fixes X509_sign failing in regress_openssl for a number of tests, eg: ``` regress: http/https_openssl_basic: FAIL ../test/regress_openssl.c:106: assert(0 != X509_sign(x509, key, EVP_sha1()))[Lost connection!] http/https_openssl_filter_basic: FAIL ../test/regress_openssl.c:106: assert(0 != X509_sign(x509, key, EVP_sha1()))[Lost connection!] http/https_openssl_simple: ... ``` - Secondly, when using TLS 1.3, there's no support for renegotiation, so for the renegotiation tests, we need to disable TLS v1.3, and expect to negotiate TLS 1.1 or 1.2 Fixes: #661 * upstream/pr/1291: OpenSSL 3 fixes: Disable TLS 1.3 when testing renegotiation support OpenSSL 3 fixes: use SHA256 instead of SHA1
William Marlow e43376df 2022-06-18T21:43:31 Add missing strndup function on Windows to fix build on MSVC 2022 v2: Only define strndup on non-Mingw32 Windows
fanquake bf3ce77f 2022-06-23T13:38:14 build: only try silence options if they exist Otherwise GCC will warn. i.e: ```bash CCLD libevent_openssl.la cc1: note: unrecognized command-line option ‘-Wno-void-pointer-to-enum-cast’ may have been intended to silence earlier diagnostics CCLD libevent_mbedtls.la ```
Peter Edwards 187f6b91 2022-06-27T22:41:47 OpenSSL 3 fixes: Disable TLS 1.3 when testing renegotiation support TLS 1.3 does not support renegotation - it has been removed from the protocol. Disable TLS 1.3 when testing this, so we negotiate an older protocol version
Peter Edwards e563c9b2 2022-06-27T22:00:05 OpenSSL 3 fixes: use SHA256 instead of SHA1 OpenSSL 3.x does not support signing certificates with SHA1 by default. Use SHA256 instead.
cui fliter 1c204d55 2022-06-13T04:58:50 Fix some typos (#1284) Signed-off-by: cuishuang <imcusg@gmail.com>
zhongzedu 5cc2ff88 2022-05-09T16:33:36 fix grammar in comment
Azat Khuzhin 41239c9d 2022-05-12T07:37:19 https-client: fix connect to ipv6 address with square brackets getaddrinfo() cannot process addresses like "[::1]", only "::1" Fixes: #1275
Syedh30 e339880f 2022-04-29T19:40:29 include/event.h: include <event2/util.h> over deprecatd <evutil.h> Fixes: #1263
Igor Klemenski 21e28626 2022-04-06T14:35:00 Fix mingw pipeline (by using correct PATH to msys64) I found the correct path by looking at the _Disable Key Refresh_ step in _mingw::autotools::set up msys2_ task (https://github.com/rectified95/libevent/runs/5858227589?check_suite_focus=true) C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe "((Get-Content -path **D:\a\_temp\msys64**\etc\post-install\07-pacman-key.post -Raw) ...
Igor Klemenski 097ff9a4 2022-04-06T13:44:27 Fix windows pipeline (by updating vcpkg version to latest) The Windows CI is failing at the prepare vcpkg step while installing zlib Changing the vcpkg commit hash to point to latest release https://github.com/microsoft/vcpkg/releases/tag/2022.03.10 as opposed to sometime in 2019 to see if that fixes it.
moonlightsh 66861f88 2022-03-10T23:58:36 Require libevent_core not libevent for pkg-config libevent library itself had been deprecated long time ago. Fixes: #1213
Azat Khuzhin 6349e94a 2022-03-10T23:11:14 Do not install RPATH for install tree by default In ce8be2385b5fee16859a630fca0c98ad290c8e21 ("cmake: set rpath for libraries on linux") RPATH was first instroduced. Later in 6d09efe8686de824adf3d8810bbe0d5c386643e4 ("Set RPATH only if installation is done into non system directory") it was set only if it was installed to non system directory. But absolute RPATH not a good default, let's change this. Fixes: #920
Jay Freeman (saurik) 3da71856 2022-02-12T22:53:11 Fix build w/o OpenSSL by w/ MbedTLS In 78fa3971be892194aa168c04fc34bf5f2cd99b99 from https://github.com/libevent/libevent/pull/1241#commitcomment-63865496 a new "if MBEDTLS" block was added to include/include.am. This is not parsed by automake as it isn't on the first column, resulting in a subsequent error in the build. From [1]: > The if, else, and endif statements should not be indented, i.e., start on column one. [1]: https://www.gnu.org/software/automake/manual/html_node/Usage-of-Conditionals.html Fixes: #1251 Fixes: google/oss-fuzz#7149
Azat Khuzhin 6d09efe8 2022-01-15T22:06:58 Set RPATH only if installation is done into non system directory v2: use CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES Fixes: #1245
Dmitry Ilyin 78fa3971 2022-01-15T08:30:26 Fix make install failed when Automake used and both OpenSSL and MbedTLS are activated Issue: https://github.com/libevent/libevent/pull/1241#commitcomment-63865496
Jessica Clarke a9595ccd 2021-12-21T13:15:58 regress_ssl: Use intptr_t when shoving an int into a void * Currently the code uses long, but long does not always have the same representation as a pointer, such as on 64-bit Windows where long is only 32-bit due to its unususal LLP64 ABI, but also on CHERI, and thus Arm's prototype Morello architecture, where C language pointers are represented as hardware capabilities, which have bounds, permissions and other metadata to enforce spatial memory safety. Both of these cases warn when casting a long to a pointer (Windows due to long being shorter and thus it being likely you've truncated the address, and CHERI due to long not having any capability metadata like pointers and thus it being likely you've stripped the metadata, with the resulting "null-derived" capability destined to trap if dereferenced), and in both cases casting to intptr_t as the intermediate type instead will get rid of those warnings.
Azat Khuzhin 09e9fed2 2021-12-21T08:47:00 test: fix leak in http/cancel_*server_timeout tests Fixes: #1242
Dmitry Ilyin 2db55e43 2021-12-15T21:27:21 Install bufferevent_ssl.h with MbedTLS support also
Yongsheng Xu cd6a41ec 2021-12-10T11:05:13 feat: add `evdns_base_get_nameserver_fd` method To get underlying udp socket fd.
moonlightsh 12cedc8a 2021-11-17T08:40:40 Fix deadlock in case of evconnlistener_disable() in parallel with callback I've got an issue when stop evconnlistener not in the event_base_loop() thread. evconnlistener_disable() acquired lev->lock, if the same time, user callbacks is runing, the event thread released lock, after callback finished, it try to aquire the lock again, I think this makes conflict: Here is backtraces: thread 1: 0 __lll_lock_wait (futex=futex@entry=0x555555559a60, private=0) at lowlevellock.c:52 1 0x00007ffff7f2a131 in __GI___pthread_mutex_lock (mutex=0x555555559a60) at ../nptl/pthread_mutex_lock.c:115 2 0x00007ffff7f424c9 in evthread_posix_lock (mode=0, lock_=0x555555559a60) at evthread_pthread.c:79 3 0x00007ffff7f7dc12 in listener_read_cb (fd=7, what=2, p=0x5555555599a0) at listener.c:439 4 0x00007ffff7f6d758 in event_persist_closure (base=0x555555559370, ev=0x5555555599d8) at event.c:1645 5 0x00007ffff7f6da60 in event_process_active_single_queue (base=0x555555559370, activeq=0x5555555597e0, max_to_process=2147483647, endtime=0x0) at event.c:1704 6 0x00007ffff7f6e018 in event_process_active (base=0x555555559370) at event.c:1805 7 0x00007ffff7f6e92a in event_base_loop (base=0x555555559370, flags=0) at event.c:2047 8 0x0000555555555449 in main () at test_listen.c:67 thread 2: 0 futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x555555559858) at ../sysdeps/nptl/futex-internal.h:183 1 __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x555555559800, cond=0x555555559830) at pthread_cond_wait.c:508 2 __pthread_cond_wait (cond=0x555555559830, mutex=0x555555559800) at pthread_cond_wait.c:638 3 0x00007ffff7f426f3 in evthread_posix_cond_wait (cond_=0x555555559830, lock_=0x555555559800, tv=0x0) at evthread_pthread.c:162 4 0x00007ffff7f70bc5 in event_del_nolock_ (ev=0x5555555599d8, blocking=2) at event.c:2934 5 0x00007ffff7f70748 in event_del_ (ev=0x5555555599d8, blocking=2) at event.c:2821 6 0x00007ffff7f707a1 in event_del (ev=0x5555555599d8) at event.c:2830 7 0x00007ffff7f7d76e in event_listener_disable (lev=0x5555555599a0) at listener.c:343 8 0x00007ffff7f7d6e5 in evconnlistener_disable (lev=0x5555555599a0) at listener.c:325 9 0x00005555555552c3 in disable_thread (arg=0x5555555599a0) at test_listen.c:27 10 0x00007ffff7f27609 in start_thread (arg=<optimized out>) at pthread_create.c:477 11 0x00007ffff7e4e293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Azat Khuzhin e1ecc6fa 2021-12-02T10:27:16 Switch coverage to ubuntu 18.04 It seems that there is no 16.04 image anymore, since github actions was not able to find it for 24 hours [1]. [1]: https://github.com/libevent/libevent/actions/runs/1522612189
fanquake 9aa4eb09 2021-11-24T08:44:03 build: use modern ax_pthread macro acx_pthread became ax_pthread in 2009 and the macro has seen lots of updates since then. This change switches to using the latest version.
Azat Khuzhin d076d2df 2021-11-30T22:41:05 Revert "evdns: do not check server_req twice" That was wrong assumption. This reverts commit 991f0ed3d86ffca0c017ab83cd239289912bdaad. Fixes: #1231
Azat Khuzhin 3b9c7dd6 2021-11-30T22:37:32 ci: remove deprecated windows-2016 image Refs: https://github.blog/changelog/2021-10-19-github-actions-the-windows-2016-runner-image-will-be-removed-from-github-hosted-runners-on-march-15-2022
Theo Buehler 883630f7 2021-11-21T21:38:20 Don't define BIO_get_init() for LibreSSL 3.5+ BIO_get_init() is available in LibreSSL 3.5 and later. The BIO type will become opaque, so the existing macro will break the build.
Azat Khuzhin f64f60a2 2021-11-30T22:22:43 Merge #1230 -- build: remove inconsistently used x-prefix comparisons * upstream/pr/1230: build: fix typos in ax_check_funcs_ex.m4 build: remove inconsistently used x-prefix comparisons
fanquake 80f3ab01 2021-11-24T14:44:48 build: fix typos in ax_check_funcs_ex.m4
fanquake 082941ed 2021-11-24T14:41:33 build: remove inconsistently used x-prefix comparisons Given that these are already used inconsistently with `test` checks, it makes sense to consolidate to not use the x-prefix comparisons at all. In any case, it would be nice to think we no longer have to work around a problem that existed in shells many, many years ago. More info: https://github.com/koalaman/shellcheck/wiki/SC2268 https://www.vidarholen.net/contents/blog/?p=1035
Azat Khuzhin 0c217f4f 2021-11-22T00:05:27 Fix comment for evdns_base_new()
Christopher Chavez 89505f85 2021-11-11T20:12:14 CheckWorkingKqueue.cmake: fix missing headers Avoid implicitly declaring functions memset() and exit() as it is considered an error by some compilers (e.g. Xcode clang 12 and later)
Tomas Gonzalez 9a38bc5f 2021-11-01T10:01:06 evutil: Fix evutil_freeaddrinfo During testing on win32, util/getaddrinfo failed with NULL hint info r = evutil_getaddrinfo("www.google.com", NULL, NULL, &ai); throwing a critical heap exception when evutil_freeaddrinfo is called. This is because of improper use of freeaddrinfo when nodes within the ai structure are allocated using mm_malloc or mm_calloc (EVUTIL_AI_LIBEVENT_ALLOCATED) This adds the flag in apply_socktype_protocol_hack and walks the linked list in evutil_freeaddrinfo removing linked list nodes that are custom allocated before calling freeaddrinfo.
Thomas Perrot 3daebf30 2021-09-29T13:50:35 test: retriable tests are marked failed only when all attempts have failed Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com>
Azat Khuzhin 048907a5 2021-09-19T15:52:02 github/workflows/macos.yml: fix test step name
Azat Khuzhin 357dca4f 2021-09-19T15:59:57 Merge branch 'skip-tests' -- fix/skip some tests to avoid complete check failures * skip-tests: test: add --retries-delay (and set to 1 second by default) test: add --retries argument Add -Wno-void-pointer-to-enum-cast (we use this hack in tests) test/regress_http: mark data_length_constraints as retriable github/workflows/mingw: use ctest --output-on-failure test/dns: mark TCP tests as retriable test/regress: retry some signal rlated tests in darwin test/regress_util: mark monotonic_prc as retriable test/regress_http: fix unix_socket test test/regress_http: disable max_connections/data_length_constraints under windows Add EV_WINDOWS macro
Azat Khuzhin 90846c30 2021-09-19T13:18:40 test: add --retries-delay (and set to 1 second by default) In attemp to address failures of dns/tcp_* tests under windows [1]. [1]: https://github.com/azat/libevent/runs/3644218468?check_suite_focus=true
Azat Khuzhin 7179cedd 2021-09-19T13:36:15 Add -Wno-void-pointer-to-enum-cast (we use this hack in tests) Refs: https://reviews.llvm.org/D75758
Azat Khuzhin d7d6af75 2021-09-19T13:15:02 test: add --retries argument
Azat Khuzhin 29492364 2021-09-19T12:56:24 test/regress_http: mark data_length_constraints as retriable CI: https://github.com/libevent/libevent/runs/3643914024?check_suite_focus=true
Azat Khuzhin 12e6d6eb 2021-09-19T12:33:44 github/workflows/mingw: use ctest --output-on-failure Otherwise it is hard to understand the problem [1]. [1]: https://github.com/azat/libevent/runs/3643912284
Azat Khuzhin 7855900c 2021-09-19T12:24:50 test/dns: mark TCP tests as retriable CI: https://github.com/azat/libevent/runs/3643912296 # tcp_resolve_many_clients CI: https://github.com/azat/libevent/runs/3643912192 # tcp_timeout CI: https://github.com/azat/libevent/runs/3643912336 # tcp_resolve CI: https://github.com/azat/libevent/runs/3643912174 # tcp_resolve_pipeline
Azat Khuzhin 6ad6afb6 2021-09-19T12:23:48 test/regress: retry some signal rlated tests in darwin CI: https://github.com/azat/libevent/runs/3643912290 # simplestsignal CI: https://github.com/azat/libevent/runs/3643912296 # simplesignal CI: https://github.com/azat/libevent/runs/3643912228 # multiplesignal
Azat Khuzhin 58606a62 2021-09-19T12:21:39 test/regress_util: mark monotonic_prc as retriable CI: https://github.com/azat/libevent/runs/3643966877
Azat Khuzhin de53da2e 2021-09-19T11:07:55 test/regress_http: fix unix_socket test
Azat Khuzhin 95eadf04 2021-09-19T10:54:27 test/regress_http: disable max_connections/data_length_constraints under windows CI: https://github.com/libevent/libevent/runs/3643554394
Azat Khuzhin a35d2d01 2021-09-19T10:54:08 Add EV_WINDOWS macro
Azat Khuzhin 39dcd52b 2021-08-10T22:04:43 ci: split build and test into separate jobs
Azat Khuzhin f1e9e4da 2021-09-19T01:47:42 test: cleanup stalled socket after running http/unix_sock Otherwise it breaks upload-artifacts: Run actions/upload-artifact@v1 Uploading artifact 'ubuntu-18.04-cmake-NONE-build' from '/home/runner/work/libevent/libevent/build' for run #346 Uploading 1095 files File error 'No such device or address' when uploading file '/home/runner/work/libevent/libevent/build/foo'. ... Error: No such device or address Error: Exit code 1 returned from process: file name '/home/runner/runners/2.282.1/bin/Runner.PluginHost', arguments 'action "GitHub.Runner.Plugins.Artifact.PublishArtifact, Runner.Plugins"'.
Azat Khuzhin f89e8612 2021-09-19T01:23:07 test: check return value of write()/send() in bufferevent_read_failed This will also suppress: ../test/regress_bufferevent.c: In function ‘test_bufferevent_read_failed’: 1102 ../test/regress_bufferevent.c:1395:2: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result] 1103 write(data->pair[0], buf, strlen(buf));
Azat Khuzhin 04fcd7c6 2021-09-19T00:57:31 test: mark util/monotonic_prc_fallback as retriable Refs: #1193
Azat Khuzhin 41b5ab0f 2021-09-19T00:39:30 bufferevent_ssl: check return value of the evbuffer_drain() Refs: #1163
Azat Khuzhin b926af26 2021-09-19T00:27:53 Merge remote-tracking branch 'upstream/pr/1203' @ploxiln: "It seems like a bit of refactoring might be able to clean this code up a bit, but it's a bit tricky because of the varied tricky usage of chain structs, so this initial version has minimal changes ... " * upstream/pr/1203: buffer: do not round up allocation for reference-type chain objects
Azat Khuzhin 74af13d5 2021-09-19T00:23:10 Merge !1204 -- tests: fix macOS CI runs * upstream/pr/1204: test: http_unix_socket_test: fix url could be freed uninitialized test: regress_http: skip unix socket parsing tests in windows test: fix regress_http evhttp_bind_unixsocket() on macOS ci: fix macOS mbedtls version/search
Pierce Lopez 5303feff 2021-09-17T04:47:34 test: http_unix_socket_test: fix url could be freed uninitialized > regress_http.c:2279:2: warning: variable 'uri' is used uninitialized > whenever 'if' condition is true
Pierce Lopez 4f73bf3a 2021-09-17T01:56:56 test: regress_http: skip unix socket parsing tests in windows windows doesn't do unix sockets
Pierce Lopez 58d4e50d 2021-09-17T01:39:46 test: fix regress_http evhttp_bind_unixsocket() on macOS needs to use evutil socket helper for SOCK_NONBLOCK / SOCK_CLOEXEC
Pierce Lopez bceab045 2021-09-17T01:37:19 ci: fix macOS mbedtls version/search mbedtls just updated to version 3.0, install mbedtls@2 variant, which needs more help being located since it's no longer the default and no longer linked into the typical /usr/local dirs also gitignore mbedtls sample program binaries
Pierce Lopez fd0ce993 2021-09-16T23:21:26 buffer: do not round up allocation for reference-type chain objects Skip rounding up memory allocations for: * evbuffer_add_reference() * evbuffer_add_buffer_reference() * evbuffer_add_file_segment() These chain objects only store small structs with references to other things, and these small structs do not themselves grow, so bumping up the allocation to MIN_BUFFER_SIZE (512 bytes) is wasteful.
Pierce Lopez fabbf3b3 2021-09-14T01:19:36 test: skip dns_initialize_nameservers if missing /etc/resolv.conf some build systems run tests in minimal containers with no resolv.conf, and the primary thing this test does is load the default /etc/resolv.conf
Yong Wu 68675d5f 2021-09-12T18:03:03 doc: adjust flags notice on event_base_loop()
Yong Wu 990bcfc2 2021-09-06T08:06:10 ev_io_timeout consistency
Yong Wu 74594077 2021-09-05T22:42:04 modify typo - timeeouts
Azat Khuzhin 2b92b830 2021-08-12T01:40:27 http: fix building under windows (guard with _WIN32 for unixsocket free) Reported-by: @kaend
Azat Khuzhin 86292628 2021-08-10T23:14:01 test: fix checking test args for http_parse_uri_test
Sean Young f446229b 2016-01-31T11:31:00 http: support unix domain sockets There are no standard for encoding a unix socket in an url. nginx uses: http://unix:/path/to/unix/socket:/httppath The second colon is needed to delimit where the unix path ends and where the rest of the url continues. Signed-off-by: Sean Young <sean@mess.org>
Azat Khuzhin 6f139b87 2021-08-01T11:53:17 buffer: fix CreateFileMapping() leak from evbuffer_add_file() evbuffer_file_segment_materialize() is called twice from evbuffer_add_file(), and so win32 mapping will leak. Fixes: #1186
moonlightsh c29f1dbe 2021-07-16T10:21:06 fix evthread_use_pthreads_with_flags dead lock when first return
fanquake c5642697 2021-07-13T15:08:44 build: fail with a useful error message if pkg-config isn't available
Tobias Heider 5c0e75c3 2021-07-06T17:40:58 Properly initialize sockaddr length on systems with sin_len.
Azat Khuzhin 6d800fd6 2021-07-10T00:12:21 Merge remote-tracking branch 'upstream/pr/1171' * upstream/pr/1171: ci: install pkg-config in mingw-w64 CI build: test ac_cv_header_sys_time_h once, reformat timer* macro checks build: remove call to AC_C_CONST() build: replace ntp_pkg_config macro with a call to PKG_PROG_PKG_CONFIG() build: remove NTP_PKG_CONFIG call from libevent_mbedtls.m4 build: stop using the deprecated form of AC_OUTPUT() build: quote args in AC_ARG_ENABLE & AS_HELP_STRING build: remove call to AC_HEADER_TIME build: call AC_PREREQ() first & quote argument build: remove call to AC_PREFIX_DEFAULT build: remove call to AC_PROG_GCC_TRADITIONAL
fanquake 196a36af 2021-07-09T12:34:37 ci: install pkg-config in mingw-w64 CI
fanquake 7ab3a06a 2021-06-16T15:29:30 build: test ac_cv_header_sys_time_h once, reformat timer* macro checks
fanquake 041d6f09 2021-06-15T16:00:48 build: remove call to AC_C_CONST() > This macro is obsolescent, as current C compilers support const. > New programs need not use this macro. See: https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.67/autoconf.html#index-AC_005fC_005fCONST-877.
fanquake 12996ba9 2021-06-15T15:49:38 build: replace ntp_pkg_config macro with a call to PKG_PROG_PKG_CONFIG() Note that 0.15.0 is quite an old version to be testing for, however I've left this as-is for now.