Haibo Huang | f0077b8 | 2020-07-10 20:21:19 -0700 | [diff] [blame] | 1 | Changes in version 2.1.12-stable (05 Jul 2020) |
| 2 | |
| 3 | This release contains mostly bug fixes (I decided not to port some features |
| 4 | that can be ported even without ABI breakage, if you cannot find feature that |
| 5 | you are interested in, please give us a note!) |
| 6 | |
| 7 | Since 2.1.12 libevent will use github actions as main CI, since |
| 8 | it recommends itself better then travis/appveyor (and had been removed from |
| 9 | upstream). |
| 10 | |
| 11 | Look carefully at "slightly touches the behaviour" section. |
| 12 | |
| 13 | Below you will find some of changes (this list has been cleaned up from the |
| 14 | patches that touches only tests and similar): |
| 15 | |
| 16 | CI: |
| 17 | o Backport github actions to 2.1 (be3acd7c Azat Khuzhin) |
| 18 | o Merge branch 'event_rpcgen.py-cleanup' (f0ded5f3, 48e04887 Enji Cooper) |
| 19 | o Add API/ABI checker (using LVC) (709210d4, 2af1f6cc yuangongji) |
| 20 | |
| 21 | test: |
| 22 | o tinytest: support timeout on Windows (794e8f75 yuangongji) |
| 23 | o Merge branch 'osx-clock' (e85afbe3 Azat Khuzhin) |
| 24 | o test-ratelim: calculate timers bias (for slow CPUs) to avoid false-positive (8ad26d0b Azat Khuzhin) |
| 25 | |
| 26 | fixes: |
| 27 | o buffer: do not pass NULL to memcpy() from evbuffer_pullup() (5b063049 Azat Khuzhin) |
| 28 | o http: fix undefined-shift in EVUTIL_IS*_ helpers (6b8d02a7 Azat Khuzhin) |
| 29 | o Check error code of evhttp_add_header_internal() in evhttp_parse_query_impl() (97e28f09 Azat Khuzhin) |
| 30 | o http: fix EVHTTP_CON_AUTOFREE in case of timeout (and some else) (1be25938 Azat Khuzhin) |
| 31 | o evdns: Add additional validation for values of dns options (c2972453 ayuseleznev) |
| 32 | o There is typo in GetAdaptersAddresses windows library. It should be iphlpapi.dll (891adda9 Aleksandr-Melnikov) |
| 33 | o Merge branch 'EV_CLOSED-and-EV_ET-fixes' (db2efdf5 Azat Khuzhin) |
| 34 | o Fix memory corruption in EV_CLOSURE_EVENT_FINALIZE with debug enabled (8ccd8f56 Jan Kasiak) |
| 35 | o increase segment refcnt only if evbuffer_add_file_segment() succeeds (30662a3c yuangongji) |
| 36 | o evdns: fix a crash when evdns_base with waiting requests is freed (6f8e0e97 ayuseleznev) |
| 37 | o event_base_once: fix potential null pointer threat (2e9ceb16 chenguolong) |
| 38 | o http: do not assume body for CONNECT (1b42270b Azat Khuzhin) |
| 39 | o evbuffer_add_file: fix freeing of segment in the error path (5f017bde Azat Khuzhin) |
| 40 | o Fix checking return value of the evdns_base_resolv_conf_parse() (fc51bf2c Azat Khuzhin) |
| 41 | o Merge branch 'fix-signal-leak' (poll/select now needs reinit) (1c9cc07b Azat Khuzhin) |
| 42 | |
| 43 | improvements: |
| 44 | o evutil_time: improve evutil_gettimeofday on Windows (a8219143 Nick Grifka) |
| 45 | o Support EV_CLOSED on linux for poll(2) (2530e7c6 Azat Khuzhin) |
| 46 | o Parse IPv6 scope IDs. (f602211f Philip Homburg) |
| 47 | o evutil_time: Implements usleep() using wait funtion on Windows (d42240d1 yuangongji) |
| 48 | o evutil_time: detect and use _gmtime64_s()/_gmtime64() (f4a6152c yuangongji) |
| 49 | |
| 50 | slightly touches the behaviour: |
| 51 | o bufferevent: allow setting priority on socket and openssl type (4dd3acdd Nicolas J. Bouliane) |
| 52 | o Fix EV_CLOSED detection/reporting (epoll only) (1df324d4 Azat Khuzhin) (XXX) |
| 53 | o Revert "Warn if forked from the event loop during event_reinit()" (71f5c0d3 Azat Khuzhin) |
| 54 | |
| 55 | samples: |
| 56 | o https-client: load certificates from the system cert store on Windows (e9478640 yuangongji) |
| 57 | |
| 58 | build fixes: |
| 59 | o Do not use sysctl.h on linux (it had been deprecated) (d2871a37 Azat Khuzhin) |
| 60 | o cmake: avoid problems from use of CMAKE_USE_PTHREADS_INIT (a62ec765 Paul Osborne) |
| 61 | o Update list of cmake files for autotools dist archive (2016f017 Azat Khuzhin) |
| 62 | o LibeventConfig.cmake: restore CMAKE_FIND_LIBRARY_SUFFIXES and LIBEVENT_STATIC_LINK default (640f9cf6 Mario Emmenlauer) |
| 63 | o cmake: fix getaddrinfo checking error (dea51c2e yuangongji) |
| 64 | o autoconf: fix getaddrinfo checking errors on mingw (b9bf7fa7 yuangongji) |
| 65 | o Do not use shared global structures on CYGWIN (8a9b5655 Azat Khuzhin) |
| 66 | o Added uninstall target check to cmakelists (3f1fb1f9 Dimo Markov) |
| 67 | o Fix compilation without OPENSSL_API_COMPAT (921bdcdd Azat Khuzhin) |
| 68 | o cmake: improve package config file (1c047618, baec84f2 yuangongji) |
| 69 | o Link with iphlpapi only on windows (976f7d34 Azat Khuzhin) |
| 70 | o autotools: fails build when need but can not find openssl (93174bb5 yuangongji) |
| 71 | o Merge branch 'http-connect' (e2424229 Azat Khuzhin) |
| 72 | o Fix compat with NetBSD >= 10 (5febb4e1 Kamil Rytarowski) |
| 73 | o cmake: fix getrandom() detection (e0e5f3bd Azat Khuzhin) |
| 74 | o arc4random: replace sysctl() with getrandom (on linux) (66ec78fd Azat Khuzhin) |
| 75 | o Upgrade autoconf (after upgrading minimum required to 2.67) (45da7d9d yuangongji) |
| 76 | o eliminate some C4267 warnings in Windows (9e468c77 yuangongji) |
| 77 | o autotools: attach doxygen target into all target (5d1e8570 yuangongji) |
| 78 | o cmake: attach doxygen target into all target (7a85300a yuangongji) |
| 79 | o Change the minimum version of automake to 1.13 and autoconf to 2.67 (fdb8fb66 ygj6) |
| 80 | o Add Uninstall.cmake.in into dist archive (877f2355 Azat Khuzhin) |
| 81 | |
Haibo Huang | 4572909 | 2019-08-01 16:15:45 -0700 | [diff] [blame] | 82 | Changes in version 2.1.11-stable (01 Aug 2019) |
| 83 | |
| 84 | This release contains one ABI breakage fix (that had been introduced in |
| 85 | 2.1.10, and strictly speaking this release breaks ABI again to make it |
| 86 | compatible with 2.1.9 and less, please take a look at 18104973 for more |
| 87 | details). Apart from that it contains some bug fixes, that grouped below. |
| 88 | |
| 89 | And even though the return value for evbuffer_setcb() had been changed it |
| 90 | should ABI compatible (anyway that function is in -compat.h header). |
| 91 | |
| 92 | There is also one patch that introduce new functionality, this is 546a366c, |
| 93 | to tune SO_RCVBUF/SO_SNDBUF in evdns, but one can count it as a bug-fix on |
| 94 | the application level, since before you cannot tune this settings and hence |
| 95 | you could stumble on problems. |
| 96 | |
| 97 | ABI breakage: |
| 98 | o Protect min_heap_push_ against integer overflow. (8c899768 Tobias Stoeckmann) |
| 99 | o Revert "Protect min_heap_push_ against integer overflow." (18104973 Azat Khuzhin) |
| 100 | |
| 101 | functionality: |
| 102 | o evdns: add new options -- so-rcvbuf/so-sndbuf (546a366c Azat Khuzhin) |
| 103 | |
| 104 | build: |
| 105 | o Change autoconf version to 2.62 and automake version to 1.11.2 (2a333008 yuangongji) |
| 106 | o cmake: install shared library only if it was requested (596855f7 Azat Khuzhin) |
| 107 | o Missing <winerror.h> on win7/MinGW(MINGW32_NT-6.1)/MSYS (9559349c yuangongji) |
| 108 | o cmake: set library names to be the same as with autotools (305251b9 yuangongji) |
| 109 | o Enable _GNU_SOURCE for Android (f013fc7d Keith Smiley) |
| 110 | o Enable kqueue for APPLE targets (3aa68a82 Keith Smiley) |
| 111 | o autotools: do not install bufferevent_ssl.h under --disable-openssl (5349a07e Azat Khuzhin) |
| 112 | o cmake: link against shell32.lib/advapi32.lib (c9ce638c Azat Khuzhin) |
| 113 | o Add README.md into dist archive (3660a4cc Azat Khuzhin) |
| 114 | o cmake: add missing autotools targets (doxygen, uninstall, event_rpcgen.py) (2d65071c yuangongji) |
| 115 | o m4/libevent_openssl.m4: fix detection of openssl (d4056e59 Fabrice Fontaine) |
| 116 | o Fix detection of the __has_attribute() for apple clang [ci skip] (7fd7c5ef Azat Khuzhin) |
| 117 | |
| 118 | lib: |
| 119 | o buffer: fix possible NULL dereference in evbuffer_setcb() on ENOMEM (598f247d Azat Khuzhin) |
| 120 | o Warn if forked from the event loop during event_reinit() (b75922ae Azat Khuzhin) |
| 121 | o evutil: set the have_checked_interfaces in evutil_check_interfaces() |
| 122 | (ef498aa2, a09265ac jeremyerb) |
| 123 | |
| 124 | samples: |
| 125 | o https-client: correction error checking (a8a04565 wenyg) |
| 126 | |
| 127 | |
Haibo Huang | b227967 | 2019-05-31 16:12:39 -0700 | [diff] [blame] | 128 | Changes in version 2.1.10-stable (26 May 2019) |
| 129 | |
| 130 | This release contains mostly fixes (some evbuffer oddity, AF_UNIX handling in |
| 131 | http server, some UB fixes and others) but also some new functionality |
| 132 | (without ABI breakage as usual) and now dist archive can be used for building |
| 133 | on windows (getopt had been added into it). |
| 134 | |
| 135 | Above you will find changelog for this particular release (but with some |
| 136 | trivial fixes pruned out from it - to make it a little bit more informative). |
| 137 | |
| 138 | To view full changelog please use git: |
Haibo Huang | 4572909 | 2019-08-01 16:15:45 -0700 | [diff] [blame] | 139 | git log --format=' o %s (%h %aN)' release-2.1.9-beta...release-2.1.10-stable |
Haibo Huang | b227967 | 2019-05-31 16:12:39 -0700 | [diff] [blame] | 140 | |
| 141 | dist: |
| 142 | o Add getopt into dist archive (7042ff24 Azat Khuzhin) |
| 143 | |
| 144 | functionality: |
| 145 | o evdns: add DNS_OPTION_NAMESERVERS_NO_DEFAULT/EVDNS_BASE_NAMESERVERS_NO_DEFAULT |
| 146 | (58e81106 Azat Khuzhin) |
| 147 | o Add support for EV_TIMEOUT to event_base_active_by_fd (3f893f0a John Ohl) |
| 148 | |
| 149 | fixes: |
| 150 | o Merge branch 'evbuffer-fixes-806-v2' (2fea04b3 Azat Khuzhin) |
| 151 | o Merge branch 'issue-807-accept4-getnameinfo-AF_UNIX' (7c4da937, e2790a7f |
| 152 | Azat Khuzhin) |
| 153 | o kqueue: Avoid undefined behaviour. (e70e18e9 Tobias Stoeckmann) |
| 154 | o Prevent integer overflow in kq_build_changes_list. (43a55a23 Tobias Stoeckmann) |
| 155 | o evdns: fix lock/unlock mismatch in evdns_close_server_port() (54103883 zhuizhuhaomeng) |
| 156 | o Merge remote-tracking branch 'official/pr/804' -- Enforce limit of NSIG |
| 157 | signals (87fa93a8 Tobias Stoeckmann) |
| 158 | o Protect min_heap_push_ against integer overflow. (0b46bb8c Tobias Stoeckmann) |
| 159 | o le-proxy: initiate use of the Winsock DLL (2a1e1530 linxiaohui) |
| 160 | o Fix leaks in error path of the bufferevent_init_common_() (bb0f8fe7 Azat Khuzhin) |
| 161 | o buffer: make evbuffer_prepend() of zero-length array no-op (61fa7b7d Azat Khuzhin) |
| 162 | o Merge branch 'evbuffer-empty-chain-handling' (6a3dd717 Azat Khuzhin) |
| 163 | o Don't loose top error in SSL (3d1a7a1d Yury Korzhetsky) |
| 164 | o Remove needless check for arc4_seeded_ok (6602a97d Seong-Joong Kim) |
| 165 | o Merge pull request #769 from sungjungk/fix-return-handling (91084140 Nathan French) |
| 166 | |
| 167 | build: |
| 168 | o Define `_GNU_SOURCE` properly/consistently per autoconf (00ba9fa2 Enji Cooper) |
| 169 | o signal: guard __cdecl definition with #ifdef (d89045a6 Azat Khuzhin) |
| 170 | o Link test/regress with event_core/event_extra over event (22380996 Azat Khuzhin) |
| 171 | |
| 172 | tests: |
| 173 | o Use kill() over raise() for raising the signal (fixes osx 10.14 with |
| 174 | kqueue) (3db5296b, a45f6733 Azat Khuzhin) |
| 175 | o tinytest: implement per-test timeout (via alarm() under !win32 only) |
| 176 | (b64dbfb6, 75d7e1ff Azat Khuzhin) |
| 177 | |
| 178 | Changes in version 2.1.9-beta (10 February 2019) |
| 179 | |
| 180 | This changelog will differs from other releases in the next few clauses: |
| 181 | - contains only highlighted changes (so now it will not contains a lot of |
| 182 | patches that fixes some stuff in regression tests, typos, leaks fixes in |
| 183 | samples and so forth) |
| 184 | - no authors (since merge commits breaks them anyway, but AUTHORS sections in |
| 185 | README will be kept up to date) |
| 186 | - group name trimmed from commit subjects trimmed |
| 187 | - it's been 2 years since the previoius release, so it is pretty huge |
| 188 | |
| 189 | And I think that this is more useful, so from now on it will always has the |
| 190 | same look (until there will too many objections of course). |
| 191 | |
| 192 | To view full changelog please use git: |
| 193 | git log --format=' o %s (%h %aN)' release-2.1.8-stable...release-2.1.9-beta |
| 194 | |
| 195 | |
| 196 | dist archive: |
| 197 | o Add cmake rules into dist archive (bf3a67cf) |
| 198 | o Add missing print-winsock-errors.c into dist archive (822d6462) |
| 199 | o Include openssl-compat.h into dist archive (08658136) |
| 200 | |
| 201 | core: |
| 202 | o Merge branch 'check-O_NONBLOCK-in-debug' (a39898f3, a8155c62) |
| 203 | o Merge branch 'event-ET-#636-v2' (ca4b6404) |
| 204 | o Fix visibility issues under (mostly on win32) |
| 205 | (349081e1g, 802be13ag, a1f28e2f) |
| 206 | o Define __EXT_POSIX2 for QNX (a2176f2c) |
| 207 | o Cleanup __func__ detection (b3af7bdd) |
| 208 | o Add convenience macros for user-triggered events (06ec5de6) |
| 209 | o Notify event base if there are no more events, so it can exit without delay (d9d1c09e) |
| 210 | o Fix base unlocking in event_del() if event_base_set() runned in another thread (4f0f40e3) |
| 211 | o If precise_time is false, we should not set EVENT_BASE_FLAG_PRECISE_TIMER (27dee54d) |
| 212 | o Fix race in access to ev_res from event loop with event_active() (43d92a6d) |
| 213 | o Return from event_del() after the last event callback termination (876c7ac7) |
| 214 | |
| 215 | http: |
| 216 | o Merge branch 'http-EVHTTP_CON_READ_ON_WRITE_ERROR-fixes-v2' (eb7b472b) |
| 217 | o Preserve socket error from listen across closesocket cleanup (2ccd00a6) |
| 218 | o fix connection retries when there more then one request for connection (d30e7bba) |
| 219 | o improve error path for bufferevent_{setfd,enable,disable}() (a8cc449e) |
| 220 | o Fix conceivable UAF of the bufferevent in evhttp_connection_free() (6ac2ec25) |
| 221 | o Merge branch 'http-request-line-parsing' (cdcfbafe) |
| 222 | o Fix evhttp_connection_get_addr() fox incomming http connections (4215c003) |
| 223 | o fix leaks in evhttp_uriencode() (123362e9) |
| 224 | o CONNECT method only takes an authority (7d1ffe64) |
| 225 | o Allow bodies for GET/DELETE/OPTIONS/CONNECT (23eb38b9) |
| 226 | o Do not crash when evhttp_send_reply_start() is called after a timeout. (826f1134) |
| 227 | o Fix crashing http server when callback do not reply in place (5b40744d, b2581380) |
| 228 | o fix handling of close_notify (ssl) in http with openssl bufferevents (7e91622b) |
| 229 | |
| 230 | evrpc: |
| 231 | o use *_new_with_arg() to match function prototype (a95cc9e3) |
| 232 | o avoid NULL dereference on request is not EVHTTP_REQ_POST (e05136c7) |
| 233 | |
| 234 | regression tests: |
| 235 | o Merge branch 'TT_RETRIABLE' (6ea1ec68, f9b592aa) |
| 236 | |
| 237 | bufferevent: |
| 238 | o Merge branch 'iocp-fixes' (6bfac964) |
| 239 | o Merge branch 'be-wm-overrun-v2' (3f692fff) |
| 240 | o bufferevent_socket_connect{,_hostname}() missing event callback and use ret code (1dde74ef) |
| 241 | o don't fail be_null_filter if bytes are copied (b92b0792) |
| 242 | o Call underlying bev ctrl GET_FD on filtered bufferevents (ebfac517) |
| 243 | |
| 244 | bufferevent_openssl/openssl: |
| 245 | o Merge branch 'ssl_bufferevent_wm_filter-fix' (30020a35) |
| 246 | o be_openssl: avoid leaking of SSL structure (e86ccfe5) |
| 247 | o Fix build with LibreSSL 2.7 (894ca48a) |
| 248 | o Add missing includes into openssl-compat.h (01bc36c1) |
| 249 | o Explicitly call SSL_clear when reseting the fd. (29b7a516) |
| 250 | o Unbreak build with LibreSSL after openssl 1.1 support added (230af9f0) |
| 251 | |
| 252 | samples: |
| 253 | o Merge branch 'sample-http-server' (b6309bcc) |
| 254 | o sample/https-client: use host SSL certificate store by default (5c0132f3) |
| 255 | |
| 256 | listener: |
| 257 | o ipv6only socket bind support (ba148796) |
| 258 | o Merge branch 'listener-immediate-close' (df2ed13f) |
| 259 | o Merge branch 'evconnlistener-do-not-close-client-fd' (42e851bb) |
| 260 | |
| 261 | evdns: |
| 262 | o evdns: handle NULL filename explicitly (0033f5cc) |
| 263 | o Merge branch 'evdns_getaddrinfo-race-fix' (3237d697) |
| 264 | o Generating evdns_base_config_windows_nameservers docs on all platforms (3bd2ce43) |
| 265 | |
| 266 | utils: |
| 267 | o Merge branch 'evutil_found_ifaddr-dev' (b07e43e6) |
| 268 | o Avoid possible SEGVs in select() (in unit tests) (8818c86c) |
| 269 | o Port `event_rpcgen.py` and `test/check-dumpevents.py` to Python 3. (532a8cc3) |
| 270 | |
| 271 | buffer: |
| 272 | o Fix assert() condition in evbuffer_drain() for IOCP (d6326104) |
| 273 | o fix incorrect unlock of the buffer mutex (for deferred callbacks) (2b4d127d) |
| 274 | o Fix wrong assert in evbuffer_drain() (9f4d0dce) |
| 275 | |
| 276 | cmake: |
| 277 | o fix checking of devpoll backend (like in autotools, by devpoll.h existence) (7f161902) |
| 278 | o support static runtime (MSVC) (c8b3ec17, 61fb055a) |
| 279 | o do not build both (SHARED and STATIC) for MSVC/win32 (bc7f2fd9) |
| 280 | o introduce EVENT__LIBRARY_TYPE option (eb10a738) |
| 281 | o ensure windows dll's are installed as well as lib files (29590718) |
| 282 | o Fix generation of LibeventConfig.cmake for the installation tree (7fa08c4b) |
| 283 | o fix pkgconfig generation (copy-paste typo) (cc554d87) |
| 284 | o Merge branch 'cmake-missing-bits' (9806b126) |
| 285 | o Fix detection of timerfd_create() in CMake. (e50af331) |
| 286 | o Merge branch 'cmake-configure-fixes-v2' (a0bfe2c4) |
| 287 | o Do not add epoll_sub (syscall wrappers) for epoll in cmake (cea61de6) |
| 288 | o Fix RPATH for APPLE (45b1f379) |
| 289 | |
| 290 | autotools: |
| 291 | o include win32 specific headers for socklen_t detection on win32/mingw (d7579fb9) |
| 292 | o Ignore evconfig-private.h for autotools (37423849) |
| 293 | o config.h can't be prefixed unconditionally (63a054f8) |
| 294 | o Merge branch 'pull-628' (7e56c8b2) |
| 295 | o Provide Makefile variables LIBEVENT_{CFLAGS,CPPFLAGS,LDFLAGS} (2f060c5f) |
| 296 | o confirm openssl is working before using (b39ccf8e) |
| 297 | o pass $(OPENSSL_INCS) for samples (FTBFS macOS) (c2495265) |
| 298 | o Add configure check for midipix (d433201e) |
| 299 | o Fix tests with detached builds (c46ff439) |
| 300 | |
| 301 | build: |
| 302 | o Fix arc4random_addrandom() detecting and fallback (regression) (303d6d77) |
| 303 | o Merge branch 'win32-fixes' (ebd12e6d) |
| 304 | o Merge branch 'fix-openssl-linking' (e7bd9e03) |
| 305 | o Merge branch 'fix-struct-linger' (8567f2f5) |
| 306 | |
| 307 | CI: |
| 308 | o travis-ci/appveyor now uses fast_finish+allow_failures |
| 309 | (5e97b6e6, dd472e7d, dfb5fc167) |
| 310 | o Merge branch 'travis-ci-osx-fixes' (9f02b39c) |
| 311 | o Merge branch 'win64-fixes' (aee0fcd5) |
| 312 | |
| 313 | |
Narayan Kamath | fc74cb4 | 2017-09-13 12:53:52 +0100 | [diff] [blame] | 314 | Changes in version 2.1.8-stable (22 January 2017) |
Christopher Wiley | e867981 | 2015-07-01 13:36:18 -0700 | [diff] [blame] | 315 | |
Narayan Kamath | fc74cb4 | 2017-09-13 12:53:52 +0100 | [diff] [blame] | 316 | Libevent 2.1.8-stable, it contains openssl fixes for resetting fd and using |
| 317 | bufferevent_openssl_filter_new(). vagrant fixes, some build fixes, increased |
| 318 | timeout for some tests (to reduce number of failures due to timing issues), |
| 319 | date in RFC1123 format and running tests in parallel. |
| 320 | |
| 321 | There are highlighted changes above. |
| 322 | |
| 323 | Build fixes: |
| 324 | o Fix _FILE_OFFSET_BITS redinition (solaris/autotools) (336f3b11 Azat Khuzhin) |
| 325 | o util-internal: fix __func__ redefinition (netbsd) (253e7fa9 Azat Khuzhin) |
| 326 | o Fix signedness differ for iov_base (solaris) (2c62062e Azat Khuzhin) |
| 327 | o evutil_time: include <unistd.h> when there is only sleep()/usleep() (3e75194c Azat Khuzhin) |
| 328 | o http: fix formatter for pritnf for req->ntoread (osx) (1cbf26f6 Azat Khuzhin) |
| 329 | Testing environment: |
| 330 | o Merge branch 'automake-tests-parallel-v4' (*includes ci bits also*) (59e217df Azat Khuzhin) |
| 331 | Vagrant env fixes: |
| 332 | o vagrant/netbsd: missing libtool (9c9be399 Azat Khuzhin) |
| 333 | o vagrant/netbsd: more reliable way of installing packages (36da6877 Azat Khuzhin) |
| 334 | o vagrant/osx: use make instead of gmake (there is no gmake) (f7c70aef Azat Khuzhin) |
| 335 | o vagrant: add centos box (ca591c5b Azat Khuzhin) |
| 336 | Tests: |
| 337 | o test/dns: replace servname since solaris does not have "http" (d6bafbbe Azat Khuzhin) |
| 338 | o test/thread: netbsd is too slow, increase timeout for conditions_simple (3c7422fc Azat Khuzhin) |
| 339 | o test/dns: run async resolving after sync one (to avoid timeouts) (07862531 Azat Khuzhin) |
| 340 | o test/http: turn off some tests that based on backlog filling (falky) (26f416c1 Azat Khuzhin) |
| 341 | Bugfixes: |
| 342 | o Merge branch 'openssl-filter-fixes-v4' (83e0f43b Azat Khuzhin) |
| 343 | o Merge branch 'date-rfc1123' (68def435,4798de6c,4545807d Azat Khuzhin) |
| 344 | o Merge branch 'be-openssl-fd-reset-fix-v2' (86fa0070,32adf434 Azat Khuzhin) |
| 345 | o Merge branch 'openssl-1.1-init-fixes-v2' (18a161f0 Azat Khuzhin) |
| 346 | o Fix incorrect MIME type (23f9a20e johnsonlee) |
| 347 | Trivial fixes: |
| 348 | Documentation updates: |
| 349 | o Update README.md (3821cca1 Breaker) |
| 350 | |
| 351 | |
| 352 | Changes in version 2.1.7-rc (2 Novemer 2016) |
| 353 | |
| 354 | Libevent 2.1.7-rc contains openssl 1.1 support, build fixes, CI improvements |
| 355 | and plus Vagrantfile for testing under multiple OS'es. |
| 356 | |
| 357 | |
| 358 | Continious Integration: |
| 359 | o Use coveralls.io via travis (9ac000c Azat Khuzhin) |
| 360 | o travis-ci: use container-based infrastructure (7e12e96 Azat Khuzhin) |
| 361 | o travis-ci/osx: fix compiling/linking openssl libraries (9d2f8d4 Azat Khuzhin) |
| 362 | o travis-ci: use gcc-5 (fixes osx|gcc failures) (d7ceae5 Azat Khuzhin) |
| 363 | o Testing with vagrant for 6 OS and cmake+autoconf (9585338 Azat Khuzhin) |
| 364 | o travis-ci/osx: install lcov (e4e099b Azat Khuzhin) |
| 365 | |
| 366 | Build Improvements/Fixes: |
| 367 | o Fix cmake -DEVENT__COVERAGE=ON (40fbffc Azat Khuzhin) |
| 368 | o autogen.sh: learn about gmake (9376ac4 Azat Khuzhin) |
| 369 | o autogen.sh: remove all autoconf/automake caches, if any (69cce25 Azat Khuzhin) |
| 370 | o cmake: fix finding python2, and check that it is really 2 (3453c08 Azat Khuzhin) |
| 371 | o cmake: fix CheckFunctionExistsEx/CheckPrototypeDefinition (CMP0054) (43b69b2 Azat Khuzhin) |
| 372 | o cmake: cleanup (dc624ad Zonr Chang) |
| 373 | o cmake/win32: fix running regress, but fixing finding python2 interpreter (bcb990a Azat Khuzhin) |
| 374 | o cmake: use PYTHON_EXECUTABLE to find python2 (a4d044c Azat Khuzhin) |
| 375 | o Merge branch 'force-disable-clockgettime' (83c7cdf Azat Khuzhin) |
| 376 | |
| 377 | Code Improvements (core) |
| 378 | o use ev_uint16_t instead of unsigned short for port (e983712 Thomas Bernard) |
| 379 | o Merge branch 'contrib-guide-v2' (b9c5077 Azat Khuzhin) |
| 380 | o poll: Prevent libevent from spinning if POLLNVAL occurs (675974c Tim Hentenaar) |
| 381 | |
| 382 | Testing: |
| 383 | o test/regress: cover a polling of invalid fd (cb0df5c Tim Hentenaar) |
| 384 | |
| 385 | Code Improvements (bufferevent_openssl) |
| 386 | o Make it build using OpenSSL 1.1.0 (3e9e0a0 Kurt Roeckx) |
| 387 | o Don't call BIO_number_{read|written} on NULL BIOs. (6702da1 Adam Langley) |
| 388 | o Switch from a 512 to 2048-bit RSA key. (f9803a6 Adam Langley) |
| 389 | |
| 390 | Trivial fixes: |
| 391 | o Ignore temporary configure files (8fb08ae Azat Khuzhin) |
| 392 | o README.md: fix typo: ar -> are (2361616 Simone Basso) |
| 393 | o be: just a simple mistake, reinclude the <errno.h> (7521664 Seven) |
| 394 | |
| 395 | Changes in version 2.1.6-beta (4 July 2016) |
| 396 | |
| 397 | Libevent 2.1.6-beta contains mostly bug fixes (evbuffers, evthread, evdns, |
| 398 | bufferevents, core, http, samples), improvements but mostly to fix some |
| 399 | possible issues (EVHTTP_CON_LINGERING_CLOSE), a lot of new unit tests and new |
| 400 | appveyor integration. |
| 401 | |
| 402 | Security Fixes (utils) |
| 403 | o evutil_parse_sockaddr_port(): fix buffer overflow (329acc1 Azat Khuzhin) |
| 404 | |
| 405 | Security Fixes (evdns) |
| 406 | o evdns: name_parse(): fix remote stack overread (96f64a0 Azat Khuzhin) |
| 407 | o evdns: fix searching empty hostnames (ec65c42 Azat Khuzhin) |
| 408 | |
| 409 | New APIs (evdns) |
| 410 | o New function to get address for nameserver. (537177d Nick Mathewson) |
| 411 | |
| 412 | New APIs (bufferevents) |
| 413 | o expose bufferevent_incref/decref (with fewer modifications) (1ed6718 Mark Ellzey) |
| 414 | |
| 415 | New APIs (internal) |
| 416 | o evdns: export cancel via callbacks in util (like async lib core/extra issues) (8cbe65d Azat Khuzhin) |
| 417 | |
| 418 | New APIs/Improvements (http) |
| 419 | o http: take EVHTTP_CON_LINGERING_CLOSE into account for "Expect: 100-Continue" (ac448a7 Azat Khuzhin) |
| 420 | o http: lingering close (like nginx have) for entity-too-large (9fde518 Azat Khuzhin) |
| 421 | o http: read server response even after server closed the connection (680742e Azat Khuzhin) |
| 422 | o http: export evhttp_connection_set_family() (714fc70 Azat Khuzhin) |
| 423 | o http: reuse connected address only with EVHTTP_CON_REUSE_CONNECTED_ADDR (a50f5f0 Azat Khuzhin) |
| 424 | o http: use IP address that we got before (if any) during retrying (54c887d Azat Khuzhin) |
| 425 | |
| 426 | Bugfixes (core) |
| 427 | o Fix getaddrinfo under solaris (for multiprotocol case) (40730ae Azat Khuzhin) |
| 428 | o Check for Mac OS X 10.4 kqueue bug properly (df6f99e Mark Mentovai) |
| 429 | o event_reinit: make signals works after fork() without evsig_add() (88640aa Nicholas Marriott) |
| 430 | o event_reinit: always re-init signal's socketpair (ad0c237 Nicholas Marriott) |
| 431 | o Free event queues even for recursive finalizers (7c8d015 Azat Khuzhin) |
| 432 | o Fix checking for make_base_notifiable() (f337296 Azat Khuzhin) |
| 433 | o Set correct socklen for PF_INET6 sockaddr len (3499ad9 Mark Ellzey) |
| 434 | o Fix garbage value in socketpair util function, stdint? (043ae74 Mark Ellzey) |
| 435 | o fix the return value of event_deferred_cb_schedule_ (38cef64 Greg Hazel) |
| 436 | o event_free_debug_globals_locks(): disable lock debugging (e5c87d1 Azat Khuzhin) |
| 437 | o event: call event_disable_debug_mode() in libevent_global_shutdown() (941faae Azat Khuzhin) |
| 438 | o ht-internal: don't reset hth_table_length explicitly in name_##HT_CLEAR (597c7b2 Azat Khuzhin) |
| 439 | |
| 440 | Bugfixes (evthread) |
| 441 | o evthread: fix evthread_setup_global_lock_() for debug-lock with a real-lock case (e4556fc Azat Khuzhin) |
| 442 | o evthread: evthreadimpl_disable_lock_debugging_() for libevent_global_shutdown() (ccc5593 Azat Khuzhin) |
| 443 | |
| 444 | Bugfixes (evdns) |
| 445 | o evdns: avoid double-free in evdns_base_free() for probing requests (4db15e0 Azat Khuzhin) |
| 446 | o evdns: evdns_base_free(): fix UAF of evdns_base with @fail_requests (00313c5 Azat Khuzhin) |
| 447 | o evdns: evdns_base_free(): free requests before namservers (14f84bb Azat Khuzhin) |
| 448 | o evdns: fix randomize-case by make case-insensitive as required (9c238de Azat Khuzhin) |
| 449 | |
| 450 | Bugfixes (bufferevents) |
| 451 | o be_sock: handle readv() returns ECONNREFUSED (freebsd 9.2) (3189eb0 Azat Khuzhin) |
| 452 | o be_filter: avoid data stuck under active watermarks (b627ad8 Eduardo Panisset) |
| 453 | o Fix bufferevent_pair to properly set BEV_EVENT_{READING,WRITING} on flush. (2851889 David Paschich) |
| 454 | o be_openssl: clear all pending errors before SSL_*() calls (38e0f4a Azat Khuzhin) |
| 455 | o be_sock: cancel in-progress dns requests (86dfd2c Azat Khuzhin) |
| 456 | o be_sock: unfreeze buffers on fd changing (255525d Azat Khuzhin) |
| 457 | o be_sock: bufferevent_socket_connect_hostname(): make it thread-safe (809bb39 Azat Khuzhin) |
| 458 | o be_openssl: don't call do_write() directly from outbuf_cb (da52933 Azat Khuzhin) |
| 459 | o be_openssl: use bufferevent_enable() instead of bufferevent_add_event_() (0c66d32 Azat Khuzhin) |
| 460 | o be_openssl: don't add events during bev creation (like be_sock) (f4b6284 Azat Khuzhin) |
| 461 | o Fix lock leak in be_pair_flush() if flush type is BEV_NORMAL (f45d39d Bill Vaughan) |
| 462 | o be_openssl: don't use *_auto() in do_handshake() we can't have fd == -1 there (877280d Azat Khuzhin) |
| 463 | o be_openssl: don't call set_open_callbacks() if fd == -1 (e8a2da9 Azat Khuzhin) |
| 464 | o be_openssl: get rid off hackish "fd_is_set", to fix some corner cases (40b0379 Azat Khuzhin) |
| 465 | o be: we don't need to use getpeername() we we have conn_address (2c271e2 Azat Khuzhin) |
| 466 | o Call underlying bev ctrl SET_FD on filtered bufferevents (c2aa7dc Mark Ellzey) |
| 467 | o be_pair: release shared lock with the latest of bufferevent_pair (92a359e Azat Khuzhin) |
| 468 | |
| 469 | Bugfixes (http) |
| 470 | o [Issue #313] set method to ASCII "NULL" if evhttp_method() returns NULL (17cc636 Mark Ellzey) |
| 471 | o evhttp_have_expect(): fix -Wlogical-not-parentheses (24b5214 Azat Khuzhin) |
| 472 | o http: set fd to -1 unconditioally, to avoid leaking of DNS requests (7a4b472 Azat Khuzhin) |
| 473 | o http: avoid leaking of fd in evhttp_connection_free() (f0e1341 Azat Khuzhin) |
| 474 | o http: get fd from be layer during connection reset (4a53c54 Azat Khuzhin) |
| 475 | o http: fix EVHTTP_CON_READ_ON_WRITE_ERROR when it doesn't supported by OS (2ff164a Azat Khuzhin) |
| 476 | o http: do not do function calls under EVUTIL_ASSERT() to fix NDEBUG builds (7c89999 Azat Khuzhin) |
| 477 | o http: fix leaking of response_code_line (8f18a62 Azat Khuzhin) |
| 478 | o http: fix "Expect: 100-continue" client side (0b46b39 Azat Khuzhin) |
| 479 | o http: fix conflicts EVHTTP_CON_AUTOFREE and EVHTTP_CON_REUSE_CONNECTED_ADDR (4dc0979 Azat Khuzhin) |
| 480 | o http: avoid epoll_ctl() on already closed fd (triggers by http/chunk_out) (ab3bc69 Azat Khuzhin) |
| 481 | o http: install timeout for read too during connect for ssl (040000d Azat Khuzhin) |
| 482 | o http: fix evhttp_request_own() by checking EVHTTP_USER_OWNED in more cases (b0d3964 Azat Khuzhin) |
| 483 | o http: fix detecting EOF without write (7ed02ac Azat Khuzhin) |
| 484 | o evhttp: Fix failure to send all output data for POST/PUT requests (24eea0d John Ohl) |
| 485 | o Fix evhttp_uriencode() regression. (c6b1ec1 Mark Ellzey) |
| 486 | o removed unused vars (e94250c Mark Ellzey) |
| 487 | o pointer overflow checks for evhttp_uriencode (72afe4c Zonr Chang) |
| 488 | |
| 489 | Bugfixes (evbuffers) |
| 490 | o buffer: fix overflow check in evbuffer_expand_singlechain() (a3f4ccd Azat Khuzhin) |
| 491 | o buffer: evbuffer_add_buffer(): clean empty chains from destination buffer (26fd932 Azat Khuzhin) |
| 492 | o Fix n_add_for_cb in evbuffer_prepend() in case of new buffer required (0abd039 Azat Khuzhin) |
| 493 | o be_filter: actually disable output_filter during processing output (c031215 Simon Perreault) |
| 494 | o evbuffer_add: Use last_with_datap if set, not last. (a8769ef Marcus Sundberg) |
| 495 | o EVBUFFER_PTR_SET -> EVBUFFER_PTR_ADD (8674e4f jer-gentoo) |
| 496 | |
| 497 | Bugfixes (evconnlistener) |
| 498 | o listener: unlock lev on error in listener_read_cb() (2a71b33 Azat Khuzhin) |
| 499 | o Fix potential fd leak in listener_read_cb() (a695a72 Mark Ellzey) |
| 500 | |
| 501 | Testing |
| 502 | o tests: use waitpid(..., WNOWAIT) to fix failing of main/fork under solaris (43eb56c Azat Khuzhin) |
| 503 | o test: replace sleeping with syncing pair in main/fork (16d220c Azat Khuzhin) |
| 504 | o test/http: do not run tests that based on backlog filling (freebsd) (500b6b7 Azat Khuzhin) |
| 505 | o test/bufferevent/iocp: fix test name for "bufferevent_connect_fail_eventcb" (4410e9d Azat Khuzhin) |
| 506 | o test/ssl: use send()/recv()/EVUTIL_ERR_RW_RETRIABLE()/EVUTIL_SOCKET_ERROR() to fix win32 (a9e8cd6 Azat Khuzhin) |
| 507 | o test/https_basic: increase timeout for complete write (fixes win32) (d5a2f2f Azat Khuzhin) |
| 508 | o test: fix building with --disable-thread-support under win32 (a487706 Azat Khuzhin) |
| 509 | o test/buffer: evbuffer_add_buffer() with empty chains (a272bc4 Azat Khuzhin) |
| 510 | o test/buffer: evbuffer_remove_buffer() with empty chains (prepend) (f0cfa14 Azat Khuzhin) |
| 511 | o test/buffer: evbuffer_remove_buffer() with empty chains (evbuffer_add_buffer()) (2880ce6 Azat Khuzhin) |
| 512 | o test/buffer: cover evbuffer_expand() for overflow (48dab7a Azat Khuzhin) |
| 513 | o test/be_filter: creating test case for data stuck with active watermarks (766194b Eduardo Panisset) |
| 514 | o test/http: avoid using conditionals with omitted operands (fixes VS2015) (2a4bf29 Azat Khuzhin) |
| 515 | o test/http: don't mix declarations and code (fixes -Wdeclaration-after-statement) (aabf1c2 Azat Khuzhin) |
| 516 | o test/buffer: fix leak in test_evbuffer_prepend() (c08d90b Azat Khuzhin) |
| 517 | o test/buffer: avoid errors with --no-fork (reinitialize static vars) (e7d1e39 Azat Khuzhin) |
| 518 | o test/buffer: cover n_add_for_cb when evbuffer_prepend() need to allocate buffer (e77ff41 Azat Khuzhin) |
| 519 | o test/tinytest_macros: add new one tt_nstr_op() (bd19a28 Azat Khuzhin) |
| 520 | o test/bufferevent: check that output_filter disabled during processing output (ae28812 Azat Khuzhin) |
| 521 | o test/listener: regression for missing unlock in listener_read_cb() (7d85651 Azat Khuzhin) |
| 522 | o test/regress: add tests for evbuffer_add() breakage on empty last chain (d5ee739 Marcus Sundberg) |
| 523 | o test/http: fix running some tests sequential (with --no-fork) (bddad71 Azat Khuzhin) |
| 524 | o test/http: localize evhttp server structure (cbc3209 Azat Khuzhin) |
| 525 | o test/dns: regression for empty hostname (d7348ba Azat Khuzhin) |
| 526 | o test/http: fix SERVER_TIMEOUT tests under win32 (d49a658 Azat Khuzhin) |
| 527 | o test/http: add a helper for creating timedout/failed request (376f107 Azat Khuzhin) |
| 528 | o test/http: adopt for C90 (mixed code and declarations) (d02a285 Azat Khuzhin) |
| 529 | o test/http: cover NS timed out during request cancellations separatelly (0c343af Azat Khuzhin) |
| 530 | o test/http: request cancellation with resolving/{conn,write}-timeouts in progress (334340d Azat Khuzhin) |
| 531 | o test/http: exit from the loop in the errorcb to wait cancellation (927ab33 Azat Khuzhin) |
| 532 | o regress_clean_dnsserver(): reset global port vars (351207f Azat Khuzhin) |
| 533 | o test/http: read_on_write_error: fix it for win32 (3b58169 Azat Khuzhin) |
| 534 | o test/http: separate coverage for EVHTTP_CON_READ_ON_WRITE_ERROR (5c2b4c1 Azat Khuzhin) |
| 535 | o test/http: cover "Expect: 100-continue" client-server interaction (31d8116 Azat Khuzhin) |
| 536 | o test/http: *lingering tests shouldn't have "Expect: 100-continue" (ed469ab Azat Khuzhin) |
| 537 | o test: use EVUTIL_SHUT_WR (04fc82f Azat Khuzhin) |
| 538 | o test/http: avoid huge stack allocations to fix win32 builds (3166765 Azat Khuzhin) |
| 539 | o test: http/lingering_close: cover EVHTTP_SERVER_LINGERING_CLOSE (e122ca1 Azat Khuzhin) |
| 540 | o test: http/non_lingering_close: cover ~EVHTTP_SERVER_LINGERING_CLOSE (f41e1b0 Azat Khuzhin) |
| 541 | o test: http/*: update expected HTTP codes for body exceeds `max_body_size` (addf2b9 Azat Khuzhin) |
| 542 | o test: http/data_length_constrains: set EVHTTP_CON_READ_ON_WRITE_ERROR (d38a723 Azat Khuzhin) |
| 543 | o test: increase buffer size for http/data_length_constraints to trigger EPIPE (0792e1e Azat Khuzhin) |
| 544 | o test/tinytest_demo: include <windows.h> for win32 to fix tdm-gcc (f062bbe Azat Khuzhin) |
| 545 | o test/regress: cover event_del() waiting mechanism (5b58b70 Azat Khuzhin) |
| 546 | o test/regress: cover existing signal callbacks and fork() + event_reinit() (ceddc60 Azat Khuzhin) |
| 547 | o test/regress: cover signals after fork() + event_reinit() (b075b81 Azat Khuzhin) |
| 548 | o test/regress: main/fork: rewrite assertions by just removing event in callback (088d8b3 Azat Khuzhin) |
| 549 | o test/dns: check exit code of evdns_getaddrinfo() (0b9d432 Azat Khuzhin) |
| 550 | o test/dns: cover evdns_getaddrinfo() and evdns_base_free() with @fail_requests (4ad3483 Azat Khuzhin) |
| 551 | o test/dns: cover @fail_requests for evdns_base_free() (d6c6fb4 Azat Khuzhin) |
| 552 | o test/dns: more graceful coverage of @fail_requests (123d372 Azat Khuzhin) |
| 553 | o test/ssl: cover busy-loop (i.e. {read,write}-blocked-on-{write,read} stuff) (da0ea7a Azat Khuzhin) |
| 554 | o test/http: write_during_read for https (23c77b6 Azat Khuzhin) |
| 555 | o test/http: connection_fail for https (7ea26f7 Azat Khuzhin) |
| 556 | o test/http: stream_out for https (ac04968 Azat Khuzhin) |
| 557 | o test/http: chunk_out for https (a71ffb9 Azat Khuzhin) |
| 558 | o test/regress: fix ssl-less builds (need to make this prettier) (3160716 Azat Khuzhin) |
| 559 | o test/http: allow dirty shutdown for ssl to fix https_incomplete (1ede326 Azat Khuzhin) |
| 560 | o test/http: https basic (59714b4 Azat Khuzhin) |
| 561 | o test/http: incomplete{,_timeout} for https (615490d Azat Khuzhin) |
| 562 | o test/http: add simplest test for http/https/https_dirty_shutdown (93b19dc Azat Khuzhin) |
| 563 | o test/http: https: retry coverage (7c2d24a Azat Khuzhin) |
| 564 | o test/http: https server support (plus some helpers) (a7088ad Azat Khuzhin) |
| 565 | o test/http: more sanity checks (a27c53c Azat Khuzhin) |
| 566 | o test/ssl: export getkey()/getcert()/get_ssl_ctx()/init_ssl() for https (0c4c387 Azat Khuzhin) |
| 567 | o test/regress_be: basic coverage bufferevent_flush() for pair/sock layers (ad52602 Azat Khuzhin) |
| 568 | o test/regress_be: socket_filter_inactive: check bufferevent after creation (f8081af Azat Khuzhin) |
| 569 | o test/regress_be: cover finalizers from inactive to active queue (337684b Azat Khuzhin) |
| 570 | o test/regress_buffer: fix clang compilation warnings (d8fd4c0 Azat Khuzhin) |
| 571 | o test/regress_http: fix compilation warnings (-Wmissing-field-initializers) (cd422e0 Azat Khuzhin) |
| 572 | o test/regress_dns: fix compilation warnings (-Wmissing-field-initializers/for) (f55db98 Azat Khuzhin) |
| 573 | o tests/regress_dns: cover that randomize-case works case-insensitive (1e8bfbc Azat Khuzhin) |
| 574 | o test: fix bufferevent/bufferevent_pair_release_lock in debug mode (3f749e9 Azat Khuzhin) |
| 575 | o test: fix bufferevent/bufferevent_pair_release_lock for freebsd (79f9ace Azat Khuzhin) |
| 576 | o test/regress_be: bufferevent_enable() shouldn't call eventcb by it's own (a0f308d Azat Khuzhin) |
| 577 | o test/regress_be: introduce fake_listener_create() (37dc9e0 Azat Khuzhin) |
| 578 | o test/regress_http: cover evhttp_request_own() (6f6fa0d Azat Khuzhin) |
| 579 | o test/regress_http: cover write during read (3d15aeb Azat Khuzhin) |
| 580 | o test/regress_http: verify that closecb will be called without multiple write (4be6c70 Azat Khuzhin) |
| 581 | o test/regress: fix bufferevent_pair_release_lock with EVENT_DEBUG_MODE (6ea6655 Azat Khuzhin) |
| 582 | o test/regress_ssl: check events fd/pending after timeout triggered (cdafdf0 Azat Khuzhin) |
| 583 | o test/regress_ssl: cover case when server didn't up (failed with timeout) (74845f1 Azat Khuzhin) |
| 584 | o test/regress_ssl: covert that we can't change fd with underlying (df507af Azat Khuzhin) |
| 585 | o test/regress_ssl: cover that events (read/write) at finish not pending (762edb4 Azat Khuzhin) |
| 586 | o test/regress_ssl: cover fd manipulations (b78a829 Azat Khuzhin) |
| 587 | o test/regress_ssl: convert open_ssl_bufevs() to mask (46bba73 Azat Khuzhin) |
| 588 | o test/regress_ssl: convert client/server to mask too (3455991 Azat Khuzhin) |
| 589 | o test/regress_ssl: cover "allow_dirty_shutdown" (0430327 Azat Khuzhin) |
| 590 | o test/regress_ssl: convert regress_bufferevent_openssl() to bitmask (342e116 Azat Khuzhin) |
| 591 | o tests/regress_ssl: drop duplicated assert (25e56fd Azat Khuzhin) |
| 592 | o test/regress_http: initialize "dns_base" to avoid reading trash (9f0bff3 Azat Khuzhin) |
| 593 | o test/http: cover retrying with saved conn_address by shutting down dns server (f4874d8 Azat Khuzhin) |
| 594 | o be_pair/regress: cover use of shared lock (lock/unlock/free) (a558fcd Azat Khuzhin) |
| 595 | o regress_dns: drop hack for event_debug_map_HT_GROW in leak tests (3540a19 Azat Khuzhin) |
| 596 | |
| 597 | Sample code |
| 598 | o Fix memory leak in signal-test.c (666db91 basavesh.as) |
| 599 | o sample/hello-world: exAmple, not eXMple (2d3cd35 kirillDanshin) |
| 600 | o dns-example: allow to set ns from args (df19a97 Azat Khuzhin) |
| 601 | o dns-example: convert to getopt() (32f8592 Azat Khuzhin) |
| 602 | o http-connect: make it win32 compilable (1bf7595 Azat Khuzhin) |
| 603 | o sample/https-client: allow to change path to ca-certificates (fdf713a Azat Khuzhin) |
| 604 | o sample/https-client: check for ERR_remove_thread_state() existence (c4e9d9b Azat Khuzhin) |
| 605 | o sample/https-client: replace ERR_remove_state() by ERR_remove_thread_state() (77ad68a Azat Khuzhin) |
| 606 | o sample/https-client: add -timeout option (4637aa8 Azat Khuzhin) |
| 607 | o sample/https-client: don't try to free uninitialized SSL (f3d7ff5 Azat Khuzhin) |
| 608 | o sample/https-client: graceful exit with freeing memory (to make valgrind happy) (24a1f25 Azat Khuzhin) |
| 609 | o https-client: correctly handle URLs with no path (like "https://host:port") (29a0482 Andrey Skriabin) |
| 610 | o sample/http-connect: don't use assert() to make it work with NDEBUG (6dc71e7 Azat Khuzhin) |
| 611 | o sample/http-connect: made it compatible with C90 (f976d43 Azat Khuzhin) |
| 612 | o sample: add HTTP CONNECT tunnelling example using libevent http layer (1d34498 Azat Khuzhin) |
| 613 | o Update dns-example. (620ff24 Mark Ellzey) |
| 614 | |
| 615 | Documentation |
| 616 | o Update README.md (b8ec70c Mark Ellzey) |
| 617 | o Update README.md (80faee9 Mark Ellzey) |
| 618 | o Update README.md (ad4a897 Mark Ellzey) |
| 619 | o Update README.md (a2b2e1e Mark Ellzey) |
| 620 | o Update README.md (0dfa5dc Mark Ellzey) |
| 621 | |
| 622 | Code Improvements (evthread) |
| 623 | o evthread: add evthread_get_{lock,condition}_callbacks() helpers (c0b34f6 Azat Khuzhin) |
| 624 | |
| 625 | Code Improvements (core) |
| 626 | o util: make @sa const for evutil_socket_connect_() (a8d32c2 Azat Khuzhin) |
| 627 | |
| 628 | Code Improvements (http) |
| 629 | o http: assert's that evbuffer_drain() success on connection reset (2185e63 Azat Khuzhin) |
| 630 | o http: introduce evhttp_request_free_() helper (22061ac Azat Khuzhin) |
| 631 | o http: introduce evhttp_is_request_connection_close() helper (6540da3 Azat Khuzhin) |
| 632 | |
| 633 | Code Improvements (bufferevents) |
| 634 | o be_sock: bufferevent_socket_set_conn_address(): assert instead of silent no-op (0ab88c2 Azat Khuzhin) |
| 635 | o be_sock: sanity check in bufferevent_socket_set_conn_address() (eedbeff Azat Khuzhin) |
| 636 | o be: replace sockaddr_storage with sockaddr_in6 for conn_address (3889612 Azat Khuzhin) |
| 637 | o be: replace conn_address by full struct instead of pointer (e5615aa Azat Khuzhin) |
| 638 | o bufferevent: move conn_address out from http into bufferevent (8bb3842 Azat Khuzhin) |
| 639 | o be: make @sa const for bufferevent_socket_connect() (dc33c78 Azat Khuzhin) |
| 640 | |
| 641 | Cleanups (core) |
| 642 | o Refactoring conditional directives that break parts of statements. (4b41eeb lzmths) |
| 643 | o epoll: introduce PRINT_CHANGES() macro to avoid copy-pasting (a1b142b Azat Khuzhin) |
| 644 | o tab (6e7a580 Greg Hazel) |
| 645 | |
| 646 | Cleanups (evbuffers) |
| 647 | o buffer_compat: fix comment -- we have EVBUFFER_EOL_ANY not EOL_STYLE_ANY (575ff67 Azat Khuzhin) |
| 648 | |
| 649 | Cleanups (bufferevents) |
| 650 | o be_sock: evutil_getaddrinfo_async_() always return 0 (dbff101 Azat Khuzhin) |
| 651 | o be_sock: drop be_sock_add() macro (useless and debug unfriendly) (fad5fe2 Azat Khuzhin) |
| 652 | o be: introduce bufferevent_generic_adj_existing_timeouts_() (3c1f58f Azat Khuzhin) |
| 653 | o be: add_event: use evutil_timerisset() (a96b73b Azat Khuzhin) |
| 654 | o be_openssl: introduce be_openssl_auto_fd() helper (2a8a711 Azat Khuzhin) |
| 655 | o be_openssl: introduce set_open_callbacks_auto() (510da71 Azat Khuzhin) |
| 656 | |
| 657 | Cleanups (http) |
| 658 | o http: make fallback for EVHTTP_CON_READ_ON_WRITE_ERROR more cleaner (d405492 Azat Khuzhin) |
| 659 | o http: coding style issue (365f181 Azat Khuzhin) |
| 660 | |
| 661 | Cleanups (evdns) |
| 662 | o evnds: inline TEST_NAME macro to make debuggin easier (0c615f4 Azat Khuzhin) |
| 663 | |
| 664 | Portability Fixes |
| 665 | o [#372] check for errno.h (3031617 Mark Ellzey) |
| 666 | o Fixed Unicode issue in error messages. (e8b7895 Mattes D) |
| 667 | o Assume that ke_udata is an integer type on CloudABI. (5602e45 Ed Schouten) |
| 668 | o Add missing include of <netinet/in.h>. (b2c68bc Ed Schouten) |
| 669 | o Include <sys/ioctl.h>, <sys/resource.h> and <sys/wait.h> optionally. (c1404b5 Ed Schouten) |
| 670 | o Test against SO_REUSEADDR (along with _WIN32). (ce1776c Ed Schouten) |
| 671 | o Always define missing TAILQ functions from sys/queue.h (2828bdb Christopher Wiley) |
| 672 | o Don't use BSD u_* types. (fd36647 Ed Schouten) |
| 673 | o Remove BSD-ism: TIMEVAL_TO_TIMESPEC(). (193c7de Ed Schouten) |
| 674 | o be: include all variations of headers for sockaddr_in6 struct (c212291 Azat Khuzhin) |
| 675 | o be: fix sockaddr_in6 type definition for win32 (c42bc6b Azat Khuzhin) |
| 676 | |
| 677 | Continious Integration: |
| 678 | o travis: split long lines, and make it cleaner (685a6a1 Azat Khuzhin) |
| 679 | o travis: fix autotools on osx by reinstalling libtool (088ea5e Azat Khuzhin) |
| 680 | o appveyor/autotools: link with openssl by passing LDFLAGS/CFLAGS (6fcfa25 Azat Khuzhin) |
| 681 | o appveyor: image already had openssl installed (4634b85 Azat Khuzhin) |
| 682 | o appveyor: check -DUNICODE -D_UNICODE according to ReleaseChecklist (cmake only) (e9acc44 Azat Khuzhin) |
| 683 | o appveyor: ignore failure of mingw-get (1810857 Azat Khuzhin) |
| 684 | o appveyor: drop shallow_clone, since we use tags for detecting version in cmake (ac90133 Azat Khuzhin) |
| 685 | o appveyor: support cmake & autotools using build matrix (like travis-ci has) (8f95015 Azat Khuzhin) |
| 686 | o travis-ci/osx: relink gcc/g++ instead of clang (481481d Azat Khuzhin) |
| 687 | o travis-ci: enable multi-os mode (osx, linux) (79917e4 Azat Khuzhin) |
| 688 | o travis-ci: increase matrix (--disable-foo) (59649f7 Azat Khuzhin) |
| 689 | o travis-ci: adjust alignment (c8be339 Azat Khuzhin) |
| 690 | o travis: add builds without debug mode into matrix (3e56da2 Azat Khuzhin) |
| 691 | o test: run regress with EVENT_DEBUG_MODE=1 and without (cf2cf2a Azat Khuzhin) |
| 692 | o Update travis config for status updates (37453ab Mark Ellzey) |
| 693 | o Use autotools for appveyor until cmake is fixed. (1cc2e29 Mark Ellzey) |
| 694 | o Fix the link for appveyor OpenSSL installer (WIN32) (107d565 Mark Ellzey) |
| 695 | o Forgot to install OpenSSL for appveyor (26164a5 Joakim Söderberg) |
| 696 | o Add support for appveyor.com windows CI (5f89c37 Joakim Söderberg) |
| 697 | |
| 698 | Build Improvements/Fixes: |
| 699 | o evutil: mark ai_find_protocol() static (prototype-less) (5a157c8 Azat Khuzhin) |
| 700 | o cmake/solaris: set CMAKE_REQUIRED_LIBRARIES to fix functions detections (dc95823 Azat Khuzhin) |
| 701 | o cmake/solaris: fix building (link with socket,nsl) (050bfc7 Azat Khuzhin) |
| 702 | o cmake: check for ZLIB_INCLUDE_DIR, since we can have only library without headers (c4dfb93 Azat Khuzhin) |
| 703 | o autotools/win32: fix searching ssl library (671a24f Azat Khuzhin) |
| 704 | o cmake/win32: do not compile regress_thread on -DEVENT__DISABLE_THREAD_SUPPORT=ON (de0c196 Azat Khuzhin) |
| 705 | o cmake/win32: do not compile evthread_win32 on -DEVENT__DISABLE_THREAD_SUPPORT=ON (ecb0ec8 Azat Khuzhin) |
| 706 | o cmake: fix -DEVENT__ENABLE_VERBOSE_DEBUG (typo on -DUSE_DEBUG) (e35f224 Azat Khuzhin) |
| 707 | o cmake: do not use stderr for notifications/version-info (38716c6 Azat Khuzhin) |
| 708 | o autoconf: fix --disable-thread-support build under win32 (bb09535 Azat Khuzhin) |
| 709 | o buffer: don't mix code and declarations (8892f4c Azat Khuzhin) |
| 710 | o Update gitignore file to ignore cscope gen'ed files (0aaa4fb Neeraj Badlani) |
| 711 | o For non GCC/clang on OSX the -Wno-deprecated-declarations may not be valid (b5ca365 Rainer Keller) |
| 712 | o automake: define serial-tests only if automake have this option (61179de Azat Khuzhin) |
| 713 | o test/automake: don't use paralell test harness (since automake 1.12) (44d755e Azat Khuzhin) |
| 714 | o Ignore all pkgconfig generated stuff (ce38993 Azat Khuzhin) |
| 715 | o libevent_core and libevent_extra also deserve a pkgconfig file (b8d7c62 Jan Heylen) |
| 716 | o Ignore verify_tests.bat (win32 version) (0f2de10 Azat Khuzhin) |
| 717 | o cmake: require 3.1 only for win32 to make it work under ubunty precise (87f7238 Azat Khuzhin) |
| 718 | o cmake: require at least 3.1 for target_sources() (c46ead5 Azat Khuzhin) |
| 719 | o cmake: fix adding of compiler flags, and now it will (36588e1 Azat Khuzhin) |
| 720 | o Replace -Wswitch-enum with -Wswitch, and add it into cmake rules too (f29f59e Azat Khuzhin) |
| 721 | o test/regress_ssl: Fix compile problems for win32 (73d0360 Trond Norbye) |
| 722 | o util: fix "%zu" format on TDM-gcc/MinGW-w64 (79b69d8 Azat Khuzhin) |
| 723 | o cmake: don't define EVENT__NEED_DLLIMPORT always (fixes VS2013 static build) (49bd790 Azat Khuzhin) |
| 724 | o Add missing return statement to del_wait_thread so libevent can build. (4f778ab Nick Mathewson) |
| 725 | o cmake: fix building dns-example under win32 (missing getopt) (a1609a8 Azat Khuzhin) |
| 726 | o visibility: align it to make it more readable (bb6b53d Azat Khuzhin) |
| 727 | o cmake: Fix detection of ssize_t/SSIZE_T (7707f6b Azat Khuzhin) |
| 728 | o Ignore more configure stuff (configure.lineno) (8d34302 Azat Khuzhin) |
| 729 | o Fixed issue with cmake version generation (d56efd9 Mark Ellzey) |
| 730 | o Cmake is now officially working. (7f9646d Mark Ellzey) |
| 731 | o More cmake updates, lot's of missing definitions (49a5381 Mark Ellzey) |
| 732 | o CMake syntax fixes fo .in files (6aad23d Mark Ellzey) |
| 733 | o Revert "The Windows socket type is defined as SOCKET." (a264da8 Mark Ellzey) |
| 734 | o CMAKE CMAKE CMAKE CLEANUPS (a9db46a Mark Ellzey) |
| 735 | o Lot's of cmake updates (8b228e2 Mark Ellzey) |
| 736 | o Provide a mechanism for building the library on Windows with different compiler flags. Add a batch file that builds it for the M[DT][d] options and performs a hunt and gather of the different output libraries. (ded8086 billsegall) |
| 737 | o The Windows socket type is defined as SOCKET. (c9e6c3d billsegall) |
| 738 | o autotools: fix getservbyname() detection (959a4c2 Azat Khuzhin) |
| 739 | o Add missing <string.h> for openssl_hostname_validation module (3316a21 Azat Khuzhin) |
| 740 | o make test/regress_ssl.c compile without warnings (9f02a44 Thomas Bernard) |
| 741 | o test/regress_be: drop debug __asm__(int3) to fix arm build (8240379 Azat Khuzhin) |
| 742 | o event_debug_created_threadable_ctx_: fix compilation without debug mode (a068f2e Azat Khuzhin) |
| 743 | o Add a prototype for event_disable_debug_mode() (bfcedee Sebastian Hahn) |
| 744 | o http: eliminate warning about "socklen" in evhttp_connection_connect_() (dfad1a4 Azat Khuzhin) |
| 745 | o Updated gitignore (1dbb55d Mark Ellzey) |
| 746 | o Update bench_httpclient.c (cb96931 Seungmo Koo) |
| 747 | o *fix: bench_httpclient to support win32 (4e9325e zeliard) |
| 748 | o Commented out a WIN32 threading / timing test for now (e84e269 Mark Ellzey) |
| 749 | o Fix mixed declarations and code (forbidden by ISO C90) (0c7f217 Thomas Bernard) |
| 750 | o Fix "function declaration isn’t a prototype" (746d2c5 Thomas Bernard) |
| 751 | o This fixes a bug introduced in 27bd9faf498b91923296cc91643e03ec4055c230 (19ba454 Joakim Söderberg) |
| 752 | o changed strtotimeval signature as per #211 (bdbc823 Xiao Bao Clark) |
| 753 | o Added cmake-generated files to ignore list. (6c12bfe Matyas Dolak) |
| 754 | o Ignore `make dist` generated files (8a2c6c7 Azat Khuzhin) |
| 755 | |
| 756 | Debugging |
| 757 | o Debug mode option to error on evthread init AFTER other event calls. (dcfb19a Mark Ellzey) |
| 758 | |
| 759 | |
| 760 | |
| 761 | Changes in version 2.1.5-beta (5 January 2015) |
| 762 | |
| 763 | Security Fixes (evbuffers) |
| 764 | o Avoid integer overflow bugs in evbuffer_add() and related functions. See CVE-2014-6272 advisory for more information. (d49bc0e88b81a5812116074dc007f1db0ca1eecd) |
| 765 | |
| 766 | New APIs (evconnlistener) |
| 767 | o Provide support for SO_REUSEPORT through LEV_OPT_REUSABLE_PORT (b625361 Maciej Soltysiak) |
| 768 | |
| 769 | Bugfixes (core) |
| 770 | o Fix use-after-free error in EV_CLOSURE_EVENT callback (3cc0eac John Ohl) |
| 771 | o Fix race caused by event_active (3c7d6fc vjpai) |
| 772 | |
| 773 | Bugfixes (evbuffer) |
| 774 | o Fix evbuffer_peek() with len==-1 and start_at non-NULL. (ba59923) |
| 775 | o Consistently check for failure from evbuffer_pullup() (60f8f72) |
| 776 | o Fix evbuffer_peek() with len==-1 and start_at non-NULL. (fb7e76a) |
| 777 | |
| 778 | Bugfixes (windows, IOCP) |
| 779 | o be async: avoid double close() (f133b86 Azat Khuzhin) |
| 780 | |
| 781 | Bugfixes (bufferevents) |
| 782 | o Fix issue #127, double free for filterevents that use BEV_OPT_CLOSE_ON_FREE (2c82aa0 John Ohl) |
| 783 | o make bufferevent_getwatermark api more robust (a21e510 ufo2243) |
| 784 | o [Bugfix] fix bufferevent setwatermark suspend_read (b34e4ac ufo2243) |
| 785 | o bufferevent_openssl: reset fd_is_set when setfd with -1 is called (3da84c2 Azat Khuzhin) |
| 786 | o Fix compilation for older OpenSSL versions. (5c7282f Joakim Soderberg) |
| 787 | |
| 788 | New APIs (evhttp) |
| 789 | o Add evhttp_connection_set_family() to set addrinfo->family for DNS requests (12c29b0 Azat Khuzhin) |
| 790 | o Implement interface that provides the ability to have an outbound evhttp_connection free itself once all requests have completed (2b9ec4c,10fe4f John Ohl) |
| 791 | |
| 792 | New APIs (core) |
| 793 | o Implement new/free for struct evutil_monotonic_timer and export monotonic time functions (f2645f8 Andrea Shepard) |
| 794 | |
| 795 | Bugfixes (evdns) |
| 796 | o Load hosts file on Windows. (a0b247c Vilmos Nebehaj) |
| 797 | o Don't truncate hosts file path on Windows. (d0dc861 Vilmos Nebehaj) |
| 798 | o Fix a crash in evdns related to shutting down evdns (9f39c88,e8fe749) |
| 799 | o evdns: avoid read-after-free in evdns_request_timeout_callback() (61262a0 Azat Khuzhin) |
| 800 | o Correctly handle allocation failures in evdns_getaddrinfo (6a53d15) |
| 801 | o evdns: fix EVDNS_BASE_DISABLE_WHEN_INACTIVE in case retransmit/retry (74d0eee Azat Khuzhin) |
| 802 | o evdns: add retry/reissue tests for EVDNS_BASE_DISABLE_WHEN_INACTIVE (3ca9d43 Azat Khuzhin) |
| 803 | o evdns: fail ns after we are failing/retrasmitting request (97c750d Azat Khuzhin) |
| 804 | |
| 805 | Bugfixes (evhttp) |
| 806 | o http: reset connection before installing retry timer (fix http retries handling) (bc79cc5 Azat Khuzhin) |
| 807 | |
| 808 | |
| 809 | Testing |
| 810 | o regress_dns: fix leaks in getaddrinfo_async{,_cancel_stress} tests (2fdc5f2 Azat Khuzhin) |
| 811 | o test: add family argument for http_connection_test_() (177b8a7 Azat Khuzhin) |
| 812 | o test: add regress for evhttp_connection_set_family() with AF_INET and AF_UNSPEC (42aefeb Azat Khuzhin) |
| 813 | o test/http: add regress test for set family to AF_INET6 (3fbf3cc Azat Khuzhin) |
| 814 | o Update to a more recent tinytest_macros. (8da5a18) |
| 815 | o test/regress: add simplestsignal: to track reorder bugs separately (b897bef Azat Khuzhin) |
| 816 | o test/evbuffer_peek: add regress in case we have first buffer greater (e2d139d Azat Khuzhin) |
| 817 | o More evbuffer_peek() test cases (154006a) |
| 818 | o use correct tt macro for pointer compare (08c88ea) |
| 819 | o regress_buffer: fix 'memcmp' compare size (79800df Maks Naumov) |
| 820 | o Fix a use-after-free in unit tests. CID 752027 (3739057) |
| 821 | o Fix a dead-code warning in unit tests. CID 1193548 (c119f24) |
| 822 | o Use evutil_weakrand() in unit tests. (a677b72, 364c110) |
| 823 | o Use a more precise calculation for max in time-ratelim.c (ca5b5c7) |
| 824 | o Make a buffer larger in the tests to avoid a scary evbuffer_copyout_from() (fb57b8b) |
| 825 | o Fix several memory leaks in the unit tests. (89c1a3b) |
| 826 | o Add test for evhttp_connection_free_on_completion (b0e9924 John Ohl) |
| 827 | o Fix annoying heisenbug in test-time.c (cb73704) |
| 828 | |
| 829 | Sample code |
| 830 | o Make http-server.c output into good html5 (6d72bdc) |
| 831 | o Use FindClose for handle from FindFirstFile in http-server.c (6466e88) |
| 832 | o https-client: add -retries argument, for connection retries (d9da844 Azat Khuzhin) |
| 833 | |
| 834 | Bugfixes (build) |
| 835 | o Add missing headerfile for cmake (15d90cc Trond Norbye) |
| 836 | o ignore one more test binary (b6593aa Michael Richardson) |
| 837 | o ignore config.cache/test-driver files (c83f333 Mike Frysinger) |
| 838 | o add a --disable-samples configure flag (0c492b3 Mike Frysinger) |
| 839 | o Add a few files created by "make verify" to .gitignore. (1a8295a Pierre Phaneuf) |
| 840 | o updates in cmake build (27bd9fa Sergey Nikulov) |
| 841 | o Fix cmake error when the Module path has more than one entry. (befbd13 Acer Yang) |
| 842 | o Fix CMake shared library build (e69d910 Nobuaki Sukegawa) |
| 843 | o Fix warnings when compiling with clang 3.5 (f5b4765 John Ohl) |
| 844 | o Fix mixed declarations and code (forbidden by ISO C90) (8afbdbc Thomas Bernard) |
| 845 | |
| 846 | Bugfixes (miscellaneous) |
| 847 | o tree.h: drop duplicated content of tree.h (6193187 Azat Khuzhin) |
| 848 | o evdns: disable probing with EVDNS_BASE_DISABLE_WHEN_INACTIVE (610410b,ad0493e,fea86a6,d83b337,5ca9e97 Azat Khuzhin) |
| 849 | o [Bugfix] fix grammer error (3a4d249 ufo2243) |
| 850 | o Change return type of evutil_load_windows_system_library_ to HMODULE (f691389) |
| 851 | o Fix a c90 warning (76643dd) |
| 852 | o Fix a typo in a doxygen comment. Reported by 亦得. (be1aeff) |
| 853 | o remove trailing comma from enum (b361b8a Jean-Philippe Ouellet) |
| 854 | |
| 855 | Bugfixes (FreeBSD) |
| 856 | o Handle ENOTCAPABLE from FreeBSD - this is returned if an event in the changelist is for an FD that has been closed. (6fd7394 Adrian Chadd) |
| 857 | |
| 858 | |
| 859 | |
| 860 | Changes in version 2.1.4-alpha (21 Mar 2014) |
| 861 | |
| 862 | Libevent 2.1.4-alpha adds a number of new miscellaneous APIs to make |
| 863 | Libevent more useful, including support for early close detection with |
| 864 | epoll via EPOLLRDHUP, triggering bufferevent callbacks, adding more |
| 865 | evhttp callbacks, and more. There are also numerous bugfixes, including |
| 866 | a number for finalize-related issues from 2.1.3-alpha; and an |
| 867 | alternative (non-primary!) cmake-based build mechanism. |
| 868 | |
| 869 | New APIs (core) |
| 870 | o Added event_base_get_num_events() (0fa107d Mobai Zhang) |
| 871 | o New event_base_active_by_fd API (865a142 Greg Hazel, 5c9da9a, 87fa2b0) |
| 872 | o Add event_base_active_by_signal by analogy (4865943) |
| 873 | o Add access to max event count stats (5173bef, efbd3dc, 26230a2 |
| 874 | Andrew Sweeney) |
| 875 | o Implemented EV_CLOSED event for epoll backend |
| 876 | (EPOLLRDHUP). (b1b69ac Diego Giagio, 53d2793, 43ffcf6, dfe1e52 |
| 877 | Marcin Juszkiewicz, ff26633 Joakim Soderberg, 3908a5e) |
| 878 | |
| 879 | New APIs (evutil_secure_rng) |
| 880 | o Add evutil_secure_rng_set_urandom_device_file (2bbb5d7) |
| 881 | |
| 882 | New APIs (bufferevents) |
| 883 | o Add function to fetch underlying ratelimit cfg (4b3d5af Mark Ellzey) |
| 884 | o Pass and return const for bufferevent_get_token_bucket_cfg (1c77fbb |
| 885 | Mark Ellzey) |
| 886 | o Add watermark introspection (4ce242b OndÅ™ej KuznÃk) |
| 887 | o Add an option to trigger bufferevent I/O callbacks (61ee18b OndÅ™ej KuznÃk) |
| 888 | o Add an option to trigger bufferevent event callbacks (a7384c7 |
| 889 | OndÅ™ej KuznÃk) |
| 890 | o Clarifications in response to merge req. comments (bd41947 Ondřej |
| 891 | KuznÃk) |
| 892 | o Minor optimizations on bufferevent_trigger options (a3172a4) |
| 893 | |
| 894 | New APIs (evhttp) |
| 895 | o Add evhttp_connection_get_server(). (a7f82a3 Maxime Henrion) |
| 896 | o add a http default content type option (5a5acd9 Nicolas Martyanoff) |
| 897 | o http: implement new evhttp_connection_get_addr() api. (0c7f040 Azat |
| 898 | Khuzhin) |
| 899 | o Add a variant of evhttp_send_reply_chunk() with a callback on |
| 900 | evhttp_write_buffer() (8d8decf Julien BLACHE) |
| 901 | o Allow registering callback for parsing HTTP headers (b0bd7fe Balint Reczey) |
| 902 | o Provide on request complete callback facility (b083ca0 Andrew Sweeney) |
| 903 | o evhttp_request_set_on_complete_cb to be more specific about what |
| 904 | the function actually does and usage (da86dda Andrew Sweeney) |
| 905 | o Update unit test to make sure that the callback happens after the |
| 906 | output data is written (b85f398 Andrew Sweeney) |
| 907 | |
| 908 | Features (evdns) |
| 909 | o bug fix for issues #293 evdns_base_load_hosts doesn't remove |
| 910 | outdated addresses (954d2f9, f03d353, 45eba6f Kuldeep Gupta) |
| 911 | |
| 912 | Features: (cmake build support) |
| 913 | o Initial CMake commit. (e415196 Joakim Soderberg) |
| 914 | o Add all tests and benchmarks to CMake project. (e9fc014 Joakim Soderberg) |
| 915 | o More work on adding tests to CMake project (99c1dc3 Joakim Soderberg) |
| 916 | o Generate a dummy evconfig-private.h so things build |
| 917 | properly. (ce14def Joakim Soderberg) |
| 918 | o Link libm on unix platforms. (58fcd42 Joakim Soderberg) |
| 919 | o Added some GCC specific options. (19222e5 Joakim Soderberg) |
| 920 | o Use evutil_closesocket instead. (dbf2b51 Joakim Soderberg) |
| 921 | o Add copyright and licensing files for CMake modules. (c259d53 |
| 922 | Joakim Soderberg) |
| 923 | o Only include WIN32 getopt where it is used. (9bbce0b Joakim Soderberg) |
| 924 | o Fix bench_cascade program on Windows. (78da644 Joakim Soderberg) |
| 925 | o Don't segfault on no found event backend. (8f2af50 Joakim Soderberg) |
| 926 | o Only test the event backends available on the system. (7ea4159 |
| 927 | Joakim Soderberg) |
| 928 | o Added a "make verify" target. (e053c4f Joakim Soderberg) |
| 929 | o Fix the make "verify" target on Windows. (67e5d74 Joakim Soderberg) |
| 930 | o Get rid of deprecation warnings for OpenSSL on OSX 10.7+ (69c3516 |
| 931 | Joakim Söderberg) |
| 932 | o Fix kqueue support. (a831f2f Joakim Söderberg) |
| 933 | o Added a test for testing if kqueue works with pipes. (2799b35 |
| 934 | Joakim Söderberg) |
| 935 | o Change the BSD license from 4 to 3-clause. (86df3ed Joakim Soderberg) |
| 936 | o Minimum required python version is 2.4. (968e97b Joakim Soderberg) |
| 937 | o Get rid of unknown pragma warnings. (0ef1d04 Joakim Soderberg) |
| 938 | o Add a "make verify_coverage" target generation coverage |
| 939 | info. (f2483f8 Joakim Soderberg) |
| 940 | o Fix the "make verify" target on NetBSD (4ac086a Joakim Soderberg) |
| 941 | o Only look for ZLib when it is used (if tests are |
| 942 | included). (f780593 Joakim Soderberg) |
| 943 | o Added EVENT__ENABLE_GCC_WARNINGS, turns all warnings into |
| 944 | errors. (dd413bd Joakim Soderberg) |
| 945 | o Add CMake config and install targets. (f3446ed Joakim Soderberg) |
| 946 | o Fix typo (4b754df Joakim Soderberg) |
| 947 | o Some work on making it possible to simply do add_subdirectory() on |
| 948 | the project. (49ab363 Joakim Soderberg) |
| 949 | o Set USE_DEBUG=1 on EVENT__ENABLE_VERBOSE_DEBUG (fd42e70 Joakim Soderberg) |
| 950 | o Fix so that old nmake project still builds. (24d6466 Joakim |
| 951 | Soderberg) |
| 952 | o Rename README to README.md and use markdown to format. (d2bc39a |
| 953 | Joakim Soderberg) |
| 954 | o Update README with CMake build instructions. (604b8cc Joakim Soderberg) |
| 955 | o Clean up the README some. (8d4cb35 JoakimSoderberg) |
| 956 | o Forgotten headers for old nmake project compatability. (8697b99 |
| 957 | Joakim Soderberg) |
| 958 | o Change all uses of WIN32 to _WIN32 (4e14395 Joakim Söderberg) |
| 959 | o Fix include bug. (2024467 Joakim Söderberg) |
| 960 | o Check if we're on OSX before disabling deprecation in le-proxy |
| 961 | (8b40a5b Joakim Söderberg) |
| 962 | o Fix broken autotools build. (ae1bd82 Joakim Söderberg) |
| 963 | o Disclaimerize cmake a little in the README (d03b5bf) |
| 964 | o Fix CMake compile when OpenSSL is disabled. (e423d42 Joakim |
| 965 | Söderberg) |
| 966 | o CMake: Get rid of python not found warning when regress tests |
| 967 | turned off. (d38d798 Joakim Söderberg) |
| 968 | o Fix https-client compilation on Windows. (d7be788 Joakim Soderberg) |
| 969 | o Guard against EVENT_NOWIN32 being set during testing. (f1715b4 |
| 970 | Joakim Soderberg) |
| 971 | o Check for OSX when checking for clang. (e212c54 Joakim Soderberg) |
| 972 | o Added a Travis-CI configuration file. (8c0f0a9 Joakim Soderberg) |
| 973 | o Added -Qunused-arguments for clang on macosx (ed99d92 Trond Norbye) |
| 974 | o Rename event_extras to event_extra (a0dd5df Trond Norbye) |
| 975 | o Add option to build shared library (4545fa9 Trond Norbye) |
| 976 | o Add -Qunused-arguments for clang on macos (b56611d Trond Norbye) |
| 977 | o Add cmake-related files to .gitignore (e061321 Trond Norbye) |
| 978 | o Export event_extra not event_extras. (2b41bcf Joakim Söderberg) |
| 979 | |
| 980 | Bugfixes (core) |
| 981 | o If evsel->del() fails, don't leave the evmap in an inconsistent |
| 982 | state (9b5a527 Maxime Henrion) |
| 983 | o Move event_debug_note_teardown_ before mm_free. (69b5c64) |
| 984 | o Check CLOCK_MONOTONIC_* at runtime if needed. (911abf3) |
| 985 | o Fix reinit of fds with EV_WRITE but not EV_READ. (ebfd8a8 maksqwe) |
| 986 | o Tweaked callbacks to prevent race condition |
| 987 | (https://github.com/libevent/libevent/issues/104) (40830f1, 2ea15ed |
| 988 | John Ohl) |
| 989 | o Move assert(ev) to before we use ev in EV_CLOSURE_EVENT_FINALIZE |
| 990 | case (9805972) |
| 991 | |
| 992 | Bugfixes (evhttp) |
| 993 | o Fix a double close() bug in evhttp when the underlying bufferevent uses |
| 994 | BEV_OPT_CLOSE_ON_FREE. (31db8a0 Maxime Henrion) |
| 995 | o Fix an unlikely but possible error case for http connections (f22049e) |
| 996 | o Avoid racy bufferevent activation (5eb1788 Nate Rosenblum) |
| 997 | |
| 998 | Bugfixes on 2.0 (Windows) |
| 999 | o Use windows vsnprintf fixup logic on all windows environments (e826f19) |
| 1000 | o libevent/win32_dealloc() : fix sizeof(pointer) vs sizeof(*pointer) |
| 1001 | (b8f5980 Frank Denis) |
| 1002 | |
| 1003 | Bugfixes (evutil_secure_rng) |
| 1004 | o When we seed from /proc/sys/kernel/random/uuid, count it as success |
| 1005 | (e35b540) |
| 1006 | o We should return after arc4random_buf() (1ea1f26 Makoto Kato) |
| 1007 | o Avoid other RNG initialization FS reads when urandom file is |
| 1008 | specified (9695e9c) |
| 1009 | o Really remove RNG seeds from the stack (f5ced88) |
| 1010 | o Fix another arc4random_buf-related warning (e64a2b0) |
| 1011 | |
| 1012 | Bugfixes (bufferevents) |
| 1013 | o Initialize async bufferevent timeout CBs unconditionally (af9b2a7) |
| 1014 | |
| 1015 | Bugfixes (evdns) |
| 1016 | o Checking request nameserver for NULL, before using it. (5c710c0 |
| 1017 | Belobrov Andrey) |
| 1018 | o Fix SEGFAULT after evdns_base_resume if no nameservers |
| 1019 | installed. (14971a8 Azat Khuzhin) |
| 1020 | o Actually use the log facility for reporting evdns problems. (e1766a1) |
| 1021 | o Fix SEGFAULT after evdns_base_resume if no nameservers |
| 1022 | installed. (f8d7df8 Azat Khuzhin) |
| 1023 | o fix for ServFail from RIPE Atlas release (62f596b Antony Antony) |
| 1024 | |
| 1025 | Bugfixes (compilation) |
| 1026 | o Fix test compilation with nmake: add the gdi.lib dependency (5ba8ab7) |
| 1027 | o Whoops. It is gdi.lib, not gdi32.lib. (github issue #61) (8ab612e) |
| 1028 | o Don't use return since return type is void and build error occurs |
| 1029 | using clang (838161d Makoto Kato) |
| 1030 | o Use void casts to suppress some "unchecked return value" warns (7080d55) |
| 1031 | o rpcgen: Generate regress.gen.[c,h] in build rather than src dir |
| 1032 | (243386c Ross Lagerwall) |
| 1033 | o Fix a compiler warning when checking for arc4random_buf linker |
| 1034 | breakage. (5cb3865) |
| 1035 | o Fix 'make distcheck' by adding regress.gen.[ch] to DISTCLEANFILES |
| 1036 | (239d834) |
| 1037 | |
| 1038 | o Fix a c90 warning (c207682) |
| 1039 | o Fix consts in WIN32-Code/getopt*.[ch] (57abb35) |
| 1040 | |
| 1041 | Bugfixes (locks, synchronization) |
| 1042 | o Missed lock acquire/release in event_base_cancel_single_callback_() |
| 1043 | (d3d999a Azat Khuzhin) |
| 1044 | o Fix locking in bufferevent_get_options_(). (dbc9cd4 Maxime Henrion) |
| 1045 | |
| 1046 | Bugfixes (leaks) |
| 1047 | o Avoid leaking segment mappings when offset is not a page multiple (d409514) |
| 1048 | |
| 1049 | Testing |
| 1050 | o Add tests for evdns_base_resume(). (1cd9ff5 Azat Khuzhin) |
| 1051 | o Fix dns/leak_resume_send_err test. (7e876df Azat Khuzhin) |
| 1052 | o Add checks for evhttp_connection_get_server() in unit |
| 1053 | tests. (fbc323b Maxime Henrion) |
| 1054 | o Fix a (failure-only) null dereference in the unit tests (1104d0b) |
| 1055 | o Fix a logic error in test_evbuffer_freeze (7765884) |
| 1056 | o Add missing check to test_evbuffer_file_segment_add_cleanup_cb (eba4506) |
| 1057 | o Fix some crash-on-fail cases in DNS regression tests (87cd6f0) |
| 1058 | o DNS tests: add a missing check (f314900) |
| 1059 | o Finalize tests: add a missing check (82b6956) |
| 1060 | o test_evutil_rtrim: add another missing check. (e193c95) |
| 1061 | o regress_main: logging all if env EVENT_DEBUG_LOGGING_ALL isset |
| 1062 | (611e28b Azat Khuzhin) |
| 1063 | o regress_http: add tests for evhttp_connection_get_addr() (4dd500c |
| 1064 | Azat Khuzhin) |
| 1065 | o Update to the latest version of tinytest (7a80476) |
| 1066 | o Heap-allocate zlib data structure in regress_zlib tests (4947c18) |
| 1067 | |
| 1068 | Performance tweaks (core) |
| 1069 | o Avoid redundant syscall to make a nonblocking socket nonblocking |
| 1070 | (42c03da Maxime Henrion) |
| 1071 | o Avoid redundant syscall if making a socket cloexec twice (1f29b18) |
| 1072 | o Avoid redundant invocations of init_extension_functions for IOCP (3b77d62) |
| 1073 | |
| 1074 | Documentation |
| 1075 | o Document that arc4random is not a great cryptographic PRNG. (6e49696) |
| 1076 | o Small doxygen tweaks (6e67b51) |
| 1077 | o Try another doxygen tweak (ccf432b) |
| 1078 | o Clarify event_base_loop exit conditions (031a803) |
| 1079 | o Fix a typo (be7bf2c OndÅ™ej KuznÃk) |
| 1080 | o Document deferred eventcb behaviour (13a9a02 OndÅ™ej KuznÃk) |
| 1081 | o Typo fixes from Linus Nordberg (cec62cb, 8cd695b) |
| 1082 | o Fix duplicate paragraph in evbuffer_ptr documentation (58408ee) |
| 1083 | |
| 1084 | Code Improvements (coverity) |
| 1085 | o Fix a pile of coverity warnings in the unit tests (867f401) |
| 1086 | o Fix coverity warnings in benchmark tools. (ff7f739) |
| 1087 | o Whoops; fix compilation in bench.c (544cf88) |
| 1088 | o Remove spurious checks in evrpc.c error cases (coverity) (991b362) |
| 1089 | o Fix a couple of compilation warnings in regress_http.c (860767e) |
| 1090 | o Fix even more coverity warnings. (d240328) |
| 1091 | o Stop checking for inet_aton; we don't use it. (f665d5c) |
| 1092 | o Add an include to evrpc-internal to fix openbsd compilation warning |
| 1093 | (5e161c6) |
| 1094 | |
| 1095 | Cleanups |
| 1096 | o Remove an unreachable return statement in minheap-internal.h (e639a9e) |
| 1097 | o Refactor evmap_{io,signal}_active_() to tolerate bad inputs (974c60e) |
| 1098 | o Fix needless bufferevent includes in evdns.c (254c04e) |
| 1099 | o Fix a couple of "#ifdef WIN32" instances (88ecda3) |
| 1100 | o Remove unneeded declaration in bufferevent-internal.h (4c8ebcd) |
| 1101 | |
| 1102 | Sample code |
| 1103 | o le-proxy: Fail more gracefully if opening listener fails (44b2491) |
| 1104 | o http-server: drop uri_root from base_url in http-server. (6171e1c Azat Khuzhin) |
| 1105 | o https-client: POST supported, args supported (c5887f7 Alexey Ozeritsky) |
| 1106 | o https-client: code cleanup (29af65e Alexey Ozeritsky) |
| 1107 | o https-client: Small tweaks to https-client.c (90786eb) |
| 1108 | o https-client: Set hostname for SNI extension (by f69m) (d1976f8) |
| 1109 | o https-client: add a cast to https-client.c (462e6b6) |
| 1110 | |
| 1111 | |
| 1112 | |
| 1113 | Changes in version 2.1.3-alpha (1 May 2013) |
| 1114 | |
| 1115 | Libevent 2.1.3-alpha fixes various bugs, adds new unit tests, and cleans |
| 1116 | up the code in a couple of places. It has a new callback in evhttp for |
| 1117 | reporting errors during a request, a new feature for allowing evdns to |
| 1118 | not keep the event_base looping when there are no requests inflight, and |
| 1119 | example code for writing an https client. |
| 1120 | |
| 1121 | Libevent 2.1.3-alpha also has an important new (experimental) event |
| 1122 | finalization feature to allow safe event teardown in multithreaded |
| 1123 | programs. This ought to fix the longstanding bug with deadlocks in |
| 1124 | multithreaded use of SSL-based bufferevents that some people have been |
| 1125 | experiencing since Libevent 2.0. |
| 1126 | |
| 1127 | |
| 1128 | Core (event finalization) |
| 1129 | o Implement event_finalize() and related functions to avoid certain |
| 1130 | deadlocks (8eedeab) |
| 1131 | o Use finalization feature so bufferevents can avoid deadlocks (02fbf68) |
| 1132 | o Always run pending finalizers when event_base_free() is called (e9ebef8) |
| 1133 | o Remove bufferevent_del_generic_timeout_cbs as now unused (4ea4c6a) |
| 1134 | o More documentation for finalization feature (a800b91) |
| 1135 | o Make the event_finalize* functions return an error code (5d11f4f) |
| 1136 | o Mark the finalize stuff as experiemental in case it needs to |
| 1137 | change (23e2e29) |
| 1138 | |
| 1139 | Evdns |
| 1140 | o evdns: New flag to make evdns not prevent the event loop from |
| 1141 | exiting (6b7fa62 Azat Khuzhin) |
| 1142 | |
| 1143 | Bugfixes (Core) |
| 1144 | o Make event_remove_timer behave correctly with persistent timers (5623e80) |
| 1145 | o Unit test for event_remove_timer with EV_PERSIST. (96150dd) |
| 1146 | o Double-check next timeout when adding events (9443868 Nate Rosenblum) |
| 1147 | o event_base_update_cache_time should be a no-op if the loop isn't |
| 1148 | running (5e6fa2a) |
| 1149 | |
| 1150 | Bugfixes (evhttp, crash fix, from 2.0) |
| 1151 | o fix #73 and fix http_connection_fail_test to catch it (b618204 Greg Hazel) |
| 1152 | |
| 1153 | Bugfixes (compilation and portability, from 2.0) |
| 1154 | o Fix compilation with WIN32_HAVE_CONDITION_VARIABLES enabled (7e45739) |
| 1155 | o Fix missing AC_PROG_SED on older Autoconfs (9ab2b3f Tay Ray Chuan) |
| 1156 | o Backport libevent to vanilla Autoconf 2.59 (as used in RHEL5) |
| 1157 | (74d4c44 Kevin Bowling) |
| 1158 | o Use AC_CONFIG_HEADERS in place of AM_CONFIG_HEADERS for autmake |
| 1159 | 1.13 compat (817ea36) |
| 1160 | o Rename configure.in to configure.ac to appease newer autoconfs (0c79787) |
| 1161 | o Avoid using top_srcdir in TESTS: new automakes do not like this (a55514e) |
| 1162 | |
| 1163 | Bugfixes (resource leaks/lock errors on error, from 2.0) |
| 1164 | o Avoid leaking fds on evconnlistener with no callback set (69db261) |
| 1165 | o Avoid double-close on getsockname error in evutil_ersatz_socketpair |
| 1166 | (0a822a6) |
| 1167 | o Fix a locking error in bufferevent_socket_get_dns_error. (0a5eb2e) |
| 1168 | |
| 1169 | Documentation Fixes (from 2.0) |
| 1170 | o Fix a mistake in evbuffer_remove() arguments in example http server code |
| 1171 | (c322c20 Gyepi Sam) |
| 1172 | o Fix a typo in a comment in buffer.h. Spotted by Alt_F4 (773b0a5) |
| 1173 | |
| 1174 | Documentation Fixes |
| 1175 | o minor documentation typos (809586a Patrick Pelletier) |
| 1176 | o Fix cut-and-paste err in whatsnew-2.1 (49905ac) |
| 1177 | o Fix comment to refer to sample/include.am correctly (9e8cdf3 Sebastian |
| 1178 | Hahn) |
| 1179 | o Fix typo : Dispatching instead of Dispaching (0c2bacc Volker Lendecke) |
| 1180 | o fix some hinky indentation in evhttp_make_request (80e220e Patrick |
| 1181 | Pelletier) |
| 1182 | o "buffer" spelling (a452811 Patrick Pelletier) |
| 1183 | o Specify return behavior in header for evbuffer_pullup() in corner case |
| 1184 | (cf8d1cd Dan Petro) |
| 1185 | o Clarify an important point about event_base_foreach_event() (920a5e6) |
| 1186 | |
| 1187 | Compilation Fixes/Tool Support |
| 1188 | o avoid valgrind false positive by zeroing epoll_event (1258614 Patrick |
| 1189 | Pelletier) |
| 1190 | o Fix harmless clang enum warning (b452a43 Sebastian Hahn) |
| 1191 | o remove all exes on "make clean", not just regress.exe (974bfa0 Patrick |
| 1192 | Pelletier) |
| 1193 | o Make --disable-libevent-regress work again (787fd74) |
| 1194 | o Do not build strlcpy.c when it will have no code. (4914620) |
| 1195 | |
| 1196 | Portability Fixes |
| 1197 | o When EWOULDBLOCK is not EAGAIN, treat it as equivalent to it (bf7a0ff) |
| 1198 | o Preliminary changes for Minix3. (0dda56a Nicholas Heath) |
| 1199 | o Use AC_CONFIG_HEADERS in place of AM_CONFIG_HEADERS for autmake 1.13 |
| 1200 | compat (bf278b) |
| 1201 | o Avoid using $(top_srcdir) in TESTS. (2863c83) |
| 1202 | o build test/test-script.sh on systems with a less-featureful $< (f935e21) |
| 1203 | o Implement EVUTIL_ERR_IS_EAGAIN on windows. (42aaf4d) |
| 1204 | |
| 1205 | Evhttp changes: |
| 1206 | o Fix ipv6 support for http. When URL contain domain, not IP |
| 1207 | address. (71e709c Azat Khuzhin) |
| 1208 | o uri decode: fix for warning "use of uninitialised value" (64b6ece Azat |
| 1209 | Khuzhin) |
| 1210 | o uri decode: changed the test for the existence of the next character |
| 1211 | (e1903e3 Azat Khuzhin) |
| 1212 | o Move prototype of evhttp_decode_uri_internal() to http-internal.h |
| 1213 | (de8101a Azat Khuzhin) |
| 1214 | o Test: decoding just part of string with evhttp_decode_uri_internal() |
| 1215 | (1367653 Azat Khuzhin) |
| 1216 | o Add new error_cb for actual reporting of HTTP request errors. (7b07719 |
| 1217 | Azat Khuzhin) |
| 1218 | o Add test for EVREQ_HTTP_REQUEST_CANCEL into http_cancel_test() (862c217 |
| 1219 | Azat Khuzhin) |
| 1220 | o Drop extra header http_struct.h from regress_http.c (54cc800 Azat Khuzhin) |
| 1221 | |
| 1222 | Testing |
| 1223 | o Add regress test ipv6_for_domain. (9ec88bd Azat Khuzhin) |
| 1224 | o Add an environment variable (EVENT_DEBUG_MODE) to run unit tests in debug |
| 1225 | mode (2fad0f3) |
| 1226 | o Add a test with an active_later event at event_base_free time. (1c3147f) |
| 1227 | o Make all tests pass under EVENT_DEBUG_MODE=1 (b1b054f) |
| 1228 | o Add some verbose notes to bufferevent unit tests (9d893c9) |
| 1229 | o New test for active_later->active transition on event_active (a153874) |
| 1230 | o New tests for event_base_foreach_event() (0b096ef) |
| 1231 | o Unit tests for event_base_gettimeofday_cached() and |
| 1232 | event_base_update_cache_time() (30ea291) |
| 1233 | o A test for event_get_assignment() (f09629e) |
| 1234 | o More unit tests for initializing common timeouts. (d596739) |
| 1235 | o Fix a bug in the new main/event_foreach test (702c9aa) |
| 1236 | |
| 1237 | Windows: |
| 1238 | o use FormatMessage for winsock errors (0c6ec5d, 2078e9b, 4ccdd53, c9ad3af |
| 1239 | Patrick Pelletier) |
| 1240 | o a program to print out the error strings for winsock errors (7296512 |
| 1241 | Patrick Pelletier) |
| 1242 | o Fix a warning introduced in 0c6ec5d8 (eeb700c) |
| 1243 | o Fix another warning introduced in 0c6ec5d8 (ed26561) |
| 1244 | |
| 1245 | Examples (http) |
| 1246 | o Add sample/https-client.c, an example of stacking evhttp as a client on |
| 1247 | top of bufferevent_ssl. (be46c99 Catalin Patulea) |
| 1248 | o use ${OPENSSL_LIBS} instead of -lssl -lcrypto (bf31fa5 Patrick Pelletier) |
| 1249 | o https-client was putting newlines at 256-byte boundaries (42d7441 Patrick |
| 1250 | Pelletier) |
| 1251 | o better handling of OpenSSL errors (5754d96 Patrick Pelletier) |
| 1252 | o use Debian's default root certificate location (aacd674 Patrick Pelletier) |
| 1253 | o use iSECPartners code to validate hostname in certificate (64d9f16 |
| 1254 | Patrick Pelletier) |
| 1255 | o avoid sign mismatch warning in openssl_hostname_validation.c (6021cb5 |
| 1256 | Patrick Pelletier) |
| 1257 | o pull in wildcard matching code from cURL (4db9da6 Patrick Pelletier) |
| 1258 | o Another tweak to https-client.c (95acdaa) |
| 1259 | o Remove http_struct.h usage in sample/https-client.c (8a90a85) |
| 1260 | |
| 1261 | |
| 1262 | |
| 1263 | Changes in version 2.1.2-alpha (18 Nov 2012) |
| 1264 | |
| 1265 | Libevent 2.1.2-alpha includes more portable for monotonic timers, |
| 1266 | refactors much of Libevent's internal and external infrastructure, |
| 1267 | closes some longstanding gaps in the interface, makde other |
| 1268 | improvements. Ths log below tries to organize features by rough area of |
| 1269 | effect. It omits a few commits which were pure bugfixes on other commits |
| 1270 | listed below. For more detail, see the git changelogs. For more |
| 1271 | insight, see the "whatsnew-2.1.txt" document included in the Libevent |
| 1272 | 2.1.2-alpha distribution. |
| 1273 | |
| 1274 | Libevent 2.1.2-alpha also includes all changes made in 2.0.19-stable |
| 1275 | through 2.0.21-stable inclusive. |
| 1276 | |
| 1277 | Performance (core): |
| 1278 | o Replace pipe-based notification with EVFILT_USER where possible. This |
| 1279 | should make multithreaded programs on OSX and *BSD alert the main thread a |
| 1280 | little faster. (53a07fe) |
| 1281 | o Make th_base_lock nonrecursive. (9cd5acb) |
| 1282 | |
| 1283 | New/Changed API Functions: |
| 1284 | o New event_get_priority() function to return an event's priority (f90e255) |
| 1285 | o Add a bufferevent_get_priority() function (bd39554) |
| 1286 | o Add an event_base_loopcontinue() to tell Libevent to rescan for more |
| 1287 | events right away (7d6aa5e) |
| 1288 | o Add a new callback to get called on evbuffer_file_segment free |
| 1289 | (e9f8feb yangacer, 64051b9) |
| 1290 | o Expose event_base_foreach_event() as a public API. (84fd6d7 Roman |
| 1291 | Puls, 232055e, ffe1643) |
| 1292 | o Add an event_remove_timer() to remove timer on an event without |
| 1293 | deleting it (e3b2e08) |
| 1294 | o Make bufferevent_set_timeouts(bev, NULL, NULL) have plausible |
| 1295 | semantics (9dee36b) |
| 1296 | o Rename event_enable_lock_debuging() to ..._debugging(). (The old name |
| 1297 | should still work.) (07e132e) |
| 1298 | o Add missing implementation for event_enable_debug_logging (3b3e21d) |
| 1299 | |
| 1300 | PORTABLE MONOTONIC TIMERS: |
| 1301 | |
| 1302 | Libevent 2.1.2 includes internal support for monotonic timers on |
| 1303 | (nearly) all supported platforms, including Windows, and OSX. Libevent |
| 1304 | applications should now be more resilient to jumps forwards or backwards |
| 1305 | in the system clock. Also, on Linux systems with epoll, we now |
| 1306 | optionally support microsecond-level timeouts (whereas epoll only |
| 1307 | supports millisecond-precision timeouts). |
| 1308 | |
| 1309 | o Use mach_absolute_time() for monotonic clock support on OSX. (b8fd6f9) |
| 1310 | o Do not track use_monotonic field when is no monotonic clock (cb653a0) |
| 1311 | o EVENT_BASE_FLAG_PRECISE_TIMER indicates we want fine timer precision |
| 1312 | (ddd69d3) |
| 1313 | o On Linux, use CLOCK_MONOTONIC_COARSE by default (55780a7) |
| 1314 | o Implement a GetTickCount-based monotonic timer for Windows (d5e1d5a) |
| 1315 | o Refactor monotonic timer handling into a new type and set of |
| 1316 | functions; add a gettimeofday-based ratcheting implementation (f5e4eb0) |
| 1317 | o Add EVENT_PRECISE_TIMER environment var for selecting precise-but-slow |
| 1318 | timer (a2598ec) |
| 1319 | o Implement fast/precise monotonic clocks on Windows (2c47045) |
| 1320 | o Simple unit tests for monotonic timers (630f077) |
| 1321 | o Improve the monotonic-time unit test: make it check the step size (7428c78) |
| 1322 | o When PRECISE_TIMERS is set with epoll, use timerfd for microsecond |
| 1323 | precision (26c7582) |
| 1324 | o Split out time-related evutil functions into a new evutil_time.c (c419485) |
| 1325 | o Split out time-related prototypes into time-internal.h (71bca50) |
| 1326 | o Add evutil_time.obj to Makefile.nmake (0ba0683) |
| 1327 | o Avoid giving a spurious warning when timerfd support is unavailable |
| 1328 | (1aaf9f0 Dave Hart) |
| 1329 | o Make test_evutil_monotonic a little more tolerant (def3b83) |
| 1330 | o Avoid unused-var warning on systems with clock_gettime but without |
| 1331 | CLOCK_MONOTONIC_COARSE (9be5468) |
| 1332 | |
| 1333 | EVENT_BASE_ONCE LEAKS: |
| 1334 | If a callback added by event_base_once() is never invoked, Libevent no |
| 1335 | longer leaks internal memory. |
| 1336 | |
| 1337 | o Free dangling event_once objects on event_base_free() (c17dd59) |
| 1338 | o Add a unit test in which an event is created with event_base_once() |
| 1339 | but never fires (4343edf) |
| 1340 | |
| 1341 | TESTING SUPPORT, FIXES AND IMPROVEMENTS: |
| 1342 | |
| 1343 | Libevent now disables by default its unit tests that would touch the |
| 1344 | network, or that tend to fail on heavily-loaded systems. To re-enable |
| 1345 | them, invoke the ./test/regress program with the @all alias. |
| 1346 | |
| 1347 | o Simplify test.sh code significantly. (9b856fd Ross Lagerwall) |
| 1348 | o Make all tests that hit the network disabled by default (f2cea87) |
| 1349 | o Avoid a resource leak on error in http client benchmark (ea92fba) |
| 1350 | o Update to latest tinytest (911b4f0349377) (ef7c4f7) |
| 1351 | o Avoid (unlikely) overflow in bench_httpclient.c (5671033) |
| 1352 | o Shave 700 msec off the persistent_timeout_jump test (21205b8) |
| 1353 | o Check return value of write() in regress.c (c8009d2) |
| 1354 | o Make load-dependent monotonic timer tests off-by-default (2b6fe8b) |
| 1355 | o Add deferred_cb_skew to list of timing-dependent tests (34c8f31) |
| 1356 | o Avoid test -e; older shs don't have one. (f1bd938) |
| 1357 | o Fix renegotiation test to work around openssl 1.0.1 bug (c2f3086) |
| 1358 | o Fix a couple of compile warnings in the unit tests (5a9a014) |
| 1359 | |
| 1360 | MISC: |
| 1361 | o Change evutil_weakrand_() to avoid platform random() (e86af4b Nicholas |
| 1362 | Marriott, 3aa4415) |
| 1363 | |
| 1364 | INFRASTRUCTURE (Active-later events): |
| 1365 | As a simplification and optimization to Libevent's "deferred callback" |
| 1366 | logic (introduced in 2.0 to avoid callback recursion), Libevent now |
| 1367 | treats all of its deferrable callback types using the same logic it uses |
| 1368 | for active events. Now deferred events no longer cause priority |
| 1369 | inversion, no longer require special code to cancel them, and so on. |
| 1370 | |
| 1371 | o Refactor the callback part of an event into its own event_callback |
| 1372 | type (cba59e5) |
| 1373 | o Add "active later" event_callbacks to supersede deferred (745a63d) |
| 1374 | o event_base_assert_ok: check value of event_active_count for |
| 1375 | correctness (fec8bae) |
| 1376 | o Replace deferred_cbs with event_callback-based implementation. (ae2b84b) |
| 1377 | o Replace more deferred_cb names with event_callback (a4079aa) |
| 1378 | o Give event_base_process_active a single exit path (581b5be) |
| 1379 | o Restore our priority-inversion-prevention code with deferreds (c0e425a) |
| 1380 | o Refactor event_persist_closure: raise and extract some common logic |
| 1381 | (bec22b4) |
| 1382 | o Remove the unused bits from EVLIST_ALL (9889a3d) |
| 1383 | ||||||| merged common ancestors |
| 1384 | Changes in version 2.0.22-stable (?? Dec 2013) |
| 1385 | |
| 1386 | (As of 3b77d62829c4393bda6f9105a5d3b73b48a64b71.) |
Christopher Wiley | e867981 | 2015-07-01 13:36:18 -0700 | [diff] [blame] | 1387 | |
| 1388 | BUGFIXES (evhttp) |
| 1389 | o fix #73 and fix http_connection_fail_test to catch it (crash fix) (b618204 Greg Hazel) |
| 1390 | o Avoid racy bufferevent activation (5eb1788 Nate Rosenblum) |
| 1391 | |
| 1392 | BUGFIXES (compilation and portability) |
| 1393 | o Fix compilation with WIN32_HAVE_CONDITION_VARIABLES enabled (7e45739) |
| 1394 | o Fix missing AC_PROG_SED on older Autoconfs (9ab2b3f Tay Ray Chuan) |
| 1395 | o Backport libevent to vanilla Autoconf 2.59 (as used in RHEL5) (74d4c44 Kevin Bowling) |
| 1396 | o Use AC_CONFIG_HEADERS in place of AM_CONFIG_HEADERS for autmake 1.13 compat (817ea36) |
| 1397 | o Rename configure.in to configure.ac to appease newer autoconfs (0c79787) |
| 1398 | o Avoid using top_srcdir in TESTS: new automakes do not like this (a55514e) |
| 1399 | o Use windows vsnprintf fixup logic on all windows environments (e826f19) |
| 1400 | o Fix a compiler warning when checking for arc4random_buf linker breakage. (5cb3865) |
| 1401 | o Fix another arc4random_buf-related warning (e64a2b0) |
Christopher Wiley | e867981 | 2015-07-01 13:36:18 -0700 | [diff] [blame] | 1402 | |
| 1403 | BUGFIXES (resource leaks/lock errors on error) |
| 1404 | o Avoid leaking fds on evconnlistener with no callback set (69db261) |
| 1405 | o Avoid double-close on getsockname error in evutil_ersatz_socketpair (0a822a6) |
| 1406 | o Fix a locking error in bufferevent_socket_get_dns_error. (0a5eb2e) |
| 1407 | o libevent/win32_dealloc() : fix sizeof(pointer) vs sizeof(*pointer) (b8f5980 Frank Denis) |
| 1408 | |
Christopher Wiley | e867981 | 2015-07-01 13:36:18 -0700 | [diff] [blame] | 1409 | BUGFIXES (miscellaneous) |
Narayan Kamath | fc74cb4 | 2017-09-13 12:53:52 +0100 | [diff] [blame] | 1410 | o Avoid other RNG initialization FS reads when urandom file is specified (9695e9c, bb52471) |
Christopher Wiley | e867981 | 2015-07-01 13:36:18 -0700 | [diff] [blame] | 1411 | o Avoid redundant invocations of init_extension_functions for IOCP (3b77d62) |
Christopher Wiley | e867981 | 2015-07-01 13:36:18 -0700 | [diff] [blame] | 1412 | |
| 1413 | BUFGIXES (evdns) |
| 1414 | o Checking request nameserver for NULL, before using it. (5c710c0 Belobrov Andrey) |
| 1415 | o Fix SEGFAULT after evdns_base_resume if no nameservers installed. (f8d7df8 Azat Khuzhin) |
Christopher Wiley | e867981 | 2015-07-01 13:36:18 -0700 | [diff] [blame] | 1416 | |
| 1417 | BUGFIXES (evutil_secure_random) |
Christopher Wiley | e867981 | 2015-07-01 13:36:18 -0700 | [diff] [blame] | 1418 | o When we seed from /proc/sys/kernel/random/uuid, count it as success (e35b540) |
| 1419 | o Document that arc4random is not a great cryptographic PRNG. (6e49696) |
| 1420 | o Add evutil_secure_rng_set_urandom_device_file (2bbb5d7) |
| 1421 | o Really remove RNG seeds from the stack (f5ced88) |
| 1422 | |
| 1423 | |
| 1424 | DOCUMENTATION FIXES |
| 1425 | o Fix a mistake in evbuffer_remove() arguments in example http server code (c322c20 Gyepi Sam) |
| 1426 | o Fix a typo in a comment in buffer.h. Spotted by Alt_F4 (773b0a5) |
Narayan Kamath | fc74cb4 | 2017-09-13 12:53:52 +0100 | [diff] [blame] | 1427 | |
Christopher Wiley | e867981 | 2015-07-01 13:36:18 -0700 | [diff] [blame] | 1428 | |
| 1429 | |
| 1430 | Changes in version 2.0.21-stable (18 Nov 2012) |
| 1431 | BUGFIXES: |
| 1432 | o ssl: Don't discard SSL read event when timeout and read come close together (576b29f) |
| 1433 | o ssl: Stop looping in "consider_reading" if reading is suspended. (f719b8a Joachim Bauch) |
| 1434 | o ssl: No need to reserve space if reading is suspended. (1acf2eb Joachim Bauch) |
| 1435 | o dns: Avoid a memory-leak on OOM in evdns. (73e85dd, f2bff75 George Danchev) |
| 1436 | o build: Use python2 rather than python (0eb0109 Ross Lagerwall) |
| 1437 | o build: Compile without warnings on mingw64 (94866c2) |
| 1438 | o build: Fix compilation on mingw64 with -DUSE_DEBUG (62bd2c4) |
| 1439 | o build: Make rpcgen_wrapper.sh work on systems without a "python2" binary (f3009e4) |
| 1440 | o iocp: Close IOCP listener socket on free when LEV_OPT_CLOSE_ON_FREE is set (cb853ea Juan Pablo Fernandez) |
| 1441 | o core: Avoid crash when event_pending() called with no event_base set on event (e3cccf3) |
| 1442 | o misc: remove stray 'x' so print_err will compile when uncommented (ac35650 Patrick Pelletier) |
| 1443 | o tests: Fix renegotiation test to work around openssl 1.0.1 bug (c2f3086) |
| 1444 | o tests: Warn when openssl version in unit test mismatches compiled version. (ac009f9) |
| 1445 | |
| 1446 | |
| 1447 | Changes in version 2.0.20-stable (23 Aug 2012) |
| 1448 | BUGFIXES: |
| 1449 | o core: Make event_pending() threadsafe. (be7a95c Simon Liu) |
| 1450 | o win32: avoid crash when waiting forever on zero fds. (160e58b) |
| 1451 | o evhttp: Fix a memory leak on error in evhttp_uriencode (11c8b31) |
| 1452 | o evbuffer: Avoid possible needless call to writev. Found by coverity. (6a4ec5c) |
| 1453 | o evdns: memset sockaddr_in before using it. Found by coverity. (a1a0e67) |
| 1454 | o evhttp: Check more setsockopt return values when binding sockets. Found by coverity (a0912e3) |
| 1455 | o evdns: Avoid segfault on weird timeout during name lookup. (dc32077 Greg Hazel) |
| 1456 | o bufferevent_ssl: Correctly invoke callbacks when a SSL bufferevent reads some and then blocks. (606ac43) |
| 1457 | |
| 1458 | |
| 1459 | PORTABILITY FIXES: |
| 1460 | o check for arc4random_buf at runtime, on OS X (bff5f94 Greg Hazel) |
| 1461 | o Correctly check for arc4random_buf (fcec3e8 Sebastian Hahn) |
| 1462 | o Add explicit AC_PROG_SED to configure.in so all autoconfs will expose $(SED) (ca80ea6) |
| 1463 | |
| 1464 | BUILD FIXES: |
| 1465 | o Add GCC annotations so that the vsprintf functions get checked properly (117e327) |
| 1466 | o Fix an unused variable warning on *BSD. (c0720c1) |
| 1467 | |
| 1468 | UNIT TEST FIXES: |
| 1469 | o Fix a couple of memory leaks (found with Valgrind). (3b2529a Ross Lagerwall) |
| 1470 | o Remove deadcode in http regression tests. Found by coverity. (5553346) |
| 1471 | o Fix possible uninitialized read in dns regression tests. Found by coverity. (2259777) |
| 1472 | o Set umask before calling mkstemp in unit tests. Found by coverity (f1ce15d) |
| 1473 | o Fix various check-after-dereference issues in unit tests: found by coverity (4f3732d) |
| 1474 | o Fix resource leaks in the unit tests; found by coverity (270f279) |
| 1475 | o Add some missing null checks to unit tests; found by coverity (f021c3d) |
| 1476 | o Avoid more crashes/bad calls in unit tests; found by coverity (3cde5bf) |
| 1477 | o Remove unused variable; spotted by coverity (6355b2a) |
| 1478 | o Add checks to various return values in unit tests. Found by coverity (b9e7329) |
| 1479 | o Move assignment outside tt_assert in ssl unit tests. Appeases coverity. (a2006c0) |
| 1480 | |
| 1481 | |
| 1482 | |
| 1483 | Changes in version 2.0.19-stable (3 May 2012) |
| 1484 | BUGFIXES (CORE): |
| 1485 | o Refactor event_persist_closure: raise and extract some common logic (bec22b4) |
| 1486 | o If time has jumped so we'd reschedule a periodic event in the past, schedule it for the future instead (dfd808c) |
| 1487 | o If a higher-priority event becomes active, don't continue running events of the current priority. (2bfda40) |
| 1488 | |
| 1489 | BUGFIXES (SSL): |
| 1490 | o Fixed potential double-readcb execution with openssl bufferevents. (4e62cd1 Mark Ellzey) |
| 1491 | |
| 1492 | BUGFIXES (DNS): |
| 1493 | o Cancel a probe request when the server is freed, and ignore cancelled probe callbacks (94d2336 Greg Hazel) |
| 1494 | o Remove redundant DNS_ERR_CANCEL check, move comment (46b8060 Greg Hazel) |
| 1495 | o When retransmitting a timed-out DNS request, pick a fresh nameserver. (3d9e52a) |
| 1496 | |
| 1497 | DOCUMENTATION FIXES: |
| 1498 | o Fix a typo in the bufferevent documentation (98e9119) |
| 1499 | o Add missing ) to changelog; spotted by rransom (4c7ee6b) |
| 1500 | o Fix the website URL in the readme (f775521) |
| 1501 | |
| 1502 | COMPILATION FIXES: |
| 1503 | o Fix a compilation error with MSVC 2005 due to use of mode_t (336dcae) |
| 1504 | o Configure with gcc older than 2.95 (4a6fd43 Sebastian Hahn) |
| 1505 | o Generate event-config.h with a single sed script (30b6f88 Zack Weinberg) |
| 1506 | |
| 1507 | FORWARD-COMPATIBILITY: |
| 1508 | o Backport: provide EVENT_LOG_* names, and deprecate _EVENT_LOG_* (d1a03b2) |
| 1509 | |
| 1510 | TESTING/DEBUGGING SUPPORT: |
| 1511 | o dns-example.c can now take a resolv.conf file on the commandline (6610fa5) |
| 1512 | o Make some evdns.c debug logs more verbose (d873d67) |
| 1513 | o Work-around a stupid gcov-breaking bug in OSX 10.6 (b3887cd) |
| 1514 | |
| 1515 | |
| 1516 | |
| 1517 | Changes in version 2.0.18-stable (22 Mar 2012) |
| 1518 | BUGFIXES (core): |
| 1519 | o Make uses of open() close-on-exec safe by introducing an internal evutil_open_closeonexec. (d2b5f72 Ross Lagerwall, 03dce42) |
| 1520 | |
| 1521 | BUGFIXES (kqueue): |
| 1522 | o Properly zero the kevent in kq_setup_kevent() (c2c7b39 Sebastian Hahn) |
| 1523 | |
| 1524 | BUILD FIXES: |
| 1525 | o Added OPENSSL_LDFLAGS env variable which is appended to SSL checks. (9278196 Mark Ellzey) |
| 1526 | o Changed OPENSSL_LDFLAGS to OPENSSL_LIBADD (2d67b63 Mark Ellzey) |
| 1527 | o Don't do clang version detection when disabling some flags (083296b Sebastian Hahn) |
| 1528 | |
| 1529 | BUGFIXES (dns): |
| 1530 | o Stop crashing in evdns when nameserver probes give a weird error (bec5068) |
| 1531 | |
| 1532 | |
| 1533 | Changes in version 2.0.17-stable (10 Feb 2012) |
| 1534 | |
| 1535 | BUGFIXES (core): |
| 1536 | o Be absolutely sure to clear pncalls before leaving event_signal_closure (11f36a5) |
| 1537 | o check for sysctl before we use it (358c745 Mike Frysinger) |
| 1538 | o Remove bogus casts of socket to int before calling ev_callback (f032516) |
| 1539 | o Make evconnlistener work around bug in older Linux when getting nmapped (ecfc720) |
| 1540 | o Fix a list corruption bug when using event_reinit() with signals present (6e41cdc) |
| 1541 | o Fix a fd leak in event_reinit() (3f18ad1) |
| 1542 | o Do a memberwise comparison of threading function tables (c94a5f2 Nate R) |
| 1543 | o Use C-style comments in C source files (for compatibility with compilers such as xlc on AIX). (d84d917 Greg Hewgill) |
| 1544 | o Avoid crash when freeing event_iocp and using event_set_mem_functions (19715a6) |
| 1545 | o In the kqueue backend, do not report EBADF as an EV_READ (5d7bfa1 Nicholas Marriott) |
| 1546 | |
| 1547 | BUGFIXES (evbuffer and bufferevents): |
| 1548 | o Fix behavior of evbuffer_peek(buf,-1,NULL,NULL,0) (c986f23 Zack Weinberg) |
| 1549 | o Loop on filtering SSL reads until we are blocked or exhausted. (5b4b812) |
| 1550 | |
| 1551 | BUGFIXES (evhttp): |
| 1552 | o Force strict validation of HTTP version in response. (790f6b3 Catalin Patulea) |
| 1553 | |
| 1554 | BUGFIXES (evdns): |
| 1555 | o evdns: fix a bug in circular-queue implementation (d6094b1) |
| 1556 | |
| 1557 | BUILD FIXES: |
| 1558 | o Fix a silly compilation error with the sun compiler (1927776 Colin Watt) |
| 1559 | o Suppress a gcc warning from ignoring fwrite return in http-sample.c (7206e8c) |
| 1560 | |
| 1561 | DOCUMENTATION FIXES: |
| 1562 | o Slightly clarify evbuffer_peek documentation (7bbf6ca) |
| 1563 | o Update copyright notices to 2012 (e49e289) |
| 1564 | |
| 1565 | NEW APIS: |
| 1566 | o Backport evhttp_connection_get_bufferevent to Libevent 2.0 (da70fa7 Arno Bakker) |
| 1567 | |
| 1568 | TESTS AND TEST FIXES: |
| 1569 | o Fix a race condition in the dns/bufferevent_connect_hostname test. (cba48c7) |
| 1570 | o Add function to check referential integrity of an event_base (27737d5) |
| 1571 | o Check event_base correctness at end of each unit test (3312b02) |
| 1572 | o Workaround in the unit tests for an apparent epoll bug in Linux 3.2 (dab9187) |
| 1573 | o Better workaround for Linux 3.2 edge-triggered epoll bug (9f9e259) |
| 1574 | |
| 1575 | Changes in version 2.0.16-stable (18 Nov 2011) |
| 1576 | BUGFIXES (core): |
| 1577 | o More detailed message in case of libevent self-debugging failure. (9e6a4ef Leonid Evdokimov) |
| 1578 | o epoll: close fd on alloc fail at initialization (1aee718 Jamie Iles) |
| 1579 | o Fix compile warning from saying event2/*.h inside a comment (447b0ba) |
| 1580 | o Warn when unable to construct base because of failing make_base_notifiable (4e797f3) |
| 1581 | o Don't try to make notifiable event_base when no threading fns are configured (e787413) |
| 1582 | |
| 1583 | BUGFIXES (evbuffer): |
| 1584 | o unit test for remove_buffer bug (90bd620 Greg Hazel) |
| 1585 | o Fix an evbuffer crash in evbuffer_remove_buffer() (c37069c) |
| 1586 | |
| 1587 | BUGFIXES (bufferevent_openssl): |
| 1588 | o Refactor amount-to-read calculations in buffervent_ssl consider_reading() (a186e73 Mark Ellzey) |
| 1589 | o Move SSL rate-limit enforcement into bytes_to_read() (96c562f) |
| 1590 | o Avoid spinning on OpenSSL reads (2aa036f Mark Ellzey) |
| 1591 | |
| 1592 | BUGFIXES (dns) |
| 1593 | o Empty DNS reply with OK status is another way to say NODATA. (21a08d6 Leonid Evdokimov) |
| 1594 | |
| 1595 | TESTING: |
| 1596 | o Tests for 94fba5b and f72e8f6 (d58c15e Leonid Evdokimov) |
| 1597 | o Test for commit aff6ba1 (f7841bf Leonid Evdokimov) |
| 1598 | o Style and comment tweaks for dns/leak* tests (5e42202) |
| 1599 | o improve test to remove at least one buffer from src (7eb52eb Greg Hazel) |
| 1600 | |
| 1601 | DOCUMENTATION: |
| 1602 | o Add note about evhttp_send_reply_end to its doxygen (724bfb5) |
| 1603 | o Update copyright dates to 2011. (3c824bd) |
| 1604 | o Fix typo in whatsnew-2.0.txt (674bc6a Mansour Moufid) |
| 1605 | o Improve win32 behavior of dns-sample.c code (a3f320e Gisle Vanem) |
| 1606 | |
| 1607 | |
| 1608 | |
| 1609 | Changes in version 2.0.15-stable (12 Oct 2011) |
| 1610 | BUGFIXES (DNS): |
| 1611 | o DNS: add ttl for negative answers using RFC 2308 idea. (f72e8f6 Leonid Evdokimov) |
| 1612 | o Add DNS_ERR_NODATA error code to handle empty replies. (94fba5b Leonid Evdokimov) |
| 1613 | |
| 1614 | BUFGIXES (bufferevents and evbuffers): |
| 1615 | o Make evbuffer callbacks get the right n_added value after evbuffer_add (1ef1f68 Alex) |
| 1616 | o Prefer mmap to sendfile unless a DRAINS_TO_FD flag is set. Allows add_file to work with SSL. (0ba0af9) |
| 1617 | |
| 1618 | BUGFIXES (event loop): |
| 1619 | o When a signal callback is activated to run multiple times, allow event_base_loopbreak to work even before they all have run. (4e8eb6a) |
| 1620 | |
| 1621 | DOCUMENTATION FIXES: |
| 1622 | o Fix docstring in dns.h (2b6eae5 Leonid Evdokimov) |
| 1623 | o refer to non-deprecated evdns functions in comments (ba5c27d Greg Hazel) |
| 1624 | |
| 1625 | BUILD AND TESTING FIXES: |
| 1626 | o le-proxy and regress depend on openssl directly (9ae061a Sergey Avseyev) |
| 1627 | o Use _SOURCES, not _sources, in sample/Makefile.am (7f82382) |
| 1628 | o Fixed compiler warnings for unchecked read/write calls. (c3b62fd Mark Ellzey) |
| 1629 | o Make write-checking fixes use tt_fail_perror (2b76847) |
| 1630 | o Fix some "value never used" warnings with gcc 4.6.1 (39c0cf7) |
| 1631 | |
| 1632 | |
| 1633 | |
| 1634 | Changes in version 2.0.14-stable (31 Aug 2011) |
| 1635 | BUGFIXES (bufferevents and evbuffers): |
| 1636 | o Propagate errors on the underlying bufferevent to the user. (4a34394 Joachim Bauch) |
| 1637 | o Ignore OpenSSL deprecation warnings on OS X (5d1b255 Sebastian Hahn) |
| 1638 | o Fix handling of group rate limits under 64 bytes of burst (6d5440e) |
| 1639 | o Solaris sendfile: correctly detect amount of data sent (643922e Michael Herf) |
| 1640 | o Make rate limiting work with common_timeout logic (5b18f13) |
| 1641 | o clear read watermark on underlying bufferevent when creating filtering bev to fix potentially failing fragmented ssl handshakes (54f7e61 Joachim Bauch) |
| 1642 | |
| 1643 | BUGFIXES (IOCP): |
| 1644 | o IOCP: don't launch reads or writes on an unconnected socket (495c227) |
| 1645 | o Make IOCP rate-limiting group support stricter and less surprising. (a98da7b) |
| 1646 | o Have test-ratelim.c support IOCP (0ff2c5a) |
| 1647 | o Make overlapped reads result in evbuffer callbacks getting invoked (6acfbdd) |
| 1648 | o Correctly terminate IO on an async bufferevent on bufferevent_free (e6af35d) |
| 1649 | |
| 1650 | BUGFIXES (other): |
| 1651 | o Fix evsig_dealloc memory leak with debugging turned on. (9b724b2 Leonid Evdokimov) |
| 1652 | o Fix request_finished memory leak with debugging turned on. (aff6ba1 Leonid Evdokimov) |
| 1653 | |
| 1654 | BUILD AND TESTING FIXES: |
| 1655 | o Allow OS-neutral builds for platforms where some versions have arc4random_buf (b442302 Mitchell Livingston) |
| 1656 | o Try to fix 'make distcheck' errors when building out-of-tree (04656ea Dave Hart) |
| 1657 | o Clean up some problems identified by Coverity. (7c11e51 Harlan Stenn) |
| 1658 | |
| 1659 | |
| 1660 | Changes in version 2.0.13-stable (18 Jul 2011) |
| 1661 | BUGFIXES |
| 1662 | o Avoid race-condition when initializing global locks (b683cae) |
| 1663 | o Fix bug in SSL bufferevents backed by a bev with a write high-watermarks (e050703 Joachim Bauch) |
| 1664 | o Speed up invoke_callbacks on evbuffers when there are no callbacks (f87f568 Mark Ellzey) |
| 1665 | o Avoid a segfault when all methods are disabled or broken (27ce38b) |
| 1666 | o Fix incorrect results from evbuffer_search_eol(EOL_LF) (4461f1a) |
| 1667 | o Add some missing checks for mm_calloc failures (89d5e09) |
| 1668 | o Replace an assertion for event_base_free(NULL) with a check-and-warn (09fe97d) |
| 1669 | o Report kqueue ebadf, epipe, and eperm as EV_READ events (1fd34ab) |
| 1670 | o Check if the `evhttp_new_object' function in `http.c' returns NULL. (446cc7a Mansour Moufid) |
| 1671 | o Use the correct printf args when formatting size_t (3203f88) |
| 1672 | o Complain if the caller tries to change threading cbs after setting them (cb6ecee) |
| 1673 | |
| 1674 | DOCUMENTATION FIXES AND IMPROVEMENTS |
| 1675 | o Revise the event/evbuffer/bufferevent doxygen for clarity and accuracy (2888fac) |
| 1676 | o Update Doxyfile to produce more useful output (aea0555) |
| 1677 | |
| 1678 | TEST FIXES |
| 1679 | o Fix up test_evutil_snprintf (caf695a) |
| 1680 | o Fix tinytest invocation from windows shell (57def34 Ed Day) |
| 1681 | |
| 1682 | BUILD FIXES |
| 1683 | o Use AM_CPPFLAGS in sample/Makefile.am, not AM_CFLAGS (4a5c82d) |
| 1684 | o Fix select.c compilation on systems with no NFDBITS (49d1136) |
| 1685 | o Fix a few warnings on OpenBSD (8ee9f9c Nicholas Marriott) |
| 1686 | o Don't break when building tests from git without python installed (b031adf) |
| 1687 | o Don't install event_rpcgen.py when --disable-libevent-install is used (e23cda3 Harlan Stenn) |
| 1688 | o Fix AIX build issue with TAILQ_FOREACH definition (e934096) |
| 1689 | |
| 1690 | |
| 1691 | Changes in version 2.0.12-stable (4 Jun 2011) |
| 1692 | BUGFIXES |
| 1693 | o Fix a warn-and-fail bug in kqueue by providing kevent() room to report errors (28317a0) |
| 1694 | o Fix an assert-inducing fencepost bug in the select backend (d90149d) |
| 1695 | o Fix failing http assertion introducd in commit 0d6622e (0848814 Kevin Ko) |
| 1696 | o Fix a bug that prevented us from configuring IPv6 nameservers. (74760f1) |
| 1697 | o Prevent size_t overflow in evhttp_htmlescape. (06c51cd Mansour Moufid) |
| 1698 | o Added several checks for under/overflow conditions in evhttp_handle_chunked_read (a279272 Mark Ellzey) |
| 1699 | o Added overflow checks in evhttp_read_body and evhttp_get_body (84560fc Mark Ellzey) |
| 1700 | |
| 1701 | DOCUMENTATION: |
| 1702 | o Add missing words to EVLOOP_NONBLOCK documentation (9556a7d) |
| 1703 | |
| 1704 | BUILD FIXES |
| 1705 | o libssl depends on libcrypto, not the other way around. (274dd03 Peter Rosin) |
| 1706 | o Libtool brings in the dependencies of libevent_openssl.la automatically (7b819f2 Peter Rosin) |
| 1707 | o Use OPENSSL_LIBS in Makefile.am (292092e Sebastian Hahn) |
| 1708 | o Move the win32 detection in configure.in (ceb03b9 Sebastian Hahn) |
| 1709 | o Correctly detect openssl on windows (6619385 Sebastian Hahn) |
| 1710 | o Fix a compile warning with zlib 1.2.4 and 1.2.5 (5786b91 Sebastian Hahn) |
| 1711 | o Fix compilation with GCC 2, which had no __builtin_expect (09d39a1 Dave Hart) |
| 1712 | o Fix new warnings from GCC 4.6 (06a714f) |
| 1713 | o Link with -lshell32 and -ladvapi32 on Win32. (86090ee Peter Rosin) |
| 1714 | o Make the tests build when OpenSSL is not available. (07c41be Peter Rosin) |
| 1715 | o Bring in the compile script from automake, if needed. (f3c7a4c Peter Rosin) |
| 1716 | o MSVC does not provide S_ISDIR, so provide it manually. (70be7d1 Peter Rosin) |
| 1717 | o unistd.h and sys/time.h might not exist. (fe93022 Peter Rosin) |
| 1718 | o Make sure TINYTEST_LOCAL is defined when building tinytest.c (8fa030c Peter Rosin) |
| 1719 | o Fix winsock2.h #include issues with MSVC (3d768dc Peter Rosin) |
| 1720 | o Use evutil_gettimeofday instead of relying on the system gettimeofday. (0de87fe Peter Rosin) |
| 1721 | o Always use evutil_snprintf, even if OS provides it (d1b2d11 Sebastian Hahn) |
| 1722 | o InitializeCriticalSectionAndSpinCount requires _WIN32_WINNT >= 0x0403. (816115a Peter Rosin) |
| 1723 | o cygwin: make it possible to build DLLs (d54d3fc) |
| 1724 | |
| 1725 | |
| 1726 | |
| 1727 | Changes in version 2.0.11-stable (27 Apr 2011) |
| 1728 | [Autogenerated from the Git log, sorted and cleaned by hand.] |
| 1729 | BUGFIXES: |
| 1730 | o Fix evport handling of POLLHUP and POLLERR (b42ce4b) |
| 1731 | o Fix compilation on Windows with NDEBUG (cb8059d) |
| 1732 | o Check for POLLERR, POLLHUP and POLLNVAL for Solaris event ports (0144886 Trond Norbye) |
| 1733 | o Detect and handle more allocation failures. (666b096 Jardel Weyrich) |
| 1734 | o Use event_err() only if the failure is truly unrecoverable. (3f8d22a Jardel Weyrich) |
| 1735 | o Handle resize failures in the select backend better. (83e805a) |
| 1736 | o Correctly free selectop fields when select_resize fails in select_init (0c0ec0b) |
| 1737 | o Make --enable-gcc-warnings a no-op if not using gcc (3267703) |
| 1738 | o Fix a type error in our (unused) arc4random_stir() (f736198) |
| 1739 | o Correctly detect and stop non-chunked http requests when the body is too long (63a715e) |
| 1740 | o Have event_base_gettimeofday_cached() always return wall-clock time (a459ef7) |
| 1741 | o Workaround for http crash bug 3078187 (5dc5662 Tomash Brechko) |
| 1742 | o Fix incorrect assertions and possible use-after-free in evrpc_free() (4b8f02f Christophe Fillot) |
| 1743 | o Reset outgoing http connection when read data in idle state. (272823f Tomash Brechko) |
| 1744 | o Fix subtle recursion in evhttp_connection_cb_cleanup(). (218cf19 Tomash Brechko) |
| 1745 | o Fix the case when failed evhttp_make_request() leaved request in the queue. (0d6622e Tomash Brechko) |
| 1746 | o Fix a crash bug in evdns server circular list code (00e91b3) |
| 1747 | o Handle calloc failure in evdns. (Found by Dave Hart) (364291e) |
| 1748 | o Fix a memory leak on win32 socket->event map. (b4f89f0) |
| 1749 | o Add a forgotten NULL check to evhttp_parse_headers (12311ff Sebastian Hahn) |
| 1750 | o Fix possible NULL-deref in evdns_cancel_request (5208544 Sebastian Hahn) |
| 1751 | |
| 1752 | PORTABILITY: |
| 1753 | o Fall back to sscanf if we have no other way to implement strtoll (453317b) |
| 1754 | o Build correctly on platforms without sockaddr_storage (9184563) |
| 1755 | o Try to build correctly on platforms with no IPv6 support (713c254) |
| 1756 | o Build on systems without AI_PASSIVE (cb92113) |
| 1757 | o Fix http unit test on non-windows platforms without getaddrinfo (6092f12) |
| 1758 | o Do not check for gethostbyname_r versions if we have getaddrinfo (c1260b0) |
| 1759 | o Include arpa/inet.h as needed on HPUX (10c834c Harlan Stenn) |
| 1760 | o Include util-internal.h as needed to build on platforms with no sockaddr_storage (bbf5515 Harlan Stenn) |
| 1761 | o Check for getservbyname even if not on win32. (af08a94 Harlan Stenn) |
| 1762 | o Add -D_OSF_SOURCE to fix hpux builds (0b33479 Harlan Stenn) |
| 1763 | o Check for allocation failures in apply_socktype_protocol_hack (637d17a) |
| 1764 | o Fix the check for multicast or broadcast addresses in evutil_check_interfaces (1a21d7b) |
| 1765 | o Avoid a free(NULL) if out-of-memory in evdns_getaddrinfo. Found by Dave Hart (3417f68) |
| 1766 | |
| 1767 | DEFENSIVE PROGRAMMING: |
| 1768 | o Add compile-time check for AF_UNSPEC==PF_UNSPEC (3c8f4e7) |
| 1769 | |
| 1770 | BUGS IN TESTS: |
| 1771 | o Fix test.sh output on solaris (b4f89b6 Dave Hart) |
| 1772 | o Make test-eof fail with a timeout if we never get an eof. (05a2c22 Harlan Stenn) |
| 1773 | o Use %s with printf in test.sh (039b9bd) |
| 1774 | o Add an assert to appease clang's static analyzer (b0ff7eb Sebastian Hahn) |
| 1775 | o Add a forgotten return value check in the unit tests (3819b62 Sebastian Hahn) |
| 1776 | o Actually send NULL request in http_bad_request_test (b693c32 Sebastian Hahn) |
| 1777 | o add some (void) casts for unused variables (65707d7 Sebastian Hahn) |
| 1778 | o Refactor test_getaddrinfo_async_cancel_stress() (48c44a6 Sebastian Hahn) |
| 1779 | o Be nice and "handle" error return values in sample code (4bac793 Sebastian Hahn) |
| 1780 | o Check return value of evbuffer_add_cb in tests (93a1abb Sebastian Hahn) |
| 1781 | o Remote some dead code from dns-example.c (744c745 Sebastian Hahn) |
| 1782 | o Zero a struct sockaddr_in before using it (646f9fe Sebastian Hahn) |
| 1783 | |
| 1784 | BUILD FIXES: |
| 1785 | o Fix warnings about AC_LANG_PROGRAM usage (f663112 Sebastian Hahn) |
| 1786 | o Skip check for zlib if we have no zlib.h (a317c06 Harlan Stenn) |
| 1787 | o Fix autoconf bracket issues; make check for getaddrinfo include netdb.h (833e5e9 Harlan Stenn) |
| 1788 | o Correct an AM_CFLAGS to an AM_CPPFLAGS in test/Makefile.am (9c469db Dave Hart) |
| 1789 | o Fix make distcheck & installation of libevent 1 headers (b5a1f9f Dave Hart) |
| 1790 | o Fix compilation under LLVM/clang with --enable-gcc-warnings (ad9ff58 Sebastian Hahn) |
| 1791 | |
| 1792 | FEATURES: |
| 1793 | o Make URI parser able to tolerate nonconformant URIs. (95060b5) |
| 1794 | |
| 1795 | DOCUMENTATION: |
| 1796 | o Clarify event_set_mem_functions doc (926f816) |
| 1797 | o Correct evhttp_del_accept_socket documentation on whether socket is closed (f665924) |
| 1798 | o fix spelling mistake in whatsnew-2.0.txt (deb2f73) |
| 1799 | o Fix sample/http-server ipv6 fixes (eb692be) |
| 1800 | o Comment internal headers used in sample code. (4eb281c) |
| 1801 | o Be explicit about how long event loops run in event.h documentation (f95bafb) |
| 1802 | o Add comment to configure.in to explain gc-sections test logic (c621359) |
| 1803 | o Fix a couple of memory leaks in samples/http-server.c. Found by Dave Hart. (2e9f665) |
| 1804 | |
Narayan Kamath | fc74cb4 | 2017-09-13 12:53:52 +0100 | [diff] [blame] | 1805 | |
| 1806 | |
Christopher Wiley | e867981 | 2015-07-01 13:36:18 -0700 | [diff] [blame] | 1807 | BUILD IMPROVEMENTS: |
Narayan Kamath | fc74cb4 | 2017-09-13 12:53:52 +0100 | [diff] [blame] | 1808 | Libevent 2.1.2-alpha modernizes Libevent's use of autotools, and makes |
| 1809 | numerous other build system. Parallel builds should be faster, and all |
| 1810 | builds should be quieter. |
Christopher Wiley | e867981 | 2015-07-01 13:36:18 -0700 | [diff] [blame] | 1811 | |
Narayan Kamath | fc74cb4 | 2017-09-13 12:53:52 +0100 | [diff] [blame] | 1812 | o Split long lists in Makefile.am into one-item-per-line (2711cda) |
| 1813 | o Remove unnecessary code in configure.in. (e65914f Ross Lagerwall) |
| 1814 | o attempt to support OpenSSL in Makefile.nmake (eba0eb2 Patrick Pelletier) |
| 1815 | o Use newer syntax for autoconf/automake init (7d60ba8) |
| 1816 | o Enable silent build rules by default. Override with V=1 (7b18e5c) |
| 1817 | o Switch to non-recursive makefiles (7092f3b) |
| 1818 | o Rename subordinate Makefile.ams to include.am (6cdfeeb) |
| 1819 | o Make quiet build even quieter (371a123) |
| 1820 | o New --quiet option for event_rpcgen.py (aa59c1e) |
| 1821 | o Be quiet when making regress.gen.[ch] (607a8ff) |
| 1822 | o Fix handling of no-python case for nonrecursive make (1e3123d) |
| 1823 | o We now require automake 1.9 or later. Modernize! (b7f6e89) |
| 1824 | o Rename configure.in to configure.ac. (b3fea67 Ross Lagerwall) |
| 1825 | o Use correct openssl libs and includes in pkgconfig file (d70af27) |
| 1826 | o Use the same CFLAGS for openssl when building unit tests as with |
| 1827 | libevent (1d9d511) |
Christopher Wiley | e867981 | 2015-07-01 13:36:18 -0700 | [diff] [blame] | 1828 | |
| 1829 | DOCUMENTATION |
Narayan Kamath | fc74cb4 | 2017-09-13 12:53:52 +0100 | [diff] [blame] | 1830 | o Note that make_base_notifiable should not be necessary (26ee5f9) |
| 1831 | o Be more clear that LEV_OPT_DEFERRED_ACCEPT has tricky prereqs (371efeb) |
| 1832 | o Add caveat to docs about bufferevent_free() with data in outbuf (6fab9ee) |
| 1833 | o Make it more clear that NOLOCK means "I promise, no multithreading" |
| 1834 | (9444524) |
| 1835 | o Fix a comment in test-fdleak after 077c7e949. (3881d8f Ross Lagerwall) |
| 1836 | o Make the Makefile.nmake warning slightly less dire (e7bf4c8) |
| 1837 | o Fix typo : events instead of evets (05f1aca Azat Khuzhin) |
| 1838 | o Additional comments about OPENSSL_DIR variable, prompted by Dave Hart |
| 1839 | (6bde2ef Patrick Pelletier) |
Christopher Wiley | e867981 | 2015-07-01 13:36:18 -0700 | [diff] [blame] | 1840 | |
Narayan Kamath | fc74cb4 | 2017-09-13 12:53:52 +0100 | [diff] [blame] | 1841 | EVHTTP: |
| 1842 | o ignore LWS after field-content in headers (370a2c0 Artem Germanov) |
| 1843 | o Clean up rtrim implementation (aa59d80) |
| 1844 | o Remove trailing tabs in HTTP headers as well. (ac42519) |
| 1845 | o Remove internal ws from multiline http headers correctly (c6ff381) |
| 1846 | o Move evutil_rtrim_lws_ to evutil.c where it belongs (61b93af) |
| 1847 | o add evhttp_request_get_response_code_line (4f4d0c9 Jay R. Wren) |
| 1848 | o Use EVUTIL_SOCKET_ERROR() wrapper to save/restore errno in |
| 1849 | evhttp_connection_fail_ (7afbd60) |
| 1850 | o preserve errno in evhttp_connection_fail_ for inspection by the |
| 1851 | callback (36d0ee5 Patrick Pelletier) |
Christopher Wiley | e867981 | 2015-07-01 13:36:18 -0700 | [diff] [blame] | 1852 | |
Narayan Kamath | fc74cb4 | 2017-09-13 12:53:52 +0100 | [diff] [blame] | 1853 | BUGFIXES: |
| 1854 | o Correctly handle running on a system where accept4 doesn't work. (9fbfe9b) |
| 1855 | o Avoid double-free on error in evbuffer_add_file. Found by |
| 1856 | coverity. (6a81b1f) |
| 1857 | o Fix another possible uninitialized read in dns regression tests. Found |
| 1858 | by coverity. (13525c5) |
| 1859 | o Add checks for functions in test-ratelim.c; found by Coverity (aa501e1) |
| 1860 | o Avoid memory leak in test_event_calloc unit test; found by coverity |
| 1861 | (92817a1) |
| 1862 | o Fix a shadowed variable in addfile_test_readcb; found by coverity |
| 1863 | (225344c) |
| 1864 | o Check return value when using LEV_OPT_DEFERRED_ACCEPT. Found by |
| 1865 | coverity (6487f63) |
| 1866 | o Prevent reference leak of bufferevent if getaddrinfo fails. (b757786 |
| 1867 | Joachim Bauch) |
| 1868 | o Make event_base_getnpriorities work with old "implicit base" code |
| 1869 | (c46cb9c) |
| 1870 | o Simplify and correct evutil_open_closeonexec_ (0de587f) |
| 1871 | o Fix event_dlist definition when sys/queue not included (81b6209 |
| 1872 | Derrick Pallas) |
Christopher Wiley | e867981 | 2015-07-01 13:36:18 -0700 | [diff] [blame] | 1873 | |
| 1874 | |
| 1875 | |
Narayan Kamath | fc74cb4 | 2017-09-13 12:53:52 +0100 | [diff] [blame] | 1876 | Changes in version 2.1.1-alpha (4 Apr 2012) |
Christopher Wiley | e867981 | 2015-07-01 13:36:18 -0700 | [diff] [blame] | 1877 | |
Narayan Kamath | fc74cb4 | 2017-09-13 12:53:52 +0100 | [diff] [blame] | 1878 | Libevent 2.1.1-alpha includes a number of new features and performance |
| 1879 | improvements. The log below tries to organize them by rough area of |
| 1880 | effect. It omits some commits which were pure bugfixes on other commits |
| 1881 | listed below. For more detail, see the git changelogs. For more |
| 1882 | insight, see the "whatsnew-2.1.txt" document included in the Libevent |
| 1883 | 2.1.1-alpha distribution. |
Christopher Wiley | e867981 | 2015-07-01 13:36:18 -0700 | [diff] [blame] | 1884 | |
Narayan Kamath | fc74cb4 | 2017-09-13 12:53:52 +0100 | [diff] [blame] | 1885 | Performance: Core |
| 1886 | o Replace several TAILQ users with LIST. LIST can be a little faster than |
| 1887 | TAILQ for cases where we don't need queue-like behavior. (f9db33d, |
| 1888 | 6494772, d313c29, 974d004) |
| 1889 | o Disabled code to optimize the case where we reinsert an existing |
| 1890 | timeout (e47042f, 09cbc3d) |
| 1891 | o Remove a needless base-notify when rescheduling the first timeout (77a96fd) |
| 1892 | o Save a needless comparison when removing/adjusting timeouts (dd5189b) |
| 1893 | o Possible optimization: split event_queue_insert/remove into |
| 1894 | separate functions. needs testing (efc4dc5) |
| 1895 | o Make event_count maintenance branchless at the expense of an |
| 1896 | extra shift. Needs benchmarking (d1cee3b) |
| 1897 | o In the 2.1 branch, let's try out lazy gettimeofday/clock_gettime |
| 1898 | comparison (2a83ecc) |
| 1899 | o Optimization in event_process_active(): ignore maxcb & endtime |
| 1900 | for highest priority events. (a9866aa Alexander Drozdov) |
| 1901 | o Bypass event_add when using event_base_once() for a 0-sec timeout (35c5c95) |
| 1902 | o Remove the eventqueue list and the ev_next pointers. (604569b 066775e) |
Christopher Wiley | e867981 | 2015-07-01 13:36:18 -0700 | [diff] [blame] | 1903 | |
Narayan Kamath | fc74cb4 | 2017-09-13 12:53:52 +0100 | [diff] [blame] | 1904 | Performance: Evbuffers |
| 1905 | o Roughly 20% speed increase when line-draining a buffer using |
| 1906 | EVBUFFER_EOL_CRLF (5dde0f0 Mina Naguib) |
| 1907 | o Try to squeeze a little more speed out of EVBUFFER_EOL_CRLF (7b9d139) |
| 1908 | o Fix a bug in the improved EOL_CRLF code (d927965) |
| 1909 | o Remove a needless branch in evbuffer_drain() (d19a326) |
Christopher Wiley | e867981 | 2015-07-01 13:36:18 -0700 | [diff] [blame] | 1910 | |
Narayan Kamath | fc74cb4 | 2017-09-13 12:53:52 +0100 | [diff] [blame] | 1911 | Performance: Linux |
| 1912 | o Infrastructure for using faster/fewer syscalls when creating |
| 1913 | sockets (a1c042b) |
| 1914 | o Minimize syscalls during socket creation in listener.c (7e9e289) |
| 1915 | o Use a wrapper function to create the notification |
| 1916 | pipe/socketpair/eventfd (ca76cd9) |
| 1917 | o Use pipes for telling signals to main thread when possible (a35f396) |
| 1918 | o Save syscalls when constructing listener sockets for evhttp (af6c9d8) |
| 1919 | o Save some syscalls when creating evdns sockets (713e570) |
| 1920 | o Save some syscalls when constructing a socket for a bufferevent (33fca62) |
| 1921 | o Prefer epoll_create1 on Linuxen that have it (bac906c) |
Christopher Wiley | e867981 | 2015-07-01 13:36:18 -0700 | [diff] [blame] | 1922 | |
Narayan Kamath | fc74cb4 | 2017-09-13 12:53:52 +0100 | [diff] [blame] | 1923 | Performance: Epoll backend |
| 1924 | o Use current event set rather than current pending change when |
| 1925 | deciding whether to no-op a del (04ba27e Mike Smellie) |
| 1926 | o Replace big chain of if/thens in epoll.c with a table lookup (8c83eb6) |
| 1927 | o Clean up error handling in epoll_apply_one_change() a little (2d55a19) |
| 1928 | |
| 1929 | Performance: Evport backend |
| 1930 | o evport: use evmap_io to track fdinfo status. Should save time and |
| 1931 | RAM. (4687ce4) |
| 1932 | o evport: Remove a linear search over recent events when |
| 1933 | reactivating them (0f77efe) |
| 1934 | o evport: Use portev_user to remember fdinfo struct (276ec0e) |
| 1935 | o evport: don't scan more events in ed_pending than needed (849a5cf) |
| 1936 | o evport: Remove artificial low limit on max events per getn call (c04d927) |
| 1937 | o Reenable main/many_events_slow_add for evport in 2.1 (e903db3) |
| 1938 | |
| 1939 | Performance: Windows |
| 1940 | o Use GetSystemTimeAsFileTime to implement gettimeofday on |
| 1941 | win32. It's faster and more accurate than our old |
| 1942 | approach. (b8b8aa5) |
| 1943 | |
| 1944 | New functions and features: debugging |
| 1945 | o Add event_enable_debug_logging() to control use of debug logs (e30a82f) |
| 1946 | |
| 1947 | New functions and features: core |
| 1948 | o Add event_config function to limit time/callbacks between calls |
| 1949 | to dispatch (fd4de1e, 9fa56bd, a37a0c0, 3c63edd) |
| 1950 | o New EVLOOP_NO_EXIT_ON_EMPTY option to keep looping even when no |
| 1951 | events are pending (084e68f) |
| 1952 | o Add event_base_get_npriorities() function. (ee3a4ee Alexander Drozdov) |
| 1953 | o Make evbase_priority_init() and evbase_get_npriorities() |
| 1954 | threadsafe (3c55b5e) |
| 1955 | o New event_base_update_cache_time() to set cached_tv to current |
| 1956 | time (212533e Abel Mathew) |
| 1957 | o Add event_self_cbarg() to be used in conjunction with |
| 1958 | event_new(). (ed36e6a Ross Lagerwall, fa931bb, 09a1906, 1338e6c, |
| 1959 | 33e43ef) |
| 1960 | o Add a new libevent_global_shutdown() to free all globals before |
| 1961 | exiting. (041ca00 Mark Ellzey, f98c158, 15296d0, 55e991b) |
| 1962 | o Use getifaddrs to detect our interfaces if possible (7085a45) |
| 1963 | o Add event_base_get_running_event() to get the event* whose cb we |
| 1964 | are in (c5732fd, 13dad99) |
| 1965 | |
| 1966 | New functions and features: building |
| 1967 | o Implement --enable-gcc-hardening configure option (7550267 Sebastian Hahn) |
| 1968 | |
| 1969 | New functions and features: evbuffers |
| 1970 | o Add evbuffer_add_file_segment() so one fd can be used efficiently |
| 1971 | in more than one evbuffer_add_file at a time (e72afae, c2d9884, |
| 1972 | 3f405d2, 0aad014) |
| 1973 | o Fix windows file segment mappings (8254de7) |
| 1974 | o Allow evbuffer_ptr_set to yield a point just after the end of the |
| 1975 | buffer. (e6fe1da) |
| 1976 | o Allow evbuffer_ptr to point to position 0 in an empty evbuffer |
| 1977 | (7aeb2fd Nir Soffer) |
| 1978 | o Set the special "not found" evbuffer_ptr consistently. (e3e97ae Nir Soffer) |
| 1979 | o support adding buffers to other buffers non-destructively |
| 1980 | (9d7368a Joachim Bauch) |
| 1981 | o prevent nested multicast references, reworked locking (26041a8 |
| 1982 | Joachim Bauch) |
| 1983 | o New EVBUFFER_EOL_NUL to read NUL-terminated strings from an |
| 1984 | evbuffer (d7a8b36 Andrea Montefusco, 54142c9) |
| 1985 | o Make evbuffer_file_segment_types adaptable (c6bbbf1) |
| 1986 | o Added evbuffer_add_iovec and unit tests. (aaec5ac Mark Ellzey, 27b5398) |
| 1987 | o Add evbuffer_copyout_from to copy data from the middle of a |
| 1988 | buffer (27e2225) |
| 1989 | |
| 1990 | New functions and features: bufferevents |
| 1991 | o Allow users to set allow_dirty_shutdown (099d27d Catalin Patulea) |
| 1992 | o Tweak allow_dirty_shutdown documentation (a44cd2b) |
| 1993 | o Fix two issues in the allow_dirty_shutdown code. (f3b89de) |
| 1994 | o Add a bufferevent_getcb() to find a bufferevent's current |
| 1995 | callbacks (a650394) |
| 1996 | o bufferevent: Add functions to set/get max_single_read/write |
| 1997 | values. (998c813 Alexander Drozdov) |
| 1998 | o bev_ssl: Be more specific in event callbacks. evhttp in particular gets |
| 1999 | confused without at least one of BEV_EVENT_{READING|WRITING}. (f7eb69a |
| 2000 | Catalin Patulea) |
| 2001 | |
| 2002 | New functions and features: evconnlisteners |
| 2003 | o Support TCP_DEFER_ACCEPT sockopts for listeners (5880e4a Mark Ellzey, |
| 2004 | a270728) |
| 2005 | o Add another caveat to the TCP_DEFER_ACCEPT documentation (a270728) |
| 2006 | o Allow evconnlistener to be created in disabled state. (9593a33 |
| 2007 | Alexander Drozdov) |
| 2008 | o The LEV_OPT_CLOSE_ON_EXEC flag now applies to accepted listener |
| 2009 | sockets too (4970329) |
| 2010 | |
| 2011 | Evhttp: |
| 2012 | o Add new evhttp_{connection_}set_timeout_tv() functions to set |
| 2013 | finger-grained http timeouts (6350e6c Constantine Verutin) |
| 2014 | o Performance tweak to evhttp_parse_request_line. (aee1a97 Mark Ellzey) |
| 2015 | o Add missing break to evhttp_parse_request_line (0fcc536) |
| 2016 | o Add evhttp callback for bufferevent creation; this lets evhttp |
| 2017 | support SSL. (8d3a850) |
| 2018 | o Remove calls to deprecated bufferevent functions from evhttp.c (4d63758) |
| 2019 | o evhttp: Add evhttp_foreach_bound_socket. (a2c48e3 Samy Al Bahra) |
| 2020 | |
| 2021 | Build improvements: |
| 2022 | o Add AC_USE_SYSTEM_EXTENSIONS to configure.in. Requires follow on |
| 2023 | patches for correctness and robustness. (1fa7dbe Kevin Bowling) |
| 2024 | o Filter '# define' statements from autoconf and generate |
| 2025 | event-private.h (321b558 Kevin Bowling) |
| 2026 | o Remove internal usage of _GNU_SOURCE (3b26541 Kevin Bowling) |
| 2027 | o Eliminate a couple more manual internal _GNU_SOURCE defines (c51ef93 |
| 2028 | Kevin Bowling) |
| 2029 | o Add AC_GNU_SOURCE to the fallback case. (ea8fa4c Kevin Bowling) |
| 2030 | o Use a Configuration Header Template for evconfig-private.h (868f888 |
| 2031 | Kevin Bowling) |
| 2032 | o Fix a comment warning and add evconfig-private.h to .gitignore |
| 2033 | (f6d66bc Kevin Bowling) |
| 2034 | o Include evconfig-private.h in internal files for great good. (0915ca0 |
| 2035 | Kevin Bowling) |
| 2036 | o Backport libevent to vanilla Autoconf 2.59 (as used in RHEL5) |
| 2037 | (ad03952 Kevin Bowling) |
| 2038 | o Prefer the ./configure evconfig-private.h in MinGW, just in |
| 2039 | case. (f964b72 Kevin Bowling) |
| 2040 | o Shell hack for weird mkdir -p commands (fd7b5a8 Kevin Bowling) |
| 2041 | o Add evconfig-private to remaining files (ded0a09 Kevin Bowling) |
| 2042 | o Allow use of --enable-silent-rules for quieter compilation with |
| 2043 | automake 1.11 (f1f8514 Dave Hart) |
| 2044 | o Use "_WIN32", not WIN32: it's standard and we don't need to fake it |
| 2045 | (9f560b) |
| 2046 | o In configure, test for _WIN32 not WIN32. (85078b1 Peter Rosin) |
| 2047 | o Do not define WIN32 in Makefile.nmake (d41f3ea Peter Rosin) |
| 2048 | o Provide the autoconf m4 macros for the new OpenSSL via pkg-config |
| 2049 | stuff. (674dc3d Harlan Stenn) |
| 2050 | o Use pkg-config (if available) to handle OpenSSL. (1c63860 Harlan Stenn) |
| 2051 | o We need AM_CPPFLAGS when compiling bufferevent_openssl.c (6d2613b |
| 2052 | Harlan Stenn) |
| 2053 | o Fix OSX build: $(OPENSSL_INCS) needs to be after |
| 2054 | $(AM_CPPFLAGS). (46f1769 Zack Weinberg) |
| 2055 | o Make gcc warnings on by default, and --enable-gcc-warnings only add |
| 2056 | -Werror (d46517e Sebastian Hahn) |
| 2057 | o Split up extra-long AC_CHECK_FUNCS/HEADERS lines in configure.in (88a30ad) |
| 2058 | o Move libevent 1.x headers to include/, to put all public headers in |
| 2059 | one place. (bbea8d6) |
| 2060 | o Put #ifdef around some files to support alternate build |
| 2061 | systems. (76d4c92 Ross Lagerwall) |
| 2062 | o Also make win32select.c conditional for IDE users (bf2c5a7) |
| 2063 | |
| 2064 | Debugging: |
| 2065 | o Add a magic number to debug_locks to better catch lock-coding |
| 2066 | errors. (b4a29c0 Dave Hart) |
| 2067 | o munge the debug_lock signature before freeing it: it might help us |
| 2068 | catch use-after-free (f28084d) |
| 2069 | o Added --enable-event-debugging in configure (bc7b4e4, a9c2c9a Mark Ellzey) |
| 2070 | o Debug addition for printing usec on TIMEOUT debugging. (ac43ce0 Mark Ellzey) |
| 2071 | o Added usec debug in another area for debug (3baab0d Mark Ellzey) |
| 2072 | o added timeout debug logs to include event ptr. (4b7d298 Mark Ellzey) |
| 2073 | o more event dbg updates (6727543 Mark Ellzey) |
| 2074 | o Clarify event_enable_debug_logging a little (6207826) |
| 2075 | o Make --enable-verbose-debug option match its help text (10c3450) |
| 2076 | o Add argument checks to some memory functions in `event.c'. (c8953d1 |
| 2077 | Mansour Moufid) |
| 2078 | |
| 2079 | Testing: |
| 2080 | o More abstraction in test.sh (cd74c4e) |
| 2081 | o Add failing test for evbuffer_search_range. (8e26154 Nir Soffer) |
| 2082 | o Tweaks to return types with end-of-buf ptrs (9ab8ab8) |
| 2083 | o Add an (internal) usleep function for use by unit tests (f25d9d3) |
| 2084 | o Synchronize with upstream tinytest (6c81be7) |
| 2085 | o Make test-changelist faster (7622d26) |
| 2086 | o Reduce the timeout in the main/fork test. (ab14f7c) |
| 2087 | o New evhttp function to adjust initial retry timeout (350a3c4) |
| 2088 | o Make regression tests run over 3x faster. (67a1763) |
| 2089 | o Use test_timeval_diff_eq more consistently (b77b43f) |
| 2090 | o Allow more slop in deferred_cb_skew test; freebsd needs it (b9f7e5f) |
| 2091 | o When including an -internal.h header outside the main tree, do so |
| 2092 | early (95e2455) |
| 2093 | o Add a new test: test-fdleak which tests for fd leaks by creating many |
| 2094 | sockets. (2ef9278 Ross Lagerwall, f7af194, 1c4288f, etc) |
| 2095 | o Add a unit test for event_base_dump_events() (7afe48a, 8d08cce) |
| 2096 | o Test more bufferevent_ratelim features (c24f91a) |
| 2097 | |
| 2098 | Documentation: |
| 2099 | o Improve evbuffer_ptr documentation (261ba63) |
| 2100 | o added comments to describe refcounting of multicast chains (ba24f61 |
| 2101 | Joachim Bauch) |
| 2102 | o Add doxygen for event_base_dump_events (cad5753) |
| 2103 | |
| 2104 | OSX: |
| 2105 | o Use "unlimited select" on OSX so that we can have more than |
| 2106 | FD_SETSIZE fds (1fb5cc6) |
| 2107 | |
| 2108 | KQueue: |
| 2109 | o Use SIG_IGN instead of a do-nothing handler for signal events with |
| 2110 | kqueue (148458e Zack Weinberg) |
| 2111 | |
| 2112 | evprc: |
| 2113 | o event_rpcgen.py now prints status information to stdout and errors to |
| 2114 | stderr. (ffb0ba0 Ross Lagerwall) |
| 2115 | |
| 2116 | Code improvement and refactoring: |
| 2117 | o Make event_reinit() more robust and maintainable (272033e) |
| 2118 | o Restore fast-path event_reinit() for slower backends (2c4b5de) |
| 2119 | o Check changelist as part of checking representational integrity (39b3f38) |
| 2120 | o Fix a compile warning in event_reinit (e4a56ed Sebastian Hahn) |
| 2121 | o Refactor the functions that run over every event. (c89b4e6) |
| 2122 | o Remove the last vestiges of _EVENT_USE_EVENTLIST (a3cec90) |
| 2123 | o Make event-config.h depend on Makefile.am (2958a5c) |
| 2124 | |
| 2125 | Build fixes: |
| 2126 | o Don't do clang version detection when disabling some flags (083296b |
| 2127 | Sebastian Hahn) |
| 2128 | |
| 2129 | C standards conformance: |
| 2130 | o Check for NULL return on win32 mm_calloc, and set ENOMEM. (af7ba69) |
| 2131 | o Convert event-config.h macros to avoid reserved identifiers (68120d9) |
| 2132 | o Generate event-config.h using the correct macros. (f82c57e) |
| 2133 | o Convert include-guard macro convention to avoid reserved identifiers |
| 2134 | (3f8c7cd) |
| 2135 | o Make event_rpcgen.py output conform to identifier conventions (372bff1) |
| 2136 | o Stop referring to an obsolete include guard in bench_http.h (5c0f7e0) |
| 2137 | o Make the generated event-config.h use correct include guards (639383a) |
| 2138 | o Fix all identifiers with names beginning with underscore. (cb9da0b) |
| 2139 | o Make event_rpcgen.py output conform to identifier conventions, more |
| 2140 | (bcefd24) |
| 2141 | o Fix some problems introduced by automated identifier cleanup script |
| 2142 | (c963534) |
| 2143 | o Have all visible internal function names end with an underscore. (8ac3c4c) |
| 2144 | o Apply the naming convention to our EVUTIL_IS* functions (c7848fa) |
| 2145 | o Clean up lingering _identifiers. (946b584) |
| 2146 | o Fix doxygen to use new macro conventions (da455e9) |
| 2147 | |
| 2148 | Bugfixes: |
| 2149 | o Do not use system EAI/AI values if we are not using the system |
| 2150 | getaddrinfo. (7bcac07) |
| 2151 | |
| 2152 | Sample Code: |
| 2153 | o Fix up sample/event-test.c to use newer interfaces and make it |
| 2154 | actually work. (19bab4f Ross Lagerwall) |
| 2155 | o On Unix, remove event.fifo left by sample/event-test.c. (c0dacd2 Ross |
| 2156 | Lagerwall) |
| 2157 | o Rename event-test.c to event-read-fifo.c. (a5b370a Ross Lagerwall) |
| 2158 | o event-read-fifo: Use EV_PERSIST appropriately (24dab0b) |
Christopher Wiley | e867981 | 2015-07-01 13:36:18 -0700 | [diff] [blame] | 2159 | |
| 2160 | |
| 2161 | |
Christopher Wiley | e867981 | 2015-07-01 13:36:18 -0700 | [diff] [blame] | 2162 | |