Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 01beec2f | 2021-04-03 12:55:32 | dns: remove evdns_set_transaction_id_fn | ||
| 39d68053 | 2021-04-03 12:55:11 | dns: remove evdns_set_random_bytes_fn | ||
| d433f847 | 2021-04-02 09:19:55 | Revert "build: use literals for AC_CHECK_HEADERS/AC_CHECK_FUNCS" That commit was wrong, it breaks syntax for autoconf <2.71, since AC_CHECK_*S() requires sh-like list. This reverts commit 28f0fe6fd1e2b1e9fb24a5c7a5b078790890e44f. Fixes: #1149 | ||
| 28f0fe6f | 2021-03-28 17:16:54 | build: use literals for AC_CHECK_HEADERS/AC_CHECK_FUNCS autoconf 2.72 reports: configure.ac:188: warning: AC_CHECK_HEADERS(\ ): you should use literals ../autoconf-2.71/lib/autoconf/headers.m4:217: AC_CHECK_HEADERS is expanded from... configure.ac:188: the top level configure.ac:188: warning: AC_CHECK_HEADERS(afunix.h ): you should use literals And also it fails to find fcntl.h and other headers because of this: configure:14725: checking for fcntl.h configure:14725: gcc -c -I/mingw64/include conftest.c >&5 conftest.c:77:10: fatal error: fcntl.h: No such file or directory 77 | #include < fcntl.h> Refs: https://github.com/libevent/libevent/pull/1146/checks?check_run_id=2211752215 | ||
| ce028cef | 2021-03-28 09:01:58 | build: fix autotools build under mingw autotools that is shipped with mingw (autoconf 2.71-1, automake 1.6-1.16, automake wrapper 11-1), does not allow trailing backslashes for AC_CHECK_HEADERS() and AC_CHECK_FUNCS(), otherwise it generates incorrect for loop, and reports: ../configure: line 14724: syntax error near unexpected token `as_ac_Header=`printf "%s\n" "ac_cv_header_$ac_header" | $as_tr_sh`' ../configure: line 14724: ` as_ac_Header=`printf "%s\n" "ac_cv_header_$ac_header" | $as_tr_sh`' Error: Process completed with exit code 1. Here is a simple analog: for VAR in <CR> foo \ <CR> bar \ do : echo $VAR done Trailing slash is not allowed. Refs: - https://github.com/libevent/libevent/runs/2171607687 - https://github.com/libevent/libevent/runs/2211365885?check_suite_focus=true | ||
| 78e8541a | 2021-03-28 10:35:22 | build: remove no-longer used checks for vasprintf From what I can tell the last usage was removed in 8d1317d71c46e27c5073d3429a64af69de0351a6. | ||
| 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. | ||
| 8e5e7bb8 | 2021-03-23 09:40:30 | ci: fix upload-artifacts for linux dist build Fixes [1]: Run actions/upload-artifact@v1 Error: Path does not exist /home/runner/work/libevent/libevent/build Error: Exit code 1 returned from process: file name '/home/runner/runners/2.277.1/bin/Runner.PluginHost', arguments 'action "GitHub.Runner.Plugins.Artifact.PublishArtifact, Runner.Plugins"'. [1]: https://github.com/libevent/libevent/runs/2172680722?check_suite_focus=true | ||
| 3b9b655d | 2021-03-23 09:10:00 | Merge branch 'http-fix-fd-leak' * http-fix-fd-leak: http: fix fd leak on fd reset (by using bufferevent_replacefd()) bufferevent: introduce bufferevent_replacefd() (like setfd() but also close fd) Fixes: #1143 | ||
| 2385638e | 2021-03-23 09:02:39 | http: fix fd leak on fd reset (by using bufferevent_replacefd()) Fixes: afa66ea4 ("http: eliminate redundant bev fd manipulating and caching [WIP]") | ||
| aea752b6 | 2021-03-23 09:00:24 | bufferevent: introduce bufferevent_replacefd() (like setfd() but also close fd) | ||
| 8e6090d0 | 2021-03-23 09:52:14 | build: use AC_CHECK_LIB over AC_HAVE_LIBRARY AC_HAVE_LIBRARY is deprecated, see https://www.gnu.org/software/autoconf/manual/autoconf-2.70/html_node/Obsolete-Macros.html, and has been prior to Autoconf 2.67, which is the minimum required by the project. It's usage also causes warnings with newer versions of autoconf: ```bash configure.ac:319: warning: The macro `AC_HAVE_LIBRARY' is obsolete. configure.ac:319: You should run autoupdate. ``` `AC_HAVE_LIBRARY` was introduced in #969, although it's not clear why it was decided to revert to using an obselete macro. | ||
| 00b92f42 | 2021-02-16 13:26:44 | fix compile error in VS2012 in evutil_gettimeofday() Move static variable definition before other statement, to prevent compile error in VS2012. Fixes: #1135 | ||
| d13b7bbf | 2021-02-05 18:54:30 | http: fix invalid unsigned arithmetic | ||
| 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. | ||
| c5e4391b | 2020-12-26 09:07:07 | doc: remove dead link The link is dead and an archived page cannot be found in the web.archive.org. | ||
| 657e1806 | 2020-11-23 17:24:36 | cmake: do not link libevent with libevent_core When add_event_library macro was called without the INNER_LIBRARIES parameter, it reused the value set by a previous call, since the INNER_LIBRARIES variable was not reset. | ||
| 59e31c96 | 2020-11-05 00:57:39 | Do not try to do SSL handshake if the connect() fails This will avoid this icky error: $ https-client -4 -url https://127.1 some request failed - no idea which one though! error:00000005:lib(0):func(0):DH lib And instead will report only: $ https-client -4 -url https://127.1 some request failed - no idea which one though! socket error = Connection refused (111) Refs: #1115 | ||
| 4f8a6320 | 2020-11-02 10:01:41 | Merge branch 'macos-brew-openssl-v2' By Azat Khuzhin (2) and fanquake (1) * macos-brew-openssl-v2: Add autodetection of openssl via brew into build matrix cmake: find openssl prefix via brew autotools: attempt to find OpenSSL via homebrew on macOS Closes: #1050 (cherry picked one patch from it) | ||
| 29b1404b | 2020-11-02 00:39:26 | Add autodetection of openssl via brew into build matrix | ||
| 1a242e1c | 2020-11-01 01:39:02 | cmake: find openssl prefix via brew | ||
| 72d877a2 | 2020-07-07 14:58:29 | autotools: attempt to find OpenSSL via homebrew on macOS When compiling for macOS, where users will likely have OpenSSL installed via brew, rather than available on the system, use brew --prefix to figure out where OpenSSL is, and then augment the pkg-config path so that libs are found. | ||
| 8d21ddcf | 2020-11-01 00:59:16 | Fix bufferevent_ssl_*flags() w/ disabled OpenSSL but enabled mbedTLS | ||
| 8daa1aba | 2020-10-31 23:04:55 | Merge branch 'ssl-nagle' * ssl-nagle: Introduce new BUFFEREVENT_SSL_BATCH_WRITE flag to avoid Nagle effect in SSL Introduce new API for flags of the SSL bufferevent | ||
| a490172d | 2020-10-31 22:53:31 | Introduce new BUFFEREVENT_SSL_BATCH_WRITE flag to avoid Nagle effect in SSL | ||
| 7e0fc878 | 2020-10-31 21:45:22 | Introduce new API for flags of the SSL bufferevent Introduce more generic API (like for evbuffer): - bufferevent_ssl_set_flags() - bufferevent_ssl_clear_flags() - bufferevent_ssl_get_flags() And deprecate existing: - bufferevent_openssl_get_allow_dirty_shutdown() - bufferevent_openssl_set_allow_dirty_shutdown() - bufferevent_mbedtls_get_allow_dirty_shutdown() - bufferevent_mbedtls_set_allow_dirty_shutdown() | ||
| 587f6c83 | 2020-10-31 22:50:11 | Merge branch 'ssl-fixes-after-mbedtls' * ssl-fixes-after-mbedtls: Fix BEV_IS_SSL() macro Fix preprocessor condition for BEV_IS_SSL() Remove reduntant BEV_IS_MBEDTLS Refs: #1028 | ||
| 2484500a | 2020-10-31 22:48:37 | Fix BEV_IS_SSL() macro We cannot use the same trick with external declaration, since there are copy of bufferevent_ops_ssl in each library: - openssl - mbedlts However we can just compare the name of the bufferevent type for now. (It is totally fine to use memcmp() here since it will be optimized by the compiler). | ||
| db6e22c7 | 2020-10-31 22:41:16 | Fix preprocessor condition for BEV_IS_SSL() | ||
| 39ca97ef | 2020-10-31 22:27:18 | Remove reduntant BEV_IS_MBEDTLS | ||
| afa66ea4 | 2019-09-04 00:56:20 | http: eliminate redundant bev fd manipulating and caching [WIP] At the very beginning we reset the bufferevent fd (if bev has it), which is not a good idea, since if user passes bufferevent with existing fd he has some intention. So we need to: - use BEV_OPT_CLOSE_ON_FREE for default bufferevent_socket_new() (to avoid manual shutdown/closee) - drop getsockopt(SOL_SOCKET, SO_ERROR), since bufferevent already has evutil_socket_finished_connecting_() - drop supperior bufferevent_setfd(bev, -1) in evhttp_connection_connect_() Closes: #795 Refs: #875 | ||
| 67180f8c | 2020-10-27 02:15:38 | Merge branch 'ipv6-tiny-improvements' * ipv6-tiny-improvements: http: add EVHTTP_URI_HOST_STRIP_BRACKETS http-server: add -H option to change listen address https-client: add newline into error messages https-client: add -4/-6 switches | ||
| e91c4363 | 2020-10-27 01:40:34 | http: add EVHTTP_URI_HOST_STRIP_BRACKETS Refs: #1115 | ||
| eb822ac7 | 2020-10-27 01:22:59 | http-server: add -H option to change listen address | ||
| 6135248a | 2020-10-27 01:19:40 | https-client: add newline into error messages | ||
| f51ec253 | 2020-10-27 01:17:44 | https-client: add -4/-6 switches | ||
| 22872176 | 2020-10-15 23:23:15 | becat: add timeout (client/server) and verbosity (event_enable_debug_logging()) | ||
| 6c644949 | 2020-10-11 03:23:14 | Change log message in evutil_make_socket_nonblocking in win32 Co-authored-by: guoxiang2 <guoxiang2@yy.com> | ||
| 19d0bdfe | 2020-10-04 22:56:30 | Change prefix for man pages from "le_" to "libevent_" As pointed by @kloczek: "With only two characters it would be harder to guess under what kind of name are libevent lvl 3 man pages. Longer name with bash/fix/zsh tab competition should not be a problem :)" Refs: #1099 | ||
| 21b91692 | 2020-10-04 19:55:52 | Add prefix (le_) for man pages This will: - avoid overlapping (since there is util.h.3 page) - group everything under some prefix (man le_<TAB><TAB> will show everything) Fixes: #1099 | ||
| 3012c438 | 2020-10-04 19:48:34 | Drop DOXYGEN_MAN_LINKS unsupported cmake flag MAN_LINKS is not a variable in Doxyfile anyway. | ||
| 852af060 | 2020-10-04 17:44:34 | http-server: add cli argument for max body size | ||
| 56e12131 | 2020-09-18 16:34:34 | Remove dead code from bufferevent_socket_connect | ||
| 9b270c5e | 2020-09-16 08:10:11 | Generate only real man pages with doxygen (MAN_LINKS=NO) WIth MAN_LINKS=YES doxygen will generate ton's of man pages for each field, function and so on, but it will not contain anything useful except for link to another man page (header). So to avoid man pages clashing, disable MAN_LINKS, and this will generate man pages only for explicitly documented parts. But even after this we have pretty non-unique man pages names: $ find install/ -name '*.3' install/share/man/man3/util.h.3 ... Looks like we should add prefix for each of them... But let's see if there will be a problem. Fixes: #1097 | ||
| 31a5cfd3 | 2020-09-16 08:25:20 | Remove man pages from repo (they can be generated via doxygen) The problem with this man pages are: - they are likely outdated - they don't have install target - and besides quality of man pages generated by doxygen not worse | ||
| b45a02ef | 2020-09-16 11:31:33 | sample: add https-client-mbedtls | ||
| 53c68675 | 2020-09-15 18:15:24 | test: fix windows error when mbedtls https | ||
| 67520709 | 2020-09-14 21:37:50 | Merge #1087 - tests for https with mbedtls * upstream/pr/1087: test: add https with mbedtls bufferevent_openssl: fix -Wcast-function-type for SSL_pending | ||
| a7d3cd40 | 2020-09-14 21:30:02 | Add build w/o any SSL support (i.e. w/o openssl and mbedtls) This pure build w/o SSL has been removed in mbedtls PR - #1028 | ||
| 2403ae57 | 2020-09-06 15:33:32 | test: add https with mbedtls | ||
| f07898e3 | 2020-07-25 17:17:46 | bufferevent_openssl: fix -Wcast-function-type for SSL_pending Introduced-in: #1028 | ||
| a18301a2 | 2020-09-08 15:38:16 | http: const out address param to evcon_get_peer | ||
| 02428d9a | 2020-09-01 01:08:16 | build: fix building under windows with thread support Fixes: 972289f3 ("Detect existence of pthread_mutexattr_setprotocol()") | ||
| 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. | ||
| 972289f3 | 2020-08-29 01:15:20 | Detect existence of pthread_mutexattr_setprotocol() Fixes: #1084 | ||
| e3e7bb21 | 2020-08-11 02:12:23 | build: add doxygen to all Fixes: 7e6c5fb4 ("build: do not try install doxygen man pages if they were not requested") Fixes: #1075 Fixes: #886 | ||
| 7e6c5fb4 | 2020-08-06 10:24:55 | build: do not try install doxygen man pages if they were not requested Fixes: #1075 | ||
| 4cf0d712 | 2020-08-06 10:12:07 | Merge #1074 yuangongji: "Fix CI failures #1071 - Install vcpkg through the source code to temporarily solve the windows CI problem. - Update cache version and replace setup-msys2." * upstream/pr/1074: fix CI:Update cache version and replace setup-msys2 fix CI: Install vcpkg through the source code to temporarily solve the windows CI problem | ||
| cf2ac1af | 2020-08-05 12:12:08 | fix CI:Update cache version and replace setup-msys2 | ||
| 92b9109e | 2020-08-05 10:14:53 | fix CI: Install vcpkg through the source code to temporarily solve the windows CI problem | ||
| eb7bed03 | 2020-08-01 16:10:48 | Convert from WinCrypt to Windows BCrypt Fixes: #1069 | ||
| efa57159 | 2020-08-01 14:05:39 | Handle return value from getrandom() | ||
| 62c152d9 | 2020-07-28 11:03:46 | Remove reduntant variables in workflows with deploy Fixes: bfbbc882 ("Change user.name/user.email to robot for deploy via github actions") | ||
| bfbbc882 | 2020-07-28 11:02:15 | Change user.name/user.email to robot for deploy via github actions | ||
| eeeed1e1 | 2020-07-28 01:19:28 | test/dns: fix initialize_nameservers when there is ipv6 in /etc/resolv.conf Fixes: #1060 | ||
| 65199178 | 2020-07-25 21:17:21 | windows socketpair tmpfile: use random prefix fixes #1058 GetTempFileNameA() takes an optional prefix, and a "unique" long value which can optionally be zero, which causes it to automatically increment until a not-yet-existing filename is found. When libevent creates many AF_UNIX socketpairs on windows, it slows down dramatically, due to always using the same blank prefix, and GetTempFileNameA() needing to iterate through all the existing socketpair filenames. With a present and varying prefix, it will have much less need to iterate. It was also possible for a race with other processes also using blank-prefix tmpfile names to result in both trying to start using the same name at the same time (because libevent deletes the file and then re-creates it as a unix socket), which should now be much less likely. Unfortuantely, "much" is just a factor of 32k, because the prefix is only 3 characters, and windows filesystems are case-insensitive, so doing better would require more sophisticated windows API usage and charset trickyness. | ||
| 85c67599 | 2020-07-24 17:19:14 | fix: compat mbedtls < 2.4 | ||
| 948ad304 | 2020-07-23 23:38:53 | Fix bufferevent_get_{openssl,mbedtls}_error() The bufferevent_get_openssl_error() returns unsigned long, so returning -1 on error in unclear. Let's use 0. Fixes: #1028 | ||
| 50dac7ad | 2020-07-23 02:01:02 | ci/doxygen: install missing libmbedtls-dev | ||
| 8ec46826 | 2020-07-23 01:08:22 | ci/coverage: add missing libmbedtls-dev | ||
| e458696c | 2020-07-23 00:28:09 | le-proxy: ignore SIGPIPE Fixes: #1057 | ||
| 53e53b01 | 2020-07-23 00:22:45 | test/regress_buffer.c: fix -Wbad-function-cast (in some specific env) Fixes: #1054 | ||
| 0e339b04 | 2020-07-23 00:14:34 | Merge branch 'mbedtls' This patch set provides mbed TLS support. The interface part (include/event2/bufferevent_ssl.h) LGTM, so this can be safely merged (although there are some bits left). Includes: - bufferevent_mbedtls_* - regress_mbedtls tests Left: - regress_http https_mbedtls support - ChangeLog entry * mbedtls: test: rename ssl/* -> openssl/* Join le_ssl_ops.post_init with le_ssl_ops.init Update LICENSE for ssl-client-mbedtls.c Merge ssl implementations (openssl and mbedtls) add mbedtls to CI fix build system and add test and cleanup code mbed TLS cmake support simple https client example using mbedtls mbedtls based SSL implementation | ||
| 1bfbbdf2 | 2020-07-22 23:10:17 | test: rename ssl/* -> openssl/* | ||
| 5671575a | 2020-07-22 23:08:50 | Join le_ssl_ops.post_init with le_ssl_ops.init | ||
| e1cdf1a1 | 2020-07-22 23:02:31 | Update LICENSE for ssl-client-mbedtls.c | ||
| d095b834 | 2020-07-07 17:26:46 | Merge ssl implementations (openssl and mbedtls) This patch splits common part out to avoid copy-paste from the - bufferevent_openssl.c - bufferevent_mbedtls.c It uses VFS/bufferevent-like approach, i.e. structure of callbacks. | ||
| dad699cc | 2020-05-27 15:29:42 | add mbedtls to CI | ||
| 028385f6 | 2020-05-28 17:14:46 | fix build system and add test and cleanup code | ||
| 8218777d | 2020-01-14 12:18:27 | mbed TLS cmake support FindMbedTLS.cmake is come from https://github.com/AVSystem/avs_commons/blob/master/cmake/FindMbedTLS.cmake, which is licensed under Apache 2.0 alternatives: https://github.com/curl/curl/blob/master/CMake/FindMbedTLS.cmake without variable MBEDTLS_ROOT_DIR https://github.com/libgit2/libgit2/blob/master/cmake/Modules/FindmbedTLS.cmake GPLv2 with a special Linking Exception | ||
| 7680409a | 2020-01-13 23:08:26 | simple https client example using mbedtls Based on mbedtls's source code programs/ssl/ssl_client1.c | ||
| b28effa9 | 2020-01-13 23:04:29 | mbedtls based SSL implementation prototype is libevent-2.1.11-stable libevent_openssl.c | ||
| 79dc8789 | 2020-07-20 21:59:10 | doc: fix typo in thread.h s/evthred_use_pthreads_with_flags/evthread_use_pthreads_with_flags/ | ||
| 883587a9 | 2020-07-10 22:18:59 | Merge #1048 -- append warning flags only if they are available (autotools) * upstream/pr/1048: build: remove -Wstrict-aliasing as strict-aliasing is disabled build: move automake options into AM_INIT_AUTOMAKE call build: remove commented code from configure.ac build: use feature detection when adding compile flags build: add ax_check_compile_flag macro | ||
| 97a899d9 | 2020-07-07 13:58:47 | build: remove -Wstrict-aliasing as strict-aliasing is disabled Note that -Wstrict-aliasing is also include in -Wall. | ||
| 28e31050 | 2020-07-03 16:02:09 | build: move automake options into AM_INIT_AUTOMAKE call | ||
| 0a537b25 | 2020-07-03 15:47:10 | build: remove commented code from configure.ac | ||
| 0ea7f707 | 2020-06-26 14:33:43 | build: use feature detection when adding compile flags Rather than trying to detect (potentially very old) GCC versions, just test whether the flag works with the compiler, and add it to CLFAGS if so. -Werror is used to convert unknown flag warnings into errors, and prevent their addition to CLFAGS. | ||
| ffb09b16 | 2020-06-26 14:04:26 | build: add ax_check_compile_flag macro | ||
| e9a6b127 | 2020-07-05 13:55:53 | ci/linux: create dist artifact only if dist archive was built Fixes: 512c88ce ("ci/linux: add dist check") | ||
| f6bfa8b3 | 2020-07-05 13:16:52 | Merge branch 'fix-signal-leak' Fixes main/fork under ASAN (LSAN if to be precise) * fix-signal-leak: select: requires reinit (otherwise it leaks signal handlers) poll: requires reinit (otherwise it leaks signal handlers) | ||
| 4edfe6ad | 2020-07-05 13:16:03 | select: requires reinit (otherwise it leaks signal handlers) Fixes: main/fork under SELECT with ASAN | ||
| c51c09b8 | 2020-07-05 13:14:36 | poll: requires reinit (otherwise it leaks signal handlers) Fixes: main/fork under POLL with ASAN | ||
| 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 | ||
| 9da1743b | 2020-07-05 11:21:04 | ci: set build type to debug with sanitizers | ||
| 7b9ba3b7 | 2020-07-05 11:14:18 | test: really disable bufferevent_pair_release_lock under ASAN (and fix gcc) |