kc3-lang/libevent/test

Branch :


Log

Author Commit Date CI Message
cd6a41ec 2021-12-10 11:05:13 feat: add `evdns_base_get_nameserver_fd` method To get underlying udp socket fd.
12cedc8a 2021-11-17 08: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
082941ed 2021-11-24 14: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
9a38bc5f 2021-11-01 10: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.
3daebf30 2021-09-29 13:50:35 test: retriable tests are marked failed only when all attempts have failed Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com>
90846c30 2021-09-19 13: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
d7d6af75 2021-09-19 13:15:02 test: add --retries argument
29492364 2021-09-19 12:56:24 test/regress_http: mark data_length_constraints as retriable CI: https://github.com/libevent/libevent/runs/3643914024?check_suite_focus=true
7855900c 2021-09-19 12: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
6ad6afb6 2021-09-19 12: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
58606a62 2021-09-19 12:21:39 test/regress_util: mark monotonic_prc as retriable CI: https://github.com/azat/libevent/runs/3643966877
de53da2e 2021-09-19 11:07:55 test/regress_http: fix unix_socket test
95eadf04 2021-09-19 10:54:27 test/regress_http: disable max_connections/data_length_constraints under windows CI: https://github.com/libevent/libevent/runs/3643554394
f1e9e4da 2021-09-19 01: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"'.
f89e8612 2021-09-19 01: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));
04fcd7c6 2021-09-19 00:57:31 test: mark util/monotonic_prc_fallback as retriable Refs: #1193
5303feff 2021-09-17 04: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
4f73bf3a 2021-09-17 01:56:56 test: regress_http: skip unix socket parsing tests in windows windows doesn't do unix sockets
58d4e50d 2021-09-17 01:39:46 test: fix regress_http evhttp_bind_unixsocket() on macOS needs to use evutil socket helper for SOCK_NONBLOCK / SOCK_CLOEXEC
fabbf3b3 2021-09-14 01: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
86292628 2021-08-10 23:14:01 test: fix checking test args for http_parse_uri_test
f446229b 2016-01-31 11: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>
8f74b30c 2021-05-30 13:05:25 Replace gettimeofday with the portable wrapper Otherwise the Win32 build fails.
19b3fd0b 2021-04-07 20:39:18 evdns: add ability to get CNAME Add new flag (DNS_CNAME_CALLBACK) for evdns_base_resolve_ipv4()/evdns_base_resolve_ipv6(). If set, you will get one more callback with type == DNS_CNAME and CNAME in addrs argument.
dff8fd27 2021-04-22 22:35:59 test/regress.h: Increase default timeval tolerance 50 ms -> 100 ms The default timeout tolerance is 50 ms, which causes intermittent failure in many the related tests in arm64 QEMU. See: https://bugzilla.yoctoproject.org/show_bug.cgi?id=14163 (The root cause seems to be a heavy load) Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
4c29b01c 2021-03-28 10:57:11 build: remove splice implementation fragments Looks like a `splice` implementation was planned, but has clearly never eventuated (the TODO comment is from ~12 years ago, in 8b5bd77415fb6634fadf08357676926fecf5f032). For now, it's probably better to remove the unused code/correct the docs.
bc25889f 2021-02-03 14:19:57 Check return value of evbuffer_remove() in bufferevent_read() The conflict cast convertion between the return value of bufferevent_read() and evbuffer_remove(), int(-1)->size_t(An undefined maximum) Add test case of bufferevent_read() should return 0 in case of evbuffer_remove() returns -1 Fixes: #1132
f17eb6f5 2021-01-18 23:23:42 test/regress_http: cover reading of chunked payload by server This is an example with transfer-encoding by client via bufferevent for the #1131
617ba838 2021-01-09 17:19:27 evdns: add max-probe-timeout/probe-backoff-factor settings I recently found that when the network status changed when calling bufferevent_socket_connect_hostname (e.g. switching between several WIFIs), all DNS servers would fail, and the timeout of probe would be very long if there were many DNS requests. I want libevent to support manual setting of MAX_PROBE_TIMEOUT and TIMEOUT_BACKOFF_FACTOR So move hardcoded MAX_PROBE_TIMEOUT and TIMEOUT_BACKOFF_FACTOR into struct, and allow changing them.
a490172d 2020-10-31 22:53:31 Introduce new BUFFEREVENT_SSL_BATCH_WRITE flag to avoid Nagle effect in SSL
e91c4363 2020-10-27 01:40:34 http: add EVHTTP_URI_HOST_STRIP_BRACKETS Refs: #1115
53c68675 2020-09-15 18:15:24 test: fix windows error when mbedtls https
2403ae57 2020-09-06 15:33:32 test: add https with mbedtls
c2a9ecff 2020-08-29 18:41:39 Fix: long -> enum evhttp_cmd_type type
2338f27e 2020-08-29 01:15:20 test/regress_dns: fix -Wmaybe-uninitialized Was not noticed since it is reported only with optimization enabled, as stated in gcc(1): The effectiveness of some warnings depends on optimizations also being enabled. For example -Wsuggest-final-types is more effective with link-time optimization and -Wmaybe-uninitialized does not warn at all unless optimization is enabled. And interesting thing is that it is reported only for -O2, not for -O3, that's why I did not catched it in both cmake env that I had: - debug (it has -O0) - release (it has -O3) While autoconf has -O2.
eeeed1e1 2020-07-28 01:19:28 test/dns: fix initialize_nameservers when there is ipv6 in /etc/resolv.conf Fixes: #1060
53e53b01 2020-07-23 00:22:45 test/regress_buffer.c: fix -Wbad-function-cast (in some specific env) Fixes: #1054
1bfbbdf2 2020-07-22 23:10:17 test: rename ssl/* -> openssl/*
028385f6 2020-05-28 17:14:46 fix build system and add test and cleanup code
90bcf2d6 2020-07-05 11:59:32 test: fix leak in dns/getaddrinfo_cancel_stress Some requests may get response (evutil_addrinfo) from gaic_server_cb, in case of cancel_event (10000ms) will not be fast enough.
ba19b356 2020-07-05 11:45:56 test: fix UB in evbuffer/empty_reference_prepend_buffer UBSAN reports: test/regress_buffer.c:2360:2: runtime error: null pointer passed as argument 1, which is declared to never be null /usr/include/string.h:140:33: note: nonnull attribute specified here
7b9ba3b7 2020-07-05 11:14:18 test: really disable bufferevent_pair_release_lock under ASAN (and fix gcc)
e2f938c0 2020-07-05 11:08:05 test-closed: fix leak
0ac3cfc0 2020-06-26 10:35:44 test: add getaddrinfo(AI_ADDRCONFIG) test (off by default)
ec94a6bb 2020-06-25 21:56:31 test: fix memory leaks for https (add BEV_OPT_CLOSE_ON_FREE) - http/https_filter_basic - http/https_filter_chunk_out
cdbb2373 2020-06-25 21:40:40 test: "fix" (with a quirk) leak in ssl/bufferevent_wm (w/o defer callbacks)
3b13a647 2020-06-25 21:25:51 test: disable bufferevent/bufferevent_pair_release_lock under ASAN (too tricky) And cannot be suppressed with suppressions due to setup routines.
6754740f 2020-06-25 21:01:53 test: detect test failures if atexit handler calls _exit(!0) (sanitizers) tinytest uses another way of detecting test failures, it uses pipe between child and parent, and if the test function in child returns OK it writes OK flag into pipe, and reads it in parent. However sanitizers uses atexit handlers to detect leaks, and this will not detect failures in case of exit() will be called from the atexit handlers, fix this by checking status after waitpid().
a0c642ac 2020-06-25 10:15:01 buffer: do not pass NULL to memcpy() from evbuffer_pullup() UBSAN reports: evbuffer/remove_buffer_with_empty3: ../buffer.c:1443:3: runtime error: null pointer passed as argument 2, which is declared to never be null #0 0x7ffff6cd0410 in evbuffer_pullup ../buffer.c:1443 #1 0x5555556d68b9 in test_evbuffer_remove_buffer_with_empty3 ../test/regress_buffer.c:408 #2 0x5555557b95ee in testcase_run_bare_ ../test/tinytest.c:173 #3 0x5555557ba048 in testcase_run_one ../test/tinytest.c:333 #4 0x5555557bc0f8 in tinytest_main ../test/tinytest.c:527 #5 0x555555787702 in main ../test/regress_main.c:528 #6 0x7ffff606c001 in __libc_start_main (/usr/lib/libc.so.6+0x27001) #7 0x55555569436d in _start (/src/le/libevent/.cmake-debug/bin/regress+0x14036d)
6f152bef 2020-06-25 09:59:35 test: do not pass NULL to memcmp() in evbuffer_datacmp() helper Fixes: runtime error: null pointer passed as argument 2, which is declared to never be null
37dbb350 2020-06-25 08:45:34 http: fix undefined-shift in EVUTIL_IS*_ helpers evutil.c:2559:1: runtime error: left shift of 1 by 31 places cannot be represented in type 'int' #0 0x4f2be0 in EVUTIL_ISXDIGIT_ libevent/evutil.c:2559:1 #1 0x4bd689 in regname_ok libevent/http.c:4838:7 #2 0x4bc16b in parse_authority libevent/http.c:4958:9 #3 0x4bb8b5 in evhttp_uri_parse_with_flags libevent/http.c:5103:7 #4 0x4bb762 in evhttp_uri_parse libevent/http.c:5050:9 #5 0x4b8f41 in evhttp_parse_query_impl libevent/http.c:3505:9 #6 0x4b8ed7 in evhttp_parse_query libevent/http.c:3569:9 Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=23291 Report: https://oss-fuzz.com/testcase-detail/5670743106125824
2aaa7358 2020-06-02 10:12:20 test/regress_http: remove second ARRAY_SIZE macros
8b5a4d61 2020-06-02 10:01:31 test/regress_testutils: use inet_addr()
271c5aaa 2020-06-02 10:00:38 test/regress_dns: use tt_int_op() over tt_assert() in assert_request_results()
83c58d49 2020-05-31 19:59:49 evdns: Add support for setting maximum UDP DNS message size. Added new option `edns-udp-size` for evdns_base which allows to control maximum allowed size of UDP DNS messages. This maximum size is passed to the DNS server via edns mechanism.
7426a568 2020-05-25 11:25:18 http: Merge branch 'http-max_connections-pr-592' @jcoffland: "When the max connection limit is enabled and the limit is reached, the server will respond immediately with 503 Service Unavailable. This can be used to prevent servers from running out of file descriptors. This is better than request limiting because clients may make more than one request over a single connection. Blocking a request does not necessarily close the connection and free up a socket." * http-max_connections-pr-592: test: cover evhttp max connections Added evhttp max simultaneous connection limiting
95c1c200 2020-05-25 03:34:16 test: cover evhttp max connections
028842aa 2020-05-25 03:13:00 Merge branch 'evdns-tcp-pr-1004' @seleznevae: "Added support for DNS requests via TCP. By default, requests are done via UDP. In case truncated response is received new attempt is done via TCP connection. Added 2 new macros DNS_QUERY_USEVC and DNS_QUERY_IGNTC to force all requests to be done via TCP and to disable switch to TCP in case of truncated responses. Also added possibility for DNS server to listen and receive requests on TCP port. Current implementation of TCP support in DNS server seems rather preliminary and maybe changes after discussion and code review. Fallback to TCP in case of truncated DNS requests is done automatically. To imitate the old behaviour macros DNS_QUERY_IGNTC should be used. To force all DNS requests to be done via TCP one should use the flag DNS_QUERY_USEVC. Names DNS_QUERY_IGNTC, DNS_QUERY_USEVC were chosen to imitate similar flags in c-ares and glibc." Ok, interfaces looks good, merging to avoid stalling it for too long. * evdns-tcp-pr-1004: evdns: fix coding style issues evdns: fix trailing whitespaces evdns: bufferevent_setcb before bufferevent_free is redundant evdns: Implement dns requests via tcp
e8c89510 2020-05-25 02:06:32 test: http/autofree_connection cleanup
0f6ee89a 2020-05-21 12:46:20 evdns: Implement dns requests via tcp
70f69194 2020-05-19 01:05:50 test: cleanup http/autofree_connection
1cc94fea 2020-05-19 00:52:01 test: fix http/autofree_connection Refs: #182
8fe35c76 2020-05-18 14:10:28 evdns: Add additional validation for values of dns options
83ef3216 2020-04-22 19:44:45 Add wepoll support to light up the epoll backend on Windows libevent is lacking a scalable backend on Windows. Let's leverage the wepoll library until Windows comes up with an epoll/kqueue compete user mode API. - All regress tests pass for standard wepoll - These 2 tests fail intermittently for changelist wepoll, so disabling changelist wepoll for now http/cancel_inactive_server http/stream_in - verify target on Windows runs tests for both wepoll and win32 backends - wepoll backend preferred over win32 backend - wepoll version 1.5.6 v2: cleaner backend abstraction. Disallow wepoll on MinGW/Cygwin. v3: Add wepoll.h to dist v4: Make sure wepoll source files are excluded from cygwin/mingw builds v5: Keep win32 as default backend on windows. v6: Include wepoll in mingw builds. Verified that regress tests pass w/ WEPOLL backend. v7: Enable wepoll on mingw when building with cmake v8: Add wepoll testrunner for autotools test target
06a11929 2020-05-07 21:14:13 test: Fix test_simpleclose for Windows platform Replace close with evutil_closesocket Caught with PR #1006
972b456b 2020-05-05 00:21:18 Fix EV_CLOSED detection/reporting (epoll only) - EV_CLOSED is EPOLLRDHUP in epoll - EPOLLRDHUP reported w/o EPOLLHUP if the socket closed with shutdown(SHUT_WR) - EPOLLRDHUP reported w/ EPOLLHUP if the socket closed with close() so in this case epoll backend will detect this event as error (EV_READ|EV_WRITE), since the epoll_ctl() will return EPOLLRDHUP with EPOLLHUP set, but this is not correct, let's fix this. Fixes: #984
ecb67f61 2020-04-09 00:30:57 test: cover EV_CLOSED with lots of possible scenarious - trigger *RDHUP via close() <-- has issues - trigger *RDHUP via shutdown() - EV_CLOSED - EV_CLOSED|EV_PERSIST - EV_CLOSED|EV_ET <!-- has issues - EV_CLOSED|EV_ET|EV_PERSIST
c81362b2 2020-04-09 00:14:26 test: rename simpleclose to simpleclose_rw (since it works via write/read)
5caffa7a 2020-04-16 12:08:02 bench: Allow backend method selection -l list available methods -m <name> use method
4e5a41ca 2020-03-01 15:47:40 test-time: do not use deprecated API - event_init() -> event_base_new() - event_set() -> event_new() - check return value of event_base_dispatch() - use EXIT_SUCCESS/EXIT_FAILURE
a11edbfa 2020-03-01 14:54:36 test-time: enable debug mode if EVENT_DEBUG_LOGGING_ALL env set
4da9f87c 2020-02-27 16:59:45 evdns: fix a crash when evdns_base with waiting requests is freed Fix undefined behaviour and application crash that might take place in some rare cases after calling evdns_base_free when there are requests in the waiting queue. Current cleanup procedure in evdns_base_free_and_unlock function includes 2 steps: 1. Finish all inflight requests. 2. Finish all waiting requests. During the first step we iterate over each list in req_heads structure and finish all requests in these lists. With current logic finishing an inflight request (function request_finished) removes it from the inflight requests container and forces a wating connection to be sent (by calling evdns_requests_pump_waiting_queue). When these new requests are sent it is possible that they will be inserted to the list in req_heads that we've already cleaned. So in some cases container of the inflight requests is not empty after this procedure and some requests are not finished and deleted. When timeouts for these requests expire evdns_request_timeout_callback is called but corresponding evdns_base has been already deleted which causes undefined behaviour and possible applicaton crash. It is interesting to note that in old versions of libevent such situation was not possible. This bug was introduced by the commit 14f84bbdc77d90b1d936076661443cdbf516c593. Before this commit nameservers were deleted before finishing the requests. Therefore it was not possible that requests from the waiting queue be sent while we finish the inflight requests.
5fbe6313 2020-02-11 14:33:15 test-ratelim: add missing free
f6d7992b 2020-01-23 21:34:18 test: mark common_timeout as retriable Refs: https://github.com/libevent/libevent/pull/951#issuecomment-576711224
ca2b72c5 2020-01-14 21:45:01 test: move thread into realtime class even on EVENT__DISABLE_THREAD_SUPPORT
d0adbc05 2020-01-14 10:20:12 test: fix compilation without thread support (EVENT__DISABLE_THREAD_SUPPORT=ON)
30fe1250 2020-01-14 02:14:16 test: fix bufferevent/bufferevent_connect_fail_eventcb* under osx/freebsd For OSX the socket should be closed, otherwise the "connection refused" will not be triggered. And freebsd can return error from the connect().
10504fca 2020-01-14 00:38:06 test: fix dst thread in move_pthread_to_realtime_scheduling_class (osx) Fixes the following tests on osx: - del_wait - no_events Refs: #940
34d51e1b 2020-01-14 00:27:21 test: fix compilation under win32 (rearrange thread_setup() code)
391003e9 2020-01-14 00:41:48 test: use THREAD_* wrappers over pthread* in del_notify
4b72024b 2020-01-13 22:24:54 test: Use THREAD_* wrappers in del_notify/del_wait
e6285eed 2020-01-13 22:24:54 test: move threads created with THREAD_START() to realtime scheduling class too
b1e46c32 2020-01-13 00:33:39 test: put thread into real time scheduling class on osx for better latencies
02905413 2016-02-09 18:01:00 Add callback support for error pages The existing error pages are very basic and don't allow for multi-lingual support or for conformity with other pages in a web site. The aim of the callback functionality is to allow custom error pages to be supported for calls to evhttp_send_error() by both calling applications and Libevent itself. A backward-incompatible change has been made to the title of error pages sent by evhttp_send_error(). The original version of the function used the reason argument as part of the title. That might have unforeseen side-effects if it contains HTML tags. Therefore the title has been changed to always use the standard status text. An example of the error callback can be found in this [version](https://github.com/libevent/libevent/files/123607/http-server.zip) of the 'http-server' sample. It will output error pages with very bright backgrounds, the error code using a very large font size and the reason. Closes: #323 (cherr-picked from PR)
08981f8d 2020-01-05 19:02:22 Fix compilation without OPENSSL_API_COMPAT Use the following for openssl 1.1+: - X509_getm_notBefore over X509_get_notBefore - X509_getm_notAfter over X509_get_notAfter - use OPENSSL_VERSION_NUMBER over SSLeay() - add missing headers Refs: openssl/openssl@0b7347effee5
f76456b0 2019-12-04 17:56:54 Add support for priority inheritance Add support for posix mutex priority inheritance. This is important to avoid priority inversion in systems running with threads with different priorities. Signed-off-by: Andre Azevedo <andre.azevedo@gmail.com>
8a348699 2019-11-17 18:13:51 test-ratelim: calculate timers bias (for slow CPUs) to avoid false-positive This can be/should be done for regression tests too. Refs: https://ci.appveyor.com/project/libevent/libevent/builds/28916689/job/kg621aa194a0qbym Refs: https://github.com/libevent/libevent/pull/917#issuecomment-553811834 v2: EVENT_BASE_FLAG_PRECISE_TIMER
9fecb59a 2019-10-29 15:48:53 Parse IPv6 scope IDs.
4436287d 2019-10-31 09:18:58 Relax bufferevent_connect_hostname_emfile Do not do any assumptions on the error for the EMFILE from getaddrinfo(), expect just any error. Fixes: #924
55d60c92 2019-10-18 21:11:37 test: add testcase for evutil_socketpair()
8d5c5650 2019-09-26 21:47:51 tinytest: support timeout on Windows
6769f692 2019-09-19 22:19:58 regress_buffer: improve testcase for evbuffer_freeze()
6f970267 2019-08-28 11:41:53 eliminate some C4267 warnings in Windows
445027a5 2019-08-22 16:36:12 Fix memory corruption in EV_CLOSURE_EVENT_FINALIZE with debug enabled Call event_debug_note_teardown_ before evcb_evfinalize to avoid possible UAF (if finalizer free's event).
70daa93a 2019-08-27 01:00:56 test: prevent duplicate event_enable_debug_mode() for TT_ENABLE_DEBUG_MODE
6186d312 2019-08-26 22:43:35 test: introduce TT_ENABLE_DEBUG_MODE flag
9c151f3c 2019-08-06 18:19:15 Fix typos in comments (sample/test/event-internal.h)
bdcade47 2019-07-31 10:34:38 buffer: fix possible NULL dereference in evbuffer_setcb() on ENOMEM [ @azat: - add return heredoc for evbuffer_setcb() - add unit test with event_set_mem_functions() - look through the report from abi-compliance-checker/abi-dumper ] Closes: #855
538141eb 2019-06-15 23:18:05 evdns: add new options -- so-rcvbuf/so-sndbuf This will allow to customize SO_RCVBUF/SO_SNDBUF for nameservers in this evdns_base, you may want to adjust them if the kernel starts dropping udp packages.
51ac04ac 2019-05-25 17:29:25 test: mark bev_connect_hostname() as static (to avoid prototype requirement)