1*1324a03cSAzat KhuzhinChanges in version 2.1.12-stable (05 Jul 2020) 265539db0SAzat Khuzhin 365539db0SAzat Khuzhin This release contains mostly bug fixes (I decided not to port some features 465539db0SAzat Khuzhin that can be ported even without ABI breakage, if you cannot find feature that 565539db0SAzat Khuzhin you are interested in, please give us a note!) 665539db0SAzat Khuzhin 765539db0SAzat Khuzhin Since 2.1.12 libevent will use github actions as main CI, since 865539db0SAzat Khuzhin it recommends itself better then travis/appveyor (and had been removed from 965539db0SAzat Khuzhin upstream). 1065539db0SAzat Khuzhin 1165539db0SAzat Khuzhin Look carefully at "slightly touches the behaviour" section. 1265539db0SAzat Khuzhin 1365539db0SAzat Khuzhin Below you will find some of changes (this list has been cleaned up from the 1465539db0SAzat Khuzhin patches that touches only tests and similar): 1565539db0SAzat Khuzhin 1665539db0SAzat Khuzhin CI: 1765539db0SAzat Khuzhin o Backport github actions to 2.1 (be3acd7c Azat Khuzhin) 1865539db0SAzat Khuzhin o Merge branch 'event_rpcgen.py-cleanup' (f0ded5f3, 48e04887 Enji Cooper) 1965539db0SAzat Khuzhin o Add API/ABI checker (using LVC) (709210d4, 2af1f6cc yuangongji) 2065539db0SAzat Khuzhin 2165539db0SAzat Khuzhin test: 2265539db0SAzat Khuzhin o tinytest: support timeout on Windows (794e8f75 yuangongji) 2365539db0SAzat Khuzhin o Merge branch 'osx-clock' (e85afbe3 Azat Khuzhin) 2465539db0SAzat Khuzhin o test-ratelim: calculate timers bias (for slow CPUs) to avoid false-positive (8ad26d0b Azat Khuzhin) 2565539db0SAzat Khuzhin 2665539db0SAzat Khuzhin fixes: 2765539db0SAzat Khuzhin o buffer: do not pass NULL to memcpy() from evbuffer_pullup() (5b063049 Azat Khuzhin) 2865539db0SAzat Khuzhin o http: fix undefined-shift in EVUTIL_IS*_ helpers (6b8d02a7 Azat Khuzhin) 2965539db0SAzat Khuzhin o Check error code of evhttp_add_header_internal() in evhttp_parse_query_impl() (97e28f09 Azat Khuzhin) 3065539db0SAzat Khuzhin o http: fix EVHTTP_CON_AUTOFREE in case of timeout (and some else) (1be25938 Azat Khuzhin) 3165539db0SAzat Khuzhin o evdns: Add additional validation for values of dns options (c2972453 ayuseleznev) 3265539db0SAzat Khuzhin o There is typo in GetAdaptersAddresses windows library. It should be iphlpapi.dll (891adda9 Aleksandr-Melnikov) 3365539db0SAzat Khuzhin o Merge branch 'EV_CLOSED-and-EV_ET-fixes' (db2efdf5 Azat Khuzhin) 3465539db0SAzat Khuzhin o Fix memory corruption in EV_CLOSURE_EVENT_FINALIZE with debug enabled (8ccd8f56 Jan Kasiak) 3565539db0SAzat Khuzhin o increase segment refcnt only if evbuffer_add_file_segment() succeeds (30662a3c yuangongji) 3665539db0SAzat Khuzhin o evdns: fix a crash when evdns_base with waiting requests is freed (6f8e0e97 ayuseleznev) 3765539db0SAzat Khuzhin o event_base_once: fix potential null pointer threat (2e9ceb16 chenguolong) 3865539db0SAzat Khuzhin o http: do not assume body for CONNECT (1b42270b Azat Khuzhin) 3965539db0SAzat Khuzhin o evbuffer_add_file: fix freeing of segment in the error path (5f017bde Azat Khuzhin) 4065539db0SAzat Khuzhin o Fix checking return value of the evdns_base_resolv_conf_parse() (fc51bf2c Azat Khuzhin) 41*1324a03cSAzat Khuzhin o Merge branch 'fix-signal-leak' (poll/select now needs reinit) (1c9cc07b Azat Khuzhin) 4265539db0SAzat Khuzhin 4365539db0SAzat Khuzhin improvements: 4465539db0SAzat Khuzhin o evutil_time: improve evutil_gettimeofday on Windows (a8219143 Nick Grifka) 4565539db0SAzat Khuzhin o Support EV_CLOSED on linux for poll(2) (2530e7c6 Azat Khuzhin) 4665539db0SAzat Khuzhin o Parse IPv6 scope IDs. (f602211f Philip Homburg) 4765539db0SAzat Khuzhin o evutil_time: Implements usleep() using wait funtion on Windows (d42240d1 yuangongji) 4865539db0SAzat Khuzhin o evutil_time: detect and use _gmtime64_s()/_gmtime64() (f4a6152c yuangongji) 4965539db0SAzat Khuzhin 5065539db0SAzat Khuzhin slightly touches the behaviour: 5165539db0SAzat Khuzhin o bufferevent: allow setting priority on socket and openssl type (4dd3acdd Nicolas J. Bouliane) 5265539db0SAzat Khuzhin o Fix EV_CLOSED detection/reporting (epoll only) (1df324d4 Azat Khuzhin) (XXX) 5365539db0SAzat Khuzhin o Revert "Warn if forked from the event loop during event_reinit()" (71f5c0d3 Azat Khuzhin) 5465539db0SAzat Khuzhin 5565539db0SAzat Khuzhin samples: 5665539db0SAzat Khuzhin o https-client: load certificates from the system cert store on Windows (e9478640 yuangongji) 5765539db0SAzat Khuzhin 5865539db0SAzat Khuzhin build fixes: 5965539db0SAzat Khuzhin o Do not use sysctl.h on linux (it had been deprecated) (d2871a37 Azat Khuzhin) 6065539db0SAzat Khuzhin o cmake: avoid problems from use of CMAKE_USE_PTHREADS_INIT (a62ec765 Paul Osborne) 6165539db0SAzat Khuzhin o Update list of cmake files for autotools dist archive (2016f017 Azat Khuzhin) 6265539db0SAzat Khuzhin o LibeventConfig.cmake: restore CMAKE_FIND_LIBRARY_SUFFIXES and LIBEVENT_STATIC_LINK default (640f9cf6 Mario Emmenlauer) 6365539db0SAzat Khuzhin o cmake: fix getaddrinfo checking error (dea51c2e yuangongji) 6465539db0SAzat Khuzhin o autoconf: fix getaddrinfo checking errors on mingw (b9bf7fa7 yuangongji) 6565539db0SAzat Khuzhin o Do not use shared global structures on CYGWIN (8a9b5655 Azat Khuzhin) 6665539db0SAzat Khuzhin o Added uninstall target check to cmakelists (3f1fb1f9 Dimo Markov) 6765539db0SAzat Khuzhin o Fix compilation without OPENSSL_API_COMPAT (921bdcdd Azat Khuzhin) 6865539db0SAzat Khuzhin o cmake: improve package config file (1c047618, baec84f2 yuangongji) 6965539db0SAzat Khuzhin o Link with iphlpapi only on windows (976f7d34 Azat Khuzhin) 7065539db0SAzat Khuzhin o autotools: fails build when need but can not find openssl (93174bb5 yuangongji) 7165539db0SAzat Khuzhin o Merge branch 'http-connect' (e2424229 Azat Khuzhin) 7265539db0SAzat Khuzhin o Fix compat with NetBSD >= 10 (5febb4e1 Kamil Rytarowski) 7365539db0SAzat Khuzhin o cmake: fix getrandom() detection (e0e5f3bd Azat Khuzhin) 7465539db0SAzat Khuzhin o arc4random: replace sysctl() with getrandom (on linux) (66ec78fd Azat Khuzhin) 7565539db0SAzat Khuzhin o Upgrade autoconf (after upgrading minimum required to 2.67) (45da7d9d yuangongji) 7665539db0SAzat Khuzhin o eliminate some C4267 warnings in Windows (9e468c77 yuangongji) 7765539db0SAzat Khuzhin o autotools: attach doxygen target into all target (5d1e8570 yuangongji) 7865539db0SAzat Khuzhin o cmake: attach doxygen target into all target (7a85300a yuangongji) 7965539db0SAzat Khuzhin o Change the minimum version of automake to 1.13 and autoconf to 2.67 (fdb8fb66 ygj6) 8065539db0SAzat Khuzhin o Add Uninstall.cmake.in into dist archive (877f2355 Azat Khuzhin) 8165539db0SAzat Khuzhin 8270026169SAzat KhuzhinChanges in version 2.1.11-stable (01 Aug 2019) 8370026169SAzat Khuzhin 8470026169SAzat Khuzhin This release contains one ABI breakage fix (that had been introduced in 8570026169SAzat Khuzhin 2.1.10, and strictly speaking this release breaks ABI again to make it 8670026169SAzat Khuzhin compatible with 2.1.9 and less, please take a look at 18104973 for more 8770026169SAzat Khuzhin details). Apart from that it contains some bug fixes, that grouped below. 8870026169SAzat Khuzhin 8970026169SAzat Khuzhin And even though the return value for evbuffer_setcb() had been changed it 9070026169SAzat Khuzhin should ABI compatible (anyway that function is in -compat.h header). 9170026169SAzat Khuzhin 9270026169SAzat Khuzhin There is also one patch that introduce new functionality, this is 546a366c, 9370026169SAzat Khuzhin to tune SO_RCVBUF/SO_SNDBUF in evdns, but one can count it as a bug-fix on 9470026169SAzat Khuzhin the application level, since before you cannot tune this settings and hence 9570026169SAzat Khuzhin you could stumble on problems. 9670026169SAzat Khuzhin 9770026169SAzat Khuzhin ABI breakage: 9870026169SAzat Khuzhin o Protect min_heap_push_ against integer overflow. (8c899768 Tobias Stoeckmann) 9970026169SAzat Khuzhin o Revert "Protect min_heap_push_ against integer overflow." (18104973 Azat Khuzhin) 10070026169SAzat Khuzhin 10170026169SAzat Khuzhin functionality: 10270026169SAzat Khuzhin o evdns: add new options -- so-rcvbuf/so-sndbuf (546a366c Azat Khuzhin) 10370026169SAzat Khuzhin 10470026169SAzat Khuzhin build: 10570026169SAzat Khuzhin o Change autoconf version to 2.62 and automake version to 1.11.2 (2a333008 yuangongji) 10670026169SAzat Khuzhin o cmake: install shared library only if it was requested (596855f7 Azat Khuzhin) 10770026169SAzat Khuzhin o Missing <winerror.h> on win7/MinGW(MINGW32_NT-6.1)/MSYS (9559349c yuangongji) 10870026169SAzat Khuzhin o cmake: set library names to be the same as with autotools (305251b9 yuangongji) 10970026169SAzat Khuzhin o Enable _GNU_SOURCE for Android (f013fc7d Keith Smiley) 11070026169SAzat Khuzhin o Enable kqueue for APPLE targets (3aa68a82 Keith Smiley) 11170026169SAzat Khuzhin o autotools: do not install bufferevent_ssl.h under --disable-openssl (5349a07e Azat Khuzhin) 11270026169SAzat Khuzhin o cmake: link against shell32.lib/advapi32.lib (c9ce638c Azat Khuzhin) 11370026169SAzat Khuzhin o Add README.md into dist archive (3660a4cc Azat Khuzhin) 11470026169SAzat Khuzhin o cmake: add missing autotools targets (doxygen, uninstall, event_rpcgen.py) (2d65071c yuangongji) 11570026169SAzat Khuzhin o m4/libevent_openssl.m4: fix detection of openssl (d4056e59 Fabrice Fontaine) 11670026169SAzat Khuzhin o Fix detection of the __has_attribute() for apple clang [ci skip] (7fd7c5ef Azat Khuzhin) 11770026169SAzat Khuzhin 11870026169SAzat Khuzhin lib: 11970026169SAzat Khuzhin o buffer: fix possible NULL dereference in evbuffer_setcb() on ENOMEM (598f247d Azat Khuzhin) 12070026169SAzat Khuzhin o Warn if forked from the event loop during event_reinit() (b75922ae Azat Khuzhin) 12170026169SAzat Khuzhin o evutil: set the have_checked_interfaces in evutil_check_interfaces() 12270026169SAzat Khuzhin (ef498aa2, a09265ac jeremyerb) 12370026169SAzat Khuzhin 12470026169SAzat Khuzhin samples: 12570026169SAzat Khuzhin o https-client: correction error checking (a8a04565 wenyg) 12670026169SAzat Khuzhin 12770026169SAzat Khuzhin 1281972c52dSAzat KhuzhinChanges in version 2.1.10-stable (26 May 2019) 1291972c52dSAzat Khuzhin 1301972c52dSAzat Khuzhin This release contains mostly fixes (some evbuffer oddity, AF_UNIX handling in 1311972c52dSAzat Khuzhin http server, some UB fixes and others) but also some new functionality 1321972c52dSAzat Khuzhin (without ABI breakage as usual) and now dist archive can be used for building 1331972c52dSAzat Khuzhin on windows (getopt had been added into it). 1341972c52dSAzat Khuzhin 1351972c52dSAzat Khuzhin Above you will find changelog for this particular release (but with some 1361972c52dSAzat Khuzhin trivial fixes pruned out from it - to make it a little bit more informative). 1371972c52dSAzat Khuzhin 1381972c52dSAzat Khuzhin To view full changelog please use git: 139047cd8a9SAzat Khuzhin git log --format=' o %s (%h %aN)' release-2.1.9-beta...release-2.1.10-stable 1401972c52dSAzat Khuzhin 1411972c52dSAzat Khuzhin dist: 1421972c52dSAzat Khuzhin o Add getopt into dist archive (7042ff24 Azat Khuzhin) 1431972c52dSAzat Khuzhin 1441972c52dSAzat Khuzhin functionality: 1451972c52dSAzat Khuzhin o evdns: add DNS_OPTION_NAMESERVERS_NO_DEFAULT/EVDNS_BASE_NAMESERVERS_NO_DEFAULT 1461972c52dSAzat Khuzhin (58e81106 Azat Khuzhin) 1471972c52dSAzat Khuzhin o Add support for EV_TIMEOUT to event_base_active_by_fd (3f893f0a John Ohl) 1481972c52dSAzat Khuzhin 1491972c52dSAzat Khuzhin fixes: 1501972c52dSAzat Khuzhin o Merge branch 'evbuffer-fixes-806-v2' (2fea04b3 Azat Khuzhin) 1511972c52dSAzat Khuzhin o Merge branch 'issue-807-accept4-getnameinfo-AF_UNIX' (7c4da937, e2790a7f 1521972c52dSAzat Khuzhin Azat Khuzhin) 1531972c52dSAzat Khuzhin o kqueue: Avoid undefined behaviour. (e70e18e9 Tobias Stoeckmann) 1541972c52dSAzat Khuzhin o Prevent integer overflow in kq_build_changes_list. (43a55a23 Tobias Stoeckmann) 1551972c52dSAzat Khuzhin o evdns: fix lock/unlock mismatch in evdns_close_server_port() (54103883 zhuizhuhaomeng) 1561972c52dSAzat Khuzhin o Merge remote-tracking branch 'official/pr/804' -- Enforce limit of NSIG 1571972c52dSAzat Khuzhin signals (87fa93a8 Tobias Stoeckmann) 1581972c52dSAzat Khuzhin o Protect min_heap_push_ against integer overflow. (0b46bb8c Tobias Stoeckmann) 1591972c52dSAzat Khuzhin o le-proxy: initiate use of the Winsock DLL (2a1e1530 linxiaohui) 1601972c52dSAzat Khuzhin o Fix leaks in error path of the bufferevent_init_common_() (bb0f8fe7 Azat Khuzhin) 1611972c52dSAzat Khuzhin o buffer: make evbuffer_prepend() of zero-length array no-op (61fa7b7d Azat Khuzhin) 1621972c52dSAzat Khuzhin o Merge branch 'evbuffer-empty-chain-handling' (6a3dd717 Azat Khuzhin) 1631972c52dSAzat Khuzhin o Don't loose top error in SSL (3d1a7a1d Yury Korzhetsky) 1641972c52dSAzat Khuzhin o Remove needless check for arc4_seeded_ok (6602a97d Seong-Joong Kim) 1651972c52dSAzat Khuzhin o Merge pull request #769 from sungjungk/fix-return-handling (91084140 Nathan French) 1661972c52dSAzat Khuzhin 1671972c52dSAzat Khuzhin build: 1681972c52dSAzat Khuzhin o Define `_GNU_SOURCE` properly/consistently per autoconf (00ba9fa2 Enji Cooper) 1691972c52dSAzat Khuzhin o signal: guard __cdecl definition with #ifdef (d89045a6 Azat Khuzhin) 1701972c52dSAzat Khuzhin o Link test/regress with event_core/event_extra over event (22380996 Azat Khuzhin) 1711972c52dSAzat Khuzhin 1721972c52dSAzat Khuzhin tests: 1731972c52dSAzat Khuzhin o Use kill() over raise() for raising the signal (fixes osx 10.14 with 1741972c52dSAzat Khuzhin kqueue) (3db5296b, a45f6733 Azat Khuzhin) 1751972c52dSAzat Khuzhin o tinytest: implement per-test timeout (via alarm() under !win32 only) 1761972c52dSAzat Khuzhin (b64dbfb6, 75d7e1ff Azat Khuzhin) 1771972c52dSAzat Khuzhin 178b5126dbeSAzat KhuzhinChanges in version 2.1.9-beta (10 February 2019) 179b5126dbeSAzat Khuzhin 180b5126dbeSAzat Khuzhin This changelog will differs from other releases in the next few clauses: 181b5126dbeSAzat Khuzhin - contains only highlighted changes (so now it will not contains a lot of 182b5126dbeSAzat Khuzhin patches that fixes some stuff in regression tests, typos, leaks fixes in 183b5126dbeSAzat Khuzhin samples and so forth) 184b5126dbeSAzat Khuzhin - no authors (since merge commits breaks them anyway, but AUTHORS sections in 185b5126dbeSAzat Khuzhin README will be kept up to date) 186b5126dbeSAzat Khuzhin - group name trimmed from commit subjects trimmed 187b5126dbeSAzat Khuzhin - it's been 2 years since the previoius release, so it is pretty huge 188b5126dbeSAzat Khuzhin 189b5126dbeSAzat Khuzhin And I think that this is more useful, so from now on it will always has the 190b5126dbeSAzat Khuzhin same look (until there will too many objections of course). 191b5126dbeSAzat Khuzhin 192b5126dbeSAzat Khuzhin To view full changelog please use git: 193b5126dbeSAzat Khuzhin git log --format=' o %s (%h %aN)' release-2.1.8-stable...release-2.1.9-beta 194b5126dbeSAzat Khuzhin 195b5126dbeSAzat Khuzhin 196b5126dbeSAzat Khuzhin dist archive: 197bf0cf6ecSPierce Lopez o Add cmake rules into dist archive (bf3a67cf) 198bf0cf6ecSPierce Lopez o Add missing print-winsock-errors.c into dist archive (822d6462) 199bf0cf6ecSPierce Lopez o Include openssl-compat.h into dist archive (08658136) 200b5126dbeSAzat Khuzhin 201b5126dbeSAzat Khuzhin core: 202bf0cf6ecSPierce Lopez o Merge branch 'check-O_NONBLOCK-in-debug' (a39898f3, a8155c62) 203bf0cf6ecSPierce Lopez o Merge branch 'event-ET-#636-v2' (ca4b6404) 204b5126dbeSAzat Khuzhin o Fix visibility issues under (mostly on win32) 205bf0cf6ecSPierce Lopez (349081e1g, 802be13ag, a1f28e2f) 206b5126dbeSAzat Khuzhin o Define __EXT_POSIX2 for QNX (a2176f2c) 207bf0cf6ecSPierce Lopez o Cleanup __func__ detection (b3af7bdd) 208b5126dbeSAzat Khuzhin o Add convenience macros for user-triggered events (06ec5de6) 209bf0cf6ecSPierce Lopez o Notify event base if there are no more events, so it can exit without delay (d9d1c09e) 210bf0cf6ecSPierce Lopez o Fix base unlocking in event_del() if event_base_set() runned in another thread (4f0f40e3) 211b5126dbeSAzat Khuzhin o If precise_time is false, we should not set EVENT_BASE_FLAG_PRECISE_TIMER (27dee54d) 212b5126dbeSAzat Khuzhin o Fix race in access to ev_res from event loop with event_active() (43d92a6d) 213b5126dbeSAzat Khuzhin o Return from event_del() after the last event callback termination (876c7ac7) 214b5126dbeSAzat Khuzhin 215b5126dbeSAzat Khuzhin http: 216bf0cf6ecSPierce Lopez o Merge branch 'http-EVHTTP_CON_READ_ON_WRITE_ERROR-fixes-v2' (eb7b472b) 217b5126dbeSAzat Khuzhin o Preserve socket error from listen across closesocket cleanup (2ccd00a6) 218bf0cf6ecSPierce Lopez o fix connection retries when there more then one request for connection (d30e7bba) 219bf0cf6ecSPierce Lopez o improve error path for bufferevent_{setfd,enable,disable}() (a8cc449e) 220bf0cf6ecSPierce Lopez o Fix conceivable UAF of the bufferevent in evhttp_connection_free() (6ac2ec25) 221bf0cf6ecSPierce Lopez o Merge branch 'http-request-line-parsing' (cdcfbafe) 222b5126dbeSAzat Khuzhin o Fix evhttp_connection_get_addr() fox incomming http connections (4215c003) 223bf0cf6ecSPierce Lopez o fix leaks in evhttp_uriencode() (123362e9) 224b5126dbeSAzat Khuzhin o CONNECT method only takes an authority (7d1ffe64) 225bf0cf6ecSPierce Lopez o Allow bodies for GET/DELETE/OPTIONS/CONNECT (23eb38b9) 226b5126dbeSAzat Khuzhin o Do not crash when evhttp_send_reply_start() is called after a timeout. (826f1134) 227bf0cf6ecSPierce Lopez o Fix crashing http server when callback do not reply in place (5b40744d, b2581380) 228bf0cf6ecSPierce Lopez o fix handling of close_notify (ssl) in http with openssl bufferevents (7e91622b) 229b5126dbeSAzat Khuzhin 2308b6f67a4SPierce Lopez evrpc: 231bf0cf6ecSPierce Lopez o use *_new_with_arg() to match function prototype (a95cc9e3) 232bf0cf6ecSPierce Lopez o avoid NULL dereference on request is not EVHTTP_REQ_POST (e05136c7) 233b5126dbeSAzat Khuzhin 234b5126dbeSAzat Khuzhin regression tests: 235bf0cf6ecSPierce Lopez o Merge branch 'TT_RETRIABLE' (6ea1ec68, f9b592aa) 236b5126dbeSAzat Khuzhin 237b5126dbeSAzat Khuzhin bufferevent: 238bf0cf6ecSPierce Lopez o Merge branch 'iocp-fixes' (6bfac964) 239bf0cf6ecSPierce Lopez o Merge branch 'be-wm-overrun-v2' (3f692fff) 240b5126dbeSAzat Khuzhin o bufferevent_socket_connect{,_hostname}() missing event callback and use ret code (1dde74ef) 241b5126dbeSAzat Khuzhin o don't fail be_null_filter if bytes are copied (b92b0792) 242b5126dbeSAzat Khuzhin o Call underlying bev ctrl GET_FD on filtered bufferevents (ebfac517) 243b5126dbeSAzat Khuzhin 244b5126dbeSAzat Khuzhin bufferevent_openssl/openssl: 245bf0cf6ecSPierce Lopez o Merge branch 'ssl_bufferevent_wm_filter-fix' (30020a35) 246bf0cf6ecSPierce Lopez o be_openssl: avoid leaking of SSL structure (e86ccfe5) 247b5126dbeSAzat Khuzhin o Fix build with LibreSSL 2.7 (894ca48a) 248bf0cf6ecSPierce Lopez o Add missing includes into openssl-compat.h (01bc36c1) 249b5126dbeSAzat Khuzhin o Explicitly call SSL_clear when reseting the fd. (29b7a516) 250b5126dbeSAzat Khuzhin o Unbreak build with LibreSSL after openssl 1.1 support added (230af9f0) 251b5126dbeSAzat Khuzhin 252b5126dbeSAzat Khuzhin samples: 253bf0cf6ecSPierce Lopez o Merge branch 'sample-http-server' (b6309bcc) 254b5126dbeSAzat Khuzhin o sample/https-client: use host SSL certificate store by default (5c0132f3) 255b5126dbeSAzat Khuzhin 256b5126dbeSAzat Khuzhin listener: 257b5126dbeSAzat Khuzhin o ipv6only socket bind support (ba148796) 258bf0cf6ecSPierce Lopez o Merge branch 'listener-immediate-close' (df2ed13f) 259bf0cf6ecSPierce Lopez o Merge branch 'evconnlistener-do-not-close-client-fd' (42e851bb) 260b5126dbeSAzat Khuzhin 261b5126dbeSAzat Khuzhin evdns: 262b5126dbeSAzat Khuzhin o evdns: handle NULL filename explicitly (0033f5cc) 263bf0cf6ecSPierce Lopez o Merge branch 'evdns_getaddrinfo-race-fix' (3237d697) 264b5126dbeSAzat Khuzhin o Generating evdns_base_config_windows_nameservers docs on all platforms (3bd2ce43) 265b5126dbeSAzat Khuzhin 266b5126dbeSAzat Khuzhin utils: 267bf0cf6ecSPierce Lopez o Merge branch 'evutil_found_ifaddr-dev' (b07e43e6) 268b5126dbeSAzat Khuzhin o Avoid possible SEGVs in select() (in unit tests) (8818c86c) 269b5126dbeSAzat Khuzhin o Port `event_rpcgen.py` and `test/check-dumpevents.py` to Python 3. (532a8cc3) 270b5126dbeSAzat Khuzhin 271b5126dbeSAzat Khuzhin buffer: 272b5126dbeSAzat Khuzhin o Fix assert() condition in evbuffer_drain() for IOCP (d6326104) 273bf0cf6ecSPierce Lopez o fix incorrect unlock of the buffer mutex (for deferred callbacks) (2b4d127d) 274bf0cf6ecSPierce Lopez o Fix wrong assert in evbuffer_drain() (9f4d0dce) 275b5126dbeSAzat Khuzhin 276b5126dbeSAzat Khuzhin cmake: 277b5126dbeSAzat Khuzhin o fix checking of devpoll backend (like in autotools, by devpoll.h existence) (7f161902) 278b5126dbeSAzat Khuzhin o support static runtime (MSVC) (c8b3ec17, 61fb055a) 279bf0cf6ecSPierce Lopez o do not build both (SHARED and STATIC) for MSVC/win32 (bc7f2fd9) 280bf0cf6ecSPierce Lopez o introduce EVENT__LIBRARY_TYPE option (eb10a738) 281b5126dbeSAzat Khuzhin o ensure windows dll's are installed as well as lib files (29590718) 282b5126dbeSAzat Khuzhin o Fix generation of LibeventConfig.cmake for the installation tree (7fa08c4b) 283bf0cf6ecSPierce Lopez o fix pkgconfig generation (copy-paste typo) (cc554d87) 284bf0cf6ecSPierce Lopez o Merge branch 'cmake-missing-bits' (9806b126) 285b5126dbeSAzat Khuzhin o Fix detection of timerfd_create() in CMake. (e50af331) 286bf0cf6ecSPierce Lopez o Merge branch 'cmake-configure-fixes-v2' (a0bfe2c4) 287bf0cf6ecSPierce Lopez o Do not add epoll_sub (syscall wrappers) for epoll in cmake (cea61de6) 288b5126dbeSAzat Khuzhin o Fix RPATH for APPLE (45b1f379) 289b5126dbeSAzat Khuzhin 290b5126dbeSAzat Khuzhin autotools: 291bf0cf6ecSPierce Lopez o include win32 specific headers for socklen_t detection on win32/mingw (d7579fb9) 292bf0cf6ecSPierce Lopez o Ignore evconfig-private.h for autotools (37423849) 293b5126dbeSAzat Khuzhin o config.h can't be prefixed unconditionally (63a054f8) 294bf0cf6ecSPierce Lopez o Merge branch 'pull-628' (7e56c8b2) 295b5126dbeSAzat Khuzhin o Provide Makefile variables LIBEVENT_{CFLAGS,CPPFLAGS,LDFLAGS} (2f060c5f) 296b5126dbeSAzat Khuzhin o confirm openssl is working before using (b39ccf8e) 297b5126dbeSAzat Khuzhin o pass $(OPENSSL_INCS) for samples (FTBFS macOS) (c2495265) 298b5126dbeSAzat Khuzhin o Add configure check for midipix (d433201e) 299b5126dbeSAzat Khuzhin o Fix tests with detached builds (c46ff439) 300b5126dbeSAzat Khuzhin 301b5126dbeSAzat Khuzhin build: 302bf0cf6ecSPierce Lopez o Fix arc4random_addrandom() detecting and fallback (regression) (303d6d77) 303bf0cf6ecSPierce Lopez o Merge branch 'win32-fixes' (ebd12e6d) 304bf0cf6ecSPierce Lopez o Merge branch 'fix-openssl-linking' (e7bd9e03) 305bf0cf6ecSPierce Lopez o Merge branch 'fix-struct-linger' (8567f2f5) 306b5126dbeSAzat Khuzhin 307b5126dbeSAzat Khuzhin CI: 308b5126dbeSAzat Khuzhin o travis-ci/appveyor now uses fast_finish+allow_failures 309b5126dbeSAzat Khuzhin (5e97b6e6, dd472e7d, dfb5fc167) 310b5126dbeSAzat Khuzhin o Merge branch 'travis-ci-osx-fixes' (9f02b39c) 311b5126dbeSAzat Khuzhin o Merge branch 'win64-fixes' (aee0fcd5) 312b5126dbeSAzat Khuzhin 313b5126dbeSAzat Khuzhin 314d9eb42e0SAzat KhuzhinChanges in version 2.1.8-stable (22 January 2017) 315d9eb42e0SAzat Khuzhin 316d9eb42e0SAzat Khuzhin Libevent 2.1.8-stable, it contains openssl fixes for resetting fd and using 317d9eb42e0SAzat Khuzhin bufferevent_openssl_filter_new(). vagrant fixes, some build fixes, increased 318d9eb42e0SAzat Khuzhin timeout for some tests (to reduce number of failures due to timing issues), 319d9eb42e0SAzat Khuzhin date in RFC1123 format and running tests in parallel. 320d9eb42e0SAzat Khuzhin 321d9eb42e0SAzat Khuzhin There are highlighted changes above. 322d9eb42e0SAzat Khuzhin 323d9eb42e0SAzat Khuzhin Build fixes: 324d9eb42e0SAzat Khuzhin o Fix _FILE_OFFSET_BITS redinition (solaris/autotools) (336f3b11 Azat Khuzhin) 325d9eb42e0SAzat Khuzhin o util-internal: fix __func__ redefinition (netbsd) (253e7fa9 Azat Khuzhin) 326d9eb42e0SAzat Khuzhin o Fix signedness differ for iov_base (solaris) (2c62062e Azat Khuzhin) 327d9eb42e0SAzat Khuzhin o evutil_time: include <unistd.h> when there is only sleep()/usleep() (3e75194c Azat Khuzhin) 328d9eb42e0SAzat Khuzhin o http: fix formatter for pritnf for req->ntoread (osx) (1cbf26f6 Azat Khuzhin) 329d9eb42e0SAzat Khuzhin Testing environment: 330d9eb42e0SAzat Khuzhin o Merge branch 'automake-tests-parallel-v4' (*includes ci bits also*) (59e217df Azat Khuzhin) 331d9eb42e0SAzat Khuzhin Vagrant env fixes: 332d9eb42e0SAzat Khuzhin o vagrant/netbsd: missing libtool (9c9be399 Azat Khuzhin) 333d9eb42e0SAzat Khuzhin o vagrant/netbsd: more reliable way of installing packages (36da6877 Azat Khuzhin) 334d9eb42e0SAzat Khuzhin o vagrant/osx: use make instead of gmake (there is no gmake) (f7c70aef Azat Khuzhin) 335d9eb42e0SAzat Khuzhin o vagrant: add centos box (ca591c5b Azat Khuzhin) 336d9eb42e0SAzat Khuzhin Tests: 337d9eb42e0SAzat Khuzhin o test/dns: replace servname since solaris does not have "http" (d6bafbbe Azat Khuzhin) 338d9eb42e0SAzat Khuzhin o test/thread: netbsd is too slow, increase timeout for conditions_simple (3c7422fc Azat Khuzhin) 339d9eb42e0SAzat Khuzhin o test/dns: run async resolving after sync one (to avoid timeouts) (07862531 Azat Khuzhin) 340d9eb42e0SAzat Khuzhin o test/http: turn off some tests that based on backlog filling (falky) (26f416c1 Azat Khuzhin) 341d9eb42e0SAzat Khuzhin Bugfixes: 342d9eb42e0SAzat Khuzhin o Merge branch 'openssl-filter-fixes-v4' (83e0f43b Azat Khuzhin) 343d9eb42e0SAzat Khuzhin o Merge branch 'date-rfc1123' (68def435,4798de6c,4545807d Azat Khuzhin) 344d9eb42e0SAzat Khuzhin o Merge branch 'be-openssl-fd-reset-fix-v2' (86fa0070,32adf434 Azat Khuzhin) 345d9eb42e0SAzat Khuzhin o Merge branch 'openssl-1.1-init-fixes-v2' (18a161f0 Azat Khuzhin) 346d9eb42e0SAzat Khuzhin o Fix incorrect MIME type (23f9a20e johnsonlee) 347d9eb42e0SAzat Khuzhin Trivial fixes: 348d9eb42e0SAzat Khuzhin Documentation updates: 349d9eb42e0SAzat Khuzhin o Update README.md (3821cca1 Breaker) 350d9eb42e0SAzat Khuzhin 351d9eb42e0SAzat Khuzhin 35213ea9f5eSAzat KhuzhinChanges in version 2.1.7-rc (2 Novemer 2016) 35313ea9f5eSAzat Khuzhin 35413ea9f5eSAzat Khuzhin Libevent 2.1.7-rc contains openssl 1.1 support, build fixes, CI improvements 35513ea9f5eSAzat Khuzhin and plus Vagrantfile for testing under multiple OS'es. 35613ea9f5eSAzat Khuzhin 35713ea9f5eSAzat Khuzhin 35813ea9f5eSAzat Khuzhin Continious Integration: 35913ea9f5eSAzat Khuzhin o Use coveralls.io via travis (9ac000c Azat Khuzhin) 36013ea9f5eSAzat Khuzhin o travis-ci: use container-based infrastructure (7e12e96 Azat Khuzhin) 36113ea9f5eSAzat Khuzhin o travis-ci/osx: fix compiling/linking openssl libraries (9d2f8d4 Azat Khuzhin) 36213ea9f5eSAzat Khuzhin o travis-ci: use gcc-5 (fixes osx|gcc failures) (d7ceae5 Azat Khuzhin) 36313ea9f5eSAzat Khuzhin o Testing with vagrant for 6 OS and cmake+autoconf (9585338 Azat Khuzhin) 36413ea9f5eSAzat Khuzhin o travis-ci/osx: install lcov (e4e099b Azat Khuzhin) 36513ea9f5eSAzat Khuzhin 36613ea9f5eSAzat Khuzhin Build Improvements/Fixes: 36713ea9f5eSAzat Khuzhin o Fix cmake -DEVENT__COVERAGE=ON (40fbffc Azat Khuzhin) 36813ea9f5eSAzat Khuzhin o autogen.sh: learn about gmake (9376ac4 Azat Khuzhin) 36913ea9f5eSAzat Khuzhin o autogen.sh: remove all autoconf/automake caches, if any (69cce25 Azat Khuzhin) 37013ea9f5eSAzat Khuzhin o cmake: fix finding python2, and check that it is really 2 (3453c08 Azat Khuzhin) 37113ea9f5eSAzat Khuzhin o cmake: fix CheckFunctionExistsEx/CheckPrototypeDefinition (CMP0054) (43b69b2 Azat Khuzhin) 37213ea9f5eSAzat Khuzhin o cmake: cleanup (dc624ad Zonr Chang) 37313ea9f5eSAzat Khuzhin o cmake/win32: fix running regress, but fixing finding python2 interpreter (bcb990a Azat Khuzhin) 37413ea9f5eSAzat Khuzhin o cmake: use PYTHON_EXECUTABLE to find python2 (a4d044c Azat Khuzhin) 37513ea9f5eSAzat Khuzhin o Merge branch 'force-disable-clockgettime' (83c7cdf Azat Khuzhin) 37613ea9f5eSAzat Khuzhin 37713ea9f5eSAzat Khuzhin Code Improvements (core) 37813ea9f5eSAzat Khuzhin o use ev_uint16_t instead of unsigned short for port (e983712 Thomas Bernard) 37913ea9f5eSAzat Khuzhin o Merge branch 'contrib-guide-v2' (b9c5077 Azat Khuzhin) 38013ea9f5eSAzat Khuzhin o poll: Prevent libevent from spinning if POLLNVAL occurs (675974c Tim Hentenaar) 38113ea9f5eSAzat Khuzhin 38213ea9f5eSAzat Khuzhin Testing: 38313ea9f5eSAzat Khuzhin o test/regress: cover a polling of invalid fd (cb0df5c Tim Hentenaar) 38413ea9f5eSAzat Khuzhin 38513ea9f5eSAzat Khuzhin Code Improvements (bufferevent_openssl) 38613ea9f5eSAzat Khuzhin o Make it build using OpenSSL 1.1.0 (3e9e0a0 Kurt Roeckx) 38713ea9f5eSAzat Khuzhin o Don't call BIO_number_{read|written} on NULL BIOs. (6702da1 Adam Langley) 38813ea9f5eSAzat Khuzhin o Switch from a 512 to 2048-bit RSA key. (f9803a6 Adam Langley) 38913ea9f5eSAzat Khuzhin 39013ea9f5eSAzat Khuzhin Trivial fixes: 39113ea9f5eSAzat Khuzhin o Ignore temporary configure files (8fb08ae Azat Khuzhin) 39213ea9f5eSAzat Khuzhin o README.md: fix typo: ar -> are (2361616 Simone Basso) 39313ea9f5eSAzat Khuzhin o be: just a simple mistake, reinclude the <errno.h> (7521664 Seven) 39413ea9f5eSAzat Khuzhin 395ea2cee72SAzat KhuzhinChanges in version 2.1.6-beta (4 July 2016) 396ea2cee72SAzat Khuzhin 39781d21932SAzat Khuzhin Libevent 2.1.6-beta contains mostly bug fixes (evbuffers, evthread, evdns, 39881d21932SAzat Khuzhin bufferevents, core, http, samples), improvements but mostly to fix some 39981d21932SAzat Khuzhin possible issues (EVHTTP_CON_LINGERING_CLOSE), a lot of new unit tests and new 40081d21932SAzat Khuzhin appveyor integration. 40181d21932SAzat Khuzhin 402ea2cee72SAzat Khuzhin Security Fixes (utils) 403ea2cee72SAzat Khuzhin o evutil_parse_sockaddr_port(): fix buffer overflow (329acc1 Azat Khuzhin) 404ea2cee72SAzat Khuzhin 405ea2cee72SAzat Khuzhin Security Fixes (evdns) 406ea2cee72SAzat Khuzhin o evdns: name_parse(): fix remote stack overread (96f64a0 Azat Khuzhin) 407ea2cee72SAzat Khuzhin o evdns: fix searching empty hostnames (ec65c42 Azat Khuzhin) 408ea2cee72SAzat Khuzhin 409ea2cee72SAzat Khuzhin New APIs (evdns) 410ea2cee72SAzat Khuzhin o New function to get address for nameserver. (537177d Nick Mathewson) 411ea2cee72SAzat Khuzhin 412ea2cee72SAzat Khuzhin New APIs (bufferevents) 413ea2cee72SAzat Khuzhin o expose bufferevent_incref/decref (with fewer modifications) (1ed6718 Mark Ellzey) 414ea2cee72SAzat Khuzhin 415ea2cee72SAzat Khuzhin New APIs (internal) 416ea2cee72SAzat Khuzhin o evdns: export cancel via callbacks in util (like async lib core/extra issues) (8cbe65d Azat Khuzhin) 417ea2cee72SAzat Khuzhin 418ea2cee72SAzat Khuzhin New APIs/Improvements (http) 419ea2cee72SAzat Khuzhin o http: take EVHTTP_CON_LINGERING_CLOSE into account for "Expect: 100-Continue" (ac448a7 Azat Khuzhin) 420ea2cee72SAzat Khuzhin o http: lingering close (like nginx have) for entity-too-large (9fde518 Azat Khuzhin) 421ea2cee72SAzat Khuzhin o http: read server response even after server closed the connection (680742e Azat Khuzhin) 422ea2cee72SAzat Khuzhin o http: export evhttp_connection_set_family() (714fc70 Azat Khuzhin) 423ea2cee72SAzat Khuzhin o http: reuse connected address only with EVHTTP_CON_REUSE_CONNECTED_ADDR (a50f5f0 Azat Khuzhin) 424ea2cee72SAzat Khuzhin o http: use IP address that we got before (if any) during retrying (54c887d Azat Khuzhin) 425ea2cee72SAzat Khuzhin 426ea2cee72SAzat Khuzhin Bugfixes (core) 427ea2cee72SAzat Khuzhin o Fix getaddrinfo under solaris (for multiprotocol case) (40730ae Azat Khuzhin) 428ea2cee72SAzat Khuzhin o Check for Mac OS X 10.4 kqueue bug properly (df6f99e Mark Mentovai) 429ea2cee72SAzat Khuzhin o event_reinit: make signals works after fork() without evsig_add() (88640aa Nicholas Marriott) 430ea2cee72SAzat Khuzhin o event_reinit: always re-init signal's socketpair (ad0c237 Nicholas Marriott) 431ea2cee72SAzat Khuzhin o Free event queues even for recursive finalizers (7c8d015 Azat Khuzhin) 432ea2cee72SAzat Khuzhin o Fix checking for make_base_notifiable() (f337296 Azat Khuzhin) 433ea2cee72SAzat Khuzhin o Set correct socklen for PF_INET6 sockaddr len (3499ad9 Mark Ellzey) 434ea2cee72SAzat Khuzhin o Fix garbage value in socketpair util function, stdint? (043ae74 Mark Ellzey) 435ea2cee72SAzat Khuzhin o fix the return value of event_deferred_cb_schedule_ (38cef64 Greg Hazel) 436ea2cee72SAzat Khuzhin o event_free_debug_globals_locks(): disable lock debugging (e5c87d1 Azat Khuzhin) 437ea2cee72SAzat Khuzhin o event: call event_disable_debug_mode() in libevent_global_shutdown() (941faae Azat Khuzhin) 438ea2cee72SAzat Khuzhin o ht-internal: don't reset hth_table_length explicitly in name_##HT_CLEAR (597c7b2 Azat Khuzhin) 439ea2cee72SAzat Khuzhin 440ea2cee72SAzat Khuzhin Bugfixes (evthread) 441ea2cee72SAzat Khuzhin o evthread: fix evthread_setup_global_lock_() for debug-lock with a real-lock case (e4556fc Azat Khuzhin) 442ea2cee72SAzat Khuzhin o evthread: evthreadimpl_disable_lock_debugging_() for libevent_global_shutdown() (ccc5593 Azat Khuzhin) 443ea2cee72SAzat Khuzhin 444ea2cee72SAzat Khuzhin Bugfixes (evdns) 445ea2cee72SAzat Khuzhin o evdns: avoid double-free in evdns_base_free() for probing requests (4db15e0 Azat Khuzhin) 446ea2cee72SAzat Khuzhin o evdns: evdns_base_free(): fix UAF of evdns_base with @fail_requests (00313c5 Azat Khuzhin) 447ea2cee72SAzat Khuzhin o evdns: evdns_base_free(): free requests before namservers (14f84bb Azat Khuzhin) 448ea2cee72SAzat Khuzhin o evdns: fix randomize-case by make case-insensitive as required (9c238de Azat Khuzhin) 449ea2cee72SAzat Khuzhin 450ea2cee72SAzat Khuzhin Bugfixes (bufferevents) 451ea2cee72SAzat Khuzhin o be_sock: handle readv() returns ECONNREFUSED (freebsd 9.2) (3189eb0 Azat Khuzhin) 452ea2cee72SAzat Khuzhin o be_filter: avoid data stuck under active watermarks (b627ad8 Eduardo Panisset) 453ea2cee72SAzat Khuzhin o Fix bufferevent_pair to properly set BEV_EVENT_{READING,WRITING} on flush. (2851889 David Paschich) 454ea2cee72SAzat Khuzhin o be_openssl: clear all pending errors before SSL_*() calls (38e0f4a Azat Khuzhin) 455ea2cee72SAzat Khuzhin o be_sock: cancel in-progress dns requests (86dfd2c Azat Khuzhin) 456ea2cee72SAzat Khuzhin o be_sock: unfreeze buffers on fd changing (255525d Azat Khuzhin) 457ea2cee72SAzat Khuzhin o be_sock: bufferevent_socket_connect_hostname(): make it thread-safe (809bb39 Azat Khuzhin) 458ea2cee72SAzat Khuzhin o be_openssl: don't call do_write() directly from outbuf_cb (da52933 Azat Khuzhin) 459ea2cee72SAzat Khuzhin o be_openssl: use bufferevent_enable() instead of bufferevent_add_event_() (0c66d32 Azat Khuzhin) 460ea2cee72SAzat Khuzhin o be_openssl: don't add events during bev creation (like be_sock) (f4b6284 Azat Khuzhin) 461ea2cee72SAzat Khuzhin o Fix lock leak in be_pair_flush() if flush type is BEV_NORMAL (f45d39d Bill Vaughan) 462ea2cee72SAzat Khuzhin o be_openssl: don't use *_auto() in do_handshake() we can't have fd == -1 there (877280d Azat Khuzhin) 463ea2cee72SAzat Khuzhin o be_openssl: don't call set_open_callbacks() if fd == -1 (e8a2da9 Azat Khuzhin) 464ea2cee72SAzat Khuzhin o be_openssl: get rid off hackish "fd_is_set", to fix some corner cases (40b0379 Azat Khuzhin) 465ea2cee72SAzat Khuzhin o be: we don't need to use getpeername() we we have conn_address (2c271e2 Azat Khuzhin) 466ea2cee72SAzat Khuzhin o Call underlying bev ctrl SET_FD on filtered bufferevents (c2aa7dc Mark Ellzey) 467ea2cee72SAzat Khuzhin o be_pair: release shared lock with the latest of bufferevent_pair (92a359e Azat Khuzhin) 468ea2cee72SAzat Khuzhin 469ea2cee72SAzat Khuzhin Bugfixes (http) 470ea2cee72SAzat Khuzhin o [Issue #313] set method to ASCII "NULL" if evhttp_method() returns NULL (17cc636 Mark Ellzey) 471ea2cee72SAzat Khuzhin o evhttp_have_expect(): fix -Wlogical-not-parentheses (24b5214 Azat Khuzhin) 472ea2cee72SAzat Khuzhin o http: set fd to -1 unconditioally, to avoid leaking of DNS requests (7a4b472 Azat Khuzhin) 473ea2cee72SAzat Khuzhin o http: avoid leaking of fd in evhttp_connection_free() (f0e1341 Azat Khuzhin) 474ea2cee72SAzat Khuzhin o http: get fd from be layer during connection reset (4a53c54 Azat Khuzhin) 475ea2cee72SAzat Khuzhin o http: fix EVHTTP_CON_READ_ON_WRITE_ERROR when it doesn't supported by OS (2ff164a Azat Khuzhin) 476ea2cee72SAzat Khuzhin o http: do not do function calls under EVUTIL_ASSERT() to fix NDEBUG builds (7c89999 Azat Khuzhin) 477ea2cee72SAzat Khuzhin o http: fix leaking of response_code_line (8f18a62 Azat Khuzhin) 478ea2cee72SAzat Khuzhin o http: fix "Expect: 100-continue" client side (0b46b39 Azat Khuzhin) 479ea2cee72SAzat Khuzhin o http: fix conflicts EVHTTP_CON_AUTOFREE and EVHTTP_CON_REUSE_CONNECTED_ADDR (4dc0979 Azat Khuzhin) 480ea2cee72SAzat Khuzhin o http: avoid epoll_ctl() on already closed fd (triggers by http/chunk_out) (ab3bc69 Azat Khuzhin) 481ea2cee72SAzat Khuzhin o http: install timeout for read too during connect for ssl (040000d Azat Khuzhin) 482ea2cee72SAzat Khuzhin o http: fix evhttp_request_own() by checking EVHTTP_USER_OWNED in more cases (b0d3964 Azat Khuzhin) 483ea2cee72SAzat Khuzhin o http: fix detecting EOF without write (7ed02ac Azat Khuzhin) 484ea2cee72SAzat Khuzhin o evhttp: Fix failure to send all output data for POST/PUT requests (24eea0d John Ohl) 485ea2cee72SAzat Khuzhin o Fix evhttp_uriencode() regression. (c6b1ec1 Mark Ellzey) 486ea2cee72SAzat Khuzhin o removed unused vars (e94250c Mark Ellzey) 487ea2cee72SAzat Khuzhin o pointer overflow checks for evhttp_uriencode (72afe4c Zonr Chang) 488ea2cee72SAzat Khuzhin 489ea2cee72SAzat Khuzhin Bugfixes (evbuffers) 490ea2cee72SAzat Khuzhin o buffer: fix overflow check in evbuffer_expand_singlechain() (a3f4ccd Azat Khuzhin) 491ea2cee72SAzat Khuzhin o buffer: evbuffer_add_buffer(): clean empty chains from destination buffer (26fd932 Azat Khuzhin) 492ea2cee72SAzat Khuzhin o Fix n_add_for_cb in evbuffer_prepend() in case of new buffer required (0abd039 Azat Khuzhin) 493ea2cee72SAzat Khuzhin o be_filter: actually disable output_filter during processing output (c031215 Simon Perreault) 494ea2cee72SAzat Khuzhin o evbuffer_add: Use last_with_datap if set, not last. (a8769ef Marcus Sundberg) 495ea2cee72SAzat Khuzhin o EVBUFFER_PTR_SET -> EVBUFFER_PTR_ADD (8674e4f jer-gentoo) 496ea2cee72SAzat Khuzhin 497ea2cee72SAzat Khuzhin Bugfixes (evconnlistener) 498ea2cee72SAzat Khuzhin o listener: unlock lev on error in listener_read_cb() (2a71b33 Azat Khuzhin) 499ea2cee72SAzat Khuzhin o Fix potential fd leak in listener_read_cb() (a695a72 Mark Ellzey) 500ea2cee72SAzat Khuzhin 501ea2cee72SAzat Khuzhin Testing 502ea2cee72SAzat Khuzhin o tests: use waitpid(..., WNOWAIT) to fix failing of main/fork under solaris (43eb56c Azat Khuzhin) 503ea2cee72SAzat Khuzhin o test: replace sleeping with syncing pair in main/fork (16d220c Azat Khuzhin) 504ea2cee72SAzat Khuzhin o test/http: do not run tests that based on backlog filling (freebsd) (500b6b7 Azat Khuzhin) 505ea2cee72SAzat Khuzhin o test/bufferevent/iocp: fix test name for "bufferevent_connect_fail_eventcb" (4410e9d Azat Khuzhin) 506ea2cee72SAzat Khuzhin o test/ssl: use send()/recv()/EVUTIL_ERR_RW_RETRIABLE()/EVUTIL_SOCKET_ERROR() to fix win32 (a9e8cd6 Azat Khuzhin) 507ea2cee72SAzat Khuzhin o test/https_basic: increase timeout for complete write (fixes win32) (d5a2f2f Azat Khuzhin) 508ea2cee72SAzat Khuzhin o test: fix building with --disable-thread-support under win32 (a487706 Azat Khuzhin) 509ea2cee72SAzat Khuzhin o test/buffer: evbuffer_add_buffer() with empty chains (a272bc4 Azat Khuzhin) 510ea2cee72SAzat Khuzhin o test/buffer: evbuffer_remove_buffer() with empty chains (prepend) (f0cfa14 Azat Khuzhin) 511ea2cee72SAzat Khuzhin o test/buffer: evbuffer_remove_buffer() with empty chains (evbuffer_add_buffer()) (2880ce6 Azat Khuzhin) 512ea2cee72SAzat Khuzhin o test/buffer: cover evbuffer_expand() for overflow (48dab7a Azat Khuzhin) 513ea2cee72SAzat Khuzhin o test/be_filter: creating test case for data stuck with active watermarks (766194b Eduardo Panisset) 514ea2cee72SAzat Khuzhin o test/http: avoid using conditionals with omitted operands (fixes VS2015) (2a4bf29 Azat Khuzhin) 515ea2cee72SAzat Khuzhin o test/http: don't mix declarations and code (fixes -Wdeclaration-after-statement) (aabf1c2 Azat Khuzhin) 516ea2cee72SAzat Khuzhin o test/buffer: fix leak in test_evbuffer_prepend() (c08d90b Azat Khuzhin) 517ea2cee72SAzat Khuzhin o test/buffer: avoid errors with --no-fork (reinitialize static vars) (e7d1e39 Azat Khuzhin) 518ea2cee72SAzat Khuzhin o test/buffer: cover n_add_for_cb when evbuffer_prepend() need to allocate buffer (e77ff41 Azat Khuzhin) 519ea2cee72SAzat Khuzhin o test/tinytest_macros: add new one tt_nstr_op() (bd19a28 Azat Khuzhin) 520ea2cee72SAzat Khuzhin o test/bufferevent: check that output_filter disabled during processing output (ae28812 Azat Khuzhin) 521ea2cee72SAzat Khuzhin o test/listener: regression for missing unlock in listener_read_cb() (7d85651 Azat Khuzhin) 522ea2cee72SAzat Khuzhin o test/regress: add tests for evbuffer_add() breakage on empty last chain (d5ee739 Marcus Sundberg) 523ea2cee72SAzat Khuzhin o test/http: fix running some tests sequential (with --no-fork) (bddad71 Azat Khuzhin) 524ea2cee72SAzat Khuzhin o test/http: localize evhttp server structure (cbc3209 Azat Khuzhin) 525ea2cee72SAzat Khuzhin o test/dns: regression for empty hostname (d7348ba Azat Khuzhin) 526ea2cee72SAzat Khuzhin o test/http: fix SERVER_TIMEOUT tests under win32 (d49a658 Azat Khuzhin) 527ea2cee72SAzat Khuzhin o test/http: add a helper for creating timedout/failed request (376f107 Azat Khuzhin) 528ea2cee72SAzat Khuzhin o test/http: adopt for C90 (mixed code and declarations) (d02a285 Azat Khuzhin) 529ea2cee72SAzat Khuzhin o test/http: cover NS timed out during request cancellations separatelly (0c343af Azat Khuzhin) 530ea2cee72SAzat Khuzhin o test/http: request cancellation with resolving/{conn,write}-timeouts in progress (334340d Azat Khuzhin) 531ea2cee72SAzat Khuzhin o test/http: exit from the loop in the errorcb to wait cancellation (927ab33 Azat Khuzhin) 532ea2cee72SAzat Khuzhin o regress_clean_dnsserver(): reset global port vars (351207f Azat Khuzhin) 533ea2cee72SAzat Khuzhin o test/http: read_on_write_error: fix it for win32 (3b58169 Azat Khuzhin) 534ea2cee72SAzat Khuzhin o test/http: separate coverage for EVHTTP_CON_READ_ON_WRITE_ERROR (5c2b4c1 Azat Khuzhin) 535ea2cee72SAzat Khuzhin o test/http: cover "Expect: 100-continue" client-server interaction (31d8116 Azat Khuzhin) 536ea2cee72SAzat Khuzhin o test/http: *lingering tests shouldn't have "Expect: 100-continue" (ed469ab Azat Khuzhin) 537ea2cee72SAzat Khuzhin o test: use EVUTIL_SHUT_WR (04fc82f Azat Khuzhin) 538ea2cee72SAzat Khuzhin o test/http: avoid huge stack allocations to fix win32 builds (3166765 Azat Khuzhin) 539ea2cee72SAzat Khuzhin o test: http/lingering_close: cover EVHTTP_SERVER_LINGERING_CLOSE (e122ca1 Azat Khuzhin) 540ea2cee72SAzat Khuzhin o test: http/non_lingering_close: cover ~EVHTTP_SERVER_LINGERING_CLOSE (f41e1b0 Azat Khuzhin) 541ea2cee72SAzat Khuzhin o test: http/*: update expected HTTP codes for body exceeds `max_body_size` (addf2b9 Azat Khuzhin) 542ea2cee72SAzat Khuzhin o test: http/data_length_constrains: set EVHTTP_CON_READ_ON_WRITE_ERROR (d38a723 Azat Khuzhin) 543ea2cee72SAzat Khuzhin o test: increase buffer size for http/data_length_constraints to trigger EPIPE (0792e1e Azat Khuzhin) 544ea2cee72SAzat Khuzhin o test/tinytest_demo: include <windows.h> for win32 to fix tdm-gcc (f062bbe Azat Khuzhin) 545ea2cee72SAzat Khuzhin o test/regress: cover event_del() waiting mechanism (5b58b70 Azat Khuzhin) 546ea2cee72SAzat Khuzhin o test/regress: cover existing signal callbacks and fork() + event_reinit() (ceddc60 Azat Khuzhin) 547ea2cee72SAzat Khuzhin o test/regress: cover signals after fork() + event_reinit() (b075b81 Azat Khuzhin) 548ea2cee72SAzat Khuzhin o test/regress: main/fork: rewrite assertions by just removing event in callback (088d8b3 Azat Khuzhin) 549ea2cee72SAzat Khuzhin o test/dns: check exit code of evdns_getaddrinfo() (0b9d432 Azat Khuzhin) 550ea2cee72SAzat Khuzhin o test/dns: cover evdns_getaddrinfo() and evdns_base_free() with @fail_requests (4ad3483 Azat Khuzhin) 551ea2cee72SAzat Khuzhin o test/dns: cover @fail_requests for evdns_base_free() (d6c6fb4 Azat Khuzhin) 552ea2cee72SAzat Khuzhin o test/dns: more graceful coverage of @fail_requests (123d372 Azat Khuzhin) 553ea2cee72SAzat Khuzhin o test/ssl: cover busy-loop (i.e. {read,write}-blocked-on-{write,read} stuff) (da0ea7a Azat Khuzhin) 554ea2cee72SAzat Khuzhin o test/http: write_during_read for https (23c77b6 Azat Khuzhin) 555ea2cee72SAzat Khuzhin o test/http: connection_fail for https (7ea26f7 Azat Khuzhin) 556ea2cee72SAzat Khuzhin o test/http: stream_out for https (ac04968 Azat Khuzhin) 557ea2cee72SAzat Khuzhin o test/http: chunk_out for https (a71ffb9 Azat Khuzhin) 558ea2cee72SAzat Khuzhin o test/regress: fix ssl-less builds (need to make this prettier) (3160716 Azat Khuzhin) 559ea2cee72SAzat Khuzhin o test/http: allow dirty shutdown for ssl to fix https_incomplete (1ede326 Azat Khuzhin) 560ea2cee72SAzat Khuzhin o test/http: https basic (59714b4 Azat Khuzhin) 561ea2cee72SAzat Khuzhin o test/http: incomplete{,_timeout} for https (615490d Azat Khuzhin) 562ea2cee72SAzat Khuzhin o test/http: add simplest test for http/https/https_dirty_shutdown (93b19dc Azat Khuzhin) 563ea2cee72SAzat Khuzhin o test/http: https: retry coverage (7c2d24a Azat Khuzhin) 564ea2cee72SAzat Khuzhin o test/http: https server support (plus some helpers) (a7088ad Azat Khuzhin) 565ea2cee72SAzat Khuzhin o test/http: more sanity checks (a27c53c Azat Khuzhin) 566ea2cee72SAzat Khuzhin o test/ssl: export getkey()/getcert()/get_ssl_ctx()/init_ssl() for https (0c4c387 Azat Khuzhin) 567ea2cee72SAzat Khuzhin o test/regress_be: basic coverage bufferevent_flush() for pair/sock layers (ad52602 Azat Khuzhin) 568ea2cee72SAzat Khuzhin o test/regress_be: socket_filter_inactive: check bufferevent after creation (f8081af Azat Khuzhin) 569ea2cee72SAzat Khuzhin o test/regress_be: cover finalizers from inactive to active queue (337684b Azat Khuzhin) 570ea2cee72SAzat Khuzhin o test/regress_buffer: fix clang compilation warnings (d8fd4c0 Azat Khuzhin) 571ea2cee72SAzat Khuzhin o test/regress_http: fix compilation warnings (-Wmissing-field-initializers) (cd422e0 Azat Khuzhin) 572ea2cee72SAzat Khuzhin o test/regress_dns: fix compilation warnings (-Wmissing-field-initializers/for) (f55db98 Azat Khuzhin) 573ea2cee72SAzat Khuzhin o tests/regress_dns: cover that randomize-case works case-insensitive (1e8bfbc Azat Khuzhin) 574ea2cee72SAzat Khuzhin o test: fix bufferevent/bufferevent_pair_release_lock in debug mode (3f749e9 Azat Khuzhin) 575ea2cee72SAzat Khuzhin o test: fix bufferevent/bufferevent_pair_release_lock for freebsd (79f9ace Azat Khuzhin) 576ea2cee72SAzat Khuzhin o test/regress_be: bufferevent_enable() shouldn't call eventcb by it's own (a0f308d Azat Khuzhin) 577ea2cee72SAzat Khuzhin o test/regress_be: introduce fake_listener_create() (37dc9e0 Azat Khuzhin) 578ea2cee72SAzat Khuzhin o test/regress_http: cover evhttp_request_own() (6f6fa0d Azat Khuzhin) 579ea2cee72SAzat Khuzhin o test/regress_http: cover write during read (3d15aeb Azat Khuzhin) 580ea2cee72SAzat Khuzhin o test/regress_http: verify that closecb will be called without multiple write (4be6c70 Azat Khuzhin) 581ea2cee72SAzat Khuzhin o test/regress: fix bufferevent_pair_release_lock with EVENT_DEBUG_MODE (6ea6655 Azat Khuzhin) 582ea2cee72SAzat Khuzhin o test/regress_ssl: check events fd/pending after timeout triggered (cdafdf0 Azat Khuzhin) 583ea2cee72SAzat Khuzhin o test/regress_ssl: cover case when server didn't up (failed with timeout) (74845f1 Azat Khuzhin) 584ea2cee72SAzat Khuzhin o test/regress_ssl: covert that we can't change fd with underlying (df507af Azat Khuzhin) 585ea2cee72SAzat Khuzhin o test/regress_ssl: cover that events (read/write) at finish not pending (762edb4 Azat Khuzhin) 586ea2cee72SAzat Khuzhin o test/regress_ssl: cover fd manipulations (b78a829 Azat Khuzhin) 587ea2cee72SAzat Khuzhin o test/regress_ssl: convert open_ssl_bufevs() to mask (46bba73 Azat Khuzhin) 588ea2cee72SAzat Khuzhin o test/regress_ssl: convert client/server to mask too (3455991 Azat Khuzhin) 589ea2cee72SAzat Khuzhin o test/regress_ssl: cover "allow_dirty_shutdown" (0430327 Azat Khuzhin) 590ea2cee72SAzat Khuzhin o test/regress_ssl: convert regress_bufferevent_openssl() to bitmask (342e116 Azat Khuzhin) 591ea2cee72SAzat Khuzhin o tests/regress_ssl: drop duplicated assert (25e56fd Azat Khuzhin) 592ea2cee72SAzat Khuzhin o test/regress_http: initialize "dns_base" to avoid reading trash (9f0bff3 Azat Khuzhin) 593ea2cee72SAzat Khuzhin o test/http: cover retrying with saved conn_address by shutting down dns server (f4874d8 Azat Khuzhin) 594ea2cee72SAzat Khuzhin o be_pair/regress: cover use of shared lock (lock/unlock/free) (a558fcd Azat Khuzhin) 595ea2cee72SAzat Khuzhin o regress_dns: drop hack for event_debug_map_HT_GROW in leak tests (3540a19 Azat Khuzhin) 596ea2cee72SAzat Khuzhin 597ea2cee72SAzat Khuzhin Sample code 598ea2cee72SAzat Khuzhin o Fix memory leak in signal-test.c (666db91 basavesh.as) 599ea2cee72SAzat Khuzhin o sample/hello-world: exAmple, not eXMple (2d3cd35 kirillDanshin) 600ea2cee72SAzat Khuzhin o dns-example: allow to set ns from args (df19a97 Azat Khuzhin) 601ea2cee72SAzat Khuzhin o dns-example: convert to getopt() (32f8592 Azat Khuzhin) 602ea2cee72SAzat Khuzhin o http-connect: make it win32 compilable (1bf7595 Azat Khuzhin) 603ea2cee72SAzat Khuzhin o sample/https-client: allow to change path to ca-certificates (fdf713a Azat Khuzhin) 604ea2cee72SAzat Khuzhin o sample/https-client: check for ERR_remove_thread_state() existence (c4e9d9b Azat Khuzhin) 605ea2cee72SAzat Khuzhin o sample/https-client: replace ERR_remove_state() by ERR_remove_thread_state() (77ad68a Azat Khuzhin) 606ea2cee72SAzat Khuzhin o sample/https-client: add -timeout option (4637aa8 Azat Khuzhin) 607ea2cee72SAzat Khuzhin o sample/https-client: don't try to free uninitialized SSL (f3d7ff5 Azat Khuzhin) 608ea2cee72SAzat Khuzhin o sample/https-client: graceful exit with freeing memory (to make valgrind happy) (24a1f25 Azat Khuzhin) 609ea2cee72SAzat Khuzhin o https-client: correctly handle URLs with no path (like "https://host:port") (29a0482 Andrey Skriabin) 610ea2cee72SAzat Khuzhin o sample/http-connect: don't use assert() to make it work with NDEBUG (6dc71e7 Azat Khuzhin) 611ea2cee72SAzat Khuzhin o sample/http-connect: made it compatible with C90 (f976d43 Azat Khuzhin) 612ea2cee72SAzat Khuzhin o sample: add HTTP CONNECT tunnelling example using libevent http layer (1d34498 Azat Khuzhin) 613ea2cee72SAzat Khuzhin o Update dns-example. (620ff24 Mark Ellzey) 614ea2cee72SAzat Khuzhin 615ea2cee72SAzat Khuzhin Documentation 616ea2cee72SAzat Khuzhin o Update README.md (b8ec70c Mark Ellzey) 617ea2cee72SAzat Khuzhin o Update README.md (80faee9 Mark Ellzey) 618ea2cee72SAzat Khuzhin o Update README.md (ad4a897 Mark Ellzey) 619ea2cee72SAzat Khuzhin o Update README.md (a2b2e1e Mark Ellzey) 620ea2cee72SAzat Khuzhin o Update README.md (0dfa5dc Mark Ellzey) 621ea2cee72SAzat Khuzhin 622ea2cee72SAzat Khuzhin Code Improvements (evthread) 623ea2cee72SAzat Khuzhin o evthread: add evthread_get_{lock,condition}_callbacks() helpers (c0b34f6 Azat Khuzhin) 624ea2cee72SAzat Khuzhin 625ea2cee72SAzat Khuzhin Code Improvements (core) 626ea2cee72SAzat Khuzhin o util: make @sa const for evutil_socket_connect_() (a8d32c2 Azat Khuzhin) 627ea2cee72SAzat Khuzhin 628ea2cee72SAzat Khuzhin Code Improvements (http) 629ea2cee72SAzat Khuzhin o http: assert's that evbuffer_drain() success on connection reset (2185e63 Azat Khuzhin) 630ea2cee72SAzat Khuzhin o http: introduce evhttp_request_free_() helper (22061ac Azat Khuzhin) 631ea2cee72SAzat Khuzhin o http: introduce evhttp_is_request_connection_close() helper (6540da3 Azat Khuzhin) 632ea2cee72SAzat Khuzhin 633ea2cee72SAzat Khuzhin Code Improvements (bufferevents) 634ea2cee72SAzat Khuzhin o be_sock: bufferevent_socket_set_conn_address(): assert instead of silent no-op (0ab88c2 Azat Khuzhin) 635ea2cee72SAzat Khuzhin o be_sock: sanity check in bufferevent_socket_set_conn_address() (eedbeff Azat Khuzhin) 636ea2cee72SAzat Khuzhin o be: replace sockaddr_storage with sockaddr_in6 for conn_address (3889612 Azat Khuzhin) 637ea2cee72SAzat Khuzhin o be: replace conn_address by full struct instead of pointer (e5615aa Azat Khuzhin) 638ea2cee72SAzat Khuzhin o bufferevent: move conn_address out from http into bufferevent (8bb3842 Azat Khuzhin) 639ea2cee72SAzat Khuzhin o be: make @sa const for bufferevent_socket_connect() (dc33c78 Azat Khuzhin) 640ea2cee72SAzat Khuzhin 641ea2cee72SAzat Khuzhin Cleanups (core) 642ea2cee72SAzat Khuzhin o Refactoring conditional directives that break parts of statements. (4b41eeb lzmths) 643ea2cee72SAzat Khuzhin o epoll: introduce PRINT_CHANGES() macro to avoid copy-pasting (a1b142b Azat Khuzhin) 644ea2cee72SAzat Khuzhin o tab (6e7a580 Greg Hazel) 645ea2cee72SAzat Khuzhin 646ea2cee72SAzat Khuzhin Cleanups (evbuffers) 647ea2cee72SAzat Khuzhin o buffer_compat: fix comment -- we have EVBUFFER_EOL_ANY not EOL_STYLE_ANY (575ff67 Azat Khuzhin) 648ea2cee72SAzat Khuzhin 649ea2cee72SAzat Khuzhin Cleanups (bufferevents) 650ea2cee72SAzat Khuzhin o be_sock: evutil_getaddrinfo_async_() always return 0 (dbff101 Azat Khuzhin) 651ea2cee72SAzat Khuzhin o be_sock: drop be_sock_add() macro (useless and debug unfriendly) (fad5fe2 Azat Khuzhin) 652ea2cee72SAzat Khuzhin o be: introduce bufferevent_generic_adj_existing_timeouts_() (3c1f58f Azat Khuzhin) 653ea2cee72SAzat Khuzhin o be: add_event: use evutil_timerisset() (a96b73b Azat Khuzhin) 654ea2cee72SAzat Khuzhin o be_openssl: introduce be_openssl_auto_fd() helper (2a8a711 Azat Khuzhin) 655ea2cee72SAzat Khuzhin o be_openssl: introduce set_open_callbacks_auto() (510da71 Azat Khuzhin) 656ea2cee72SAzat Khuzhin 657ea2cee72SAzat Khuzhin Cleanups (http) 658ea2cee72SAzat Khuzhin o http: make fallback for EVHTTP_CON_READ_ON_WRITE_ERROR more cleaner (d405492 Azat Khuzhin) 659ea2cee72SAzat Khuzhin o http: coding style issue (365f181 Azat Khuzhin) 660ea2cee72SAzat Khuzhin 661ea2cee72SAzat Khuzhin Cleanups (evdns) 662ea2cee72SAzat Khuzhin o evnds: inline TEST_NAME macro to make debuggin easier (0c615f4 Azat Khuzhin) 663ea2cee72SAzat Khuzhin 664ea2cee72SAzat Khuzhin Portability Fixes 665ea2cee72SAzat Khuzhin o [#372] check for errno.h (3031617 Mark Ellzey) 666ea2cee72SAzat Khuzhin o Fixed Unicode issue in error messages. (e8b7895 Mattes D) 667ea2cee72SAzat Khuzhin o Assume that ke_udata is an integer type on CloudABI. (5602e45 Ed Schouten) 668ea2cee72SAzat Khuzhin o Add missing include of <netinet/in.h>. (b2c68bc Ed Schouten) 669ea2cee72SAzat Khuzhin o Include <sys/ioctl.h>, <sys/resource.h> and <sys/wait.h> optionally. (c1404b5 Ed Schouten) 670ea2cee72SAzat Khuzhin o Test against SO_REUSEADDR (along with _WIN32). (ce1776c Ed Schouten) 671ea2cee72SAzat Khuzhin o Always define missing TAILQ functions from sys/queue.h (2828bdb Christopher Wiley) 672ea2cee72SAzat Khuzhin o Don't use BSD u_* types. (fd36647 Ed Schouten) 673ea2cee72SAzat Khuzhin o Remove BSD-ism: TIMEVAL_TO_TIMESPEC(). (193c7de Ed Schouten) 674ea2cee72SAzat Khuzhin o be: include all variations of headers for sockaddr_in6 struct (c212291 Azat Khuzhin) 675ea2cee72SAzat Khuzhin o be: fix sockaddr_in6 type definition for win32 (c42bc6b Azat Khuzhin) 676ea2cee72SAzat Khuzhin 677ea2cee72SAzat Khuzhin Continious Integration: 678ea2cee72SAzat Khuzhin o travis: split long lines, and make it cleaner (685a6a1 Azat Khuzhin) 679ea2cee72SAzat Khuzhin o travis: fix autotools on osx by reinstalling libtool (088ea5e Azat Khuzhin) 680ea2cee72SAzat Khuzhin o appveyor/autotools: link with openssl by passing LDFLAGS/CFLAGS (6fcfa25 Azat Khuzhin) 681ea2cee72SAzat Khuzhin o appveyor: image already had openssl installed (4634b85 Azat Khuzhin) 682ea2cee72SAzat Khuzhin o appveyor: check -DUNICODE -D_UNICODE according to ReleaseChecklist (cmake only) (e9acc44 Azat Khuzhin) 683ea2cee72SAzat Khuzhin o appveyor: ignore failure of mingw-get (1810857 Azat Khuzhin) 684ea2cee72SAzat Khuzhin o appveyor: drop shallow_clone, since we use tags for detecting version in cmake (ac90133 Azat Khuzhin) 685ea2cee72SAzat Khuzhin o appveyor: support cmake & autotools using build matrix (like travis-ci has) (8f95015 Azat Khuzhin) 686ea2cee72SAzat Khuzhin o travis-ci/osx: relink gcc/g++ instead of clang (481481d Azat Khuzhin) 687ea2cee72SAzat Khuzhin o travis-ci: enable multi-os mode (osx, linux) (79917e4 Azat Khuzhin) 688ea2cee72SAzat Khuzhin o travis-ci: increase matrix (--disable-foo) (59649f7 Azat Khuzhin) 689ea2cee72SAzat Khuzhin o travis-ci: adjust alignment (c8be339 Azat Khuzhin) 690ea2cee72SAzat Khuzhin o travis: add builds without debug mode into matrix (3e56da2 Azat Khuzhin) 691ea2cee72SAzat Khuzhin o test: run regress with EVENT_DEBUG_MODE=1 and without (cf2cf2a Azat Khuzhin) 692ea2cee72SAzat Khuzhin o Update travis config for status updates (37453ab Mark Ellzey) 693ea2cee72SAzat Khuzhin o Use autotools for appveyor until cmake is fixed. (1cc2e29 Mark Ellzey) 694ea2cee72SAzat Khuzhin o Fix the link for appveyor OpenSSL installer (WIN32) (107d565 Mark Ellzey) 695ea2cee72SAzat Khuzhin o Forgot to install OpenSSL for appveyor (26164a5 Joakim Söderberg) 696ea2cee72SAzat Khuzhin o Add support for appveyor.com windows CI (5f89c37 Joakim Söderberg) 697ea2cee72SAzat Khuzhin 698ea2cee72SAzat Khuzhin Build Improvements/Fixes: 699ea2cee72SAzat Khuzhin o evutil: mark ai_find_protocol() static (prototype-less) (5a157c8 Azat Khuzhin) 700ea2cee72SAzat Khuzhin o cmake/solaris: set CMAKE_REQUIRED_LIBRARIES to fix functions detections (dc95823 Azat Khuzhin) 701ea2cee72SAzat Khuzhin o cmake/solaris: fix building (link with socket,nsl) (050bfc7 Azat Khuzhin) 702ea2cee72SAzat Khuzhin o cmake: check for ZLIB_INCLUDE_DIR, since we can have only library without headers (c4dfb93 Azat Khuzhin) 703ea2cee72SAzat Khuzhin o autotools/win32: fix searching ssl library (671a24f Azat Khuzhin) 704ea2cee72SAzat Khuzhin o cmake/win32: do not compile regress_thread on -DEVENT__DISABLE_THREAD_SUPPORT=ON (de0c196 Azat Khuzhin) 705ea2cee72SAzat Khuzhin o cmake/win32: do not compile evthread_win32 on -DEVENT__DISABLE_THREAD_SUPPORT=ON (ecb0ec8 Azat Khuzhin) 706ea2cee72SAzat Khuzhin o cmake: fix -DEVENT__ENABLE_VERBOSE_DEBUG (typo on -DUSE_DEBUG) (e35f224 Azat Khuzhin) 707ea2cee72SAzat Khuzhin o cmake: do not use stderr for notifications/version-info (38716c6 Azat Khuzhin) 708ea2cee72SAzat Khuzhin o autoconf: fix --disable-thread-support build under win32 (bb09535 Azat Khuzhin) 709ea2cee72SAzat Khuzhin o buffer: don't mix code and declarations (8892f4c Azat Khuzhin) 710ea2cee72SAzat Khuzhin o Update gitignore file to ignore cscope gen'ed files (0aaa4fb Neeraj Badlani) 711ea2cee72SAzat Khuzhin o For non GCC/clang on OSX the -Wno-deprecated-declarations may not be valid (b5ca365 Rainer Keller) 712ea2cee72SAzat Khuzhin o automake: define serial-tests only if automake have this option (61179de Azat Khuzhin) 713ea2cee72SAzat Khuzhin o test/automake: don't use paralell test harness (since automake 1.12) (44d755e Azat Khuzhin) 714ea2cee72SAzat Khuzhin o Ignore all pkgconfig generated stuff (ce38993 Azat Khuzhin) 715ea2cee72SAzat Khuzhin o libevent_core and libevent_extra also deserve a pkgconfig file (b8d7c62 Jan Heylen) 716ea2cee72SAzat Khuzhin o Ignore verify_tests.bat (win32 version) (0f2de10 Azat Khuzhin) 717ea2cee72SAzat Khuzhin o cmake: require 3.1 only for win32 to make it work under ubunty precise (87f7238 Azat Khuzhin) 718ea2cee72SAzat Khuzhin o cmake: require at least 3.1 for target_sources() (c46ead5 Azat Khuzhin) 719ea2cee72SAzat Khuzhin o cmake: fix adding of compiler flags, and now it will (36588e1 Azat Khuzhin) 720ea2cee72SAzat Khuzhin o Replace -Wswitch-enum with -Wswitch, and add it into cmake rules too (f29f59e Azat Khuzhin) 721ea2cee72SAzat Khuzhin o test/regress_ssl: Fix compile problems for win32 (73d0360 Trond Norbye) 722ea2cee72SAzat Khuzhin o util: fix "%zu" format on TDM-gcc/MinGW-w64 (79b69d8 Azat Khuzhin) 723ea2cee72SAzat Khuzhin o cmake: don't define EVENT__NEED_DLLIMPORT always (fixes VS2013 static build) (49bd790 Azat Khuzhin) 724ea2cee72SAzat Khuzhin o Add missing return statement to del_wait_thread so libevent can build. (4f778ab Nick Mathewson) 725ea2cee72SAzat Khuzhin o cmake: fix building dns-example under win32 (missing getopt) (a1609a8 Azat Khuzhin) 726ea2cee72SAzat Khuzhin o visibility: align it to make it more readable (bb6b53d Azat Khuzhin) 727ea2cee72SAzat Khuzhin o cmake: Fix detection of ssize_t/SSIZE_T (7707f6b Azat Khuzhin) 728ea2cee72SAzat Khuzhin o Ignore more configure stuff (configure.lineno) (8d34302 Azat Khuzhin) 729ea2cee72SAzat Khuzhin o Fixed issue with cmake version generation (d56efd9 Mark Ellzey) 730ea2cee72SAzat Khuzhin o Cmake is now officially working. (7f9646d Mark Ellzey) 731ea2cee72SAzat Khuzhin o More cmake updates, lot's of missing definitions (49a5381 Mark Ellzey) 732ea2cee72SAzat Khuzhin o CMake syntax fixes fo .in files (6aad23d Mark Ellzey) 733ea2cee72SAzat Khuzhin o Revert "The Windows socket type is defined as SOCKET." (a264da8 Mark Ellzey) 734ea2cee72SAzat Khuzhin o CMAKE CMAKE CMAKE CLEANUPS (a9db46a Mark Ellzey) 735ea2cee72SAzat Khuzhin o Lot's of cmake updates (8b228e2 Mark Ellzey) 736ea2cee72SAzat Khuzhin 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) 737ea2cee72SAzat Khuzhin o The Windows socket type is defined as SOCKET. (c9e6c3d billsegall) 738ea2cee72SAzat Khuzhin o autotools: fix getservbyname() detection (959a4c2 Azat Khuzhin) 739ea2cee72SAzat Khuzhin o Add missing <string.h> for openssl_hostname_validation module (3316a21 Azat Khuzhin) 740ea2cee72SAzat Khuzhin o make test/regress_ssl.c compile without warnings (9f02a44 Thomas Bernard) 741ea2cee72SAzat Khuzhin o test/regress_be: drop debug __asm__(int3) to fix arm build (8240379 Azat Khuzhin) 742ea2cee72SAzat Khuzhin o event_debug_created_threadable_ctx_: fix compilation without debug mode (a068f2e Azat Khuzhin) 743ea2cee72SAzat Khuzhin o Add a prototype for event_disable_debug_mode() (bfcedee Sebastian Hahn) 744ea2cee72SAzat Khuzhin o http: eliminate warning about "socklen" in evhttp_connection_connect_() (dfad1a4 Azat Khuzhin) 745ea2cee72SAzat Khuzhin o Updated gitignore (1dbb55d Mark Ellzey) 746ea2cee72SAzat Khuzhin o Update bench_httpclient.c (cb96931 Seungmo Koo) 747ea2cee72SAzat Khuzhin o *fix: bench_httpclient to support win32 (4e9325e zeliard) 748ea2cee72SAzat Khuzhin o Commented out a WIN32 threading / timing test for now (e84e269 Mark Ellzey) 749ea2cee72SAzat Khuzhin o Fix mixed declarations and code (forbidden by ISO C90) (0c7f217 Thomas Bernard) 750ea2cee72SAzat Khuzhin o Fix "function declaration isn’t a prototype" (746d2c5 Thomas Bernard) 751ea2cee72SAzat Khuzhin o This fixes a bug introduced in 27bd9faf498b91923296cc91643e03ec4055c230 (19ba454 Joakim Söderberg) 752ea2cee72SAzat Khuzhin o changed strtotimeval signature as per #211 (bdbc823 Xiao Bao Clark) 753ea2cee72SAzat Khuzhin o Added cmake-generated files to ignore list. (6c12bfe Matyas Dolak) 754ea2cee72SAzat Khuzhin o Ignore `make dist` generated files (8a2c6c7 Azat Khuzhin) 755ea2cee72SAzat Khuzhin 756ea2cee72SAzat Khuzhin Debugging 757ea2cee72SAzat Khuzhin o Debug mode option to error on evthread init AFTER other event calls. (dcfb19a Mark Ellzey) 758ea2cee72SAzat Khuzhin 759ea2cee72SAzat Khuzhin 760ea2cee72SAzat Khuzhin 761683f5568SNick MathewsonChanges in version 2.1.5-beta (5 January 2015) 762d9469d39SNick Mathewson 7630b49ae34SNick Mathewson Security Fixes (evbuffers) 7640b49ae34SNick Mathewson o Avoid integer overflow bugs in evbuffer_add() and related functions. See CVE-2014-6272 advisory for more information. (d49bc0e88b81a5812116074dc007f1db0ca1eecd) 765d9469d39SNick Mathewson 766d9469d39SNick Mathewson New APIs (evconnlistener) 767d9469d39SNick Mathewson o Provide support for SO_REUSEPORT through LEV_OPT_REUSABLE_PORT (b625361 Maciej Soltysiak) 768d9469d39SNick Mathewson 769d9469d39SNick Mathewson Bugfixes (core) 770d9469d39SNick Mathewson o Fix use-after-free error in EV_CLOSURE_EVENT callback (3cc0eac John Ohl) 7710eb39194SNick Mathewson o Fix race caused by event_active (3c7d6fc vjpai) 772d9469d39SNick Mathewson 773d9469d39SNick Mathewson Bugfixes (evbuffer) 774d9469d39SNick Mathewson o Fix evbuffer_peek() with len==-1 and start_at non-NULL. (ba59923) 775d9469d39SNick Mathewson o Consistently check for failure from evbuffer_pullup() (60f8f72) 7760eb39194SNick Mathewson o Fix evbuffer_peek() with len==-1 and start_at non-NULL. (fb7e76a) 777d9469d39SNick Mathewson 778d9469d39SNick Mathewson Bugfixes (windows, IOCP) 779d9469d39SNick Mathewson o be async: avoid double close() (f133b86 Azat Khuzhin) 780d9469d39SNick Mathewson 781d9469d39SNick Mathewson Bugfixes (bufferevents) 782d9469d39SNick Mathewson o Fix issue #127, double free for filterevents that use BEV_OPT_CLOSE_ON_FREE (2c82aa0 John Ohl) 783d9469d39SNick Mathewson o make bufferevent_getwatermark api more robust (a21e510 ufo2243) 784d9469d39SNick Mathewson o [Bugfix] fix bufferevent setwatermark suspend_read (b34e4ac ufo2243) 785d9469d39SNick Mathewson o bufferevent_openssl: reset fd_is_set when setfd with -1 is called (3da84c2 Azat Khuzhin) 786d9469d39SNick Mathewson o Fix compilation for older OpenSSL versions. (5c7282f Joakim Soderberg) 787d9469d39SNick Mathewson 788d9469d39SNick Mathewson New APIs (evhttp) 789d9469d39SNick Mathewson o Add evhttp_connection_set_family() to set addrinfo->family for DNS requests (12c29b0 Azat Khuzhin) 790d9469d39SNick Mathewson o Implement interface that provides the ability to have an outbound evhttp_connection free itself once all requests have completed (2b9ec4c,10fe4f John Ohl) 791d9469d39SNick Mathewson 7920eb39194SNick Mathewson New APIs (core) 7930eb39194SNick Mathewson o Implement new/free for struct evutil_monotonic_timer and export monotonic time functions (f2645f8 Andrea Shepard) 7940eb39194SNick Mathewson 795d9469d39SNick Mathewson Bugfixes (evdns) 796d9469d39SNick Mathewson o Load hosts file on Windows. (a0b247c Vilmos Nebehaj) 797d9469d39SNick Mathewson o Don't truncate hosts file path on Windows. (d0dc861 Vilmos Nebehaj) 798d9469d39SNick Mathewson o Fix a crash in evdns related to shutting down evdns (9f39c88,e8fe749) 799d9469d39SNick Mathewson o evdns: avoid read-after-free in evdns_request_timeout_callback() (61262a0 Azat Khuzhin) 800d9469d39SNick Mathewson o Correctly handle allocation failures in evdns_getaddrinfo (6a53d15) 801d9469d39SNick Mathewson o evdns: fix EVDNS_BASE_DISABLE_WHEN_INACTIVE in case retransmit/retry (74d0eee Azat Khuzhin) 802d9469d39SNick Mathewson o evdns: add retry/reissue tests for EVDNS_BASE_DISABLE_WHEN_INACTIVE (3ca9d43 Azat Khuzhin) 803d9469d39SNick Mathewson o evdns: fail ns after we are failing/retrasmitting request (97c750d Azat Khuzhin) 804d9469d39SNick Mathewson 805d9469d39SNick Mathewson Bugfixes (evhttp) 806d9469d39SNick Mathewson o http: reset connection before installing retry timer (fix http retries handling) (bc79cc5 Azat Khuzhin) 807d9469d39SNick Mathewson 808d9469d39SNick Mathewson 809d9469d39SNick Mathewson Testing 810d9469d39SNick Mathewson o regress_dns: fix leaks in getaddrinfo_async{,_cancel_stress} tests (2fdc5f2 Azat Khuzhin) 811d9469d39SNick Mathewson o test: add family argument for http_connection_test_() (177b8a7 Azat Khuzhin) 812d9469d39SNick Mathewson o test: add regress for evhttp_connection_set_family() with AF_INET and AF_UNSPEC (42aefeb Azat Khuzhin) 813d9469d39SNick Mathewson o test/http: add regress test for set family to AF_INET6 (3fbf3cc Azat Khuzhin) 814d9469d39SNick Mathewson o Update to a more recent tinytest_macros. (8da5a18) 815d9469d39SNick Mathewson o test/regress: add simplestsignal: to track reorder bugs separately (b897bef Azat Khuzhin) 816d9469d39SNick Mathewson o test/evbuffer_peek: add regress in case we have first buffer greater (e2d139d Azat Khuzhin) 817d9469d39SNick Mathewson o More evbuffer_peek() test cases (154006a) 818d9469d39SNick Mathewson o use correct tt macro for pointer compare (08c88ea) 819d9469d39SNick Mathewson o regress_buffer: fix 'memcmp' compare size (79800df Maks Naumov) 820d9469d39SNick Mathewson o Fix a use-after-free in unit tests. CID 752027 (3739057) 821d9469d39SNick Mathewson o Fix a dead-code warning in unit tests. CID 1193548 (c119f24) 822d9469d39SNick Mathewson o Use evutil_weakrand() in unit tests. (a677b72, 364c110) 823d9469d39SNick Mathewson o Use a more precise calculation for max in time-ratelim.c (ca5b5c7) 824d9469d39SNick Mathewson o Make a buffer larger in the tests to avoid a scary evbuffer_copyout_from() (fb57b8b) 825d9469d39SNick Mathewson o Fix several memory leaks in the unit tests. (89c1a3b) 826d9469d39SNick Mathewson o Add test for evhttp_connection_free_on_completion (b0e9924 John Ohl) 8270eb39194SNick Mathewson o Fix annoying heisenbug in test-time.c (cb73704) 828d9469d39SNick Mathewson 829d9469d39SNick Mathewson Sample code 830d9469d39SNick Mathewson o Make http-server.c output into good html5 (6d72bdc) 831d9469d39SNick Mathewson o Use FindClose for handle from FindFirstFile in http-server.c (6466e88) 832d9469d39SNick Mathewson o https-client: add -retries argument, for connection retries (d9da844 Azat Khuzhin) 833d9469d39SNick Mathewson 834d9469d39SNick Mathewson Bugfixes (build) 835d9469d39SNick Mathewson o Add missing headerfile for cmake (15d90cc Trond Norbye) 836d9469d39SNick Mathewson o ignore one more test binary (b6593aa Michael Richardson) 837d9469d39SNick Mathewson o ignore config.cache/test-driver files (c83f333 Mike Frysinger) 838d9469d39SNick Mathewson o add a --disable-samples configure flag (0c492b3 Mike Frysinger) 839d9469d39SNick Mathewson o Add a few files created by "make verify" to .gitignore. (1a8295a Pierre Phaneuf) 840d9469d39SNick Mathewson o updates in cmake build (27bd9fa Sergey Nikulov) 841d9469d39SNick Mathewson o Fix cmake error when the Module path has more than one entry. (befbd13 Acer Yang) 8420eb39194SNick Mathewson o Fix CMake shared library build (e69d910 Nobuaki Sukegawa) 8430eb39194SNick Mathewson o Fix warnings when compiling with clang 3.5 (f5b4765 John Ohl) 8440eb39194SNick Mathewson o Fix mixed declarations and code (forbidden by ISO C90) (8afbdbc Thomas Bernard) 845d9469d39SNick Mathewson 846d9469d39SNick Mathewson Bugfixes (miscellaneous) 847d9469d39SNick Mathewson o tree.h: drop duplicated content of tree.h (6193187 Azat Khuzhin) 848d9469d39SNick Mathewson o evdns: disable probing with EVDNS_BASE_DISABLE_WHEN_INACTIVE (610410b,ad0493e,fea86a6,d83b337,5ca9e97 Azat Khuzhin) 849d9469d39SNick Mathewson o [Bugfix] fix grammer error (3a4d249 ufo2243) 850d9469d39SNick Mathewson o Change return type of evutil_load_windows_system_library_ to HMODULE (f691389) 851d9469d39SNick Mathewson o Fix a c90 warning (76643dd) 852d9469d39SNick Mathewson o Fix a typo in a doxygen comment. Reported by 亦得. (be1aeff) 853d9469d39SNick Mathewson o remove trailing comma from enum (b361b8a Jean-Philippe Ouellet) 854d9469d39SNick Mathewson 855d9469d39SNick Mathewson Bugfixes (FreeBSD) 856d9469d39SNick Mathewson 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) 857d9469d39SNick Mathewson 858d9469d39SNick Mathewson 859de268febSNick Mathewson 86050093afcSNick MathewsonChanges in version 2.1.4-alpha (21 Mar 2014) 861c11e7d91SNick Mathewson 862e6c6f120SNick Mathewson Libevent 2.1.4-alpha adds a number of new miscellaneous APIs to make 863e6c6f120SNick Mathewson Libevent more useful, including support for early close detection with 864e6c6f120SNick Mathewson epoll via EPOLLRDHUP, triggering bufferevent callbacks, adding more 865e6c6f120SNick Mathewson evhttp callbacks, and more. There are also numerous bugfixes, including 866e6c6f120SNick Mathewson a number for finalize-related issues from 2.1.3-alpha; and an 867e6c6f120SNick Mathewson alternative (non-primary!) cmake-based build mechanism. 868c11e7d91SNick Mathewson 869e6c6f120SNick Mathewson New APIs (core) 870e6c6f120SNick Mathewson o Added event_base_get_num_events() (0fa107d Mobai Zhang) 871e6c6f120SNick Mathewson o New event_base_active_by_fd API (865a142 Greg Hazel, 5c9da9a, 87fa2b0) 872e6c6f120SNick Mathewson o Add event_base_active_by_signal by analogy (4865943) 873e6c6f120SNick Mathewson o Add access to max event count stats (5173bef, efbd3dc, 26230a2 874e6c6f120SNick Mathewson Andrew Sweeney) 875e6c6f120SNick Mathewson o Implemented EV_CLOSED event for epoll backend 876e6c6f120SNick Mathewson (EPOLLRDHUP). (b1b69ac Diego Giagio, 53d2793, 43ffcf6, dfe1e52 877e6c6f120SNick Mathewson Marcin Juszkiewicz, ff26633 Joakim Soderberg, 3908a5e) 878e6c6f120SNick Mathewson 879e6c6f120SNick Mathewson New APIs (evutil_secure_rng) 880e6c6f120SNick Mathewson o Add evutil_secure_rng_set_urandom_device_file (2bbb5d7) 881e6c6f120SNick Mathewson 882e6c6f120SNick Mathewson New APIs (bufferevents) 883e6c6f120SNick Mathewson o Add function to fetch underlying ratelimit cfg (4b3d5af Mark Ellzey) 884e6c6f120SNick Mathewson o Pass and return const for bufferevent_get_token_bucket_cfg (1c77fbb 885e6c6f120SNick Mathewson Mark Ellzey) 886e6c6f120SNick Mathewson o Add watermark introspection (4ce242b Ondřej Kuzník) 887e6c6f120SNick Mathewson o Add an option to trigger bufferevent I/O callbacks (61ee18b Ondřej Kuzník) 888e6c6f120SNick Mathewson o Add an option to trigger bufferevent event callbacks (a7384c7 889e6c6f120SNick Mathewson Ondřej Kuzník) 890e6c6f120SNick Mathewson o Clarifications in response to merge req. comments (bd41947 Ondřej 891e6c6f120SNick Mathewson Kuzník) 892e6c6f120SNick Mathewson o Minor optimizations on bufferevent_trigger options (a3172a4) 893e6c6f120SNick Mathewson 894e6c6f120SNick Mathewson New APIs (evhttp) 895e6c6f120SNick Mathewson o Add evhttp_connection_get_server(). (a7f82a3 Maxime Henrion) 896e6c6f120SNick Mathewson o add a http default content type option (5a5acd9 Nicolas Martyanoff) 897e6c6f120SNick Mathewson o http: implement new evhttp_connection_get_addr() api. (0c7f040 Azat 898e6c6f120SNick Mathewson Khuzhin) 899e6c6f120SNick Mathewson o Add a variant of evhttp_send_reply_chunk() with a callback on 900e6c6f120SNick Mathewson evhttp_write_buffer() (8d8decf Julien BLACHE) 901e6c6f120SNick Mathewson o Allow registering callback for parsing HTTP headers (b0bd7fe Balint Reczey) 902e6c6f120SNick Mathewson o Provide on request complete callback facility (b083ca0 Andrew Sweeney) 903e6c6f120SNick Mathewson o evhttp_request_set_on_complete_cb to be more specific about what 904e6c6f120SNick Mathewson the function actually does and usage (da86dda Andrew Sweeney) 905e6c6f120SNick Mathewson o Update unit test to make sure that the callback happens after the 906e6c6f120SNick Mathewson output data is written (b85f398 Andrew Sweeney) 907e6c6f120SNick Mathewson 908e6c6f120SNick Mathewson Features (evdns) 909e6c6f120SNick Mathewson o bug fix for issues #293 evdns_base_load_hosts doesn't remove 910e6c6f120SNick Mathewson outdated addresses (954d2f9, f03d353, 45eba6f Kuldeep Gupta) 911e6c6f120SNick Mathewson 912e6c6f120SNick Mathewson Features: (cmake build support) 913e6c6f120SNick Mathewson o Initial CMake commit. (e415196 Joakim Soderberg) 914e6c6f120SNick Mathewson o Add all tests and benchmarks to CMake project. (e9fc014 Joakim Soderberg) 915e6c6f120SNick Mathewson o More work on adding tests to CMake project (99c1dc3 Joakim Soderberg) 916e6c6f120SNick Mathewson o Generate a dummy evconfig-private.h so things build 917e6c6f120SNick Mathewson properly. (ce14def Joakim Soderberg) 918e6c6f120SNick Mathewson o Link libm on unix platforms. (58fcd42 Joakim Soderberg) 919e6c6f120SNick Mathewson o Added some GCC specific options. (19222e5 Joakim Soderberg) 920e6c6f120SNick Mathewson o Use evutil_closesocket instead. (dbf2b51 Joakim Soderberg) 921e6c6f120SNick Mathewson o Add copyright and licensing files for CMake modules. (c259d53 922e6c6f120SNick Mathewson Joakim Soderberg) 923e6c6f120SNick Mathewson o Only include WIN32 getopt where it is used. (9bbce0b Joakim Soderberg) 924e6c6f120SNick Mathewson o Fix bench_cascade program on Windows. (78da644 Joakim Soderberg) 925e6c6f120SNick Mathewson o Don't segfault on no found event backend. (8f2af50 Joakim Soderberg) 926e6c6f120SNick Mathewson o Only test the event backends available on the system. (7ea4159 927e6c6f120SNick Mathewson Joakim Soderberg) 928e6c6f120SNick Mathewson o Added a "make verify" target. (e053c4f Joakim Soderberg) 929e6c6f120SNick Mathewson o Fix the make "verify" target on Windows. (67e5d74 Joakim Soderberg) 930e6c6f120SNick Mathewson o Get rid of deprecation warnings for OpenSSL on OSX 10.7+ (69c3516 931e6c6f120SNick Mathewson Joakim Söderberg) 932e6c6f120SNick Mathewson o Fix kqueue support. (a831f2f Joakim Söderberg) 933e6c6f120SNick Mathewson o Added a test for testing if kqueue works with pipes. (2799b35 934e6c6f120SNick Mathewson Joakim Söderberg) 935e6c6f120SNick Mathewson o Change the BSD license from 4 to 3-clause. (86df3ed Joakim Soderberg) 936e6c6f120SNick Mathewson o Minimum required python version is 2.4. (968e97b Joakim Soderberg) 937e6c6f120SNick Mathewson o Get rid of unknown pragma warnings. (0ef1d04 Joakim Soderberg) 938e6c6f120SNick Mathewson o Add a "make verify_coverage" target generation coverage 939e6c6f120SNick Mathewson info. (f2483f8 Joakim Soderberg) 940e6c6f120SNick Mathewson o Fix the "make verify" target on NetBSD (4ac086a Joakim Soderberg) 941e6c6f120SNick Mathewson o Only look for ZLib when it is used (if tests are 942e6c6f120SNick Mathewson included). (f780593 Joakim Soderberg) 943e6c6f120SNick Mathewson o Added EVENT__ENABLE_GCC_WARNINGS, turns all warnings into 944e6c6f120SNick Mathewson errors. (dd413bd Joakim Soderberg) 945e6c6f120SNick Mathewson o Add CMake config and install targets. (f3446ed Joakim Soderberg) 946e6c6f120SNick Mathewson o Fix typo (4b754df Joakim Soderberg) 947e6c6f120SNick Mathewson o Some work on making it possible to simply do add_subdirectory() on 948e6c6f120SNick Mathewson the project. (49ab363 Joakim Soderberg) 949e6c6f120SNick Mathewson o Set USE_DEBUG=1 on EVENT__ENABLE_VERBOSE_DEBUG (fd42e70 Joakim Soderberg) 950e6c6f120SNick Mathewson o Fix so that old nmake project still builds. (24d6466 Joakim 951e6c6f120SNick Mathewson Soderberg) 952e6c6f120SNick Mathewson o Rename README to README.md and use markdown to format. (d2bc39a 953e6c6f120SNick Mathewson Joakim Soderberg) 954e6c6f120SNick Mathewson o Update README with CMake build instructions. (604b8cc Joakim Soderberg) 955e6c6f120SNick Mathewson o Clean up the README some. (8d4cb35 JoakimSoderberg) 956e6c6f120SNick Mathewson o Forgotten headers for old nmake project compatability. (8697b99 957e6c6f120SNick Mathewson Joakim Soderberg) 958e6c6f120SNick Mathewson o Change all uses of WIN32 to _WIN32 (4e14395 Joakim Söderberg) 959e6c6f120SNick Mathewson o Fix include bug. (2024467 Joakim Söderberg) 960e6c6f120SNick Mathewson o Check if we're on OSX before disabling deprecation in le-proxy 961e6c6f120SNick Mathewson (8b40a5b Joakim Söderberg) 962e6c6f120SNick Mathewson o Fix broken autotools build. (ae1bd82 Joakim Söderberg) 963e6c6f120SNick Mathewson o Disclaimerize cmake a little in the README (d03b5bf) 964e6c6f120SNick Mathewson o Fix CMake compile when OpenSSL is disabled. (e423d42 Joakim 965e6c6f120SNick Mathewson Söderberg) 966e6c6f120SNick Mathewson o CMake: Get rid of python not found warning when regress tests 967e6c6f120SNick Mathewson turned off. (d38d798 Joakim Söderberg) 968e6c6f120SNick Mathewson o Fix https-client compilation on Windows. (d7be788 Joakim Soderberg) 969e6c6f120SNick Mathewson o Guard against EVENT_NOWIN32 being set during testing. (f1715b4 970e6c6f120SNick Mathewson Joakim Soderberg) 971e6c6f120SNick Mathewson o Check for OSX when checking for clang. (e212c54 Joakim Soderberg) 972e6c6f120SNick Mathewson o Added a Travis-CI configuration file. (8c0f0a9 Joakim Soderberg) 973e6c6f120SNick Mathewson o Added -Qunused-arguments for clang on macosx (ed99d92 Trond Norbye) 974e6c6f120SNick Mathewson o Rename event_extras to event_extra (a0dd5df Trond Norbye) 975e6c6f120SNick Mathewson o Add option to build shared library (4545fa9 Trond Norbye) 976e6c6f120SNick Mathewson o Add -Qunused-arguments for clang on macos (b56611d Trond Norbye) 977e6c6f120SNick Mathewson o Add cmake-related files to .gitignore (e061321 Trond Norbye) 978e6c6f120SNick Mathewson o Export event_extra not event_extras. (2b41bcf Joakim Söderberg) 979e6c6f120SNick Mathewson 980e6c6f120SNick Mathewson Bugfixes (core) 981e6c6f120SNick Mathewson o If evsel->del() fails, don't leave the evmap in an inconsistent 982e6c6f120SNick Mathewson state (9b5a527 Maxime Henrion) 983e6c6f120SNick Mathewson o Move event_debug_note_teardown_ before mm_free. (69b5c64) 984e6c6f120SNick Mathewson o Check CLOCK_MONOTONIC_* at runtime if needed. (911abf3) 985e6c6f120SNick Mathewson o Fix reinit of fds with EV_WRITE but not EV_READ. (ebfd8a8 maksqwe) 986e6c6f120SNick Mathewson o Tweaked callbacks to prevent race condition 987e6c6f120SNick Mathewson (https://github.com/libevent/libevent/issues/104) (40830f1, 2ea15ed 988e6c6f120SNick Mathewson John Ohl) 989e6c6f120SNick Mathewson o Move assert(ev) to before we use ev in EV_CLOSURE_EVENT_FINALIZE 990e6c6f120SNick Mathewson case (9805972) 991e6c6f120SNick Mathewson 992e6c6f120SNick Mathewson Bugfixes (evhttp) 993e6c6f120SNick Mathewson o Fix a double close() bug in evhttp when the underlying bufferevent uses 994e6c6f120SNick Mathewson BEV_OPT_CLOSE_ON_FREE. (31db8a0 Maxime Henrion) 995e6c6f120SNick Mathewson o Fix an unlikely but possible error case for http connections (f22049e) 996e6c6f120SNick Mathewson o Avoid racy bufferevent activation (5eb1788 Nate Rosenblum) 997e6c6f120SNick Mathewson 998e6c6f120SNick Mathewson Bugfixes on 2.0 (Windows) 999e6c6f120SNick Mathewson o Use windows vsnprintf fixup logic on all windows environments (e826f19) 1000e6c6f120SNick Mathewson o libevent/win32_dealloc() : fix sizeof(pointer) vs sizeof(*pointer) 1001e6c6f120SNick Mathewson (b8f5980 Frank Denis) 1002e6c6f120SNick Mathewson 1003e6c6f120SNick Mathewson Bugfixes (evutil_secure_rng) 1004e6c6f120SNick Mathewson o When we seed from /proc/sys/kernel/random/uuid, count it as success 1005e6c6f120SNick Mathewson (e35b540) 1006e6c6f120SNick Mathewson o We should return after arc4random_buf() (1ea1f26 Makoto Kato) 1007e6c6f120SNick Mathewson o Avoid other RNG initialization FS reads when urandom file is 1008e6c6f120SNick Mathewson specified (9695e9c) 1009e6c6f120SNick Mathewson o Really remove RNG seeds from the stack (f5ced88) 1010e6c6f120SNick Mathewson o Fix another arc4random_buf-related warning (e64a2b0) 1011e6c6f120SNick Mathewson 1012e6c6f120SNick Mathewson Bugfixes (bufferevents) 1013e6c6f120SNick Mathewson o Initialize async bufferevent timeout CBs unconditionally (af9b2a7) 1014c11e7d91SNick Mathewson 1015c11e7d91SNick Mathewson Bugfixes (evdns) 1016c11e7d91SNick Mathewson o Checking request nameserver for NULL, before using it. (5c710c0 1017c11e7d91SNick Mathewson Belobrov Andrey) 1018e6c6f120SNick Mathewson o Fix SEGFAULT after evdns_base_resume if no nameservers 1019e6c6f120SNick Mathewson installed. (14971a8 Azat Khuzhin) 1020c11e7d91SNick Mathewson o Actually use the log facility for reporting evdns problems. (e1766a1) 1021e6c6f120SNick Mathewson o Fix SEGFAULT after evdns_base_resume if no nameservers 1022e6c6f120SNick Mathewson installed. (f8d7df8 Azat Khuzhin) 1023e6c6f120SNick Mathewson o fix for ServFail from RIPE Atlas release (62f596b Antony Antony) 1024c11e7d91SNick Mathewson 1025e6c6f120SNick Mathewson Bugfixes (compilation) 1026c11e7d91SNick Mathewson o Fix test compilation with nmake: add the gdi.lib dependency (5ba8ab7) 1027c11e7d91SNick Mathewson o Whoops. It is gdi.lib, not gdi32.lib. (github issue #61) (8ab612e) 1028e6c6f120SNick Mathewson o Don't use return since return type is void and build error occurs 1029e6c6f120SNick Mathewson using clang (838161d Makoto Kato) 1030c11e7d91SNick Mathewson o Use void casts to suppress some "unchecked return value" warns (7080d55) 1031e6c6f120SNick Mathewson o rpcgen: Generate regress.gen.[c,h] in build rather than src dir 1032e6c6f120SNick Mathewson (243386c Ross Lagerwall) 1033e6c6f120SNick Mathewson o Fix a compiler warning when checking for arc4random_buf linker 1034e6c6f120SNick Mathewson breakage. (5cb3865) 1035e6c6f120SNick Mathewson o Fix 'make distcheck' by adding regress.gen.[ch] to DISTCLEANFILES 1036e6c6f120SNick Mathewson (239d834) 1037e6c6f120SNick Mathewson 1038e6c6f120SNick Mathewson o Fix a c90 warning (c207682) 1039e6c6f120SNick Mathewson o Fix consts in WIN32-Code/getopt*.[ch] (57abb35) 1040c11e7d91SNick Mathewson 1041c11e7d91SNick Mathewson Bugfixes (locks, synchronization) 1042c11e7d91SNick Mathewson o Missed lock acquire/release in event_base_cancel_single_callback_() 1043c11e7d91SNick Mathewson (d3d999a Azat Khuzhin) 1044c11e7d91SNick Mathewson o Fix locking in bufferevent_get_options_(). (dbc9cd4 Maxime Henrion) 1045c11e7d91SNick Mathewson 1046c11e7d91SNick Mathewson Bugfixes (leaks) 1047c11e7d91SNick Mathewson o Avoid leaking segment mappings when offset is not a page multiple (d409514) 1048c11e7d91SNick Mathewson 1049c11e7d91SNick Mathewson Testing 1050c11e7d91SNick Mathewson o Add tests for evdns_base_resume(). (1cd9ff5 Azat Khuzhin) 1051c11e7d91SNick Mathewson o Fix dns/leak_resume_send_err test. (7e876df Azat Khuzhin) 1052e6c6f120SNick Mathewson o Add checks for evhttp_connection_get_server() in unit 1053e6c6f120SNick Mathewson tests. (fbc323b Maxime Henrion) 1054c11e7d91SNick Mathewson o Fix a (failure-only) null dereference in the unit tests (1104d0b) 1055c11e7d91SNick Mathewson o Fix a logic error in test_evbuffer_freeze (7765884) 1056c11e7d91SNick Mathewson o Add missing check to test_evbuffer_file_segment_add_cleanup_cb (eba4506) 1057c11e7d91SNick Mathewson o Fix some crash-on-fail cases in DNS regression tests (87cd6f0) 1058c11e7d91SNick Mathewson o DNS tests: add a missing check (f314900) 1059c11e7d91SNick Mathewson o Finalize tests: add a missing check (82b6956) 1060c11e7d91SNick Mathewson o test_evutil_rtrim: add another missing check. (e193c95) 1061e6c6f120SNick Mathewson o regress_main: logging all if env EVENT_DEBUG_LOGGING_ALL isset 1062e6c6f120SNick Mathewson (611e28b Azat Khuzhin) 1063e6c6f120SNick Mathewson o regress_http: add tests for evhttp_connection_get_addr() (4dd500c 1064e6c6f120SNick Mathewson Azat Khuzhin) 1065e6c6f120SNick Mathewson o Update to the latest version of tinytest (7a80476) 1066e6c6f120SNick Mathewson o Heap-allocate zlib data structure in regress_zlib tests (4947c18) 1067c11e7d91SNick Mathewson 1068c11e7d91SNick Mathewson Performance tweaks (core) 1069c11e7d91SNick Mathewson o Avoid redundant syscall to make a nonblocking socket nonblocking 1070c11e7d91SNick Mathewson (42c03da Maxime Henrion) 1071c11e7d91SNick Mathewson o Avoid redundant syscall if making a socket cloexec twice (1f29b18) 1072c11e7d91SNick Mathewson o Avoid redundant invocations of init_extension_functions for IOCP (3b77d62) 1073c11e7d91SNick Mathewson 1074c11e7d91SNick Mathewson Documentation 1075c11e7d91SNick Mathewson o Document that arc4random is not a great cryptographic PRNG. (6e49696) 1076c11e7d91SNick Mathewson o Small doxygen tweaks (6e67b51) 1077c11e7d91SNick Mathewson o Try another doxygen tweak (ccf432b) 1078e6c6f120SNick Mathewson o Clarify event_base_loop exit conditions (031a803) 1079e6c6f120SNick Mathewson o Fix a typo (be7bf2c Ondřej Kuzník) 1080e6c6f120SNick Mathewson o Document deferred eventcb behaviour (13a9a02 Ondřej Kuzník) 1081e6c6f120SNick Mathewson o Typo fixes from Linus Nordberg (cec62cb, 8cd695b) 1082e6c6f120SNick Mathewson o Fix duplicate paragraph in evbuffer_ptr documentation (58408ee) 1083c11e7d91SNick Mathewson 1084e6c6f120SNick Mathewson Code Improvements (coverity) 1085e6c6f120SNick Mathewson o Fix a pile of coverity warnings in the unit tests (867f401) 1086e6c6f120SNick Mathewson o Fix coverity warnings in benchmark tools. (ff7f739) 1087e6c6f120SNick Mathewson o Whoops; fix compilation in bench.c (544cf88) 1088e6c6f120SNick Mathewson o Remove spurious checks in evrpc.c error cases (coverity) (991b362) 1089e6c6f120SNick Mathewson o Fix a couple of compilation warnings in regress_http.c (860767e) 1090e6c6f120SNick Mathewson o Fix even more coverity warnings. (d240328) 1091e6c6f120SNick Mathewson o Stop checking for inet_aton; we don't use it. (f665d5c) 1092e6c6f120SNick Mathewson o Add an include to evrpc-internal to fix openbsd compilation warning 1093e6c6f120SNick Mathewson (5e161c6) 1094c11e7d91SNick Mathewson 1095c11e7d91SNick Mathewson Cleanups 1096c11e7d91SNick Mathewson o Remove an unreachable return statement in minheap-internal.h (e639a9e) 1097e6c6f120SNick Mathewson o Refactor evmap_{io,signal}_active_() to tolerate bad inputs (974c60e) 1098e6c6f120SNick Mathewson o Fix needless bufferevent includes in evdns.c (254c04e) 1099e6c6f120SNick Mathewson o Fix a couple of "#ifdef WIN32" instances (88ecda3) 1100e6c6f120SNick Mathewson o Remove unneeded declaration in bufferevent-internal.h (4c8ebcd) 1101c11e7d91SNick Mathewson 1102c11e7d91SNick Mathewson Sample code 1103e6c6f120SNick Mathewson o le-proxy: Fail more gracefully if opening listener fails (44b2491) 1104e6c6f120SNick Mathewson o http-server: drop uri_root from base_url in http-server. (6171e1c Azat Khuzhin) 1105e6c6f120SNick Mathewson o https-client: POST supported, args supported (c5887f7 Alexey Ozeritsky) 1106e6c6f120SNick Mathewson o https-client: code cleanup (29af65e Alexey Ozeritsky) 1107e6c6f120SNick Mathewson o https-client: Small tweaks to https-client.c (90786eb) 1108e6c6f120SNick Mathewson o https-client: Set hostname for SNI extension (by f69m) (d1976f8) 1109e6c6f120SNick Mathewson o https-client: add a cast to https-client.c (462e6b6) 1110f8d80a28SNick Mathewson 1111f8d80a28SNick Mathewson 1112f8d80a28SNick Mathewson 111357cbfcd6SNick MathewsonChanges in version 2.1.3-alpha (1 May 2013) 1114e6cdd17bSNick Mathewson 1115e6cdd17bSNick Mathewson Libevent 2.1.3-alpha fixes various bugs, adds new unit tests, and cleans 1116e6cdd17bSNick Mathewson up the code in a couple of places. It has a new callback in evhttp for 1117e6cdd17bSNick Mathewson reporting errors during a request, a new feature for allowing evdns to 1118e6cdd17bSNick Mathewson not keep the event_base looping when there are no requests inflight, and 1119e6cdd17bSNick Mathewson example code for writing an https client. 1120e6cdd17bSNick Mathewson 1121e6cdd17bSNick Mathewson Libevent 2.1.3-alpha also has an important new (experimental) event 1122e6cdd17bSNick Mathewson finalization feature to allow safe event teardown in multithreaded 1123e6cdd17bSNick Mathewson programs. This ought to fix the longstanding bug with deadlocks in 1124e6cdd17bSNick Mathewson multithreaded use of SSL-based bufferevents that some people have been 1125e6cdd17bSNick Mathewson experiencing since Libevent 2.0. 1126e6cdd17bSNick Mathewson 1127e6cdd17bSNick Mathewson 1128e6cdd17bSNick Mathewson Core (event finalization) 1129e6cdd17bSNick Mathewson o Implement event_finalize() and related functions to avoid certain 1130e6cdd17bSNick Mathewson deadlocks (8eedeab) 1131e6cdd17bSNick Mathewson o Use finalization feature so bufferevents can avoid deadlocks (02fbf68) 1132e6cdd17bSNick Mathewson o Always run pending finalizers when event_base_free() is called (e9ebef8) 1133e6cdd17bSNick Mathewson o Remove bufferevent_del_generic_timeout_cbs as now unused (4ea4c6a) 1134e6cdd17bSNick Mathewson o More documentation for finalization feature (a800b91) 1135e6cdd17bSNick Mathewson o Make the event_finalize* functions return an error code (5d11f4f) 1136e6cdd17bSNick Mathewson o Mark the finalize stuff as experiemental in case it needs to 1137e6cdd17bSNick Mathewson change (23e2e29) 1138e6cdd17bSNick Mathewson 1139e6cdd17bSNick Mathewson Evdns 1140e6cdd17bSNick Mathewson o evdns: New flag to make evdns not prevent the event loop from 1141e6cdd17bSNick Mathewson exiting (6b7fa62 Azat Khuzhin) 1142e6cdd17bSNick Mathewson 1143e6cdd17bSNick Mathewson Bugfixes (Core) 1144e6cdd17bSNick Mathewson o Make event_remove_timer behave correctly with persistent timers (5623e80) 1145e6cdd17bSNick Mathewson o Unit test for event_remove_timer with EV_PERSIST. (96150dd) 1146e6cdd17bSNick Mathewson o Double-check next timeout when adding events (9443868 Nate Rosenblum) 1147e6cdd17bSNick Mathewson o event_base_update_cache_time should be a no-op if the loop isn't 1148e6cdd17bSNick Mathewson running (5e6fa2a) 1149e6cdd17bSNick Mathewson 1150e6cdd17bSNick Mathewson Bugfixes (evhttp, crash fix, from 2.0) 1151e6cdd17bSNick Mathewson o fix #73 and fix http_connection_fail_test to catch it (b618204 Greg Hazel) 1152e6cdd17bSNick Mathewson 1153e6cdd17bSNick Mathewson Bugfixes (compilation and portability, from 2.0) 1154e6cdd17bSNick Mathewson o Fix compilation with WIN32_HAVE_CONDITION_VARIABLES enabled (7e45739) 1155e6cdd17bSNick Mathewson o Fix missing AC_PROG_SED on older Autoconfs (9ab2b3f Tay Ray Chuan) 1156e6cdd17bSNick Mathewson o Backport libevent to vanilla Autoconf 2.59 (as used in RHEL5) 1157e6cdd17bSNick Mathewson (74d4c44 Kevin Bowling) 1158e6cdd17bSNick Mathewson o Use AC_CONFIG_HEADERS in place of AM_CONFIG_HEADERS for autmake 1159e6cdd17bSNick Mathewson 1.13 compat (817ea36) 1160e6cdd17bSNick Mathewson o Rename configure.in to configure.ac to appease newer autoconfs (0c79787) 1161e6cdd17bSNick Mathewson o Avoid using top_srcdir in TESTS: new automakes do not like this (a55514e) 1162e6cdd17bSNick Mathewson 1163e6cdd17bSNick Mathewson Bugfixes (resource leaks/lock errors on error, from 2.0) 1164e6cdd17bSNick Mathewson o Avoid leaking fds on evconnlistener with no callback set (69db261) 1165e6cdd17bSNick Mathewson o Avoid double-close on getsockname error in evutil_ersatz_socketpair 1166e6cdd17bSNick Mathewson (0a822a6) 1167e6cdd17bSNick Mathewson o Fix a locking error in bufferevent_socket_get_dns_error. (0a5eb2e) 1168e6cdd17bSNick Mathewson 1169e6cdd17bSNick Mathewson Documentation Fixes (from 2.0) 1170e6cdd17bSNick Mathewson o Fix a mistake in evbuffer_remove() arguments in example http server code 1171e6cdd17bSNick Mathewson (c322c20 Gyepi Sam) 1172e6cdd17bSNick Mathewson o Fix a typo in a comment in buffer.h. Spotted by Alt_F4 (773b0a5) 1173e6cdd17bSNick Mathewson 1174e6cdd17bSNick Mathewson Documentation Fixes 1175e6cdd17bSNick Mathewson o minor documentation typos (809586a Patrick Pelletier) 1176e6cdd17bSNick Mathewson o Fix cut-and-paste err in whatsnew-2.1 (49905ac) 1177e6cdd17bSNick Mathewson o Fix comment to refer to sample/include.am correctly (9e8cdf3 Sebastian 1178e6cdd17bSNick Mathewson Hahn) 1179e6cdd17bSNick Mathewson o Fix typo : Dispatching instead of Dispaching (0c2bacc Volker Lendecke) 1180e6cdd17bSNick Mathewson o fix some hinky indentation in evhttp_make_request (80e220e Patrick 1181e6cdd17bSNick Mathewson Pelletier) 1182e6cdd17bSNick Mathewson o "buffer" spelling (a452811 Patrick Pelletier) 1183e6cdd17bSNick Mathewson o Specify return behavior in header for evbuffer_pullup() in corner case 1184e6cdd17bSNick Mathewson (cf8d1cd Dan Petro) 1185e6cdd17bSNick Mathewson o Clarify an important point about event_base_foreach_event() (920a5e6) 1186e6cdd17bSNick Mathewson 1187e6cdd17bSNick Mathewson Compilation Fixes/Tool Support 1188e6cdd17bSNick Mathewson o avoid valgrind false positive by zeroing epoll_event (1258614 Patrick 1189e6cdd17bSNick Mathewson Pelletier) 1190e6cdd17bSNick Mathewson o Fix harmless clang enum warning (b452a43 Sebastian Hahn) 1191e6cdd17bSNick Mathewson o remove all exes on "make clean", not just regress.exe (974bfa0 Patrick 1192e6cdd17bSNick Mathewson Pelletier) 1193e6cdd17bSNick Mathewson o Make --disable-libevent-regress work again (787fd74) 1194e6cdd17bSNick Mathewson o Do not build strlcpy.c when it will have no code. (4914620) 1195e6cdd17bSNick Mathewson 1196e6cdd17bSNick Mathewson Portability Fixes 1197e6cdd17bSNick Mathewson o When EWOULDBLOCK is not EAGAIN, treat it as equivalent to it (bf7a0ff) 1198e6cdd17bSNick Mathewson o Preliminary changes for Minix3. (0dda56a Nicholas Heath) 1199e6cdd17bSNick Mathewson o Use AC_CONFIG_HEADERS in place of AM_CONFIG_HEADERS for autmake 1.13 1200e6cdd17bSNick Mathewson compat (bf278b) 1201e6cdd17bSNick Mathewson o Avoid using $(top_srcdir) in TESTS. (2863c83) 1202e6cdd17bSNick Mathewson o build test/test-script.sh on systems with a less-featureful $< (f935e21) 1203e6cdd17bSNick Mathewson o Implement EVUTIL_ERR_IS_EAGAIN on windows. (42aaf4d) 1204e6cdd17bSNick Mathewson 1205e6cdd17bSNick Mathewson Evhttp changes: 1206e6cdd17bSNick Mathewson o Fix ipv6 support for http. When URL contain domain, not IP 1207e6cdd17bSNick Mathewson address. (71e709c Azat Khuzhin) 1208e6cdd17bSNick Mathewson o uri decode: fix for warning "use of uninitialised value" (64b6ece Azat 1209e6cdd17bSNick Mathewson Khuzhin) 1210e6cdd17bSNick Mathewson o uri decode: changed the test for the existence of the next character 1211e6cdd17bSNick Mathewson (e1903e3 Azat Khuzhin) 1212e6cdd17bSNick Mathewson o Move prototype of evhttp_decode_uri_internal() to http-internal.h 1213e6cdd17bSNick Mathewson (de8101a Azat Khuzhin) 1214e6cdd17bSNick Mathewson o Test: decoding just part of string with evhttp_decode_uri_internal() 1215e6cdd17bSNick Mathewson (1367653 Azat Khuzhin) 1216e6cdd17bSNick Mathewson o Add new error_cb for actual reporting of HTTP request errors. (7b07719 1217e6cdd17bSNick Mathewson Azat Khuzhin) 1218e6cdd17bSNick Mathewson o Add test for EVREQ_HTTP_REQUEST_CANCEL into http_cancel_test() (862c217 1219e6cdd17bSNick Mathewson Azat Khuzhin) 1220e6cdd17bSNick Mathewson o Drop extra header http_struct.h from regress_http.c (54cc800 Azat Khuzhin) 1221e6cdd17bSNick Mathewson 1222e6cdd17bSNick Mathewson Testing 1223e6cdd17bSNick Mathewson o Add regress test ipv6_for_domain. (9ec88bd Azat Khuzhin) 1224e6cdd17bSNick Mathewson o Add an environment variable (EVENT_DEBUG_MODE) to run unit tests in debug 1225e6cdd17bSNick Mathewson mode (2fad0f3) 1226e6cdd17bSNick Mathewson o Add a test with an active_later event at event_base_free time. (1c3147f) 1227e6cdd17bSNick Mathewson o Make all tests pass under EVENT_DEBUG_MODE=1 (b1b054f) 1228e6cdd17bSNick Mathewson o Add some verbose notes to bufferevent unit tests (9d893c9) 1229e6cdd17bSNick Mathewson o New test for active_later->active transition on event_active (a153874) 1230e6cdd17bSNick Mathewson o New tests for event_base_foreach_event() (0b096ef) 1231e6cdd17bSNick Mathewson o Unit tests for event_base_gettimeofday_cached() and 1232e6cdd17bSNick Mathewson event_base_update_cache_time() (30ea291) 1233e6cdd17bSNick Mathewson o A test for event_get_assignment() (f09629e) 1234e6cdd17bSNick Mathewson o More unit tests for initializing common timeouts. (d596739) 1235e6cdd17bSNick Mathewson o Fix a bug in the new main/event_foreach test (702c9aa) 1236e6cdd17bSNick Mathewson 1237e6cdd17bSNick Mathewson Windows: 1238e6cdd17bSNick Mathewson o use FormatMessage for winsock errors (0c6ec5d, 2078e9b, 4ccdd53, c9ad3af 1239e6cdd17bSNick Mathewson Patrick Pelletier) 1240e6cdd17bSNick Mathewson o a program to print out the error strings for winsock errors (7296512 1241e6cdd17bSNick Mathewson Patrick Pelletier) 1242e6cdd17bSNick Mathewson o Fix a warning introduced in 0c6ec5d8 (eeb700c) 1243e6cdd17bSNick Mathewson o Fix another warning introduced in 0c6ec5d8 (ed26561) 1244e6cdd17bSNick Mathewson 1245e6cdd17bSNick Mathewson Examples (http) 1246e6cdd17bSNick Mathewson o Add sample/https-client.c, an example of stacking evhttp as a client on 1247e6cdd17bSNick Mathewson top of bufferevent_ssl. (be46c99 Catalin Patulea) 1248e6cdd17bSNick Mathewson o use ${OPENSSL_LIBS} instead of -lssl -lcrypto (bf31fa5 Patrick Pelletier) 1249e6cdd17bSNick Mathewson o https-client was putting newlines at 256-byte boundaries (42d7441 Patrick 1250e6cdd17bSNick Mathewson Pelletier) 1251e6cdd17bSNick Mathewson o better handling of OpenSSL errors (5754d96 Patrick Pelletier) 1252e6cdd17bSNick Mathewson o use Debian's default root certificate location (aacd674 Patrick Pelletier) 1253e6cdd17bSNick Mathewson o use iSECPartners code to validate hostname in certificate (64d9f16 1254e6cdd17bSNick Mathewson Patrick Pelletier) 1255e6cdd17bSNick Mathewson o avoid sign mismatch warning in openssl_hostname_validation.c (6021cb5 1256e6cdd17bSNick Mathewson Patrick Pelletier) 1257e6cdd17bSNick Mathewson o pull in wildcard matching code from cURL (4db9da6 Patrick Pelletier) 1258e6cdd17bSNick Mathewson o Another tweak to https-client.c (95acdaa) 1259e6cdd17bSNick Mathewson o Remove http_struct.h usage in sample/https-client.c (8a90a85) 1260e6cdd17bSNick Mathewson 126140b95ae2SNick Mathewson 126240b95ae2SNick Mathewson 1263143cb613SNick MathewsonChanges in version 2.1.2-alpha (18 Nov 2012) 1264143cb613SNick Mathewson 1265143cb613SNick Mathewson Libevent 2.1.2-alpha includes more portable for monotonic timers, 1266143cb613SNick Mathewson refactors much of Libevent's internal and external infrastructure, 1267143cb613SNick Mathewson closes some longstanding gaps in the interface, makde other 1268143cb613SNick Mathewson improvements. Ths log below tries to organize features by rough area of 1269143cb613SNick Mathewson effect. It omits a few commits which were pure bugfixes on other commits 1270143cb613SNick Mathewson listed below. For more detail, see the git changelogs. For more 1271143cb613SNick Mathewson insight, see the "whatsnew-2.1.txt" document included in the Libevent 1272143cb613SNick Mathewson 2.1.2-alpha distribution. 1273143cb613SNick Mathewson 1274143cb613SNick Mathewson Libevent 2.1.2-alpha also includes all changes made in 2.0.19-stable 1275143cb613SNick Mathewson through 2.0.21-stable inclusive. 1276143cb613SNick Mathewson 1277143cb613SNick Mathewson Performance (core): 1278143cb613SNick Mathewson o Replace pipe-based notification with EVFILT_USER where possible. This 1279143cb613SNick Mathewson should make multithreaded programs on OSX and *BSD alert the main thread a 1280143cb613SNick Mathewson little faster. (53a07fe) 1281143cb613SNick Mathewson o Make th_base_lock nonrecursive. (9cd5acb) 1282143cb613SNick Mathewson 1283143cb613SNick Mathewson New/Changed API Functions: 1284143cb613SNick Mathewson o New event_get_priority() function to return an event's priority (f90e255) 1285143cb613SNick Mathewson o Add a bufferevent_get_priority() function (bd39554) 1286143cb613SNick Mathewson o Add an event_base_loopcontinue() to tell Libevent to rescan for more 1287143cb613SNick Mathewson events right away (7d6aa5e) 1288143cb613SNick Mathewson o Add a new callback to get called on evbuffer_file_segment free 1289143cb613SNick Mathewson (e9f8feb yangacer, 64051b9) 1290143cb613SNick Mathewson o Expose event_base_foreach_event() as a public API. (84fd6d7 Roman 1291143cb613SNick Mathewson Puls, 232055e, ffe1643) 1292143cb613SNick Mathewson o Add an event_remove_timer() to remove timer on an event without 1293143cb613SNick Mathewson deleting it (e3b2e08) 1294143cb613SNick Mathewson o Make bufferevent_set_timeouts(bev, NULL, NULL) have plausible 1295143cb613SNick Mathewson semantics (9dee36b) 1296143cb613SNick Mathewson o Rename event_enable_lock_debuging() to ..._debugging(). (The old name 1297143cb613SNick Mathewson should still work.) (07e132e) 1298143cb613SNick Mathewson o Add missing implementation for event_enable_debug_logging (3b3e21d) 1299143cb613SNick Mathewson 1300143cb613SNick Mathewson PORTABLE MONOTONIC TIMERS: 1301143cb613SNick Mathewson 1302143cb613SNick Mathewson Libevent 2.1.2 includes internal support for monotonic timers on 1303143cb613SNick Mathewson (nearly) all supported platforms, including Windows, and OSX. Libevent 1304143cb613SNick Mathewson applications should now be more resilient to jumps forwards or backwards 1305143cb613SNick Mathewson in the system clock. Also, on Linux systems with epoll, we now 1306143cb613SNick Mathewson optionally support microsecond-level timeouts (whereas epoll only 1307143cb613SNick Mathewson supports millisecond-precision timeouts). 1308143cb613SNick Mathewson 1309143cb613SNick Mathewson o Use mach_absolute_time() for monotonic clock support on OSX. (b8fd6f9) 1310143cb613SNick Mathewson o Do not track use_monotonic field when is no monotonic clock (cb653a0) 1311143cb613SNick Mathewson o EVENT_BASE_FLAG_PRECISE_TIMER indicates we want fine timer precision 1312143cb613SNick Mathewson (ddd69d3) 1313143cb613SNick Mathewson o On Linux, use CLOCK_MONOTONIC_COARSE by default (55780a7) 1314143cb613SNick Mathewson o Implement a GetTickCount-based monotonic timer for Windows (d5e1d5a) 1315143cb613SNick Mathewson o Refactor monotonic timer handling into a new type and set of 1316143cb613SNick Mathewson functions; add a gettimeofday-based ratcheting implementation (f5e4eb0) 1317143cb613SNick Mathewson o Add EVENT_PRECISE_TIMER environment var for selecting precise-but-slow 1318143cb613SNick Mathewson timer (a2598ec) 1319143cb613SNick Mathewson o Implement fast/precise monotonic clocks on Windows (2c47045) 1320143cb613SNick Mathewson o Simple unit tests for monotonic timers (630f077) 1321143cb613SNick Mathewson o Improve the monotonic-time unit test: make it check the step size (7428c78) 1322143cb613SNick Mathewson o When PRECISE_TIMERS is set with epoll, use timerfd for microsecond 1323143cb613SNick Mathewson precision (26c7582) 1324143cb613SNick Mathewson o Split out time-related evutil functions into a new evutil_time.c (c419485) 1325143cb613SNick Mathewson o Split out time-related prototypes into time-internal.h (71bca50) 1326143cb613SNick Mathewson o Add evutil_time.obj to Makefile.nmake (0ba0683) 1327143cb613SNick Mathewson o Avoid giving a spurious warning when timerfd support is unavailable 1328143cb613SNick Mathewson (1aaf9f0 Dave Hart) 1329143cb613SNick Mathewson o Make test_evutil_monotonic a little more tolerant (def3b83) 1330143cb613SNick Mathewson o Avoid unused-var warning on systems with clock_gettime but without 1331143cb613SNick Mathewson CLOCK_MONOTONIC_COARSE (9be5468) 1332143cb613SNick Mathewson 1333143cb613SNick MathewsonEVENT_BASE_ONCE LEAKS: 1334143cb613SNick Mathewson If a callback added by event_base_once() is never invoked, Libevent no 1335143cb613SNick Mathewson longer leaks internal memory. 1336143cb613SNick Mathewson 1337143cb613SNick Mathewson o Free dangling event_once objects on event_base_free() (c17dd59) 1338143cb613SNick Mathewson o Add a unit test in which an event is created with event_base_once() 1339143cb613SNick Mathewson but never fires (4343edf) 1340143cb613SNick Mathewson 1341143cb613SNick MathewsonTESTING SUPPORT, FIXES AND IMPROVEMENTS: 1342143cb613SNick Mathewson 1343143cb613SNick Mathewson Libevent now disables by default its unit tests that would touch the 1344143cb613SNick Mathewson network, or that tend to fail on heavily-loaded systems. To re-enable 1345143cb613SNick Mathewson them, invoke the ./test/regress program with the @all alias. 1346143cb613SNick Mathewson 1347143cb613SNick Mathewson o Simplify test.sh code significantly. (9b856fd Ross Lagerwall) 1348143cb613SNick Mathewson o Make all tests that hit the network disabled by default (f2cea87) 1349143cb613SNick Mathewson o Avoid a resource leak on error in http client benchmark (ea92fba) 1350143cb613SNick Mathewson o Update to latest tinytest (911b4f0349377) (ef7c4f7) 1351143cb613SNick Mathewson o Avoid (unlikely) overflow in bench_httpclient.c (5671033) 1352143cb613SNick Mathewson o Shave 700 msec off the persistent_timeout_jump test (21205b8) 1353143cb613SNick Mathewson o Check return value of write() in regress.c (c8009d2) 1354143cb613SNick Mathewson o Make load-dependent monotonic timer tests off-by-default (2b6fe8b) 1355143cb613SNick Mathewson o Add deferred_cb_skew to list of timing-dependent tests (34c8f31) 1356143cb613SNick Mathewson o Avoid test -e; older shs don't have one. (f1bd938) 1357143cb613SNick Mathewson o Fix renegotiation test to work around openssl 1.0.1 bug (c2f3086) 1358143cb613SNick Mathewson o Fix a couple of compile warnings in the unit tests (5a9a014) 1359143cb613SNick Mathewson 1360143cb613SNick MathewsonMISC: 1361143cb613SNick Mathewson o Change evutil_weakrand_() to avoid platform random() (e86af4b Nicholas 1362143cb613SNick Mathewson Marriott, 3aa4415) 1363143cb613SNick Mathewson 1364143cb613SNick MathewsonINFRASTRUCTURE (Active-later events): 1365143cb613SNick Mathewson As a simplification and optimization to Libevent's "deferred callback" 1366143cb613SNick Mathewson logic (introduced in 2.0 to avoid callback recursion), Libevent now 1367143cb613SNick Mathewson treats all of its deferrable callback types using the same logic it uses 1368143cb613SNick Mathewson for active events. Now deferred events no longer cause priority 1369143cb613SNick Mathewson inversion, no longer require special code to cancel them, and so on. 1370143cb613SNick Mathewson 1371143cb613SNick Mathewson o Refactor the callback part of an event into its own event_callback 1372143cb613SNick Mathewson type (cba59e5) 1373143cb613SNick Mathewson o Add "active later" event_callbacks to supersede deferred (745a63d) 1374143cb613SNick Mathewson o event_base_assert_ok: check value of event_active_count for 1375143cb613SNick Mathewson correctness (fec8bae) 1376143cb613SNick Mathewson o Replace deferred_cbs with event_callback-based implementation. (ae2b84b) 1377143cb613SNick Mathewson o Replace more deferred_cb names with event_callback (a4079aa) 1378143cb613SNick Mathewson o Give event_base_process_active a single exit path (581b5be) 1379143cb613SNick Mathewson o Restore our priority-inversion-prevention code with deferreds (c0e425a) 1380143cb613SNick Mathewson o Refactor event_persist_closure: raise and extract some common logic 1381143cb613SNick Mathewson (bec22b4) 1382143cb613SNick Mathewson o Remove the unused bits from EVLIST_ALL (9889a3d) 138337145c56SNick Mathewson||||||| merged common ancestors 138437145c56SNick MathewsonChanges in version 2.0.22-stable (?? Dec 2013) 138537145c56SNick Mathewson 138637145c56SNick Mathewson (As of 3b77d62829c4393bda6f9105a5d3b73b48a64b71.) 1387959c1428SNick Mathewson 1388f9284c3eSNick MathewsonBUGFIXES (evhttp) 1389f9284c3eSNick Mathewson o fix #73 and fix http_connection_fail_test to catch it (crash fix) (b618204 Greg Hazel) 1390f9284c3eSNick Mathewson o Avoid racy bufferevent activation (5eb1788 Nate Rosenblum) 1391959c1428SNick Mathewson 1392959c1428SNick MathewsonBUGFIXES (compilation and portability) 1393959c1428SNick Mathewson o Fix compilation with WIN32_HAVE_CONDITION_VARIABLES enabled (7e45739) 1394959c1428SNick Mathewson o Fix missing AC_PROG_SED on older Autoconfs (9ab2b3f Tay Ray Chuan) 1395959c1428SNick Mathewson o Backport libevent to vanilla Autoconf 2.59 (as used in RHEL5) (74d4c44 Kevin Bowling) 1396959c1428SNick Mathewson o Use AC_CONFIG_HEADERS in place of AM_CONFIG_HEADERS for autmake 1.13 compat (817ea36) 1397959c1428SNick Mathewson o Rename configure.in to configure.ac to appease newer autoconfs (0c79787) 1398959c1428SNick Mathewson o Avoid using top_srcdir in TESTS: new automakes do not like this (a55514e) 1399f9284c3eSNick Mathewson o Use windows vsnprintf fixup logic on all windows environments (e826f19) 1400f9284c3eSNick Mathewson o Fix a compiler warning when checking for arc4random_buf linker breakage. (5cb3865) 1401f9284c3eSNick Mathewson o Fix another arc4random_buf-related warning (e64a2b0) 1402959c1428SNick Mathewson 1403959c1428SNick MathewsonBUGFIXES (resource leaks/lock errors on error) 1404959c1428SNick Mathewson o Avoid leaking fds on evconnlistener with no callback set (69db261) 1405959c1428SNick Mathewson o Avoid double-close on getsockname error in evutil_ersatz_socketpair (0a822a6) 1406959c1428SNick Mathewson o Fix a locking error in bufferevent_socket_get_dns_error. (0a5eb2e) 1407f9284c3eSNick Mathewson o libevent/win32_dealloc() : fix sizeof(pointer) vs sizeof(*pointer) (b8f5980 Frank Denis) 1408f9284c3eSNick Mathewson 1409f9284c3eSNick MathewsonBUGFIXES (miscellaneous) 141037145c56SNick Mathewson o Avoid other RNG initialization FS reads when urandom file is specified (9695e9c, bb52471) 1411f9284c3eSNick Mathewson o Avoid redundant invocations of init_extension_functions for IOCP (3b77d62) 1412f9284c3eSNick Mathewson 1413f9284c3eSNick MathewsonBUFGIXES (evdns) 1414f9284c3eSNick Mathewson o Checking request nameserver for NULL, before using it. (5c710c0 Belobrov Andrey) 1415f9284c3eSNick Mathewson o Fix SEGFAULT after evdns_base_resume if no nameservers installed. (f8d7df8 Azat Khuzhin) 1416f9284c3eSNick Mathewson 1417f9284c3eSNick MathewsonBUGFIXES (evutil_secure_random) 1418f9284c3eSNick Mathewson o When we seed from /proc/sys/kernel/random/uuid, count it as success (e35b540) 1419f9284c3eSNick Mathewson o Document that arc4random is not a great cryptographic PRNG. (6e49696) 1420f9284c3eSNick Mathewson o Add evutil_secure_rng_set_urandom_device_file (2bbb5d7) 1421f9284c3eSNick Mathewson o Really remove RNG seeds from the stack (f5ced88) 1422f9284c3eSNick Mathewson 1423959c1428SNick Mathewson 1424959c1428SNick MathewsonDOCUMENTATION FIXES 1425959c1428SNick Mathewson o Fix a mistake in evbuffer_remove() arguments in example http server code (c322c20 Gyepi Sam) 1426959c1428SNick Mathewson o Fix a typo in a comment in buffer.h. Spotted by Alt_F4 (773b0a5) 142737145c56SNick Mathewson 1428f7d92c63SNick Mathewson 1429f7d92c63SNick Mathewson 14301c5517c9SNick MathewsonChanges in version 2.0.21-stable (18 Nov 2012) 14311c5517c9SNick MathewsonBUGFIXES: 14321c5517c9SNick Mathewson o ssl: Don't discard SSL read event when timeout and read come close together (576b29f) 14331c5517c9SNick Mathewson o ssl: Stop looping in "consider_reading" if reading is suspended. (f719b8a Joachim Bauch) 14341c5517c9SNick Mathewson o ssl: No need to reserve space if reading is suspended. (1acf2eb Joachim Bauch) 14351c5517c9SNick Mathewson o dns: Avoid a memory-leak on OOM in evdns. (73e85dd, f2bff75 George Danchev) 14361c5517c9SNick Mathewson o build: Use python2 rather than python (0eb0109 Ross Lagerwall) 14371c5517c9SNick Mathewson o build: Compile without warnings on mingw64 (94866c2) 14381c5517c9SNick Mathewson o build: Fix compilation on mingw64 with -DUSE_DEBUG (62bd2c4) 14391c5517c9SNick Mathewson o build: Make rpcgen_wrapper.sh work on systems without a "python2" binary (f3009e4) 14401c5517c9SNick Mathewson o iocp: Close IOCP listener socket on free when LEV_OPT_CLOSE_ON_FREE is set (cb853ea Juan Pablo Fernandez) 14411c5517c9SNick Mathewson o core: Avoid crash when event_pending() called with no event_base set on event (e3cccf3) 14421c5517c9SNick Mathewson o misc: remove stray 'x' so print_err will compile when uncommented (ac35650 Patrick Pelletier) 14431c5517c9SNick Mathewson o tests: Fix renegotiation test to work around openssl 1.0.1 bug (c2f3086) 14441c5517c9SNick Mathewson o tests: Warn when openssl version in unit test mismatches compiled version. (ac009f9) 1445484e93c1SNick Mathewson 1446484e93c1SNick Mathewson 144741d77a7cSNick MathewsonChanges in version 2.0.20-stable (23 Aug 2012) 1448fc43cbdcSNick MathewsonBUGFIXES: 1449fc43cbdcSNick Mathewson o core: Make event_pending() threadsafe. (be7a95c Simon Liu) 1450fc43cbdcSNick Mathewson o win32: avoid crash when waiting forever on zero fds. (160e58b) 1451fc43cbdcSNick Mathewson o evhttp: Fix a memory leak on error in evhttp_uriencode (11c8b31) 1452fc43cbdcSNick Mathewson o evbuffer: Avoid possible needless call to writev. Found by coverity. (6a4ec5c) 1453fc43cbdcSNick Mathewson o evdns: memset sockaddr_in before using it. Found by coverity. (a1a0e67) 1454fc43cbdcSNick Mathewson o evhttp: Check more setsockopt return values when binding sockets. Found by coverity (a0912e3) 1455fc43cbdcSNick Mathewson o evdns: Avoid segfault on weird timeout during name lookup. (dc32077 Greg Hazel) 1456fc43cbdcSNick Mathewson o bufferevent_ssl: Correctly invoke callbacks when a SSL bufferevent reads some and then blocks. (606ac43) 1457fc43cbdcSNick Mathewson 1458fc43cbdcSNick Mathewson 1459fc43cbdcSNick MathewsonPORTABILITY FIXES: 1460fc43cbdcSNick Mathewson o check for arc4random_buf at runtime, on OS X (bff5f94 Greg Hazel) 1461fc43cbdcSNick Mathewson o Correctly check for arc4random_buf (fcec3e8 Sebastian Hahn) 1462fc43cbdcSNick Mathewson o Add explicit AC_PROG_SED to configure.in so all autoconfs will expose $(SED) (ca80ea6) 1463fc43cbdcSNick Mathewson 1464fc43cbdcSNick MathewsonBUILD FIXES: 1465fc43cbdcSNick Mathewson o Add GCC annotations so that the vsprintf functions get checked properly (117e327) 1466fc43cbdcSNick Mathewson o Fix an unused variable warning on *BSD. (c0720c1) 1467fc43cbdcSNick Mathewson 1468fc43cbdcSNick MathewsonUNIT TEST FIXES: 1469fc43cbdcSNick Mathewson o Fix a couple of memory leaks (found with Valgrind). (3b2529a Ross Lagerwall) 1470fc43cbdcSNick Mathewson o Remove deadcode in http regression tests. Found by coverity. (5553346) 1471fc43cbdcSNick Mathewson o Fix possible uninitialized read in dns regression tests. Found by coverity. (2259777) 1472fc43cbdcSNick Mathewson o Set umask before calling mkstemp in unit tests. Found by coverity (f1ce15d) 1473fc43cbdcSNick Mathewson o Fix various check-after-dereference issues in unit tests: found by coverity (4f3732d) 1474fc43cbdcSNick Mathewson o Fix resource leaks in the unit tests; found by coverity (270f279) 1475fc43cbdcSNick Mathewson o Add some missing null checks to unit tests; found by coverity (f021c3d) 1476fc43cbdcSNick Mathewson o Avoid more crashes/bad calls in unit tests; found by coverity (3cde5bf) 1477fc43cbdcSNick Mathewson o Remove unused variable; spotted by coverity (6355b2a) 1478fc43cbdcSNick Mathewson o Add checks to various return values in unit tests. Found by coverity (b9e7329) 1479fc43cbdcSNick Mathewson o Move assignment outside tt_assert in ssl unit tests. Appeases coverity. (a2006c0) 1480fc43cbdcSNick Mathewson 1481faa92253SNick Mathewson 1482faa92253SNick Mathewson 14838a9b0cdfSNick MathewsonChanges in version 2.0.19-stable (3 May 2012) 1484cecb111bSNick MathewsonBUGFIXES (CORE): 1485cecb111bSNick Mathewson o Refactor event_persist_closure: raise and extract some common logic (bec22b4) 1486cecb111bSNick Mathewson o If time has jumped so we'd reschedule a periodic event in the past, schedule it for the future instead (dfd808c) 1487cecb111bSNick Mathewson o If a higher-priority event becomes active, don't continue running events of the current priority. (2bfda40) 1488cecb111bSNick Mathewson 1489cecb111bSNick MathewsonBUGFIXES (SSL): 1490cecb111bSNick Mathewson o Fixed potential double-readcb execution with openssl bufferevents. (4e62cd1 Mark Ellzey) 1491cecb111bSNick Mathewson 1492cecb111bSNick MathewsonBUGFIXES (DNS): 1493cecb111bSNick Mathewson o Cancel a probe request when the server is freed, and ignore cancelled probe callbacks (94d2336 Greg Hazel) 1494cecb111bSNick Mathewson o Remove redundant DNS_ERR_CANCEL check, move comment (46b8060 Greg Hazel) 1495cecb111bSNick Mathewson o When retransmitting a timed-out DNS request, pick a fresh nameserver. (3d9e52a) 1496cecb111bSNick Mathewson 1497cecb111bSNick MathewsonDOCUMENTATION FIXES: 1498cecb111bSNick Mathewson o Fix a typo in the bufferevent documentation (98e9119) 1499cecb111bSNick Mathewson o Add missing ) to changelog; spotted by rransom (4c7ee6b) 1500cecb111bSNick Mathewson o Fix the website URL in the readme (f775521) 1501cecb111bSNick Mathewson 1502cecb111bSNick MathewsonCOMPILATION FIXES: 1503cecb111bSNick Mathewson o Fix a compilation error with MSVC 2005 due to use of mode_t (336dcae) 1504cecb111bSNick Mathewson o Configure with gcc older than 2.95 (4a6fd43 Sebastian Hahn) 1505cecb111bSNick Mathewson o Generate event-config.h with a single sed script (30b6f88 Zack Weinberg) 1506cecb111bSNick Mathewson 1507cecb111bSNick MathewsonFORWARD-COMPATIBILITY: 1508cecb111bSNick Mathewson o Backport: provide EVENT_LOG_* names, and deprecate _EVENT_LOG_* (d1a03b2) 1509cecb111bSNick Mathewson 1510cecb111bSNick MathewsonTESTING/DEBUGGING SUPPORT: 1511cecb111bSNick Mathewson o dns-example.c can now take a resolv.conf file on the commandline (6610fa5) 1512cecb111bSNick Mathewson o Make some evdns.c debug logs more verbose (d873d67) 1513cecb111bSNick Mathewson o Work-around a stupid gcov-breaking bug in OSX 10.6 (b3887cd) 1514cecb111bSNick Mathewson 151525a424fbSNick Mathewson 151625a424fbSNick Mathewson 151777342926SNick MathewsonChanges in version 2.0.18-stable (22 Mar 2012) 151877342926SNick MathewsonBUGFIXES (core): 151977342926SNick Mathewson o Make uses of open() close-on-exec safe by introducing an internal evutil_open_closeonexec. (d2b5f72 Ross Lagerwall, 03dce42) 152077342926SNick Mathewson 152177342926SNick MathewsonBUGFIXES (kqueue): 152277342926SNick Mathewson o Properly zero the kevent in kq_setup_kevent() (c2c7b39 Sebastian Hahn) 152377342926SNick Mathewson 152477342926SNick MathewsonBUILD FIXES: 152577342926SNick Mathewson o Added OPENSSL_LDFLAGS env variable which is appended to SSL checks. (9278196 Mark Ellzey) 152677342926SNick Mathewson o Changed OPENSSL_LDFLAGS to OPENSSL_LIBADD (2d67b63 Mark Ellzey) 152777342926SNick Mathewson o Don't do clang version detection when disabling some flags (083296b Sebastian Hahn) 152877342926SNick Mathewson 152977342926SNick MathewsonBUGFIXES (dns): 153077342926SNick Mathewson o Stop crashing in evdns when nameserver probes give a weird error (bec5068) 153177342926SNick Mathewson 15320c483170SNick Mathewson 15330cdbd642SNick MathewsonChanges in version 2.0.17-stable (10 Feb 2012) 1534edc6d7d7SNick Mathewson 1535edc6d7d7SNick MathewsonBUGFIXES (core): 1536edc6d7d7SNick Mathewson o Be absolutely sure to clear pncalls before leaving event_signal_closure (11f36a5) 1537edc6d7d7SNick Mathewson o check for sysctl before we use it (358c745 Mike Frysinger) 1538edc6d7d7SNick Mathewson o Remove bogus casts of socket to int before calling ev_callback (f032516) 1539edc6d7d7SNick Mathewson o Make evconnlistener work around bug in older Linux when getting nmapped (ecfc720) 1540edc6d7d7SNick Mathewson o Fix a list corruption bug when using event_reinit() with signals present (6e41cdc) 1541edc6d7d7SNick Mathewson o Fix a fd leak in event_reinit() (3f18ad1) 15426f6cebe3SNick Mathewson o Do a memberwise comparison of threading function tables (c94a5f2 Nate R) 15436f6cebe3SNick Mathewson o Use C-style comments in C source files (for compatibility with compilers such as xlc on AIX). (d84d917 Greg Hewgill) 15444c7ee6b0SNick Mathewson o Avoid crash when freeing event_iocp and using event_set_mem_functions (19715a6) 15450cdbd642SNick Mathewson o In the kqueue backend, do not report EBADF as an EV_READ (5d7bfa1 Nicholas Marriott) 1546edc6d7d7SNick Mathewson 1547edc6d7d7SNick MathewsonBUGFIXES (evbuffer and bufferevents): 1548edc6d7d7SNick Mathewson o Fix behavior of evbuffer_peek(buf,-1,NULL,NULL,0) (c986f23 Zack Weinberg) 15496f6cebe3SNick Mathewson o Loop on filtering SSL reads until we are blocked or exhausted. (5b4b812) 1550edc6d7d7SNick Mathewson 1551edc6d7d7SNick MathewsonBUGFIXES (evhttp): 1552edc6d7d7SNick Mathewson o Force strict validation of HTTP version in response. (790f6b3 Catalin Patulea) 1553edc6d7d7SNick Mathewson 15546f6cebe3SNick MathewsonBUGFIXES (evdns): 15556f6cebe3SNick Mathewson o evdns: fix a bug in circular-queue implementation (d6094b1) 15566f6cebe3SNick Mathewson 1557edc6d7d7SNick MathewsonBUILD FIXES: 1558edc6d7d7SNick Mathewson o Fix a silly compilation error with the sun compiler (1927776 Colin Watt) 1559edc6d7d7SNick Mathewson o Suppress a gcc warning from ignoring fwrite return in http-sample.c (7206e8c) 1560edc6d7d7SNick Mathewson 1561edc6d7d7SNick MathewsonDOCUMENTATION FIXES: 1562edc6d7d7SNick Mathewson o Slightly clarify evbuffer_peek documentation (7bbf6ca) 15630cdbd642SNick Mathewson o Update copyright notices to 2012 (e49e289) 1564edc6d7d7SNick Mathewson 1565edc6d7d7SNick MathewsonNEW APIS: 1566edc6d7d7SNick Mathewson o Backport evhttp_connection_get_bufferevent to Libevent 2.0 (da70fa7 Arno Bakker) 1567edc6d7d7SNick Mathewson 1568edc6d7d7SNick MathewsonTESTS AND TEST FIXES: 1569edc6d7d7SNick Mathewson o Fix a race condition in the dns/bufferevent_connect_hostname test. (cba48c7) 1570edc6d7d7SNick Mathewson o Add function to check referential integrity of an event_base (27737d5) 1571edc6d7d7SNick Mathewson o Check event_base correctness at end of each unit test (3312b02) 1572edc6d7d7SNick Mathewson o Workaround in the unit tests for an apparent epoll bug in Linux 3.2 (dab9187) 15736f6cebe3SNick Mathewson o Better workaround for Linux 3.2 edge-triggered epoll bug (9f9e259) 1574edc6d7d7SNick Mathewson 157531c99bd2SNick MathewsonChanges in version 2.0.16-stable (18 Nov 2011) 157631c99bd2SNick MathewsonBUGFIXES (core): 157731c99bd2SNick Mathewson o More detailed message in case of libevent self-debugging failure. (9e6a4ef Leonid Evdokimov) 157834045c8fSNick Mathewson o epoll: close fd on alloc fail at initialization (1aee718 Jamie Iles) 157934045c8fSNick Mathewson o Fix compile warning from saying event2/*.h inside a comment (447b0ba) 158034045c8fSNick Mathewson o Warn when unable to construct base because of failing make_base_notifiable (4e797f3) 158134045c8fSNick Mathewson o Don't try to make notifiable event_base when no threading fns are configured (e787413) 158234045c8fSNick Mathewson 158331c99bd2SNick MathewsonBUGFIXES (evbuffer): 158431c99bd2SNick Mathewson o unit test for remove_buffer bug (90bd620 Greg Hazel) 158534045c8fSNick Mathewson o Fix an evbuffer crash in evbuffer_remove_buffer() (c37069c) 158634045c8fSNick Mathewson 158731c99bd2SNick MathewsonBUGFIXES (bufferevent_openssl): 158831c99bd2SNick Mathewson o Refactor amount-to-read calculations in buffervent_ssl consider_reading() (a186e73 Mark Ellzey) 158931c99bd2SNick Mathewson o Move SSL rate-limit enforcement into bytes_to_read() (96c562f) 159031c99bd2SNick Mathewson o Avoid spinning on OpenSSL reads (2aa036f Mark Ellzey) 159131c99bd2SNick Mathewson 159231c99bd2SNick MathewsonBUGFIXES (dns) 159334045c8fSNick Mathewson o Empty DNS reply with OK status is another way to say NODATA. (21a08d6 Leonid Evdokimov) 159434045c8fSNick Mathewson 159534045c8fSNick MathewsonTESTING: 159634045c8fSNick Mathewson o Tests for 94fba5b and f72e8f6 (d58c15e Leonid Evdokimov) 159734045c8fSNick Mathewson o Test for commit aff6ba1 (f7841bf Leonid Evdokimov) 159831c99bd2SNick Mathewson o Style and comment tweaks for dns/leak* tests (5e42202) 159934045c8fSNick Mathewson o improve test to remove at least one buffer from src (7eb52eb Greg Hazel) 160034045c8fSNick Mathewson 160131c99bd2SNick MathewsonDOCUMENTATION: 160234045c8fSNick Mathewson o Add note about evhttp_send_reply_end to its doxygen (724bfb5) 160331c99bd2SNick Mathewson o Update copyright dates to 2011. (3c824bd) 160434045c8fSNick Mathewson o Fix typo in whatsnew-2.0.txt (674bc6a Mansour Moufid) 160531c99bd2SNick Mathewson o Improve win32 behavior of dns-sample.c code (a3f320e Gisle Vanem) 160634045c8fSNick Mathewson 160734045c8fSNick Mathewson 160834045c8fSNick Mathewson 16097c3e0612SNick MathewsonChanges in version 2.0.15-stable (12 Oct 2011) 16107c3e0612SNick MathewsonBUGFIXES (DNS): 16117c3e0612SNick Mathewson o DNS: add ttl for negative answers using RFC 2308 idea. (f72e8f6 Leonid Evdokimov) 16127c3e0612SNick Mathewson o Add DNS_ERR_NODATA error code to handle empty replies. (94fba5b Leonid Evdokimov) 16137c3e0612SNick Mathewson 16147c3e0612SNick MathewsonBUFGIXES (bufferevents and evbuffers): 1615c54c2358SNick Mathewson o Make evbuffer callbacks get the right n_added value after evbuffer_add (1ef1f68 Alex) 16167c3e0612SNick Mathewson o Prefer mmap to sendfile unless a DRAINS_TO_FD flag is set. Allows add_file to work with SSL. (0ba0af9) 16177c3e0612SNick Mathewson 16187c3e0612SNick MathewsonBUGFIXES (event loop): 16197c3e0612SNick Mathewson o When a signal callback is activated to run multiple times, allow event_base_loopbreak to work even before they all have run. (4e8eb6a) 16207c3e0612SNick Mathewson 16217c3e0612SNick MathewsonDOCUMENTATION FIXES: 16227c3e0612SNick Mathewson o Fix docstring in dns.h (2b6eae5 Leonid Evdokimov) 16237c3e0612SNick Mathewson o refer to non-deprecated evdns functions in comments (ba5c27d Greg Hazel) 16247c3e0612SNick Mathewson 16257c3e0612SNick MathewsonBUILD AND TESTING FIXES: 16267c3e0612SNick Mathewson o le-proxy and regress depend on openssl directly (9ae061a Sergey Avseyev) 16277c3e0612SNick Mathewson o Use _SOURCES, not _sources, in sample/Makefile.am (7f82382) 16287c3e0612SNick Mathewson o Fixed compiler warnings for unchecked read/write calls. (c3b62fd Mark Ellzey) 16297c3e0612SNick Mathewson o Make write-checking fixes use tt_fail_perror (2b76847) 16307c3e0612SNick Mathewson o Fix some "value never used" warnings with gcc 4.6.1 (39c0cf7) 16317c3e0612SNick Mathewson 16327c3e0612SNick Mathewson 1633a718b6c3SNick Mathewson 1634da90a9beSNick MathewsonChanges in version 2.0.14-stable (31 Aug 2011) 16356476d92dSNick MathewsonBUGFIXES (bufferevents and evbuffers): 16366476d92dSNick Mathewson o Propagate errors on the underlying bufferevent to the user. (4a34394 Joachim Bauch) 16376476d92dSNick Mathewson o Ignore OpenSSL deprecation warnings on OS X (5d1b255 Sebastian Hahn) 16386476d92dSNick Mathewson o Fix handling of group rate limits under 64 bytes of burst (6d5440e) 16396476d92dSNick Mathewson o Solaris sendfile: correctly detect amount of data sent (643922e Michael Herf) 16406476d92dSNick Mathewson o Make rate limiting work with common_timeout logic (5b18f13) 164185976ddfSNick Mathewson o clear read watermark on underlying bufferevent when creating filtering bev to fix potentially failing fragmented ssl handshakes (54f7e61 Joachim Bauch) 16426476d92dSNick Mathewson 16436476d92dSNick MathewsonBUGFIXES (IOCP): 16446476d92dSNick Mathewson o IOCP: don't launch reads or writes on an unconnected socket (495c227) 16456476d92dSNick Mathewson o Make IOCP rate-limiting group support stricter and less surprising. (a98da7b) 16466476d92dSNick Mathewson o Have test-ratelim.c support IOCP (0ff2c5a) 16476476d92dSNick Mathewson o Make overlapped reads result in evbuffer callbacks getting invoked (6acfbdd) 16486476d92dSNick Mathewson o Correctly terminate IO on an async bufferevent on bufferevent_free (e6af35d) 16496476d92dSNick Mathewson 16506476d92dSNick MathewsonBUGFIXES (other): 16516476d92dSNick Mathewson o Fix evsig_dealloc memory leak with debugging turned on. (9b724b2 Leonid Evdokimov) 16526476d92dSNick Mathewson o Fix request_finished memory leak with debugging turned on. (aff6ba1 Leonid Evdokimov) 16536476d92dSNick Mathewson 16546476d92dSNick MathewsonBUILD AND TESTING FIXES: 16556476d92dSNick Mathewson o Allow OS-neutral builds for platforms where some versions have arc4random_buf (b442302 Mitchell Livingston) 16566476d92dSNick Mathewson o Try to fix 'make distcheck' errors when building out-of-tree (04656ea Dave Hart) 16576476d92dSNick Mathewson o Clean up some problems identified by Coverity. (7c11e51 Harlan Stenn) 16586476d92dSNick Mathewson 16596476d92dSNick Mathewson 166062b8ce58SNick MathewsonChanges in version 2.0.13-stable (18 Jul 2011) 166162b8ce58SNick MathewsonBUGFIXES 166262b8ce58SNick Mathewson o Avoid race-condition when initializing global locks (b683cae) 166362b8ce58SNick Mathewson o Fix bug in SSL bufferevents backed by a bev with a write high-watermarks (e050703 Joachim Bauch) 166462b8ce58SNick Mathewson o Speed up invoke_callbacks on evbuffers when there are no callbacks (f87f568 Mark Ellzey) 166562b8ce58SNick Mathewson o Avoid a segfault when all methods are disabled or broken (27ce38b) 166662b8ce58SNick Mathewson o Fix incorrect results from evbuffer_search_eol(EOL_LF) (4461f1a) 166762b8ce58SNick Mathewson o Add some missing checks for mm_calloc failures (89d5e09) 166862b8ce58SNick Mathewson o Replace an assertion for event_base_free(NULL) with a check-and-warn (09fe97d) 166962b8ce58SNick Mathewson o Report kqueue ebadf, epipe, and eperm as EV_READ events (1fd34ab) 167062b8ce58SNick Mathewson o Check if the `evhttp_new_object' function in `http.c' returns NULL. (446cc7a Mansour Moufid) 167162b8ce58SNick Mathewson o Use the correct printf args when formatting size_t (3203f88) 167262b8ce58SNick Mathewson o Complain if the caller tries to change threading cbs after setting them (cb6ecee) 167360c1426fSNick Mathewson 167462b8ce58SNick MathewsonDOCUMENTATION FIXES AND IMPROVEMENTS 167562b8ce58SNick Mathewson o Revise the event/evbuffer/bufferevent doxygen for clarity and accuracy (2888fac) 167662b8ce58SNick Mathewson o Update Doxyfile to produce more useful output (aea0555) 167762b8ce58SNick Mathewson 167862b8ce58SNick MathewsonTEST FIXES 167962b8ce58SNick Mathewson o Fix up test_evutil_snprintf (caf695a) 168062b8ce58SNick Mathewson o Fix tinytest invocation from windows shell (57def34 Ed Day) 168162b8ce58SNick Mathewson 168262b8ce58SNick MathewsonBUILD FIXES 168362b8ce58SNick Mathewson o Use AM_CPPFLAGS in sample/Makefile.am, not AM_CFLAGS (4a5c82d) 168462b8ce58SNick Mathewson o Fix select.c compilation on systems with no NFDBITS (49d1136) 168562b8ce58SNick Mathewson o Fix a few warnings on OpenBSD (8ee9f9c Nicholas Marriott) 168662b8ce58SNick Mathewson o Don't break when building tests from git without python installed (b031adf) 168762b8ce58SNick Mathewson o Don't install event_rpcgen.py when --disable-libevent-install is used (e23cda3 Harlan Stenn) 168862b8ce58SNick Mathewson o Fix AIX build issue with TAILQ_FOREACH definition (e934096) 168960c1426fSNick Mathewson 169060c1426fSNick Mathewson 1691452a8342SNick MathewsonChanges in version 2.0.12-stable (4 Jun 2011) 1692c3555837SNick MathewsonBUGFIXES 1693c3555837SNick Mathewson o Fix a warn-and-fail bug in kqueue by providing kevent() room to report errors (28317a0) 1694c3555837SNick Mathewson o Fix an assert-inducing fencepost bug in the select backend (d90149d) 1695c3555837SNick Mathewson o Fix failing http assertion introducd in commit 0d6622e (0848814 Kevin Ko) 1696c3555837SNick Mathewson o Fix a bug that prevented us from configuring IPv6 nameservers. (74760f1) 1697c3555837SNick Mathewson o Prevent size_t overflow in evhttp_htmlescape. (06c51cd Mansour Moufid) 1698c3555837SNick Mathewson o Added several checks for under/overflow conditions in evhttp_handle_chunked_read (a279272 Mark Ellzey) 1699c3555837SNick Mathewson o Added overflow checks in evhttp_read_body and evhttp_get_body (84560fc Mark Ellzey) 1700c3555837SNick Mathewson 1701c3555837SNick MathewsonDOCUMENTATION: 1702c3555837SNick Mathewson o Add missing words to EVLOOP_NONBLOCK documentation (9556a7d) 1703c3555837SNick Mathewson 1704c3555837SNick MathewsonBUILD FIXES 1705c3555837SNick Mathewson o libssl depends on libcrypto, not the other way around. (274dd03 Peter Rosin) 1706c3555837SNick Mathewson o Libtool brings in the dependencies of libevent_openssl.la automatically (7b819f2 Peter Rosin) 1707c3555837SNick Mathewson o Use OPENSSL_LIBS in Makefile.am (292092e Sebastian Hahn) 1708c3555837SNick Mathewson o Move the win32 detection in configure.in (ceb03b9 Sebastian Hahn) 1709c3555837SNick Mathewson o Correctly detect openssl on windows (6619385 Sebastian Hahn) 1710c3555837SNick Mathewson o Fix a compile warning with zlib 1.2.4 and 1.2.5 (5786b91 Sebastian Hahn) 1711c3555837SNick Mathewson o Fix compilation with GCC 2, which had no __builtin_expect (09d39a1 Dave Hart) 1712c3555837SNick Mathewson o Fix new warnings from GCC 4.6 (06a714f) 1713c3555837SNick Mathewson o Link with -lshell32 and -ladvapi32 on Win32. (86090ee Peter Rosin) 1714c3555837SNick Mathewson o Make the tests build when OpenSSL is not available. (07c41be Peter Rosin) 1715c3555837SNick Mathewson o Bring in the compile script from automake, if needed. (f3c7a4c Peter Rosin) 1716c3555837SNick Mathewson o MSVC does not provide S_ISDIR, so provide it manually. (70be7d1 Peter Rosin) 1717c3555837SNick Mathewson o unistd.h and sys/time.h might not exist. (fe93022 Peter Rosin) 1718c3555837SNick Mathewson o Make sure TINYTEST_LOCAL is defined when building tinytest.c (8fa030c Peter Rosin) 1719c3555837SNick Mathewson o Fix winsock2.h #include issues with MSVC (3d768dc Peter Rosin) 1720c3555837SNick Mathewson o Use evutil_gettimeofday instead of relying on the system gettimeofday. (0de87fe Peter Rosin) 1721c3555837SNick Mathewson o Always use evutil_snprintf, even if OS provides it (d1b2d11 Sebastian Hahn) 1722c3555837SNick Mathewson o InitializeCriticalSectionAndSpinCount requires _WIN32_WINNT >= 0x0403. (816115a Peter Rosin) 1723c3555837SNick Mathewson o cygwin: make it possible to build DLLs (d54d3fc) 1724c3555837SNick Mathewson 1725c3555837SNick Mathewson 1726c3555837SNick Mathewson 1727d30466fcSNick MathewsonChanges in version 2.0.11-stable (27 Apr 2011) 1728d30466fcSNick Mathewson [Autogenerated from the Git log, sorted and cleaned by hand.] 1729d30466fcSNick MathewsonBUGFIXES: 1730d30466fcSNick Mathewson o Fix evport handling of POLLHUP and POLLERR (b42ce4b) 1731d30466fcSNick Mathewson o Fix compilation on Windows with NDEBUG (cb8059d) 1732d30466fcSNick Mathewson o Check for POLLERR, POLLHUP and POLLNVAL for Solaris event ports (0144886 Trond Norbye) 1733d30466fcSNick Mathewson o Detect and handle more allocation failures. (666b096 Jardel Weyrich) 1734d30466fcSNick Mathewson o Use event_err() only if the failure is truly unrecoverable. (3f8d22a Jardel Weyrich) 1735d30466fcSNick Mathewson o Handle resize failures in the select backend better. (83e805a) 1736d30466fcSNick Mathewson o Correctly free selectop fields when select_resize fails in select_init (0c0ec0b) 1737d30466fcSNick Mathewson o Make --enable-gcc-warnings a no-op if not using gcc (3267703) 1738d30466fcSNick Mathewson o Fix a type error in our (unused) arc4random_stir() (f736198) 1739d30466fcSNick Mathewson o Correctly detect and stop non-chunked http requests when the body is too long (63a715e) 1740d30466fcSNick Mathewson o Have event_base_gettimeofday_cached() always return wall-clock time (a459ef7) 1741d30466fcSNick Mathewson o Workaround for http crash bug 3078187 (5dc5662 Tomash Brechko) 1742d30466fcSNick Mathewson o Fix incorrect assertions and possible use-after-free in evrpc_free() (4b8f02f Christophe Fillot) 1743d30466fcSNick Mathewson o Reset outgoing http connection when read data in idle state. (272823f Tomash Brechko) 1744d30466fcSNick Mathewson o Fix subtle recursion in evhttp_connection_cb_cleanup(). (218cf19 Tomash Brechko) 1745d30466fcSNick Mathewson o Fix the case when failed evhttp_make_request() leaved request in the queue. (0d6622e Tomash Brechko) 1746d30466fcSNick Mathewson o Fix a crash bug in evdns server circular list code (00e91b3) 1747d30466fcSNick Mathewson o Handle calloc failure in evdns. (Found by Dave Hart) (364291e) 1748d30466fcSNick Mathewson o Fix a memory leak on win32 socket->event map. (b4f89f0) 1749d30466fcSNick Mathewson o Add a forgotten NULL check to evhttp_parse_headers (12311ff Sebastian Hahn) 1750d30466fcSNick Mathewson o Fix possible NULL-deref in evdns_cancel_request (5208544 Sebastian Hahn) 1751d30466fcSNick Mathewson 1752d30466fcSNick MathewsonPORTABILITY: 1753d30466fcSNick Mathewson o Fall back to sscanf if we have no other way to implement strtoll (453317b) 1754d30466fcSNick Mathewson o Build correctly on platforms without sockaddr_storage (9184563) 1755d30466fcSNick Mathewson o Try to build correctly on platforms with no IPv6 support (713c254) 1756d30466fcSNick Mathewson o Build on systems without AI_PASSIVE (cb92113) 1757d30466fcSNick Mathewson o Fix http unit test on non-windows platforms without getaddrinfo (6092f12) 1758d30466fcSNick Mathewson o Do not check for gethostbyname_r versions if we have getaddrinfo (c1260b0) 1759d30466fcSNick Mathewson o Include arpa/inet.h as needed on HPUX (10c834c Harlan Stenn) 1760d30466fcSNick Mathewson o Include util-internal.h as needed to build on platforms with no sockaddr_storage (bbf5515 Harlan Stenn) 1761d30466fcSNick Mathewson o Check for getservbyname even if not on win32. (af08a94 Harlan Stenn) 1762d30466fcSNick Mathewson o Add -D_OSF_SOURCE to fix hpux builds (0b33479 Harlan Stenn) 1763d30466fcSNick Mathewson o Check for allocation failures in apply_socktype_protocol_hack (637d17a) 1764d30466fcSNick Mathewson o Fix the check for multicast or broadcast addresses in evutil_check_interfaces (1a21d7b) 1765d30466fcSNick Mathewson o Avoid a free(NULL) if out-of-memory in evdns_getaddrinfo. Found by Dave Hart (3417f68) 1766d30466fcSNick Mathewson 1767d30466fcSNick MathewsonDEFENSIVE PROGRAMMING: 1768d30466fcSNick Mathewson o Add compile-time check for AF_UNSPEC==PF_UNSPEC (3c8f4e7) 1769d30466fcSNick Mathewson 1770d30466fcSNick MathewsonBUGS IN TESTS: 1771d30466fcSNick Mathewson o Fix test.sh output on solaris (b4f89b6 Dave Hart) 1772d30466fcSNick Mathewson o Make test-eof fail with a timeout if we never get an eof. (05a2c22 Harlan Stenn) 1773d30466fcSNick Mathewson o Use %s with printf in test.sh (039b9bd) 1774d30466fcSNick Mathewson o Add an assert to appease clang's static analyzer (b0ff7eb Sebastian Hahn) 1775d30466fcSNick Mathewson o Add a forgotten return value check in the unit tests (3819b62 Sebastian Hahn) 1776d30466fcSNick Mathewson o Actually send NULL request in http_bad_request_test (b693c32 Sebastian Hahn) 1777d30466fcSNick Mathewson o add some (void) casts for unused variables (65707d7 Sebastian Hahn) 1778d30466fcSNick Mathewson o Refactor test_getaddrinfo_async_cancel_stress() (48c44a6 Sebastian Hahn) 1779d30466fcSNick Mathewson o Be nice and "handle" error return values in sample code (4bac793 Sebastian Hahn) 1780d30466fcSNick Mathewson o Check return value of evbuffer_add_cb in tests (93a1abb Sebastian Hahn) 1781d30466fcSNick Mathewson o Remote some dead code from dns-example.c (744c745 Sebastian Hahn) 1782d30466fcSNick Mathewson o Zero a struct sockaddr_in before using it (646f9fe Sebastian Hahn) 1783d30466fcSNick Mathewson 1784d30466fcSNick MathewsonBUILD FIXES: 1785d30466fcSNick Mathewson o Fix warnings about AC_LANG_PROGRAM usage (f663112 Sebastian Hahn) 1786d30466fcSNick Mathewson o Skip check for zlib if we have no zlib.h (a317c06 Harlan Stenn) 1787d30466fcSNick Mathewson o Fix autoconf bracket issues; make check for getaddrinfo include netdb.h (833e5e9 Harlan Stenn) 1788d30466fcSNick Mathewson o Correct an AM_CFLAGS to an AM_CPPFLAGS in test/Makefile.am (9c469db Dave Hart) 1789d30466fcSNick Mathewson o Fix make distcheck & installation of libevent 1 headers (b5a1f9f Dave Hart) 1790d30466fcSNick Mathewson o Fix compilation under LLVM/clang with --enable-gcc-warnings (ad9ff58 Sebastian Hahn) 1791d30466fcSNick Mathewson 1792d30466fcSNick MathewsonFEATURES: 1793d30466fcSNick Mathewson o Make URI parser able to tolerate nonconformant URIs. (95060b5) 1794d30466fcSNick Mathewson 1795d30466fcSNick MathewsonDOCUMENTATION: 1796d30466fcSNick Mathewson o Clarify event_set_mem_functions doc (926f816) 1797d30466fcSNick Mathewson o Correct evhttp_del_accept_socket documentation on whether socket is closed (f665924) 1798d30466fcSNick Mathewson o fix spelling mistake in whatsnew-2.0.txt (deb2f73) 1799d30466fcSNick Mathewson o Fix sample/http-server ipv6 fixes (eb692be) 1800d30466fcSNick Mathewson o Comment internal headers used in sample code. (4eb281c) 1801d30466fcSNick Mathewson o Be explicit about how long event loops run in event.h documentation (f95bafb) 1802d30466fcSNick Mathewson o Add comment to configure.in to explain gc-sections test logic (c621359) 1803d30466fcSNick Mathewson o Fix a couple of memory leaks in samples/http-server.c. Found by Dave Hart. (2e9f665) 1804d30466fcSNick Mathewson 180537145c56SNick Mathewson 1806143cb613SNick Mathewson 1807143cb613SNick MathewsonBUILD IMPROVEMENTS: 1808143cb613SNick Mathewson Libevent 2.1.2-alpha modernizes Libevent's use of autotools, and makes 1809143cb613SNick Mathewson numerous other build system. Parallel builds should be faster, and all 1810143cb613SNick Mathewson builds should be quieter. 1811143cb613SNick Mathewson 1812143cb613SNick Mathewson o Split long lists in Makefile.am into one-item-per-line (2711cda) 1813143cb613SNick Mathewson o Remove unnecessary code in configure.in. (e65914f Ross Lagerwall) 1814143cb613SNick Mathewson o attempt to support OpenSSL in Makefile.nmake (eba0eb2 Patrick Pelletier) 1815143cb613SNick Mathewson o Use newer syntax for autoconf/automake init (7d60ba8) 1816143cb613SNick Mathewson o Enable silent build rules by default. Override with V=1 (7b18e5c) 1817143cb613SNick Mathewson o Switch to non-recursive makefiles (7092f3b) 1818143cb613SNick Mathewson o Rename subordinate Makefile.ams to include.am (6cdfeeb) 1819143cb613SNick Mathewson o Make quiet build even quieter (371a123) 1820143cb613SNick Mathewson o New --quiet option for event_rpcgen.py (aa59c1e) 1821143cb613SNick Mathewson o Be quiet when making regress.gen.[ch] (607a8ff) 1822143cb613SNick Mathewson o Fix handling of no-python case for nonrecursive make (1e3123d) 1823143cb613SNick Mathewson o We now require automake 1.9 or later. Modernize! (b7f6e89) 1824143cb613SNick Mathewson o Rename configure.in to configure.ac. (b3fea67 Ross Lagerwall) 1825143cb613SNick Mathewson o Use correct openssl libs and includes in pkgconfig file (d70af27) 1826143cb613SNick Mathewson o Use the same CFLAGS for openssl when building unit tests as with 1827143cb613SNick Mathewson libevent (1d9d511) 1828143cb613SNick Mathewson 1829143cb613SNick MathewsonDOCUMENTATION 1830143cb613SNick Mathewson o Note that make_base_notifiable should not be necessary (26ee5f9) 1831143cb613SNick Mathewson o Be more clear that LEV_OPT_DEFERRED_ACCEPT has tricky prereqs (371efeb) 1832143cb613SNick Mathewson o Add caveat to docs about bufferevent_free() with data in outbuf (6fab9ee) 1833143cb613SNick Mathewson o Make it more clear that NOLOCK means "I promise, no multithreading" 1834143cb613SNick Mathewson (9444524) 1835143cb613SNick Mathewson o Fix a comment in test-fdleak after 077c7e949. (3881d8f Ross Lagerwall) 1836143cb613SNick Mathewson o Make the Makefile.nmake warning slightly less dire (e7bf4c8) 1837143cb613SNick Mathewson o Fix typo : events instead of evets (05f1aca Azat Khuzhin) 1838143cb613SNick Mathewson o Additional comments about OPENSSL_DIR variable, prompted by Dave Hart 1839143cb613SNick Mathewson (6bde2ef Patrick Pelletier) 1840143cb613SNick Mathewson 1841143cb613SNick MathewsonEVHTTP: 1842143cb613SNick Mathewson o ignore LWS after field-content in headers (370a2c0 Artem Germanov) 1843143cb613SNick Mathewson o Clean up rtrim implementation (aa59d80) 1844143cb613SNick Mathewson o Remove trailing tabs in HTTP headers as well. (ac42519) 1845143cb613SNick Mathewson o Remove internal ws from multiline http headers correctly (c6ff381) 1846143cb613SNick Mathewson o Move evutil_rtrim_lws_ to evutil.c where it belongs (61b93af) 1847143cb613SNick Mathewson o add evhttp_request_get_response_code_line (4f4d0c9 Jay R. Wren) 1848143cb613SNick Mathewson o Use EVUTIL_SOCKET_ERROR() wrapper to save/restore errno in 1849143cb613SNick Mathewson evhttp_connection_fail_ (7afbd60) 1850143cb613SNick Mathewson o preserve errno in evhttp_connection_fail_ for inspection by the 1851143cb613SNick Mathewson callback (36d0ee5 Patrick Pelletier) 1852143cb613SNick Mathewson 1853143cb613SNick MathewsonBUGFIXES: 1854143cb613SNick Mathewson o Correctly handle running on a system where accept4 doesn't work. (9fbfe9b) 1855143cb613SNick Mathewson o Avoid double-free on error in evbuffer_add_file. Found by 1856143cb613SNick Mathewson coverity. (6a81b1f) 1857143cb613SNick Mathewson o Fix another possible uninitialized read in dns regression tests. Found 1858143cb613SNick Mathewson by coverity. (13525c5) 1859143cb613SNick Mathewson o Add checks for functions in test-ratelim.c; found by Coverity (aa501e1) 1860143cb613SNick Mathewson o Avoid memory leak in test_event_calloc unit test; found by coverity 1861143cb613SNick Mathewson (92817a1) 1862143cb613SNick Mathewson o Fix a shadowed variable in addfile_test_readcb; found by coverity 1863143cb613SNick Mathewson (225344c) 1864143cb613SNick Mathewson o Check return value when using LEV_OPT_DEFERRED_ACCEPT. Found by 1865143cb613SNick Mathewson coverity (6487f63) 1866143cb613SNick Mathewson o Prevent reference leak of bufferevent if getaddrinfo fails. (b757786 1867143cb613SNick Mathewson Joachim Bauch) 1868143cb613SNick Mathewson o Make event_base_getnpriorities work with old "implicit base" code 1869143cb613SNick Mathewson (c46cb9c) 1870143cb613SNick Mathewson o Simplify and correct evutil_open_closeonexec_ (0de587f) 1871143cb613SNick Mathewson o Fix event_dlist definition when sys/queue not included (81b6209 1872143cb613SNick Mathewson Derrick Pallas) 1873143cb613SNick Mathewson 1874143cb613SNick Mathewson 1875d9a55153SNick Mathewson 18762dedff36SNick MathewsonChanges in version 2.1.1-alpha (4 Apr 2012) 1877d30466fcSNick Mathewson 18782dedff36SNick Mathewson Libevent 2.1.1-alpha includes a number of new features and performance 18792dedff36SNick Mathewson improvements. The log below tries to organize them by rough area of 18802dedff36SNick Mathewson effect. It omits some commits which were pure bugfixes on other commits 18812dedff36SNick Mathewson listed below. For more detail, see the git changelogs. For more 18822dedff36SNick Mathewson insight, see the "whatsnew-2.1.txt" document included in the Libevent 18832dedff36SNick Mathewson 2.1.1-alpha distribution. 1884d30466fcSNick Mathewson 18852dedff36SNick Mathewson Performance: Core 18862dedff36SNick Mathewson o Replace several TAILQ users with LIST. LIST can be a little faster than 18872dedff36SNick Mathewson TAILQ for cases where we don't need queue-like behavior. (f9db33d, 18882dedff36SNick Mathewson 6494772, d313c29, 974d004) 18892dedff36SNick Mathewson o Disabled code to optimize the case where we reinsert an existing 18902dedff36SNick Mathewson timeout (e47042f, 09cbc3d) 18912dedff36SNick Mathewson o Remove a needless base-notify when rescheduling the first timeout (77a96fd) 18922dedff36SNick Mathewson o Save a needless comparison when removing/adjusting timeouts (dd5189b) 18932dedff36SNick Mathewson o Possible optimization: split event_queue_insert/remove into 18942dedff36SNick Mathewson separate functions. needs testing (efc4dc5) 189588b4f0bbSNick Mathewson o Make event_count maintenance branchless at the expense of an 18962dedff36SNick Mathewson extra shift. Needs benchmarking (d1cee3b) 18972dedff36SNick Mathewson o In the 2.1 branch, let's try out lazy gettimeofday/clock_gettime 18982dedff36SNick Mathewson comparison (2a83ecc) 18992dedff36SNick Mathewson o Optimization in event_process_active(): ignore maxcb & endtime 19002dedff36SNick Mathewson for highest priority events. (a9866aa Alexander Drozdov) 19012dedff36SNick Mathewson o Bypass event_add when using event_base_once() for a 0-sec timeout (35c5c95) 19022dedff36SNick Mathewson o Remove the eventqueue list and the ev_next pointers. (604569b 066775e) 1903d30466fcSNick Mathewson 19042dedff36SNick Mathewson Performance: Evbuffers 19052dedff36SNick Mathewson o Roughly 20% speed increase when line-draining a buffer using 19062dedff36SNick Mathewson EVBUFFER_EOL_CRLF (5dde0f0 Mina Naguib) 19072dedff36SNick Mathewson o Try to squeeze a little more speed out of EVBUFFER_EOL_CRLF (7b9d139) 19082dedff36SNick Mathewson o Fix a bug in the improved EOL_CRLF code (d927965) 19092dedff36SNick Mathewson o Remove a needless branch in evbuffer_drain() (d19a326) 1910d30466fcSNick Mathewson 19112dedff36SNick Mathewson Performance: Linux 19122dedff36SNick Mathewson o Infrastructure for using faster/fewer syscalls when creating 19132dedff36SNick Mathewson sockets (a1c042b) 19142dedff36SNick Mathewson o Minimize syscalls during socket creation in listener.c (7e9e289) 19152dedff36SNick Mathewson o Use a wrapper function to create the notification 19162dedff36SNick Mathewson pipe/socketpair/eventfd (ca76cd9) 19172dedff36SNick Mathewson o Use pipes for telling signals to main thread when possible (a35f396) 19182dedff36SNick Mathewson o Save syscalls when constructing listener sockets for evhttp (af6c9d8) 19192dedff36SNick Mathewson o Save some syscalls when creating evdns sockets (713e570) 19202dedff36SNick Mathewson o Save some syscalls when constructing a socket for a bufferevent (33fca62) 19212dedff36SNick Mathewson o Prefer epoll_create1 on Linuxen that have it (bac906c) 1922d30466fcSNick Mathewson 19232dedff36SNick Mathewson Performance: Epoll backend 19242dedff36SNick Mathewson o Use current event set rather than current pending change when 19252dedff36SNick Mathewson deciding whether to no-op a del (04ba27e Mike Smellie) 19262dedff36SNick Mathewson o Replace big chain of if/thens in epoll.c with a table lookup (8c83eb6) 19272dedff36SNick Mathewson o Clean up error handling in epoll_apply_one_change() a little (2d55a19) 1928d30466fcSNick Mathewson 19292dedff36SNick Mathewson Performance: Evport backend 19302dedff36SNick Mathewson o evport: use evmap_io to track fdinfo status. Should save time and 19312dedff36SNick Mathewson RAM. (4687ce4) 19322dedff36SNick Mathewson o evport: Remove a linear search over recent events when 19332dedff36SNick Mathewson reactivating them (0f77efe) 19342dedff36SNick Mathewson o evport: Use portev_user to remember fdinfo struct (276ec0e) 19352dedff36SNick Mathewson o evport: don't scan more events in ed_pending than needed (849a5cf) 19362dedff36SNick Mathewson o evport: Remove artificial low limit on max events per getn call (c04d927) 19372dedff36SNick Mathewson o Reenable main/many_events_slow_add for evport in 2.1 (e903db3) 1938d30466fcSNick Mathewson 19392dedff36SNick Mathewson Performance: Windows 19402dedff36SNick Mathewson o Use GetSystemTimeAsFileTime to implement gettimeofday on 19412dedff36SNick Mathewson win32. It's faster and more accurate than our old 19422dedff36SNick Mathewson approach. (b8b8aa5) 1943d30466fcSNick Mathewson 19442dedff36SNick Mathewson New functions and features: debugging 19452dedff36SNick Mathewson o Add event_enable_debug_logging() to control use of debug logs (e30a82f) 1946d30466fcSNick Mathewson 19472dedff36SNick Mathewson New functions and features: core 19482dedff36SNick Mathewson o Add event_config function to limit time/callbacks between calls 19492dedff36SNick Mathewson to dispatch (fd4de1e, 9fa56bd, a37a0c0, 3c63edd) 19502dedff36SNick Mathewson o New EVLOOP_NO_EXIT_ON_EMPTY option to keep looping even when no 19512dedff36SNick Mathewson events are pending (084e68f) 19522dedff36SNick Mathewson o Add event_base_get_npriorities() function. (ee3a4ee Alexander Drozdov) 19532dedff36SNick Mathewson o Make evbase_priority_init() and evbase_get_npriorities() 19542dedff36SNick Mathewson threadsafe (3c55b5e) 19552dedff36SNick Mathewson o New event_base_update_cache_time() to set cached_tv to current 19562dedff36SNick Mathewson time (212533e Abel Mathew) 19572dedff36SNick Mathewson o Add event_self_cbarg() to be used in conjunction with 19582dedff36SNick Mathewson event_new(). (ed36e6a Ross Lagerwall, fa931bb, 09a1906, 1338e6c, 19592dedff36SNick Mathewson 33e43ef) 19602dedff36SNick Mathewson o Add a new libevent_global_shutdown() to free all globals before 19612dedff36SNick Mathewson exiting. (041ca00 Mark Ellzey, f98c158, 15296d0, 55e991b) 19622dedff36SNick Mathewson o Use getifaddrs to detect our interfaces if possible (7085a45) 19632dedff36SNick Mathewson o Add event_base_get_running_event() to get the event* whose cb we 19642dedff36SNick Mathewson are in (c5732fd, 13dad99) 1965d30466fcSNick Mathewson 19662dedff36SNick Mathewson New functions and features: building 19672dedff36SNick Mathewson o Implement --enable-gcc-hardening configure option (7550267 Sebastian Hahn) 1968d30466fcSNick Mathewson 19692dedff36SNick Mathewson New functions and features: evbuffers 19702dedff36SNick Mathewson o Add evbuffer_add_file_segment() so one fd can be used efficiently 19712dedff36SNick Mathewson in more than one evbuffer_add_file at a time (e72afae, c2d9884, 19722dedff36SNick Mathewson 3f405d2, 0aad014) 19732dedff36SNick Mathewson o Fix windows file segment mappings (8254de7) 19742dedff36SNick Mathewson o Allow evbuffer_ptr_set to yield a point just after the end of the 19752dedff36SNick Mathewson buffer. (e6fe1da) 19762dedff36SNick Mathewson o Allow evbuffer_ptr to point to position 0 in an empty evbuffer 19772dedff36SNick Mathewson (7aeb2fd Nir Soffer) 197888b4f0bbSNick Mathewson o Set the special "not found" evbuffer_ptr consistently. (e3e97ae Nir Soffer) 19792dedff36SNick Mathewson o support adding buffers to other buffers non-destructively 19802dedff36SNick Mathewson (9d7368a Joachim Bauch) 19812dedff36SNick Mathewson o prevent nested multicast references, reworked locking (26041a8 19822dedff36SNick Mathewson Joachim Bauch) 19832dedff36SNick Mathewson o New EVBUFFER_EOL_NUL to read NUL-terminated strings from an 19842dedff36SNick Mathewson evbuffer (d7a8b36 Andrea Montefusco, 54142c9) 19852dedff36SNick Mathewson o Make evbuffer_file_segment_types adaptable (c6bbbf1) 19862dedff36SNick Mathewson o Added evbuffer_add_iovec and unit tests. (aaec5ac Mark Ellzey, 27b5398) 19872dedff36SNick Mathewson o Add evbuffer_copyout_from to copy data from the middle of a 19882dedff36SNick Mathewson buffer (27e2225) 1989d30466fcSNick Mathewson 19902dedff36SNick Mathewson New functions and features: bufferevents 19912dedff36SNick Mathewson o Allow users to set allow_dirty_shutdown (099d27d Catalin Patulea) 19922dedff36SNick Mathewson o Tweak allow_dirty_shutdown documentation (a44cd2b) 19932dedff36SNick Mathewson o Fix two issues in the allow_dirty_shutdown code. (f3b89de) 19942dedff36SNick Mathewson o Add a bufferevent_getcb() to find a bufferevent's current 19952dedff36SNick Mathewson callbacks (a650394) 19962dedff36SNick Mathewson o bufferevent: Add functions to set/get max_single_read/write 19972dedff36SNick Mathewson values. (998c813 Alexander Drozdov) 19982dedff36SNick Mathewson o bev_ssl: Be more specific in event callbacks. evhttp in particular gets 19992dedff36SNick Mathewson confused without at least one of BEV_EVENT_{READING|WRITING}. (f7eb69a 20002dedff36SNick Mathewson Catalin Patulea) 2001d30466fcSNick Mathewson 20022dedff36SNick Mathewson New functions and features: evconnlisteners 20032dedff36SNick Mathewson o Support TCP_DEFER_ACCEPT sockopts for listeners (5880e4a Mark Ellzey, 20042dedff36SNick Mathewson a270728) 20052dedff36SNick Mathewson o Add another caveat to the TCP_DEFER_ACCEPT documentation (a270728) 20062dedff36SNick Mathewson o Allow evconnlistener to be created in disabled state. (9593a33 20072dedff36SNick Mathewson Alexander Drozdov) 20082dedff36SNick Mathewson o The LEV_OPT_CLOSE_ON_EXEC flag now applies to accepted listener 20092dedff36SNick Mathewson sockets too (4970329) 2010d30466fcSNick Mathewson 20112dedff36SNick Mathewson Evhttp: 20122dedff36SNick Mathewson o Add new evhttp_{connection_}set_timeout_tv() functions to set 20132dedff36SNick Mathewson finger-grained http timeouts (6350e6c Constantine Verutin) 20142dedff36SNick Mathewson o Performance tweak to evhttp_parse_request_line. (aee1a97 Mark Ellzey) 20152dedff36SNick Mathewson o Add missing break to evhttp_parse_request_line (0fcc536) 20162dedff36SNick Mathewson o Add evhttp callback for bufferevent creation; this lets evhttp 20172dedff36SNick Mathewson support SSL. (8d3a850) 20182dedff36SNick Mathewson o Remove calls to deprecated bufferevent functions from evhttp.c (4d63758) 20192dedff36SNick Mathewson o evhttp: Add evhttp_foreach_bound_socket. (a2c48e3 Samy Al Bahra) 2020d30466fcSNick Mathewson 20212dedff36SNick Mathewson Build improvements: 20222dedff36SNick Mathewson o Add AC_USE_SYSTEM_EXTENSIONS to configure.in. Requires follow on 20232dedff36SNick Mathewson patches for correctness and robustness. (1fa7dbe Kevin Bowling) 20242dedff36SNick Mathewson o Filter '# define' statements from autoconf and generate 20252dedff36SNick Mathewson event-private.h (321b558 Kevin Bowling) 20262dedff36SNick Mathewson o Remove internal usage of _GNU_SOURCE (3b26541 Kevin Bowling) 20272dedff36SNick Mathewson o Eliminate a couple more manual internal _GNU_SOURCE defines (c51ef93 20282dedff36SNick Mathewson Kevin Bowling) 20292dedff36SNick Mathewson o Add AC_GNU_SOURCE to the fallback case. (ea8fa4c Kevin Bowling) 20302dedff36SNick Mathewson o Use a Configuration Header Template for evconfig-private.h (868f888 20312dedff36SNick Mathewson Kevin Bowling) 20322dedff36SNick Mathewson o Fix a comment warning and add evconfig-private.h to .gitignore 20332dedff36SNick Mathewson (f6d66bc Kevin Bowling) 20342dedff36SNick Mathewson o Include evconfig-private.h in internal files for great good. (0915ca0 20352dedff36SNick Mathewson Kevin Bowling) 20362dedff36SNick Mathewson o Backport libevent to vanilla Autoconf 2.59 (as used in RHEL5) 20372dedff36SNick Mathewson (ad03952 Kevin Bowling) 20382dedff36SNick Mathewson o Prefer the ./configure evconfig-private.h in MinGW, just in 20392dedff36SNick Mathewson case. (f964b72 Kevin Bowling) 20402dedff36SNick Mathewson o Shell hack for weird mkdir -p commands (fd7b5a8 Kevin Bowling) 20412dedff36SNick Mathewson o Add evconfig-private to remaining files (ded0a09 Kevin Bowling) 20422dedff36SNick Mathewson o Allow use of --enable-silent-rules for quieter compilation with 20432dedff36SNick Mathewson automake 1.11 (f1f8514 Dave Hart) 20442dedff36SNick Mathewson o Use "_WIN32", not WIN32: it's standard and we don't need to fake it 20452dedff36SNick Mathewson (9f560b) 20462dedff36SNick Mathewson o In configure, test for _WIN32 not WIN32. (85078b1 Peter Rosin) 20472dedff36SNick Mathewson o Do not define WIN32 in Makefile.nmake (d41f3ea Peter Rosin) 20482dedff36SNick Mathewson o Provide the autoconf m4 macros for the new OpenSSL via pkg-config 20492dedff36SNick Mathewson stuff. (674dc3d Harlan Stenn) 20502dedff36SNick Mathewson o Use pkg-config (if available) to handle OpenSSL. (1c63860 Harlan Stenn) 20512dedff36SNick Mathewson o We need AM_CPPFLAGS when compiling bufferevent_openssl.c (6d2613b 20522dedff36SNick Mathewson Harlan Stenn) 20532dedff36SNick Mathewson o Fix OSX build: $(OPENSSL_INCS) needs to be after 20542dedff36SNick Mathewson $(AM_CPPFLAGS). (46f1769 Zack Weinberg) 20552dedff36SNick Mathewson o Make gcc warnings on by default, and --enable-gcc-warnings only add 20562dedff36SNick Mathewson -Werror (d46517e Sebastian Hahn) 20572dedff36SNick Mathewson o Split up extra-long AC_CHECK_FUNCS/HEADERS lines in configure.in (88a30ad) 20582dedff36SNick Mathewson o Move libevent 1.x headers to include/, to put all public headers in 20592dedff36SNick Mathewson one place. (bbea8d6) 20602dedff36SNick Mathewson o Put #ifdef around some files to support alternate build 20612dedff36SNick Mathewson systems. (76d4c92 Ross Lagerwall) 20622dedff36SNick Mathewson o Also make win32select.c conditional for IDE users (bf2c5a7) 2063d30466fcSNick Mathewson 20642dedff36SNick Mathewson Debugging: 20652dedff36SNick Mathewson o Add a magic number to debug_locks to better catch lock-coding 20662dedff36SNick Mathewson errors. (b4a29c0 Dave Hart) 20672dedff36SNick Mathewson o munge the debug_lock signature before freeing it: it might help us 20682dedff36SNick Mathewson catch use-after-free (f28084d) 20692dedff36SNick Mathewson o Added --enable-event-debugging in configure (bc7b4e4, a9c2c9a Mark Ellzey) 20702dedff36SNick Mathewson o Debug addition for printing usec on TIMEOUT debugging. (ac43ce0 Mark Ellzey) 20712dedff36SNick Mathewson o Added usec debug in another area for debug (3baab0d Mark Ellzey) 20722dedff36SNick Mathewson o added timeout debug logs to include event ptr. (4b7d298 Mark Ellzey) 20732dedff36SNick Mathewson o more event dbg updates (6727543 Mark Ellzey) 20742dedff36SNick Mathewson o Clarify event_enable_debug_logging a little (6207826) 20752dedff36SNick Mathewson o Make --enable-verbose-debug option match its help text (10c3450) 20762dedff36SNick Mathewson o Add argument checks to some memory functions in `event.c'. (c8953d1 20772dedff36SNick Mathewson Mansour Moufid) 2078d30466fcSNick Mathewson 20792dedff36SNick Mathewson Testing: 20802dedff36SNick Mathewson o More abstraction in test.sh (cd74c4e) 20812dedff36SNick Mathewson o Add failing test for evbuffer_search_range. (8e26154 Nir Soffer) 20822dedff36SNick Mathewson o Tweaks to return types with end-of-buf ptrs (9ab8ab8) 20832dedff36SNick Mathewson o Add an (internal) usleep function for use by unit tests (f25d9d3) 20842dedff36SNick Mathewson o Synchronize with upstream tinytest (6c81be7) 20852dedff36SNick Mathewson o Make test-changelist faster (7622d26) 20862dedff36SNick Mathewson o Reduce the timeout in the main/fork test. (ab14f7c) 20872dedff36SNick Mathewson o New evhttp function to adjust initial retry timeout (350a3c4) 20882dedff36SNick Mathewson o Make regression tests run over 3x faster. (67a1763) 20892dedff36SNick Mathewson o Use test_timeval_diff_eq more consistently (b77b43f) 20902dedff36SNick Mathewson o Allow more slop in deferred_cb_skew test; freebsd needs it (b9f7e5f) 20912dedff36SNick Mathewson o When including an -internal.h header outside the main tree, do so 20922dedff36SNick Mathewson early (95e2455) 20932dedff36SNick Mathewson o Add a new test: test-fdleak which tests for fd leaks by creating many 20942dedff36SNick Mathewson sockets. (2ef9278 Ross Lagerwall, f7af194, 1c4288f, etc) 20952dedff36SNick Mathewson o Add a unit test for event_base_dump_events() (7afe48a, 8d08cce) 20962dedff36SNick Mathewson o Test more bufferevent_ratelim features (c24f91a) 2097d30466fcSNick Mathewson 20982dedff36SNick Mathewson Documentation: 20992dedff36SNick Mathewson o Improve evbuffer_ptr documentation (261ba63) 210088b4f0bbSNick Mathewson o added comments to describe refcounting of multicast chains (ba24f61 21012dedff36SNick Mathewson Joachim Bauch) 21022dedff36SNick Mathewson o Add doxygen for event_base_dump_events (cad5753) 2103d30466fcSNick Mathewson 21042dedff36SNick Mathewson OSX: 21052dedff36SNick Mathewson o Use "unlimited select" on OSX so that we can have more than 21062dedff36SNick Mathewson FD_SETSIZE fds (1fb5cc6) 2107d30466fcSNick Mathewson 21082dedff36SNick Mathewson KQueue: 21092dedff36SNick Mathewson o Use SIG_IGN instead of a do-nothing handler for signal events with 21102dedff36SNick Mathewson kqueue (148458e Zack Weinberg) 2111d30466fcSNick Mathewson 21122dedff36SNick Mathewson evprc: 21132dedff36SNick Mathewson o event_rpcgen.py now prints status information to stdout and errors to 21142dedff36SNick Mathewson stderr. (ffb0ba0 Ross Lagerwall) 2115d30466fcSNick Mathewson 21162dedff36SNick Mathewson Code improvement and refactoring: 21172dedff36SNick Mathewson o Make event_reinit() more robust and maintainable (272033e) 21182dedff36SNick Mathewson o Restore fast-path event_reinit() for slower backends (2c4b5de) 21192dedff36SNick Mathewson o Check changelist as part of checking representational integrity (39b3f38) 21202dedff36SNick Mathewson o Fix a compile warning in event_reinit (e4a56ed Sebastian Hahn) 21212dedff36SNick Mathewson o Refactor the functions that run over every event. (c89b4e6) 21222dedff36SNick Mathewson o Remove the last vestiges of _EVENT_USE_EVENTLIST (a3cec90) 21232dedff36SNick Mathewson o Make event-config.h depend on Makefile.am (2958a5c) 2124d30466fcSNick Mathewson 21252dedff36SNick Mathewson Build fixes: 21262dedff36SNick Mathewson o Don't do clang version detection when disabling some flags (083296b 21272dedff36SNick Mathewson Sebastian Hahn) 2128d30466fcSNick Mathewson 21292dedff36SNick Mathewson C standards conformance: 21302dedff36SNick Mathewson o Check for NULL return on win32 mm_calloc, and set ENOMEM. (af7ba69) 21312dedff36SNick Mathewson o Convert event-config.h macros to avoid reserved identifiers (68120d9) 21322dedff36SNick Mathewson o Generate event-config.h using the correct macros. (f82c57e) 21332dedff36SNick Mathewson o Convert include-guard macro convention to avoid reserved identifiers 21342dedff36SNick Mathewson (3f8c7cd) 213588b4f0bbSNick Mathewson o Make event_rpcgen.py output conform to identifier conventions (372bff1) 21362dedff36SNick Mathewson o Stop referring to an obsolete include guard in bench_http.h (5c0f7e0) 21372dedff36SNick Mathewson o Make the generated event-config.h use correct include guards (639383a) 21382dedff36SNick Mathewson o Fix all identifiers with names beginning with underscore. (cb9da0b) 213988b4f0bbSNick Mathewson o Make event_rpcgen.py output conform to identifier conventions, more 21402dedff36SNick Mathewson (bcefd24) 21412dedff36SNick Mathewson o Fix some problems introduced by automated identifier cleanup script 21422dedff36SNick Mathewson (c963534) 21432dedff36SNick Mathewson o Have all visible internal function names end with an underscore. (8ac3c4c) 21442dedff36SNick Mathewson o Apply the naming convention to our EVUTIL_IS* functions (c7848fa) 21452dedff36SNick Mathewson o Clean up lingering _identifiers. (946b584) 21462dedff36SNick Mathewson o Fix doxygen to use new macro conventions (da455e9) 2147d30466fcSNick Mathewson 21482dedff36SNick Mathewson Bugfixes: 21492dedff36SNick Mathewson o Do not use system EAI/AI values if we are not using the system 21502dedff36SNick Mathewson getaddrinfo. (7bcac07) 2151d30466fcSNick Mathewson 21522dedff36SNick Mathewson Sample Code: 21532dedff36SNick Mathewson o Fix up sample/event-test.c to use newer interfaces and make it 21542dedff36SNick Mathewson actually work. (19bab4f Ross Lagerwall) 21552dedff36SNick Mathewson o On Unix, remove event.fifo left by sample/event-test.c. (c0dacd2 Ross 21562dedff36SNick Mathewson Lagerwall) 21572dedff36SNick Mathewson o Rename event-test.c to event-read-fifo.c. (a5b370a Ross Lagerwall) 21582dedff36SNick Mathewson o event-read-fifo: Use EV_PERSIST appropriately (24dab0b) 215915be0493SNick Mathewson 21601aa6826fSNiels Provos 216187bef9e9SNiels Provos 216211a0a9e4SNiels Provos 2163