<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in bufferevent_async.c</title>
    <link>http://nxr.netbsd.org/rss/src/external/bsd/libevent/dist/bufferevent_async.c</link>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2005</copyright>
    <generator>Java</generator>
    
<item>
    <title>branches:  1.1.1;<br/>Initial revision</title>
    <description>/src/external/bsd/libevent/dist/bufferevent_async.c - 1.1</description>
    <pubDate>Thu Apr 11 16:43:28 UTC 2013</pubDate>
    <dc:creator>christos</dc:creator>
</item>

<item>
    <title>Changes in version 2.1.12-stable (05 Jul 2020)<br/><br/> This release contains mostly bug fixes (I decided not to port some features<br/> that can be ported even without ABI breakage, if you cannot find feature that<br/> you are interested in, please give us a note!)<br/><br/> Since 2.1.12 libevent will use github actions as main CI, since<br/> it recommends itself better then travis/appveyor (and had been removed from<br/> upstream).<br/><br/> Look carefully at "slightly touches the behaviour" section.<br/><br/> Below you will find some of changes (this list has been cleaned up from the<br/> patches that touches only tests and similar):<br/><br/> CI:<br/>  o Backport github actions to 2.1 (be3acd7c Azat Khuzhin)<br/>  o Merge branch 'event_rpcgen.py-cleanup' (f0ded5f3, 48e04887 Enji Cooper)<br/>  o Add API/ABI checker (using LVC) (709210d4, 2af1f6cc yuangongji)<br/><br/> test:<br/>  o tinytest: support timeout on Windows (794e8f75 yuangongji)<br/>  o Merge branch 'osx-clock' (e85afbe3 Azat Khuzhin)<br/>  o test-ratelim: calculate timers bias (for slow CPUs) to avoid false-positive (8ad26d0b Azat Khuzhin)<br/><br/> fixes:<br/>  o buffer: do not pass NULL to memcpy() from evbuffer_pullup() (5b063049 Azat Khuzhin)<br/>  o http: fix undefined-shift in EVUTIL_IS*_ helpers (6b8d02a7 Azat Khuzhin)<br/>  o Check error code of evhttp_add_header_internal() in evhttp_parse_query_impl() (97e28f09 Azat Khuzhin)<br/>  o http: fix EVHTTP_CON_AUTOFREE in case of timeout (and some else) (1be25938 Azat Khuzhin)<br/>  o evdns: Add additional validation for values of dns options (c2972453 ayuseleznev)<br/>  o There is typo in GetAdaptersAddresses windows library. It should be iphlpapi.dll (891adda9 Aleksandr-Melnikov)<br/>  o Merge branch 'EV_CLOSED-and-EV_ET-fixes' (db2efdf5 Azat Khuzhin)<br/>  o Fix memory corruption in EV_CLOSURE_EVENT_FINALIZE with debug enabled (8ccd8f56 Jan Kasiak)<br/>  o increase segment refcnt only if evbuffer_add_file_segment() succeeds (30662a3c yuangongji)<br/>  o evdns: fix a crash when evdns_base with waiting requests is freed (6f8e0e97 ayuseleznev)<br/>  o event_base_once: fix potential null pointer threat (2e9ceb16 chenguolong)<br/>  o http: do not assume body for CONNECT (1b42270b Azat Khuzhin)<br/>  o evbuffer_add_file: fix freeing of segment in the error path (5f017bde Azat Khuzhin)<br/>  o Fix checking return value of the evdns_base_resolv_conf_parse() (fc51bf2c Azat Khuzhin)<br/>  o Merge branch 'fix-signal-leak' (poll/select now needs reinit) (1c9cc07b Azat Khuzhin)<br/><br/> improvements:<br/>  o evutil_time: improve evutil_gettimeofday on Windows (a8219143 Nick Grifka)<br/>  o Support EV_CLOSED on linux for poll(2) (2530e7c6 Azat Khuzhin)<br/>  o Parse IPv6 scope IDs. (f602211f Philip Homburg)<br/>  o evutil_time: Implements usleep() using wait funtion on Windows (d42240d1 yuangongji)<br/>  o evutil_time: detect and use _gmtime64_s()/_gmtime64() (f4a6152c yuangongji)<br/><br/> slightly touches the behaviour:<br/>  o bufferevent: allow setting priority on socket and openssl type (4dd3acdd Nicolas J. Bouliane)<br/>  o Fix EV_CLOSED detection/reporting (epoll only) (1df324d4 Azat Khuzhin) (XXX)<br/>  o Revert "Warn if forked from the event loop during event_reinit()" (71f5c0d3 Azat Khuzhin)<br/><br/> samples:<br/>  o https-client: load certificates from the system cert store on Windows (e9478640 yuangongji)<br/><br/> build fixes:<br/>  o Do not use sysctl.h on linux (it had been deprecated) (d2871a37 Azat Khuzhin)<br/>  o cmake: avoid problems from use of CMAKE_USE_PTHREADS_INIT (a62ec765 Paul Osborne)<br/>  o Update list of cmake files for autotools dist archive (2016f017 Azat Khuzhin)<br/>  o LibeventConfig.cmake: restore CMAKE_FIND_LIBRARY_SUFFIXES and LIBEVENT_STATIC_LINK default (640f9cf6 Mario Emmenlauer)<br/>  o cmake: fix getaddrinfo checking error (dea51c2e yuangongji)<br/>  o autoconf: fix getaddrinfo checking errors on mingw (b9bf7fa7 yuangongji)<br/>  o Do not use shared global structures on CYGWIN (8a9b5655 Azat Khuzhin)<br/>  o Added uninstall target check to cmakelists (3f1fb1f9 Dimo Markov)<br/>  o Fix compilation without OPENSSL_API_COMPAT (921bdcdd Azat Khuzhin)<br/>  o cmake: improve package config file (1c047618, baec84f2 yuangongji)<br/>  o Link with iphlpapi only on windows (976f7d34 Azat Khuzhin)<br/>  o autotools: fails build when need but can not find openssl (93174bb5 yuangongji)<br/>  o Merge branch 'http-connect' (e2424229 Azat Khuzhin)<br/>  o Fix compat with NetBSD &gt;= 10 (5febb4e1 Kamil Rytarowski)<br/>  o cmake: fix getrandom() detection (e0e5f3bd Azat Khuzhin)<br/>  o arc4random: replace sysctl() with getrandom (on linux) (66ec78fd Azat Khuzhin)<br/>  o Upgrade autoconf (after upgrading minimum required to 2.67) (45da7d9d yuangongji)<br/>  o eliminate some C4267 warnings in Windows (9e468c77 yuangongji)<br/>  o autotools: attach doxygen target into all target (5d1e8570 yuangongji)<br/>  o cmake: attach doxygen target into all target (7a85300a yuangongji)<br/>  o Change the minimum version of automake to 1.13 and autoconf to 2.67 (fdb8fb66 ygj6)<br/>  o Add Uninstall.cmake.in into dist archive (877f2355 Azat Khuzhin)<br/><br/>Changes in version 2.1.11-stable (01 Aug 2019)<br/><br/> This release contains one ABI breakage fix (that had been introduced in<br/> 2.1.10, and strictly speaking this release breaks ABI again to make it<br/> compatible with 2.1.9 and less, please take a look at 18104973 for more<br/> details). Apart from that it contains some bug fixes, that grouped below.<br/><br/> And even though the return value for evbuffer_setcb() had been changed it<br/> should ABI compatible (anyway that function is in -compat.h header).<br/><br/> There is also one patch that introduce new functionality, this is 546a366c,<br/> to tune SO_RCVBUF/SO_SNDBUF in evdns, but one can count it as a bug-fix on<br/> the application level, since before you cannot tune this settings and hence<br/> you could stumble on problems.<br/><br/> ABI breakage:<br/>  o Protect min_heap_push_ against integer overflow. (8c899768 Tobias Stoeckmann)<br/>  o Revert "Protect min_heap_push_ against integer overflow." (18104973 Azat Khuzhin)<br/><br/> functionality:<br/>  o evdns: add new options -- so-rcvbuf/so-sndbuf (546a366c Azat Khuzhin)<br/><br/> build:<br/>  o Change autoconf version to 2.62 and automake version to 1.11.2 (2a333008 yuangongji)<br/>  o cmake: install shared library only if it was requested (596855f7 Azat Khuzhin)<br/>  o Missing &lt;winerror.h&gt; on win7/MinGW(MINGW32_NT-6.1)/MSYS (9559349c yuangongji)<br/>  o cmake: set library names to be the same as with autotools (305251b9 yuangongji)<br/>  o Enable _GNU_SOURCE for Android (f013fc7d Keith Smiley)<br/>  o Enable kqueue for APPLE targets (3aa68a82 Keith Smiley)<br/>  o autotools: do not install bufferevent_ssl.h under --disable-openssl (5349a07e Azat Khuzhin)<br/>  o cmake: link against shell32.lib/advapi32.lib (c9ce638c Azat Khuzhin)<br/>  o Add README.md into dist archive (3660a4cc Azat Khuzhin)<br/>  o cmake: add missing autotools targets (doxygen, uninstall, event_rpcgen.py) (2d65071c yuangongji)<br/>  o m4/libevent_openssl.m4: fix detection of openssl (d4056e59 Fabrice Fontaine)<br/>  o Fix detection of the __has_attribute() for apple clang [ci skip] (7fd7c5ef Azat Khuzhin)<br/><br/> lib:<br/>  o buffer: fix possible NULL dereference in evbuffer_setcb() on ENOMEM (598f247d Azat Khuzhin)<br/>  o Warn if forked from the event loop during event_reinit() (b75922ae Azat Khuzhin)<br/>  o evutil: set the have_checked_interfaces in evutil_check_interfaces()<br/>    (ef498aa2, a09265ac jeremyerb)<br/><br/> samples:<br/>  o https-client: correction error checking (a8a04565 wenyg)<br/><br/><br/>Changes in version 2.1.10-stable (26 May 2019)<br/><br/> This release contains mostly fixes (some evbuffer oddity, AF_UNIX handling in<br/> http server, some UB fixes and others) but also some new functionality<br/> (without ABI breakage as usual) and now dist archive can be used for building<br/> on windows (getopt had been added into it).<br/><br/> Above you will find changelog for this particular release (but with some<br/> trivial fixes pruned out from it - to make it a little bit more informative).<br/><br/> To view full changelog please use git:<br/>   git log --format='  o %s (%h %aN)' release-2.1.9-beta...release-2.1.10-stable<br/><br/> dist:<br/>  o Add getopt into dist archive (7042ff24 Azat Khuzhin)<br/><br/> functionality:<br/>  o evdns: add DNS_OPTION_NAMESERVERS_NO_DEFAULT/EVDNS_BASE_NAMESERVERS_NO_DEFAULT<br/>  (58e81106 Azat Khuzhin)<br/>  o Add support for EV_TIMEOUT to event_base_active_by_fd (3f893f0a John Ohl)<br/><br/> fixes:<br/>  o Merge branch 'evbuffer-fixes-806-v2' (2fea04b3 Azat Khuzhin)<br/>  o Merge branch 'issue-807-accept4-getnameinfo-AF_UNIX' (7c4da937, e2790a7f<br/>    Azat Khuzhin)<br/>  o kqueue: Avoid undefined behaviour. (e70e18e9 Tobias Stoeckmann)<br/>  o Prevent integer overflow in kq_build_changes_list. (43a55a23 Tobias Stoeckmann)<br/>  o evdns: fix lock/unlock mismatch in evdns_close_server_port() (54103883 zhuizhuhaomeng)<br/>  o Merge remote-tracking branch 'official/pr/804' -- Enforce limit of NSIG<br/>    signals (87fa93a8 Tobias Stoeckmann)<br/>  o Protect min_heap_push_ against integer overflow. (0b46bb8c Tobias Stoeckmann)<br/>  o le-proxy: initiate use of the Winsock DLL (2a1e1530 linxiaohui)<br/>  o Fix leaks in error path of the bufferevent_init_common_() (bb0f8fe7 Azat Khuzhin)<br/>  o buffer: make evbuffer_prepend() of zero-length array no-op (61fa7b7d Azat Khuzhin)<br/>  o Merge branch 'evbuffer-empty-chain-handling' (6a3dd717 Azat Khuzhin)<br/>  o Don't loose top error in SSL (3d1a7a1d Yury Korzhetsky)<br/>  o Remove needless check for arc4_seeded_ok (6602a97d Seong-Joong Kim)<br/>  o Merge pull request #769 from sungjungk/fix-return-handling (91084140 Nathan French)<br/><br/> build:<br/>  o Define `_GNU_SOURCE` properly/consistently per autoconf (00ba9fa2 Enji Cooper)<br/>  o signal: guard __cdecl definition with #ifdef (d89045a6 Azat Khuzhin)<br/>  o Link test/regress with event_core/event_extra over event (22380996 Azat Khuzhin)<br/><br/> tests:<br/>  o Use kill() over raise() for raising the signal (fixes osx 10.14 with<br/>    kqueue) (3db5296b, a45f6733 Azat Khuzhin)<br/>  o tinytest: implement per-test timeout (via alarm() under !win32 only)<br/>    (b64dbfb6, 75d7e1ff Azat Khuzhin)<br/><br/>Changes in version 2.1.9-beta (10 February 2019)<br/><br/> This changelog will differs from other releases in the next few clauses:<br/> - contains only highlighted changes (so now it will not contains a lot of<br/>   patches that fixes some stuff in regression tests, typos, leaks fixes in<br/>   samples and so forth)<br/> - no authors (since merge commits breaks them anyway, but AUTHORS sections in<br/>   README will be kept up to date)<br/> - group name trimmed from commit subjects trimmed<br/> - it's been 2 years since the previoius release, so it is pretty huge<br/><br/> And I think that this is more useful, so from now on it will always has the<br/> same look (until there will too many objections of course).<br/><br/> To view full changelog please use git:<br/>   git log --format='  o %s (%h %aN)' release-2.1.8-stable...release-2.1.9-beta<br/><br/><br/> dist archive:<br/>  o Add cmake rules into dist archive (bf3a67cf)<br/>  o Add missing print-winsock-errors.c into dist archive (822d6462)<br/>  o Include openssl-compat.h into dist archive (08658136)<br/><br/> core:<br/>  o Merge branch 'check-O_NONBLOCK-in-debug' (a39898f3, a8155c62)<br/>  o Merge branch 'event-ET-#636-v2' (ca4b6404)<br/>  o Fix visibility issues under (mostly on win32)<br/>    (349081e1g, 802be13ag, a1f28e2f)<br/>  o Define __EXT_POSIX2 for QNX (a2176f2c)<br/>  o Cleanup __func__ detection (b3af7bdd)<br/>  o Add convenience macros for user-triggered events (06ec5de6)<br/>  o Notify event base if there are no more events, so it can exit without delay (d9d1c09e)<br/>  o Fix base unlocking in event_del() if event_base_set() runned in another thread (4f0f40e3)<br/>  o If precise_time is false, we should not set EVENT_BASE_FLAG_PRECISE_TIMER (27dee54d)<br/>  o Fix race in access to ev_res from event loop with event_active() (43d92a6d)<br/>  o Return from event_del() after the last event callback termination (876c7ac7)<br/><br/> http:<br/>  o Merge branch 'http-EVHTTP_CON_READ_ON_WRITE_ERROR-fixes-v2' (eb7b472b)<br/>  o Preserve socket error from listen across closesocket cleanup (2ccd00a6)<br/>  o fix connection retries when there more then one request for connection (d30e7bba)<br/>  o improve error path for bufferevent_{setfd,enable,disable}() (a8cc449e)<br/>  o Fix conceivable UAF of the bufferevent in evhttp_connection_free() (6ac2ec25)<br/>  o Merge branch 'http-request-line-parsing' (cdcfbafe)<br/>  o Fix evhttp_connection_get_addr() fox incomming http connections (4215c003)<br/>  o fix leaks in evhttp_uriencode() (123362e9)<br/>  o CONNECT method only takes an authority (7d1ffe64)<br/>  o Allow bodies for GET/DELETE/OPTIONS/CONNECT (23eb38b9)<br/>  o Do not crash when evhttp_send_reply_start() is called after a timeout. (826f1134)<br/>  o Fix crashing http server when callback do not reply in place (5b40744d, b2581380)<br/>  o fix handling of close_notify (ssl) in http with openssl bufferevents (7e91622b)<br/><br/> evrpc:<br/>  o use *_new_with_arg() to match function prototype (a95cc9e3)<br/>  o avoid NULL dereference on request is not EVHTTP_REQ_POST (e05136c7)<br/><br/> regression tests:<br/>  o Merge branch 'TT_RETRIABLE' (6ea1ec68, f9b592aa)<br/><br/> bufferevent:<br/>  o Merge branch 'iocp-fixes' (6bfac964)<br/>  o Merge branch 'be-wm-overrun-v2' (3f692fff)<br/>  o bufferevent_socket_connect{,_hostname}() missing event callback and use ret code (1dde74ef)<br/>  o don't fail be_null_filter if bytes are copied (b92b0792)<br/>  o Call underlying bev ctrl GET_FD on filtered bufferevents (ebfac517)<br/><br/> bufferevent_openssl/openssl:<br/>  o Merge branch 'ssl_bufferevent_wm_filter-fix' (30020a35)<br/>  o be_openssl: avoid leaking of SSL structure (e86ccfe5)<br/>  o Fix build with LibreSSL 2.7 (894ca48a)<br/>  o Add missing includes into openssl-compat.h (01bc36c1)<br/>  o Explicitly call SSL_clear when reseting the fd. (29b7a516)<br/>  o Unbreak build with LibreSSL after openssl 1.1 support added (230af9f0)<br/><br/> samples:<br/>  o Merge branch 'sample-http-server' (b6309bcc)<br/>  o sample/https-client: use host SSL certificate store by default (5c0132f3)<br/><br/> listener:<br/>  o ipv6only socket bind support (ba148796)<br/>  o Merge branch 'listener-immediate-close' (df2ed13f)<br/>  o Merge branch 'evconnlistener-do-not-close-client-fd' (42e851bb)<br/><br/> evdns:<br/>  o evdns: handle NULL filename explicitly (0033f5cc)<br/>  o Merge branch 'evdns_getaddrinfo-race-fix' (3237d697)<br/>  o Generating evdns_base_config_windows_nameservers docs on all platforms (3bd2ce43)<br/><br/> utils:<br/>  o Merge branch 'evutil_found_ifaddr-dev' (b07e43e6)<br/>  o Avoid possible SEGVs in select() (in unit tests) (8818c86c)<br/>  o Port `event_rpcgen.py` and `test/check-dumpevents.py` to Python 3. (532a8cc3)<br/><br/> buffer:<br/>  o Fix assert() condition in evbuffer_drain() for IOCP (d6326104)<br/>  o fix incorrect unlock of the buffer mutex (for deferred callbacks) (2b4d127d)<br/>  o Fix wrong assert in evbuffer_drain() (9f4d0dce)<br/><br/> cmake:<br/>  o fix checking of devpoll backend (like in autotools, by devpoll.h existence) (7f161902)<br/>  o support static runtime (MSVC) (c8b3ec17, 61fb055a)<br/>  o do not build both (SHARED and STATIC) for MSVC/win32 (bc7f2fd9)<br/>  o introduce EVENT__LIBRARY_TYPE option (eb10a738)<br/>  o ensure windows dll's are installed as well as lib files (29590718)<br/>  o Fix generation of LibeventConfig.cmake for the installation tree (7fa08c4b)<br/>  o fix pkgconfig generation (copy-paste typo) (cc554d87)<br/>  o Merge branch 'cmake-missing-bits' (9806b126)<br/>  o Fix detection of timerfd_create() in CMake. (e50af331)<br/>  o Merge branch 'cmake-configure-fixes-v2' (a0bfe2c4)<br/>  o Do not add epoll_sub (syscall wrappers) for epoll in cmake (cea61de6)<br/>  o Fix RPATH for APPLE (45b1f379)<br/><br/> autotools:<br/>  o include win32 specific headers for socklen_t detection on win32/mingw (d7579fb9)<br/>  o Ignore evconfig-private.h for autotools (37423849)<br/>  o config.h can't be prefixed unconditionally (63a054f8)<br/>  o Merge branch 'pull-628' (7e56c8b2)<br/>  o Provide Makefile variables LIBEVENT_{CFLAGS,CPPFLAGS,LDFLAGS} (2f060c5f)<br/>  o confirm openssl is working before using (b39ccf8e)<br/>  o pass $(OPENSSL_INCS) for samples (FTBFS macOS) (c2495265)<br/>  o Add configure check for midipix (d433201e)<br/>  o Fix tests with detached builds (c46ff439)<br/><br/> build:<br/>  o Fix arc4random_addrandom() detecting and fallback (regression) (303d6d77)<br/>  o Merge branch 'win32-fixes' (ebd12e6d)<br/>  o Merge branch 'fix-openssl-linking' (e7bd9e03)<br/>  o Merge branch 'fix-struct-linger' (8567f2f5)<br/><br/> CI:<br/>  o travis-ci/appveyor now uses fast_finish+allow_failures<br/>    (5e97b6e6, dd472e7d, dfb5fc167)<br/>  o Merge branch 'travis-ci-osx-fixes' (9f02b39c)<br/>  o Merge branch 'win64-fixes' (aee0fcd5)</title>
    <description>/src/external/bsd/libevent/dist/bufferevent_async.c - 1.1.1.3</description>
    <pubDate>Wed Apr 07 02:43:13 UTC 2021</pubDate>
    <dc:creator>christos</dc:creator>
</item>

<item>
    <title>Changes in version 2.1.8-stable (22 January 2017)<br/><br/> Libevent 2.1.8-stable, it contains openssl fixes for resetting fd and using<br/> bufferevent_openssl_filter_new(). vagrant fixes, some build fixes, increased<br/> timeout for some tests (to reduce number of failures due to timing issues),<br/> date in RFC1123 format and running tests in parallel.<br/><br/> There are highlighted changes above.<br/><br/> Build fixes:<br/>  o Fix _FILE_OFFSET_BITS redinition (solaris/autotools) (336f3b11 Azat Khuzhin)<br/>  o util-internal: fix __func__ redefinition (netbsd) (253e7fa9 Azat Khuzhin)<br/>  o Fix signedness differ for iov_base (solaris) (2c62062e Azat Khuzhin)<br/>  o evutil_time: include &lt;unistd.h&gt; when there is only sleep()/usleep() (3e75194c Azat Khuzhin)<br/>  o http: fix formatter for pritnf for req-&gt;ntoread (osx) (1cbf26f6 Azat Khuzhin)<br/> Testing environment:<br/>  o Merge branch 'automake-tests-parallel-v4' (*includes ci bits also*) (59e217df Azat Khuzhin)<br/> Vagrant env fixes:<br/>  o vagrant/netbsd: missing libtool (9c9be399 Azat Khuzhin)<br/>  o vagrant/netbsd: more reliable way of installing packages (36da6877 Azat Khuzhin)<br/>  o vagrant/osx: use make instead of gmake (there is no gmake) (f7c70aef Azat Khuzhin)<br/>  o vagrant: add centos box (ca591c5b Azat Khuzhin)<br/> Tests:<br/>  o test/dns: replace servname since solaris does not have "http" (d6bafbbe Azat Khuzhin)<br/>  o test/thread: netbsd is too slow, increase timeout for conditions_simple (3c7422fc Azat Khuzhin)<br/>  o test/dns: run async resolving after sync one (to avoid timeouts) (07862531 Azat Khuzhin)<br/>  o test/http: turn off some tests that based on backlog filling (falky) (26f416c1 Azat Khuzhin)<br/> Bugfixes:<br/>  o Merge branch 'openssl-filter-fixes-v4' (83e0f43b Azat Khuzhin)<br/>  o Merge branch 'date-rfc1123' (68def435,4798de6c,4545807d Azat Khuzhin)<br/>  o Merge branch 'be-openssl-fd-reset-fix-v2' (86fa0070,32adf434 Azat Khuzhin)<br/>  o Merge branch 'openssl-1.1-init-fixes-v2' (18a161f0 Azat Khuzhin)<br/>  o Fix incorrect MIME type (23f9a20e johnsonlee)<br/> Trivial fixes:<br/> Documentation updates:<br/>  o Update README.md (3821cca1 Breaker)<br/><br/><br/>Changes in version 2.1.7-rc (2 Novemer 2016)<br/><br/> Libevent 2.1.7-rc contains openssl 1.1 support, build fixes, CI improvements<br/> and plus Vagrantfile for testing under multiple OS'es.<br/><br/><br/> Continious Integration:<br/>  o Use coveralls.io via travis (9ac000c Azat Khuzhin)<br/>  o travis-ci: use container-based infrastructure (7e12e96 Azat Khuzhin)<br/>  o travis-ci/osx: fix compiling/linking openssl libraries (9d2f8d4 Azat Khuzhin)<br/>  o travis-ci: use gcc-5 (fixes osx|gcc failures) (d7ceae5 Azat Khuzhin)<br/>  o Testing with vagrant for 6 OS and cmake+autoconf (9585338 Azat Khuzhin)<br/>  o travis-ci/osx: install lcov (e4e099b Azat Khuzhin)<br/><br/> Build Improvements/Fixes:<br/>  o Fix cmake -DEVENT__COVERAGE=ON (40fbffc Azat Khuzhin)<br/>  o autogen.sh: learn about gmake (9376ac4 Azat Khuzhin)<br/>  o autogen.sh: remove all autoconf/automake caches, if any (69cce25 Azat Khuzhin)<br/>  o cmake: fix finding python2, and check that it is really 2 (3453c08 Azat Khuzhin)<br/>  o cmake: fix CheckFunctionExistsEx/CheckPrototypeDefinition (CMP0054) (43b69b2 Azat Khuzhin)<br/>  o cmake: cleanup (dc624ad Zonr Chang)<br/>  o cmake/win32: fix running regress, but fixing finding python2 interpreter (bcb990a Azat Khuzhin)<br/>  o cmake: use PYTHON_EXECUTABLE to find python2 (a4d044c Azat Khuzhin)<br/>  o Merge branch 'force-disable-clockgettime' (83c7cdf Azat Khuzhin)<br/><br/> Code Improvements (core)<br/>  o use ev_uint16_t instead of unsigned short for port (e983712 Thomas Bernard)<br/>  o Merge branch 'contrib-guide-v2' (b9c5077 Azat Khuzhin)<br/>  o poll: Prevent libevent from spinning if POLLNVAL occurs (675974c Tim Hentenaar)<br/><br/> Testing:<br/>  o test/regress: cover a polling of invalid fd (cb0df5c Tim Hentenaar)<br/><br/> Code Improvements (bufferevent_openssl)<br/>  o Make it build using OpenSSL 1.1.0 (3e9e0a0 Kurt Roeckx)<br/>  o Don't call BIO_number_{read|written} on NULL BIOs. (6702da1 Adam Langley)<br/>  o Switch from a 512 to 2048-bit RSA key. (f9803a6 Adam Langley)<br/><br/> Trivial fixes:<br/>  o Ignore temporary configure files (8fb08ae Azat Khuzhin)<br/>  o README.md: fix typo: ar -&gt; are (2361616 Simone Basso)<br/>  o be: just a simple mistake, reinclude the &lt;errno.h&gt; (7521664 Seven)<br/><br/>Changes in version 2.1.6-beta (4 July 2016)<br/><br/> Libevent 2.1.6-beta contains mostly bug fixes (evbuffers, evthread, evdns,<br/> bufferevents, core, http, samples), improvements but mostly to fix some<br/> possible issues (EVHTTP_CON_LINGERING_CLOSE), a lot of new unit tests and new<br/> appveyor integration.<br/><br/> Security Fixes (utils)<br/>   o evutil_parse_sockaddr_port(): fix buffer overflow (329acc1 Azat Khuzhin)<br/><br/> Security Fixes (evdns)<br/>   o evdns: name_parse(): fix remote stack overread (96f64a0 Azat Khuzhin)<br/>   o evdns: fix searching empty hostnames (ec65c42 Azat Khuzhin)<br/><br/> New APIs (evdns)<br/>   o New function to get address for nameserver. (537177d Nick Mathewson)<br/><br/> New APIs (bufferevents)<br/>   o expose bufferevent_incref/decref (with fewer modifications) (1ed6718 Mark Ellzey)<br/><br/> New APIs (internal)<br/>   o evdns: export cancel via callbacks in util (like async lib core/extra issues) (8cbe65d Azat Khuzhin)<br/><br/> New APIs/Improvements (http)<br/>   o http: take EVHTTP_CON_LINGERING_CLOSE into account for "Expect: 100-Continue" (ac448a7 Azat Khuzhin)<br/>   o http: lingering close (like nginx have) for entity-too-large (9fde518 Azat Khuzhin)<br/>   o http: read server response even after server closed the connection (680742e Azat Khuzhin)<br/>   o http: export evhttp_connection_set_family() (714fc70 Azat Khuzhin)<br/>   o http: reuse connected address only with EVHTTP_CON_REUSE_CONNECTED_ADDR (a50f5f0 Azat Khuzhin)<br/>   o http: use IP address that we got before (if any) during retrying (54c887d Azat Khuzhin)<br/><br/> Bugfixes (core)<br/>   o Fix getaddrinfo under solaris (for multiprotocol case) (40730ae Azat Khuzhin)<br/>   o Check for Mac OS X 10.4 kqueue bug properly (df6f99e Mark Mentovai)<br/>   o event_reinit: make signals works after fork() without evsig_add() (88640aa Nicholas Marriott)<br/>   o event_reinit: always re-init signal's socketpair (ad0c237 Nicholas Marriott)<br/>   o Free event queues even for recursive finalizers (7c8d015 Azat Khuzhin)<br/>   o Fix checking for make_base_notifiable() (f337296 Azat Khuzhin)<br/>   o Set correct socklen for PF_INET6 sockaddr len (3499ad9 Mark Ellzey)<br/>   o Fix garbage value in socketpair util function, stdint? (043ae74 Mark Ellzey)<br/>   o fix the return value of event_deferred_cb_schedule_ (38cef64 Greg Hazel)<br/>   o event_free_debug_globals_locks(): disable lock debugging (e5c87d1 Azat Khuzhin)<br/>   o event: call event_disable_debug_mode() in libevent_global_shutdown() (941faae Azat Khuzhin)<br/>   o ht-internal: don't reset hth_table_length explicitly in name_##HT_CLEAR (597c7b2 Azat Khuzhin)<br/><br/> Bugfixes (evthread)<br/>   o evthread: fix evthread_setup_global_lock_() for debug-lock with a real-lock case (e4556fc Azat Khuzhin)<br/>   o evthread: evthreadimpl_disable_lock_debugging_() for libevent_global_shutdown() (ccc5593 Azat Khuzhin)<br/><br/> Bugfixes (evdns)<br/>   o evdns: avoid double-free in evdns_base_free() for probing requests (4db15e0 Azat Khuzhin)<br/>   o evdns: evdns_base_free(): fix UAF of evdns_base with @fail_requests (00313c5 Azat Khuzhin)<br/>   o evdns: evdns_base_free(): free requests before namservers (14f84bb Azat Khuzhin)<br/>   o evdns: fix randomize-case by make case-insensitive as required (9c238de Azat Khuzhin)<br/><br/> Bugfixes (bufferevents)<br/>   o be_sock: handle readv() returns ECONNREFUSED (freebsd 9.2) (3189eb0 Azat Khuzhin)<br/>   o be_filter: avoid data stuck under active watermarks (b627ad8 Eduardo Panisset)<br/>   o Fix bufferevent_pair to properly set BEV_EVENT_{READING,WRITING} on flush. (2851889 David Paschich)<br/>   o be_openssl: clear all pending errors before SSL_*() calls (38e0f4a Azat Khuzhin)<br/>   o be_sock: cancel in-progress dns requests (86dfd2c Azat Khuzhin)<br/>   o be_sock: unfreeze buffers on fd changing (255525d Azat Khuzhin)<br/>   o be_sock: bufferevent_socket_connect_hostname(): make it thread-safe (809bb39 Azat Khuzhin)<br/>   o be_openssl: don't call do_write() directly from outbuf_cb (da52933 Azat Khuzhin)<br/>   o be_openssl: use bufferevent_enable() instead of bufferevent_add_event_() (0c66d32 Azat Khuzhin)<br/>   o be_openssl: don't add events during bev creation (like be_sock) (f4b6284 Azat Khuzhin)<br/>   o Fix lock leak in be_pair_flush() if flush type is BEV_NORMAL (f45d39d Bill Vaughan)<br/>   o be_openssl: don't use *_auto() in do_handshake() we can't have fd == -1 there (877280d Azat Khuzhin)<br/>   o be_openssl: don't call set_open_callbacks() if fd == -1 (e8a2da9 Azat Khuzhin)<br/>   o be_openssl: get rid off hackish "fd_is_set", to fix some corner cases (40b0379 Azat Khuzhin)<br/>   o be: we don't need to use getpeername() we we have conn_address (2c271e2 Azat Khuzhin)<br/>   o Call underlying bev ctrl SET_FD on filtered bufferevents (c2aa7dc Mark Ellzey)<br/>   o be_pair: release shared lock with the latest of bufferevent_pair (92a359e Azat Khuzhin)<br/><br/> Bugfixes (http)<br/>   o [Issue #313] set method to ASCII "NULL" if evhttp_method() returns NULL (17cc636 Mark Ellzey)<br/>   o evhttp_have_expect(): fix -Wlogical-not-parentheses (24b5214 Azat Khuzhin)<br/>   o http: set fd to -1 unconditioally, to avoid leaking of DNS requests (7a4b472 Azat Khuzhin)<br/>   o http: avoid leaking of fd in evhttp_connection_free() (f0e1341 Azat Khuzhin)<br/>   o http: get fd from be layer during connection reset (4a53c54 Azat Khuzhin)<br/>   o http: fix EVHTTP_CON_READ_ON_WRITE_ERROR when it doesn't supported by OS (2ff164a Azat Khuzhin)<br/>   o http: do not do function calls under EVUTIL_ASSERT() to fix NDEBUG builds (7c89999 Azat Khuzhin)<br/>   o http: fix leaking of response_code_line (8f18a62 Azat Khuzhin)<br/>   o http: fix "Expect: 100-continue" client side (0b46b39 Azat Khuzhin)<br/>   o http: fix conflicts EVHTTP_CON_AUTOFREE and EVHTTP_CON_REUSE_CONNECTED_ADDR (4dc0979 Azat Khuzhin)<br/>   o http: avoid epoll_ctl() on already closed fd (triggers by http/chunk_out) (ab3bc69 Azat Khuzhin)<br/>   o http: install timeout for read too during connect for ssl (040000d Azat Khuzhin)<br/>   o http: fix evhttp_request_own() by checking EVHTTP_USER_OWNED in more cases (b0d3964 Azat Khuzhin)<br/>   o http: fix detecting EOF without write (7ed02ac Azat Khuzhin)<br/>   o evhttp: Fix failure to send all output data for POST/PUT requests (24eea0d John Ohl)<br/>   o Fix evhttp_uriencode() regression. (c6b1ec1 Mark Ellzey)<br/>   o removed unused vars (e94250c Mark Ellzey)<br/>   o pointer overflow checks for evhttp_uriencode (72afe4c Zonr Chang)<br/><br/> Bugfixes (evbuffers)<br/>   o buffer: fix overflow check in evbuffer_expand_singlechain() (a3f4ccd Azat Khuzhin)<br/>   o buffer: evbuffer_add_buffer(): clean empty chains from destination buffer (26fd932 Azat Khuzhin)<br/>   o Fix n_add_for_cb in evbuffer_prepend() in case of new buffer required (0abd039 Azat Khuzhin)<br/>   o be_filter: actually disable output_filter during processing output (c031215 Simon Perreault)<br/>   o evbuffer_add: Use last_with_datap if set, not last. (a8769ef Marcus Sundberg)<br/>   o EVBUFFER_PTR_SET -&gt; EVBUFFER_PTR_ADD (8674e4f jer-gentoo)<br/><br/> Bugfixes (evconnlistener)<br/>   o listener: unlock lev on error in listener_read_cb() (2a71b33 Azat Khuzhin)<br/>   o Fix potential fd leak in listener_read_cb() (a695a72 Mark Ellzey)<br/><br/> Testing<br/>   o tests: use waitpid(..., WNOWAIT) to fix failing of main/fork under solaris (43eb56c Azat Khuzhin)<br/>   o test: replace sleeping with syncing pair in main/fork (16d220c Azat Khuzhin)<br/>   o test/http: do not run tests that based on backlog filling (freebsd) (500b6b7 Azat Khuzhin)<br/>   o test/bufferevent/iocp: fix test name for "bufferevent_connect_fail_eventcb" (4410e9d Azat Khuzhin)<br/>   o test/ssl: use send()/recv()/EVUTIL_ERR_RW_RETRIABLE()/EVUTIL_SOCKET_ERROR() to fix win32 (a9e8cd6 Azat Khuzhin)<br/>   o test/https_basic: increase timeout for complete write (fixes win32) (d5a2f2f Azat Khuzhin)<br/>   o test: fix building with --disable-thread-support under win32 (a487706 Azat Khuzhin)<br/>   o test/buffer: evbuffer_add_buffer() with empty chains (a272bc4 Azat Khuzhin)<br/>   o test/buffer: evbuffer_remove_buffer() with empty chains (prepend) (f0cfa14 Azat Khuzhin)<br/>   o test/buffer: evbuffer_remove_buffer() with empty chains (evbuffer_add_buffer()) (2880ce6 Azat Khuzhin)<br/>   o test/buffer: cover evbuffer_expand() for overflow (48dab7a Azat Khuzhin)<br/>   o test/be_filter: creating test case for data stuck with active watermarks (766194b Eduardo Panisset)<br/>   o test/http: avoid using conditionals with omitted operands (fixes VS2015) (2a4bf29 Azat Khuzhin)<br/>   o test/http: don't mix declarations and code (fixes -Wdeclaration-after-statement) (aabf1c2 Azat Khuzhin)<br/>   o test/buffer: fix leak in test_evbuffer_prepend() (c08d90b Azat Khuzhin)<br/>   o test/buffer: avoid errors with --no-fork (reinitialize static vars) (e7d1e39 Azat Khuzhin)<br/>   o test/buffer: cover n_add_for_cb when evbuffer_prepend() need to allocate buffer (e77ff41 Azat Khuzhin)<br/>   o test/tinytest_macros: add new one tt_nstr_op() (bd19a28 Azat Khuzhin)<br/>   o test/bufferevent: check that output_filter disabled during processing output (ae28812 Azat Khuzhin)<br/>   o test/listener: regression for missing unlock in listener_read_cb() (7d85651 Azat Khuzhin)<br/>   o test/regress: add tests for evbuffer_add() breakage on empty last chain (d5ee739 Marcus Sundberg)<br/>   o test/http: fix running some tests sequential (with --no-fork) (bddad71 Azat Khuzhin)<br/>   o test/http: localize evhttp server structure (cbc3209 Azat Khuzhin)<br/>   o test/dns: regression for empty hostname (d7348ba Azat Khuzhin)<br/>   o test/http: fix SERVER_TIMEOUT tests under win32 (d49a658 Azat Khuzhin)<br/>   o test/http: add a helper for creating timedout/failed request (376f107 Azat Khuzhin)<br/>   o test/http: adopt for C90 (mixed code and declarations) (d02a285 Azat Khuzhin)<br/>   o test/http: cover NS timed out during request cancellations separatelly (0c343af Azat Khuzhin)<br/>   o test/http: request cancellation with resolving/{conn,write}-timeouts in progress (334340d Azat Khuzhin)<br/>   o test/http: exit from the loop in the errorcb to wait cancellation (927ab33 Azat Khuzhin)<br/>   o regress_clean_dnsserver(): reset global port vars (351207f Azat Khuzhin)<br/>   o test/http: read_on_write_error: fix it for win32 (3b58169 Azat Khuzhin)<br/>   o test/http: separate coverage for EVHTTP_CON_READ_ON_WRITE_ERROR (5c2b4c1 Azat Khuzhin)<br/>   o test/http: cover "Expect: 100-continue" client-server interaction (31d8116 Azat Khuzhin)<br/>   o test/http: *lingering tests shouldn't have "Expect: 100-continue" (ed469ab Azat Khuzhin)<br/>   o test: use EVUTIL_SHUT_WR (04fc82f Azat Khuzhin)<br/>   o test/http: avoid huge stack allocations to fix win32 builds (3166765 Azat Khuzhin)<br/>   o test: http/lingering_close: cover EVHTTP_SERVER_LINGERING_CLOSE (e122ca1 Azat Khuzhin)<br/>   o test: http/non_lingering_close: cover ~EVHTTP_SERVER_LINGERING_CLOSE (f41e1b0 Azat Khuzhin)<br/>   o test: http/*: update expected HTTP codes for body exceeds `max_body_size` (addf2b9 Azat Khuzhin)<br/>   o test: http/data_length_constrains: set EVHTTP_CON_READ_ON_WRITE_ERROR (d38a723 Azat Khuzhin)<br/>   o test: increase buffer size for http/data_length_constraints to trigger EPIPE (0792e1e Azat Khuzhin)<br/>   o test/tinytest_demo: include &lt;windows.h&gt; for win32 to fix tdm-gcc (f062bbe Azat Khuzhin)<br/>   o test/regress: cover event_del() waiting mechanism (5b58b70 Azat Khuzhin)<br/>   o test/regress: cover existing signal callbacks and fork() + event_reinit() (ceddc60 Azat Khuzhin)<br/>   o test/regress: cover signals after fork() + event_reinit() (b075b81 Azat Khuzhin)<br/>   o test/regress: main/fork: rewrite assertions by just removing event in callback (088d8b3 Azat Khuzhin)<br/>   o test/dns: check exit code of evdns_getaddrinfo() (0b9d432 Azat Khuzhin)<br/>   o test/dns: cover evdns_getaddrinfo() and evdns_base_free() with @fail_requests (4ad3483 Azat Khuzhin)<br/>   o test/dns: cover @fail_requests for evdns_base_free() (d6c6fb4 Azat Khuzhin)<br/>   o test/dns: more graceful coverage of @fail_requests (123d372 Azat Khuzhin)<br/>   o test/ssl: cover busy-loop (i.e. {read,write}-blocked-on-{write,read} stuff) (da0ea7a Azat Khuzhin)<br/>   o test/http: write_during_read for https (23c77b6 Azat Khuzhin)<br/>   o test/http: connection_fail for https (7ea26f7 Azat Khuzhin)<br/>   o test/http: stream_out for https (ac04968 Azat Khuzhin)<br/>   o test/http: chunk_out for https (a71ffb9 Azat Khuzhin)<br/>   o test/regress: fix ssl-less builds (need to make this prettier) (3160716 Azat Khuzhin)<br/>   o test/http: allow dirty shutdown for ssl to fix https_incomplete (1ede326 Azat Khuzhin)<br/>   o test/http: https basic (59714b4 Azat Khuzhin)<br/>   o test/http: incomplete{,_timeout} for https (615490d Azat Khuzhin)<br/>   o test/http: add simplest test for http/https/https_dirty_shutdown (93b19dc Azat Khuzhin)<br/>   o test/http: https: retry coverage (7c2d24a Azat Khuzhin)<br/>   o test/http: https server support (plus some helpers) (a7088ad Azat Khuzhin)<br/>   o test/http: more sanity checks (a27c53c Azat Khuzhin)<br/>   o test/ssl: export getkey()/getcert()/get_ssl_ctx()/init_ssl() for https (0c4c387 Azat Khuzhin)<br/>   o test/regress_be: basic coverage bufferevent_flush() for pair/sock layers (ad52602 Azat Khuzhin)<br/>   o test/regress_be: socket_filter_inactive: check bufferevent after creation (f8081af Azat Khuzhin)<br/>   o test/regress_be: cover finalizers from inactive to active queue (337684b Azat Khuzhin)<br/>   o test/regress_buffer: fix clang compilation warnings (d8fd4c0 Azat Khuzhin)<br/>   o test/regress_http: fix compilation warnings (-Wmissing-field-initializers) (cd422e0 Azat Khuzhin)<br/>   o test/regress_dns: fix compilation warnings (-Wmissing-field-initializers/for) (f55db98 Azat Khuzhin)<br/>   o tests/regress_dns: cover that randomize-case works case-insensitive (1e8bfbc Azat Khuzhin)<br/>   o test: fix bufferevent/bufferevent_pair_release_lock in debug mode (3f749e9 Azat Khuzhin)<br/>   o test: fix bufferevent/bufferevent_pair_release_lock for freebsd (79f9ace Azat Khuzhin)<br/>   o test/regress_be: bufferevent_enable() shouldn't call eventcb by it's own (a0f308d Azat Khuzhin)<br/>   o test/regress_be: introduce fake_listener_create() (37dc9e0 Azat Khuzhin)<br/>   o test/regress_http: cover evhttp_request_own() (6f6fa0d Azat Khuzhin)<br/>   o test/regress_http: cover write during read (3d15aeb Azat Khuzhin)<br/>   o test/regress_http: verify that closecb will be called without multiple write (4be6c70 Azat Khuzhin)<br/>   o test/regress: fix bufferevent_pair_release_lock with EVENT_DEBUG_MODE (6ea6655 Azat Khuzhin)<br/>   o test/regress_ssl: check events fd/pending after timeout triggered (cdafdf0 Azat Khuzhin)<br/>   o test/regress_ssl: cover case when server didn't up (failed with timeout) (74845f1 Azat Khuzhin)<br/>   o test/regress_ssl: covert that we can't change fd with underlying (df507af Azat Khuzhin)<br/>   o test/regress_ssl: cover that events (read/write) at finish not pending (762edb4 Azat Khuzhin)<br/>   o test/regress_ssl: cover fd manipulations (b78a829 Azat Khuzhin)<br/>   o test/regress_ssl: convert open_ssl_bufevs() to mask (46bba73 Azat Khuzhin)<br/>   o test/regress_ssl: convert client/server to mask too (3455991 Azat Khuzhin)<br/>   o test/regress_ssl: cover "allow_dirty_shutdown" (0430327 Azat Khuzhin)<br/>   o test/regress_ssl: convert regress_bufferevent_openssl() to bitmask (342e116 Azat Khuzhin)<br/>   o tests/regress_ssl: drop duplicated assert (25e56fd Azat Khuzhin)<br/>   o test/regress_http: initialize "dns_base" to avoid reading trash (9f0bff3 Azat Khuzhin)<br/>   o test/http: cover retrying with saved conn_address by shutting down dns server (f4874d8 Azat Khuzhin)<br/>   o be_pair/regress: cover use of shared lock (lock/unlock/free) (a558fcd Azat Khuzhin)<br/>   o regress_dns: drop hack for event_debug_map_HT_GROW in leak tests (3540a19 Azat Khuzhin)<br/><br/> Sample code<br/>   o Fix memory leak in signal-test.c (666db91 basavesh.as)<br/>   o sample/hello-world: exAmple, not eXMple (2d3cd35 kirillDanshin)<br/>   o dns-example: allow to set ns from args (df19a97 Azat Khuzhin)<br/>   o dns-example: convert to getopt() (32f8592 Azat Khuzhin)<br/>   o http-connect: make it win32 compilable (1bf7595 Azat Khuzhin)<br/>   o sample/https-client: allow to change path to ca-certificates (fdf713a Azat Khuzhin)<br/>   o sample/https-client: check for ERR_remove_thread_state() existence (c4e9d9b Azat Khuzhin)<br/>   o sample/https-client: replace ERR_remove_state() by ERR_remove_thread_state() (77ad68a Azat Khuzhin)<br/>   o sample/https-client: add -timeout option (4637aa8 Azat Khuzhin)<br/>   o sample/https-client: don't try to free uninitialized SSL (f3d7ff5 Azat Khuzhin)<br/>   o sample/https-client: graceful exit with freeing memory (to make valgrind happy) (24a1f25 Azat Khuzhin)<br/>   o https-client: correctly handle URLs with no path (like "https://host:port") (29a0482 Andrey Skriabin)<br/>   o sample/http-connect: don't use assert() to make it work with NDEBUG (6dc71e7 Azat Khuzhin)<br/>   o sample/http-connect: made it compatible with C90 (f976d43 Azat Khuzhin)<br/>   o sample: add HTTP CONNECT tunnelling example using libevent http layer (1d34498 Azat Khuzhin)<br/>   o Update dns-example. (620ff24 Mark Ellzey)<br/><br/> Documentation<br/>   o Update README.md (b8ec70c Mark Ellzey)<br/>   o Update README.md (80faee9 Mark Ellzey)<br/>   o Update README.md (ad4a897 Mark Ellzey)<br/>   o Update README.md (a2b2e1e Mark Ellzey)<br/>   o Update README.md (0dfa5dc Mark Ellzey)<br/><br/> Code Improvements (evthread)<br/>   o evthread: add evthread_get_{lock,condition}_callbacks() helpers (c0b34f6 Azat Khuzhin)<br/><br/> Code Improvements (core)<br/>   o util: make @sa const for evutil_socket_connect_() (a8d32c2 Azat Khuzhin)<br/><br/> Code Improvements (http)<br/>   o http: assert's that evbuffer_drain() success on connection reset (2185e63 Azat Khuzhin)<br/>   o http: introduce evhttp_request_free_() helper (22061ac Azat Khuzhin)<br/>   o http: introduce evhttp_is_request_connection_close() helper (6540da3 Azat Khuzhin)<br/><br/> Code Improvements (bufferevents)<br/>   o be_sock: bufferevent_socket_set_conn_address(): assert instead of silent no-op (0ab88c2 Azat Khuzhin)<br/>   o be_sock: sanity check in bufferevent_socket_set_conn_address() (eedbeff Azat Khuzhin)<br/>   o be: replace sockaddr_storage with sockaddr_in6 for conn_address (3889612 Azat Khuzhin)<br/>   o be: replace conn_address by full struct instead of pointer (e5615aa Azat Khuzhin)<br/>   o bufferevent: move conn_address out from http into bufferevent (8bb3842 Azat Khuzhin)<br/>   o be: make @sa const for bufferevent_socket_connect() (dc33c78 Azat Khuzhin)<br/><br/> Cleanups (core)<br/>   o Refactoring conditional directives that break parts of statements. (4b41eeb lzmths)<br/>   o epoll: introduce PRINT_CHANGES() macro to avoid copy-pasting (a1b142b Azat Khuzhin)<br/>   o tab (6e7a580 Greg Hazel)<br/><br/> Cleanups (evbuffers)<br/>   o buffer_compat: fix comment -- we have EVBUFFER_EOL_ANY not EOL_STYLE_ANY (575ff67 Azat Khuzhin)<br/><br/> Cleanups (bufferevents)<br/>   o be_sock: evutil_getaddrinfo_async_() always return 0 (dbff101 Azat Khuzhin)<br/>   o be_sock: drop be_sock_add() macro (useless and debug unfriendly) (fad5fe2 Azat Khuzhin)<br/>   o be: introduce bufferevent_generic_adj_existing_timeouts_() (3c1f58f Azat Khuzhin)<br/>   o be: add_event: use evutil_timerisset() (a96b73b Azat Khuzhin)<br/>   o be_openssl: introduce be_openssl_auto_fd() helper (2a8a711 Azat Khuzhin)<br/>   o be_openssl: introduce set_open_callbacks_auto() (510da71 Azat Khuzhin)<br/><br/> Cleanups (http)<br/>   o http: make fallback for EVHTTP_CON_READ_ON_WRITE_ERROR more cleaner (d405492 Azat Khuzhin)<br/>   o http: coding style issue (365f181 Azat Khuzhin)<br/><br/> Cleanups (evdns)<br/>   o evnds: inline TEST_NAME macro to make debuggin easier (0c615f4 Azat Khuzhin)<br/><br/> Portability Fixes<br/>   o [#372] check for errno.h (3031617 Mark Ellzey)<br/>   o Fixed Unicode issue in error messages. (e8b7895 Mattes D)<br/>   o Assume that ke_udata is an integer type on CloudABI. (5602e45 Ed Schouten)<br/>   o Add missing include of &lt;netinet/in.h&gt;. (b2c68bc Ed Schouten)<br/>   o Include &lt;sys/ioctl.h&gt;, &lt;sys/resource.h&gt; and &lt;sys/wait.h&gt; optionally. (c1404b5 Ed Schouten)<br/>   o Test against SO_REUSEADDR (along with _WIN32). (ce1776c Ed Schouten)<br/>   o Always define missing TAILQ functions from sys/queue.h (2828bdb Christopher Wiley)<br/>   o Don't use BSD u_* types. (fd36647 Ed Schouten)<br/>   o Remove BSD-ism: TIMEVAL_TO_TIMESPEC(). (193c7de Ed Schouten)<br/>   o be: include all variations of headers for sockaddr_in6 struct (c212291 Azat Khuzhin)<br/>   o be: fix sockaddr_in6 type definition for win32 (c42bc6b Azat Khuzhin)<br/><br/> Continious Integration:<br/>   o travis: split long lines, and make it cleaner (685a6a1 Azat Khuzhin)<br/>   o travis: fix autotools on osx by reinstalling libtool (088ea5e Azat Khuzhin)<br/>   o appveyor/autotools: link with openssl by passing LDFLAGS/CFLAGS (6fcfa25 Azat Khuzhin)<br/>   o appveyor: image already had openssl installed (4634b85 Azat Khuzhin)<br/>   o appveyor: check -DUNICODE -D_UNICODE according to ReleaseChecklist (cmake only) (e9acc44 Azat Khuzhin)<br/>   o appveyor: ignore failure of mingw-get (1810857 Azat Khuzhin)<br/>   o appveyor: drop shallow_clone, since we use tags for detecting version in cmake (ac90133 Azat Khuzhin)<br/>   o appveyor: support cmake &amp; autotools using build matrix (like travis-ci has) (8f95015 Azat Khuzhin)<br/>   o travis-ci/osx: relink gcc/g++ instead of clang (481481d Azat Khuzhin)<br/>   o travis-ci: enable multi-os mode (osx, linux) (79917e4 Azat Khuzhin)<br/>   o travis-ci: increase matrix (--disable-foo) (59649f7 Azat Khuzhin)<br/>   o travis-ci: adjust alignment (c8be339 Azat Khuzhin)<br/>   o travis: add builds without debug mode into matrix (3e56da2 Azat Khuzhin)<br/>   o test: run regress with EVENT_DEBUG_MODE=1 and without (cf2cf2a Azat Khuzhin)<br/>   o Update travis config for status updates (37453ab Mark Ellzey)<br/>   o Use autotools for appveyor until cmake is fixed. (1cc2e29 Mark Ellzey)<br/>   o Fix the link for appveyor OpenSSL installer (WIN32) (107d565 Mark Ellzey)<br/>   o Forgot to install OpenSSL for appveyor (26164a5 Joakim Söderberg)<br/>   o Add support for appveyor.com windows CI (5f89c37 Joakim Söderberg)<br/><br/> Build Improvements/Fixes:<br/>   o evutil: mark ai_find_protocol() static (prototype-less) (5a157c8 Azat Khuzhin)<br/>   o cmake/solaris: set CMAKE_REQUIRED_LIBRARIES to fix functions detections (dc95823 Azat Khuzhin)<br/>   o cmake/solaris: fix building (link with socket,nsl) (050bfc7 Azat Khuzhin)<br/>   o cmake: check for ZLIB_INCLUDE_DIR, since we can have only library without headers (c4dfb93 Azat Khuzhin)<br/>   o autotools/win32: fix searching ssl library (671a24f Azat Khuzhin)<br/>   o cmake/win32: do not compile regress_thread on -DEVENT__DISABLE_THREAD_SUPPORT=ON (de0c196 Azat Khuzhin)<br/>   o cmake/win32: do not compile evthread_win32 on -DEVENT__DISABLE_THREAD_SUPPORT=ON (ecb0ec8 Azat Khuzhin)<br/>   o cmake: fix -DEVENT__ENABLE_VERBOSE_DEBUG (typo on -DUSE_DEBUG) (e35f224 Azat Khuzhin)<br/>   o cmake: do not use stderr for notifications/version-info (38716c6 Azat Khuzhin)<br/>   o autoconf: fix --disable-thread-support build under win32 (bb09535 Azat Khuzhin)<br/>   o buffer: don't mix code and declarations (8892f4c Azat Khuzhin)<br/>   o Update gitignore file to ignore cscope gen'ed files (0aaa4fb Neeraj Badlani)<br/>   o For non GCC/clang on OSX the -Wno-deprecated-declarations may not be valid (b5ca365 Rainer Keller)<br/>   o automake: define serial-tests only if automake have this option (61179de Azat Khuzhin)<br/>   o test/automake: don't use paralell test harness (since automake 1.12) (44d755e Azat Khuzhin)<br/>   o Ignore all pkgconfig generated stuff (ce38993 Azat Khuzhin)<br/>   o libevent_core and libevent_extra also deserve a pkgconfig file (b8d7c62 Jan Heylen)<br/>   o Ignore verify_tests.bat (win32 version) (0f2de10 Azat Khuzhin)<br/>   o cmake: require 3.1 only for win32 to make it work under ubunty precise (87f7238 Azat Khuzhin)<br/>   o cmake: require at least 3.1 for target_sources() (c46ead5 Azat Khuzhin)<br/>   o cmake: fix adding of compiler flags, and now it will (36588e1 Azat Khuzhin)<br/>   o Replace -Wswitch-enum with -Wswitch, and add it into cmake rules too (f29f59e Azat Khuzhin)<br/>   o test/regress_ssl: Fix compile problems for win32 (73d0360 Trond Norbye)<br/>   o util: fix "%zu" format on TDM-gcc/MinGW-w64 (79b69d8 Azat Khuzhin)<br/>   o cmake: don't define EVENT__NEED_DLLIMPORT always (fixes VS2013 static build) (49bd790 Azat Khuzhin)<br/>   o Add missing return statement to del_wait_thread so libevent can build. (4f778ab Nick Mathewson)<br/>   o cmake: fix building dns-example under win32 (missing getopt) (a1609a8 Azat Khuzhin)<br/>   o visibility: align it to make it more readable (bb6b53d Azat Khuzhin)<br/>   o cmake: Fix detection of ssize_t/SSIZE_T (7707f6b Azat Khuzhin)<br/>   o Ignore more configure stuff (configure.lineno) (8d34302 Azat Khuzhin)<br/>   o Fixed issue with cmake version generation (d56efd9 Mark Ellzey)<br/>   o Cmake is now officially working. (7f9646d Mark Ellzey)<br/>   o More cmake updates, lot's of missing definitions (49a5381 Mark Ellzey)<br/>   o CMake syntax fixes fo .in files (6aad23d Mark Ellzey)<br/>   o Revert "The Windows socket type is defined as SOCKET." (a264da8 Mark Ellzey)<br/>   o CMAKE CMAKE CMAKE CLEANUPS (a9db46a Mark Ellzey)<br/>   o Lot's of cmake updates (8b228e2 Mark Ellzey)<br/>   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)<br/>   o The Windows socket type is defined as SOCKET. (c9e6c3d billsegall)<br/>   o autotools: fix getservbyname() detection (959a4c2 Azat Khuzhin)<br/>   o Add missing &lt;string.h&gt; for openssl_hostname_validation module (3316a21 Azat Khuzhin)<br/>   o make test/regress_ssl.c compile without warnings (9f02a44 Thomas Bernard)<br/>   o test/regress_be: drop debug __asm__(int3) to fix arm build (8240379 Azat Khuzhin)<br/>   o event_debug_created_threadable_ctx_: fix compilation without debug mode (a068f2e Azat Khuzhin)<br/>   o Add a prototype for event_disable_debug_mode() (bfcedee Sebastian Hahn)<br/>   o http: eliminate warning about "socklen" in evhttp_connection_connect_() (dfad1a4 Azat Khuzhin)<br/>   o Updated gitignore (1dbb55d Mark Ellzey)<br/>   o Update bench_httpclient.c (cb96931 Seungmo Koo)<br/>   o *fix: bench_httpclient to support win32 (4e9325e zeliard)<br/>   o Commented out a WIN32 threading / timing test for now (e84e269 Mark Ellzey)<br/>   o Fix mixed declarations and code (forbidden by ISO C90) (0c7f217 Thomas Bernard)<br/>   o Fix "function declaration isn’t a prototype" (746d2c5 Thomas Bernard)<br/>   o This fixes a bug introduced in 27bd9faf498b91923296cc91643e03ec4055c230 (19ba454 Joakim Söderberg)<br/>   o changed strtotimeval signature as per #211 (bdbc823 Xiao Bao Clark)<br/>   o Added cmake-generated files to ignore list. (6c12bfe Matyas Dolak)<br/>   o Ignore `make dist` generated files (8a2c6c7 Azat Khuzhin)<br/><br/>  Debugging<br/>   o Debug mode option to error on evthread init AFTER other event calls. (dcfb19a Mark Ellzey)<br/><br/><br/><br/>Changes in version 2.1.5-beta (5 January 2015)<br/><br/> Security Fixes (evbuffers)<br/>   o Avoid integer overflow bugs in evbuffer_add() and related functions.  See CVE-2014-6272 advisory for more information. (d49bc0e88b81a5812116074dc007f1db0ca1eecd)<br/><br/> New APIs (evconnlistener)<br/>   o Provide support for SO_REUSEPORT through LEV_OPT_REUSABLE_PORT (b625361 Maciej Soltysiak)<br/><br/> Bugfixes (core)<br/>    o Fix use-after-free error in EV_CLOSURE_EVENT callback (3cc0eac John Ohl)<br/>    o Fix race caused by event_active (3c7d6fc vjpai)<br/><br/> Bugfixes (evbuffer)<br/>   o Fix evbuffer_peek() with len==-1 and start_at non-NULL. (ba59923)<br/>   o Consistently check for failure from evbuffer_pullup() (60f8f72)<br/>   o Fix evbuffer_peek() with len==-1 and start_at non-NULL. (fb7e76a)<br/><br/> Bugfixes (windows, IOCP)<br/>   o be async: avoid double close() (f133b86 Azat Khuzhin)<br/><br/> Bugfixes (bufferevents)<br/>   o Fix issue #127, double free for filterevents that use BEV_OPT_CLOSE_ON_FREE (2c82aa0 John Ohl)<br/>   o make bufferevent_getwatermark api more robust (a21e510 ufo2243)<br/>   o [Bugfix] fix bufferevent setwatermark suspend_read (b34e4ac ufo2243)<br/>   o bufferevent_openssl: reset fd_is_set when setfd with -1 is called (3da84c2 Azat Khuzhin)<br/>   o Fix compilation for older OpenSSL versions. (5c7282f Joakim Soderberg)<br/><br/> New APIs (evhttp)<br/>   o Add evhttp_connection_set_family() to set addrinfo-&gt;family for DNS requests (12c29b0 Azat Khuzhin)<br/>   o Implement interface that provides the ability to have an outbound evhttp_connection free itself once all requests have completed (2b9ec4c,10fe4f John Ohl)<br/><br/> New APIs (core)<br/>   o Implement new/free for struct evutil_monotonic_timer and export monotonic time functions (f2645f8 Andrea Shepard)<br/><br/> Bugfixes (evdns)<br/>   o Load hosts file on Windows. (a0b247c Vilmos Nebehaj)<br/>   o Don't truncate hosts file path on Windows. (d0dc861 Vilmos Nebehaj)<br/>   o Fix a crash in evdns related to shutting down evdns (9f39c88,e8fe749)<br/>   o evdns: avoid read-after-free in evdns_request_timeout_callback() (61262a0 Azat Khuzhin)<br/>   o Correctly handle allocation failures in evdns_getaddrinfo (6a53d15)<br/>   o evdns: fix EVDNS_BASE_DISABLE_WHEN_INACTIVE in case retransmit/retry (74d0eee Azat Khuzhin)<br/>   o evdns: add retry/reissue tests for EVDNS_BASE_DISABLE_WHEN_INACTIVE (3ca9d43 Azat Khuzhin)<br/>   o evdns: fail ns after we are failing/retrasmitting request (97c750d Azat Khuzhin)<br/><br/> Bugfixes (evhttp)<br/>   o http: reset connection before installing retry timer (fix http retries handling) (bc79cc5 Azat Khuzhin)<br/><br/><br/> Testing<br/>   o regress_dns: fix leaks in getaddrinfo_async{,_cancel_stress} tests (2fdc5f2 Azat Khuzhin)<br/>   o test: add family argument for http_connection_test_() (177b8a7 Azat Khuzhin)<br/>   o test: add regress for evhttp_connection_set_family() with AF_INET and AF_UNSPEC (42aefeb Azat Khuzhin)<br/>   o test/http: add regress test for set family to AF_INET6 (3fbf3cc Azat Khuzhin)<br/>   o Update to a more recent tinytest_macros. (8da5a18)<br/>   o test/regress: add simplestsignal: to track reorder bugs separately (b897bef Azat Khuzhin)<br/>   o test/evbuffer_peek: add regress in case we have first buffer greater (e2d139d Azat Khuzhin)<br/>   o More evbuffer_peek() test cases (154006a)<br/>   o use correct tt macro for pointer compare (08c88ea)<br/>   o regress_buffer: fix 'memcmp' compare size (79800df Maks Naumov)<br/>   o Fix a use-after-free in unit tests. CID 752027 (3739057)<br/>   o Fix a dead-code warning in unit tests. CID 1193548 (c119f24)<br/>   o Use evutil_weakrand() in unit tests. (a677b72, 364c110)<br/>   o Use a more precise calculation for max in time-ratelim.c (ca5b5c7)<br/>   o Make a buffer larger in the tests to avoid a scary evbuffer_copyout_from() (fb57b8b)<br/>   o Fix several memory leaks in the unit tests. (89c1a3b)<br/>   o Add test for evhttp_connection_free_on_completion (b0e9924 John Ohl)<br/>   o Fix annoying heisenbug in test-time.c (cb73704)<br/><br/> Sample code<br/>   o Make http-server.c output into good html5 (6d72bdc)<br/>   o Use FindClose for handle from FindFirstFile in http-server.c (6466e88)<br/>   o https-client: add -retries argument, for connection retries (d9da844 Azat Khuzhin)<br/><br/> Bugfixes (build)<br/>   o Add missing headerfile for cmake (15d90cc Trond Norbye)<br/>   o ignore one more test binary (b6593aa Michael Richardson)<br/>   o ignore config.cache/test-driver files (c83f333 Mike Frysinger)<br/>   o add a --disable-samples configure flag (0c492b3 Mike Frysinger)<br/>   o Add a few files created by "make verify" to .gitignore. (1a8295a Pierre Phaneuf)<br/>   o updates in cmake build (27bd9fa Sergey Nikulov)<br/>   o Fix cmake error when the Module path has more than one entry. (befbd13 Acer Yang)<br/>   o Fix CMake shared library build (e69d910 Nobuaki Sukegawa)<br/>   o Fix warnings when compiling with clang 3.5 (f5b4765 John Ohl)<br/>   o Fix mixed declarations and code (forbidden by ISO C90) (8afbdbc Thomas Bernard)<br/><br/> Bugfixes (miscellaneous)<br/>   o tree.h: drop duplicated content of tree.h (6193187 Azat Khuzhin)<br/>   o evdns: disable probing with EVDNS_BASE_DISABLE_WHEN_INACTIVE (610410b,ad0493e,fea86a6,d83b337,5ca9e97 Azat Khuzhin)<br/>   o [Bugfix] fix grammer error (3a4d249 ufo2243)<br/>   o Change return type of evutil_load_windows_system_library_ to HMODULE (f691389)<br/>   o Fix a c90 warning (76643dd)<br/>   o Fix a typo in a doxygen comment. Reported by 亦得. (be1aeff)<br/>   o remove trailing comma from enum (b361b8a Jean-Philippe Ouellet)<br/><br/> Bugfixes (FreeBSD)<br/>   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)<br/><br/><br/><br/>Changes in version 2.1.4-alpha (21 Mar 2014)<br/><br/> Libevent 2.1.4-alpha adds a number of new miscellaneous APIs to make<br/> Libevent more useful, including support for early close detection with<br/> epoll via EPOLLRDHUP, triggering bufferevent callbacks, adding more<br/> evhttp callbacks, and more. There are also numerous bugfixes, including<br/> a number for finalize-related issues from 2.1.3-alpha; and an<br/> alternative (non-primary!) cmake-based build mechanism.<br/><br/> New APIs (core)<br/>   o Added event_base_get_num_events() (0fa107d Mobai Zhang)<br/>   o New event_base_active_by_fd API (865a142 Greg Hazel, 5c9da9a, 87fa2b0)<br/>   o Add event_base_active_by_signal by analogy (4865943)<br/>   o Add access to max event count stats (5173bef, efbd3dc, 26230a2<br/>     Andrew Sweeney)<br/>   o Implemented EV_CLOSED event for epoll backend<br/>     (EPOLLRDHUP). (b1b69ac Diego Giagio, 53d2793, 43ffcf6, dfe1e52<br/>     Marcin Juszkiewicz, ff26633 Joakim Soderberg, 3908a5e)<br/><br/> New APIs (evutil_secure_rng)<br/>   o Add evutil_secure_rng_set_urandom_device_file (2bbb5d7)<br/><br/> New APIs (bufferevents)<br/>   o Add function to fetch underlying ratelimit cfg (4b3d5af Mark Ellzey)<br/>   o Pass and return const for bufferevent_get_token_bucket_cfg (1c77fbb<br/>     Mark Ellzey)<br/>   o Add watermark introspection (4ce242b Ondřej Kuzník)<br/>   o Add an option to trigger bufferevent I/O callbacks (61ee18b Ondřej Kuzník)<br/>   o Add an option to trigger bufferevent event callbacks (a7384c7<br/>     Ondřej Kuzník)<br/>   o Clarifications in response to merge req. comments (bd41947 Ondřej<br/>     Kuzník)<br/>   o Minor optimizations on bufferevent_trigger options (a3172a4)<br/><br/> New APIs (evhttp)<br/>   o Add evhttp_connection_get_server(). (a7f82a3 Maxime Henrion)<br/>   o add a http default content type option (5a5acd9 Nicolas Martyanoff)<br/>   o http: implement new evhttp_connection_get_addr() api. (0c7f040 Azat<br/>     Khuzhin)<br/>   o Add a variant of evhttp_send_reply_chunk() with a callback on<br/>     evhttp_write_buffer() (8d8decf Julien BLACHE)<br/>   o Allow registering callback for parsing HTTP headers (b0bd7fe Balint Reczey)<br/>   o Provide on request complete callback facility (b083ca0 Andrew Sweeney)<br/>   o evhttp_request_set_on_complete_cb to be more specific about what<br/>     the function actually does and usage (da86dda Andrew Sweeney)<br/>   o Update unit test to make sure that the callback happens after the<br/>     output data is written (b85f398 Andrew Sweeney)<br/><br/> Features (evdns)<br/>   o bug fix for issues #293 evdns_base_load_hosts doesn't remove<br/>     outdated addresses (954d2f9, f03d353, 45eba6f Kuldeep Gupta)<br/><br/> Features: (cmake build support)<br/>   o Initial CMake commit. (e415196 Joakim Soderberg)<br/>   o Add all tests and benchmarks to CMake project. (e9fc014 Joakim Soderberg)<br/>   o More work on adding tests to CMake project (99c1dc3 Joakim Soderberg)<br/>   o Generate a dummy evconfig-private.h so things build<br/>     properly. (ce14def Joakim Soderberg)<br/>   o Link libm on unix platforms. (58fcd42 Joakim Soderberg)<br/>   o Added some GCC specific options. (19222e5 Joakim Soderberg)<br/>   o Use evutil_closesocket instead. (dbf2b51 Joakim Soderberg)<br/>   o Add copyright and licensing files for CMake modules. (c259d53<br/>     Joakim Soderberg)<br/>   o Only include WIN32 getopt where it is used. (9bbce0b Joakim Soderberg)<br/>   o Fix bench_cascade program on Windows. (78da644 Joakim Soderberg)<br/>   o Don't segfault on no found event backend. (8f2af50 Joakim Soderberg)<br/>   o Only test the event backends available on the system. (7ea4159<br/>     Joakim Soderberg)<br/>   o Added a "make verify" target. (e053c4f Joakim Soderberg)<br/>   o Fix the make "verify" target on Windows. (67e5d74 Joakim Soderberg)<br/>   o Get rid of deprecation warnings for OpenSSL on OSX 10.7+ (69c3516<br/>     Joakim Söderberg)<br/>   o Fix kqueue support. (a831f2f Joakim Söderberg)<br/>   o Added a test for testing if kqueue works with pipes. (2799b35<br/>     Joakim Söderberg)<br/>   o Change the BSD license from 4 to 3-clause. (86df3ed Joakim Soderberg)<br/>   o Minimum required python version is 2.4. (968e97b Joakim Soderberg)<br/>   o Get rid of unknown pragma warnings. (0ef1d04 Joakim Soderberg)<br/>   o Add a "make verify_coverage" target generation coverage<br/>     info. (f2483f8 Joakim Soderberg)<br/>   o Fix the "make verify" target on NetBSD (4ac086a Joakim Soderberg)<br/>   o Only look for ZLib when it is used (if tests are<br/>     included). (f780593 Joakim Soderberg)<br/>   o Added EVENT__ENABLE_GCC_WARNINGS, turns all warnings into<br/>     errors. (dd413bd Joakim Soderberg)<br/>   o Add CMake config and install targets. (f3446ed Joakim Soderberg)<br/>   o Fix typo (4b754df Joakim Soderberg)<br/>   o Some work on making it possible to simply do add_subdirectory() on<br/>     the project. (49ab363 Joakim Soderberg)<br/>   o Set USE_DEBUG=1 on EVENT__ENABLE_VERBOSE_DEBUG (fd42e70 Joakim Soderberg)<br/>   o Fix so that old nmake project still builds. (24d6466 Joakim<br/>     Soderberg)<br/>   o Rename README to README.md and use markdown to format. (d2bc39a<br/>     Joakim Soderberg)<br/>   o Update README with CMake build instructions. (604b8cc Joakim Soderberg)<br/>   o Clean up the README some. (8d4cb35 JoakimSoderberg)<br/>   o Forgotten headers for old nmake project compatability. (8697b99<br/>     Joakim Soderberg)<br/>   o Change all uses of WIN32 to _WIN32 (4e14395 Joakim Söderberg)<br/>   o Fix include bug. (2024467 Joakim Söderberg)<br/>   o Check if we're on OSX before disabling deprecation in le-proxy<br/>     (8b40a5b Joakim Söderberg)<br/>   o Fix broken autotools build. (ae1bd82 Joakim Söderberg)<br/>   o Disclaimerize cmake a little in the README (d03b5bf)<br/>   o Fix CMake compile when OpenSSL is disabled. (e423d42 Joakim<br/>     Söderberg)<br/>   o CMake: Get rid of python not found warning when regress tests<br/>     turned off. (d38d798 Joakim Söderberg)<br/>   o Fix https-client compilation on Windows. (d7be788 Joakim Soderberg)<br/>   o Guard against EVENT_NOWIN32 being set during testing. (f1715b4<br/>     Joakim Soderberg)<br/>   o Check for OSX when checking for clang. (e212c54 Joakim Soderberg)<br/>   o Added a Travis-CI configuration file. (8c0f0a9 Joakim Soderberg)<br/>   o Added -Qunused-arguments for clang on macosx (ed99d92 Trond Norbye)<br/>   o Rename event_extras to event_extra (a0dd5df Trond Norbye)<br/>   o Add option to build shared library (4545fa9 Trond Norbye)<br/>   o Add -Qunused-arguments for clang on macos (b56611d Trond Norbye)<br/>   o Add cmake-related files to .gitignore (e061321 Trond Norbye)<br/>   o Export event_extra not event_extras. (2b41bcf Joakim Söderberg)<br/><br/> Bugfixes (core)<br/>   o If evsel-&gt;del() fails, don't leave the evmap in an inconsistent<br/>     state (9b5a527 Maxime Henrion)<br/>   o Move event_debug_note_teardown_ before mm_free. (69b5c64)<br/>   o Check CLOCK_MONOTONIC_* at runtime if needed. (911abf3)<br/>   o Fix reinit of fds with EV_WRITE but not EV_READ. (ebfd8a8 maksqwe)<br/>   o Tweaked callbacks to prevent race condition<br/>     (https://github.com/libevent/libevent/issues/104) (40830f1, 2ea15ed<br/>     John Ohl)<br/>   o Move assert(ev) to before we use ev in EV_CLOSURE_EVENT_FINALIZE<br/>     case (9805972)<br/><br/> Bugfixes (evhttp)<br/>   o Fix a double close() bug in evhttp when the underlying bufferevent uses<br/>     BEV_OPT_CLOSE_ON_FREE. (31db8a0 Maxime Henrion)<br/>   o Fix an unlikely but possible error case for http connections (f22049e)<br/>   o Avoid racy bufferevent activation (5eb1788 Nate Rosenblum)<br/><br/> Bugfixes on 2.0 (Windows)<br/>   o Use windows vsnprintf fixup logic on all windows environments (e826f19)<br/>   o libevent/win32_dealloc() : fix sizeof(pointer) vs sizeof(*pointer)<br/>    (b8f5980 Frank Denis)<br/><br/> Bugfixes (evutil_secure_rng)<br/>   o When we seed from /proc/sys/kernel/random/uuid, count it as success<br/>     (e35b540)<br/>   o We should return after arc4random_buf() (1ea1f26 Makoto Kato)<br/>   o Avoid other RNG initialization FS reads when urandom file is<br/>     specified (9695e9c)<br/>   o Really remove RNG seeds from the stack (f5ced88)<br/>   o Fix another arc4random_buf-related warning (e64a2b0)<br/><br/> Bugfixes (bufferevents)<br/>   o Initialize async bufferevent timeout CBs unconditionally (af9b2a7)<br/><br/> Bugfixes (evdns)<br/>   o Checking request nameserver for NULL, before using it. (5c710c0<br/>     Belobrov Andrey)<br/>   o Fix SEGFAULT after evdns_base_resume if no nameservers<br/>     installed. (14971a8 Azat Khuzhin)<br/>   o Actually use the log facility for reporting evdns problems. (e1766a1)<br/>   o Fix SEGFAULT after evdns_base_resume if no nameservers<br/>     installed. (f8d7df8 Azat Khuzhin)<br/>   o fix for ServFail from RIPE Atlas release (62f596b Antony Antony)<br/><br/> Bugfixes (compilation)<br/>   o Fix test compilation with nmake: add the gdi.lib dependency (5ba8ab7)<br/>   o Whoops. It is gdi.lib, not gdi32.lib. (github issue #61) (8ab612e)<br/>   o Don't use return since return type is void and build error occurs<br/>     using clang (838161d Makoto Kato)<br/>   o Use void casts to suppress some "unchecked return value" warns (7080d55)<br/>   o rpcgen: Generate regress.gen.[c,h] in build rather than src dir<br/>     (243386c Ross Lagerwall)<br/>   o Fix a compiler warning when checking for arc4random_buf linker<br/>     breakage. (5cb3865)<br/>   o Fix 'make distcheck' by adding regress.gen.[ch] to DISTCLEANFILES<br/>    (239d834)<br/><br/>   o Fix a c90 warning (c207682)<br/>   o Fix consts in WIN32-Code/getopt*.[ch] (57abb35)<br/><br/> Bugfixes (locks, synchronization)<br/>   o Missed lock acquire/release in event_base_cancel_single_callback_()<br/>     (d3d999a Azat Khuzhin)<br/>   o Fix locking in bufferevent_get_options_(). (dbc9cd4 Maxime Henrion)<br/><br/> Bugfixes (leaks)<br/>   o Avoid leaking segment mappings when offset is not a page multiple (d409514)<br/><br/> Testing<br/>   o Add tests for evdns_base_resume(). (1cd9ff5 Azat Khuzhin)<br/>   o Fix dns/leak_resume_send_err test. (7e876df Azat Khuzhin)<br/>   o Add checks for evhttp_connection_get_server() in unit<br/>     tests. (fbc323b Maxime Henrion)<br/>   o Fix a (failure-only) null dereference in the unit tests (1104d0b)<br/>   o Fix a logic error in test_evbuffer_freeze (7765884)<br/>   o Add missing check to test_evbuffer_file_segment_add_cleanup_cb (eba4506)<br/>   o Fix some crash-on-fail cases in DNS regression tests (87cd6f0)<br/>   o DNS tests: add a missing check (f314900)<br/>   o Finalize tests: add a missing check (82b6956)<br/>   o test_evutil_rtrim: add another missing check. (e193c95)<br/>   o regress_main: logging all if env EVENT_DEBUG_LOGGING_ALL isset<br/>     (611e28b Azat Khuzhin)<br/>   o regress_http: add tests for evhttp_connection_get_addr() (4dd500c<br/>     Azat Khuzhin)<br/>   o Update to the latest version of tinytest (7a80476)<br/>   o Heap-allocate zlib data structure in regress_zlib tests (4947c18)<br/><br/> Performance tweaks (core)<br/>   o Avoid redundant syscall to make a nonblocking socket nonblocking<br/>     (42c03da Maxime Henrion)<br/>   o Avoid redundant syscall if making a socket cloexec twice (1f29b18)<br/>   o Avoid redundant invocations of init_extension_functions for IOCP (3b77d62)<br/><br/> Documentation<br/>   o Document that arc4random is not a great cryptographic PRNG. (6e49696)<br/>   o Small doxygen tweaks (6e67b51)<br/>   o Try another doxygen tweak (ccf432b)<br/>   o Clarify event_base_loop exit conditions (031a803)<br/>   o Fix a typo (be7bf2c Ondřej Kuzník)<br/>   o Document deferred eventcb behaviour (13a9a02 Ondřej Kuzník)<br/>   o Typo fixes from Linus Nordberg (cec62cb, 8cd695b)<br/>   o Fix duplicate paragraph in evbuffer_ptr documentation (58408ee)<br/><br/> Code Improvements (coverity)<br/>   o Fix a pile of coverity warnings in the unit tests (867f401)<br/>   o Fix coverity warnings in benchmark tools. (ff7f739)<br/>   o Whoops; fix compilation in bench.c (544cf88)<br/>   o Remove spurious checks in evrpc.c error cases (coverity) (991b362)<br/>   o Fix a couple of compilation warnings in regress_http.c (860767e)<br/>   o Fix even more coverity warnings. (d240328)<br/>   o Stop checking for inet_aton; we don't use it. (f665d5c)<br/>   o Add an include to evrpc-internal to fix openbsd compilation warning<br/>     (5e161c6)<br/><br/> Cleanups<br/>   o Remove an unreachable return statement in minheap-internal.h (e639a9e)<br/>   o Refactor evmap_{io,signal}_active_() to tolerate bad inputs (974c60e)<br/>   o Fix needless bufferevent includes in evdns.c (254c04e)<br/>   o Fix a couple of "#ifdef WIN32" instances (88ecda3)<br/>   o Remove unneeded declaration in bufferevent-internal.h (4c8ebcd)<br/><br/> Sample code<br/>   o le-proxy: Fail more gracefully if opening listener fails (44b2491)<br/>   o http-server: drop uri_root from base_url in http-server. (6171e1c Azat Khuzhin)<br/>   o https-client: POST supported, args supported (c5887f7 Alexey Ozeritsky)<br/>   o https-client: code cleanup (29af65e Alexey Ozeritsky)<br/>   o https-client: Small tweaks to https-client.c (90786eb)<br/>   o https-client: Set hostname for SNI extension (by f69m) (d1976f8)<br/>   o https-client: add a cast to https-client.c (462e6b6)<br/><br/><br/><br/>Changes in version 2.1.3-alpha (1 May 2013)<br/><br/> Libevent 2.1.3-alpha fixes various bugs, adds new unit tests, and cleans<br/> up the code in a couple of places. It has a new callback in evhttp for<br/> reporting errors during a request, a new feature for allowing evdns to<br/> not keep the event_base looping when there are no requests inflight, and<br/> example code for writing an https client.<br/><br/> Libevent 2.1.3-alpha also has an important new (experimental) event<br/> finalization feature to allow safe event teardown in multithreaded<br/> programs. This ought to fix the longstanding bug with deadlocks in<br/> multithreaded use of SSL-based bufferevents that some people have been<br/> experiencing since Libevent 2.0.<br/><br/><br/> Core (event finalization)<br/>   o Implement event_finalize() and related functions to avoid certain<br/>     deadlocks (8eedeab)<br/>   o Use finalization feature so bufferevents can avoid deadlocks (02fbf68)<br/>   o Always run pending finalizers when event_base_free() is called (e9ebef8)<br/>   o Remove bufferevent_del_generic_timeout_cbs as now unused (4ea4c6a)<br/>   o More documentation for finalization feature (a800b91)<br/>   o Make the event_finalize* functions return an error code (5d11f4f)<br/>   o Mark the finalize stuff as experiemental in case it needs to<br/>     change (23e2e29)<br/><br/> Evdns<br/>   o evdns: New flag to make evdns not prevent the event loop from<br/>     exiting (6b7fa62 Azat Khuzhin)<br/><br/> Bugfixes (Core)<br/>   o Make event_remove_timer behave correctly with persistent timers (5623e80)<br/>   o Unit test for event_remove_timer with EV_PERSIST. (96150dd)<br/>   o Double-check next timeout when adding events (9443868 Nate Rosenblum)<br/>   o event_base_update_cache_time should be a no-op if the loop isn't<br/>     running (5e6fa2a)<br/><br/> Bugfixes (evhttp, crash fix, from 2.0)<br/>   o fix #73 and fix http_connection_fail_test to catch it (b618204 Greg Hazel)<br/><br/> Bugfixes (compilation and portability, from 2.0)<br/>   o Fix compilation with WIN32_HAVE_CONDITION_VARIABLES enabled (7e45739)<br/>   o Fix missing AC_PROG_SED on older Autoconfs (9ab2b3f Tay Ray Chuan)<br/>   o Backport libevent to vanilla Autoconf 2.59 (as used in RHEL5)<br/>     (74d4c44 Kevin Bowling)<br/>   o Use AC_CONFIG_HEADERS in place of AM_CONFIG_HEADERS for autmake<br/>     1.13 compat (817ea36)<br/>   o Rename configure.in to configure.ac to appease newer autoconfs (0c79787)<br/>   o Avoid using top_srcdir in TESTS: new automakes do not like this (a55514e)<br/><br/> Bugfixes (resource leaks/lock errors on error, from 2.0)<br/>   o Avoid leaking fds on evconnlistener with no callback set (69db261)<br/>   o Avoid double-close on getsockname error in evutil_ersatz_socketpair<br/>     (0a822a6)<br/>   o Fix a locking error in bufferevent_socket_get_dns_error. (0a5eb2e)<br/><br/> Documentation Fixes (from 2.0)<br/>   o Fix a mistake in evbuffer_remove() arguments in example http server code<br/>     (c322c20 Gyepi Sam)<br/>   o Fix a typo in a comment in buffer.h. Spotted by Alt_F4 (773b0a5)<br/><br/> Documentation Fixes<br/>   o minor documentation typos (809586a Patrick Pelletier)<br/>   o Fix cut-and-paste err in whatsnew-2.1 (49905ac)<br/>   o Fix comment to refer to sample/include.am correctly (9e8cdf3 Sebastian<br/>     Hahn)<br/>   o Fix typo : Dispatching instead of Dispaching (0c2bacc Volker Lendecke)<br/>   o fix some hinky indentation in evhttp_make_request (80e220e Patrick<br/>     Pelletier)<br/>   o "buffer" spelling (a452811 Patrick Pelletier)<br/>   o Specify return behavior in header for evbuffer_pullup() in corner case<br/>     (cf8d1cd Dan Petro)<br/>   o Clarify an important point about event_base_foreach_event() (920a5e6)<br/><br/> Compilation Fixes/Tool Support<br/>   o avoid valgrind false positive by zeroing epoll_event (1258614 Patrick<br/>     Pelletier)<br/>   o Fix harmless clang enum warning (b452a43 Sebastian Hahn)<br/>   o remove all exes on "make clean", not just regress.exe (974bfa0 Patrick<br/>     Pelletier)<br/>   o Make --disable-libevent-regress work again (787fd74)<br/>   o Do not build strlcpy.c when it will have no code. (4914620)<br/><br/> Portability Fixes<br/>   o When EWOULDBLOCK is not EAGAIN, treat it as equivalent to it (bf7a0ff)<br/>   o Preliminary changes for Minix3. (0dda56a Nicholas Heath)<br/>   o Use AC_CONFIG_HEADERS in place of AM_CONFIG_HEADERS for autmake 1.13<br/>     compat (bf278b)<br/>   o Avoid using $(top_srcdir) in TESTS. (2863c83)<br/>   o build test/test-script.sh on systems with a less-featureful $&lt; (f935e21)<br/>   o Implement EVUTIL_ERR_IS_EAGAIN on windows. (42aaf4d)<br/><br/> Evhttp changes:<br/>   o Fix ipv6 support for http. When URL contain domain, not IP<br/>     address. (71e709c Azat Khuzhin)<br/>   o uri decode: fix for warning "use of uninitialised value" (64b6ece Azat<br/>     Khuzhin)<br/>   o uri decode: changed the test for the existence of the next character<br/>     (e1903e3 Azat Khuzhin)<br/>   o Move prototype of evhttp_decode_uri_internal() to http-internal.h<br/>     (de8101a Azat Khuzhin)<br/>   o Test: decoding just part of string with evhttp_decode_uri_internal()<br/>     (1367653 Azat Khuzhin)<br/>   o Add new error_cb for actual reporting of HTTP request errors. (7b07719<br/>     Azat Khuzhin)<br/>   o Add test for EVREQ_HTTP_REQUEST_CANCEL into http_cancel_test() (862c217<br/>     Azat Khuzhin)<br/>   o Drop extra header http_struct.h from regress_http.c (54cc800 Azat Khuzhin)<br/><br/> Testing<br/>   o Add regress test ipv6_for_domain. (9ec88bd Azat Khuzhin)<br/>   o Add an environment variable (EVENT_DEBUG_MODE) to run unit tests in debug<br/>     mode (2fad0f3)<br/>   o Add a test with an active_later event at event_base_free time. (1c3147f)<br/>   o Make all tests pass under EVENT_DEBUG_MODE=1 (b1b054f)<br/>   o Add some verbose notes to bufferevent unit tests (9d893c9)<br/>   o New test for active_later-&gt;active transition on event_active (a153874)<br/>   o New tests for event_base_foreach_event() (0b096ef)<br/>   o Unit tests for event_base_gettimeofday_cached() and<br/>     event_base_update_cache_time() (30ea291)<br/>   o A test for event_get_assignment() (f09629e)<br/>   o More unit tests for initializing common timeouts. (d596739)<br/>   o Fix a bug in the new main/event_foreach test (702c9aa)<br/><br/> Windows:<br/>   o use FormatMessage for winsock errors (0c6ec5d, 2078e9b, 4ccdd53, c9ad3af<br/>     Patrick Pelletier)<br/>   o a program to print out the error strings for winsock errors (7296512<br/>     Patrick Pelletier)<br/>   o Fix a warning introduced in 0c6ec5d8 (eeb700c)<br/>   o Fix another warning introduced in 0c6ec5d8 (ed26561)<br/><br/> Examples (http)<br/>   o Add sample/https-client.c, an example of stacking evhttp as a client on<br/>     top of bufferevent_ssl. (be46c99 Catalin Patulea)<br/>   o use ${OPENSSL_LIBS} instead of -lssl -lcrypto (bf31fa5 Patrick Pelletier)<br/>   o https-client was putting newlines at 256-byte boundaries (42d7441 Patrick<br/>     Pelletier)<br/>   o better handling of OpenSSL errors (5754d96 Patrick Pelletier)<br/>   o use Debian's default root certificate location (aacd674 Patrick Pelletier)<br/>   o use iSECPartners code to validate hostname in certificate (64d9f16<br/>     Patrick Pelletier)<br/>   o avoid sign mismatch warning in openssl_hostname_validation.c (6021cb5<br/>     Patrick Pelletier)<br/>   o pull in wildcard matching code from cURL (4db9da6 Patrick Pelletier)<br/>   o Another tweak to https-client.c (95acdaa)<br/>   o Remove http_struct.h usage in sample/https-client.c (8a90a85)<br/><br/><br/><br/>Changes in version 2.1.2-alpha (18 Nov 2012)<br/><br/> Libevent 2.1.2-alpha includes more portable for monotonic timers,<br/> refactors much of Libevent's internal and external infrastructure,<br/> closes some longstanding gaps in the interface, makde other<br/> improvements.  Ths log below tries to organize features by rough area of<br/> effect.  It omits a few commits which were pure bugfixes on other commits<br/> listed below.  For more detail, see the git changelogs.  For more<br/> insight, see the "whatsnew-2.1.txt" document included in the Libevent<br/> 2.1.2-alpha distribution.<br/><br/> Libevent 2.1.2-alpha also includes all changes made in 2.0.19-stable<br/> through 2.0.21-stable inclusive.<br/><br/> Performance (core):<br/>   o Replace pipe-based notification with EVFILT_USER where possible. This<br/>     should make multithreaded programs on OSX and *BSD alert the main thread a<br/>     little faster. (53a07fe)<br/>   o Make th_base_lock nonrecursive. (9cd5acb)<br/><br/> New/Changed API Functions:<br/>   o New event_get_priority() function to return an event's priority (f90e255)<br/>   o Add a bufferevent_get_priority() function (bd39554)<br/>   o Add an event_base_loopcontinue() to tell Libevent to rescan for more<br/>     events right away (7d6aa5e)<br/>   o Add a new callback to get called on evbuffer_file_segment free<br/>     (e9f8feb yangacer, 64051b9)<br/>   o Expose event_base_foreach_event() as a public API. (84fd6d7 Roman<br/>      Puls, 232055e, ffe1643)<br/>   o Add an event_remove_timer() to remove timer on an event without<br/>     deleting it (e3b2e08)<br/>   o Make bufferevent_set_timeouts(bev, NULL, NULL) have plausible<br/>     semantics (9dee36b)<br/>   o Rename event_enable_lock_debuging() to ..._debugging(). (The old name<br/>     should still work.) (07e132e)<br/>   o Add missing implementation for event_enable_debug_logging (3b3e21d)<br/><br/> PORTABLE MONOTONIC TIMERS:<br/><br/>   Libevent 2.1.2 includes internal support for monotonic timers on<br/>   (nearly) all supported platforms, including Windows, and OSX.  Libevent<br/>   applications should now be more resilient to jumps forwards or backwards<br/>   in the system clock.  Also, on Linux systems with epoll, we now<br/>   optionally support microsecond-level timeouts (whereas epoll only<br/>   supports millisecond-precision timeouts).<br/><br/>   o Use mach_absolute_time() for monotonic clock support on OSX. (b8fd6f9)<br/>   o Do not track use_monotonic field when is no monotonic clock (cb653a0)<br/>   o EVENT_BASE_FLAG_PRECISE_TIMER indicates we want fine timer precision<br/>     (ddd69d3)<br/>   o On Linux, use CLOCK_MONOTONIC_COARSE by default (55780a7)<br/>   o Implement a GetTickCount-based monotonic timer for Windows (d5e1d5a)<br/>   o Refactor monotonic timer handling into a new type and set of<br/>     functions; add a gettimeofday-based ratcheting implementation (f5e4eb0)<br/>   o Add EVENT_PRECISE_TIMER environment var for selecting precise-but-slow<br/>     timer (a2598ec)<br/>   o Implement fast/precise monotonic clocks on Windows (2c47045)<br/>   o Simple unit tests for monotonic timers (630f077)<br/>   o Improve the monotonic-time unit test: make it check the step size (7428c78)<br/>   o When PRECISE_TIMERS is set with epoll, use timerfd for microsecond<br/>     precision (26c7582)<br/>   o Split out time-related evutil functions into a new evutil_time.c (c419485)<br/>   o Split out time-related prototypes into time-internal.h (71bca50)<br/>   o Add evutil_time.obj to Makefile.nmake (0ba0683)<br/>   o Avoid giving a spurious warning when timerfd support is unavailable<br/>     (1aaf9f0 Dave Hart)<br/>   o Make test_evutil_monotonic a little more tolerant (def3b83)<br/>   o Avoid unused-var warning on systems with clock_gettime but without<br/>     CLOCK_MONOTONIC_COARSE (9be5468)<br/><br/>EVENT_BASE_ONCE LEAKS:<br/>   If a callback added by event_base_once() is never invoked, Libevent no<br/>   longer leaks internal memory.<br/><br/>   o Free dangling event_once objects on event_base_free() (c17dd59)<br/>   o Add a unit test in which an event is created with event_base_once()<br/>     but never fires (4343edf)<br/><br/>TESTING SUPPORT, FIXES AND IMPROVEMENTS:<br/><br/>   Libevent now disables by default its unit tests that would touch the<br/>   network, or that tend to fail on heavily-loaded systems.  To re-enable<br/>   them, invoke the ./test/regress program with the @all alias.<br/><br/>   o Simplify test.sh code significantly. (9b856fd Ross Lagerwall)<br/>   o Make all tests that hit the network disabled by default (f2cea87)<br/>   o Avoid a resource leak on error in http client benchmark (ea92fba)<br/>   o Update to latest tinytest (911b4f0349377) (ef7c4f7)<br/>   o Avoid (unlikely) overflow in bench_httpclient.c (5671033)<br/>   o Shave 700 msec off the persistent_timeout_jump test (21205b8)<br/>   o Check return value of write() in regress.c (c8009d2)<br/>   o Make load-dependent monotonic timer tests off-by-default (2b6fe8b)<br/>   o Add deferred_cb_skew to list of timing-dependent tests (34c8f31)<br/>   o Avoid test -e; older shs don't have one. (f1bd938)<br/>   o Fix renegotiation test to work around openssl 1.0.1 bug (c2f3086)<br/>   o Fix a couple of compile warnings in the unit tests (5a9a014)<br/><br/>MISC:<br/>   o Change evutil_weakrand_() to avoid platform random() (e86af4b Nicholas<br/>     Marriott, 3aa4415)<br/><br/>INFRASTRUCTURE (Active-later events):<br/>   As a simplification and optimization to Libevent's "deferred callback"<br/>   logic (introduced in 2.0 to avoid callback recursion), Libevent now<br/>   treats all of its deferrable callback types using the same logic it uses<br/>   for active events.  Now deferred events no longer cause priority<br/>   inversion, no longer require special code to cancel them, and so on.<br/><br/>   o Refactor the callback part of an event into its own event_callback<br/>     type (cba59e5)<br/>   o Add "active later" event_callbacks to supersede deferred (745a63d)<br/>   o event_base_assert_ok: check value of event_active_count for<br/>     correctness (fec8bae)<br/>   o Replace deferred_cbs with event_callback-based implementation. (ae2b84b)<br/>   o Replace more deferred_cb names with event_callback (a4079aa)<br/>   o Give event_base_process_active a single exit path (581b5be)<br/>   o Restore our priority-inversion-prevention code with deferreds (c0e425a)<br/>   o Refactor event_persist_closure: raise and extract some common logic<br/>     (bec22b4)<br/>   o Remove the unused bits from EVLIST_ALL (9889a3d)<br/>||||||| merged common ancestors</title>
    <description>/src/external/bsd/libevent/dist/bufferevent_async.c - 1.1.1.2</description>
    <pubDate>Tue Jan 31 21:14:52 UTC 2017</pubDate>
    <dc:creator>christos</dc:creator>
</item>

<item>
    <title>branches:  1.1.1.1.4;  1.1.1.1.10;  1.1.1.1.16;  1.1.1.1.20;<br/>import libevent 2.x</title>
    <description>/src/external/bsd/libevent/dist/bufferevent_async.c - 1.1.1.1</description>
    <pubDate>Thu Apr 11 16:43:28 UTC 2013</pubDate>
    <dc:creator>christos</dc:creator>
</item>

<item>
    <title>Sync with HEAD</title>
    <description>/src/external/bsd/libevent/dist/bufferevent_async.c - 1.1.1.1.20.1</description>
    <pubDate>Fri Apr 21 16:51:31 UTC 2017</pubDate>
    <dc:creator>bouyer</dc:creator>
</item>

<item>
    <title>Sync with HEAD</title>
    <description>/src/external/bsd/libevent/dist/bufferevent_async.c - 1.1.1.1.16.1</description>
    <pubDate>Mon Mar 20 06:52:21 UTC 2017</pubDate>
    <dc:creator>pgoyette</dc:creator>
</item>

<item>
    <title>sync with head.<br/><br/>for a reference, the tree before this commit was tagged<br/>as yamt-pagecache-tag8.<br/><br/>this commit was splitted into small chunks to avoid<br/>a limitation of cvs.  ("Protocol error: too many arguments")</title>
    <description>/src/external/bsd/libevent/dist/bufferevent_async.c - 1.1.1.1.10.2</description>
    <pubDate>Thu May 22 15:48:09 UTC 2014</pubDate>
    <dc:creator>yamt</dc:creator>
</item>

<item>
    <title>file bufferevent_async.c was added on branch yamt-pagecache on 2014-05-22 15:48:09 +0000</title>
    <description>/src/external/bsd/libevent/dist/bufferevent_async.c - 1.1.1.1.10.1</description>
    <pubDate>Thu Apr 11 16:43:28 UTC 2013</pubDate>
    <dc:creator>yamt</dc:creator>
</item>

<item>
    <title>resync from head</title>
    <description>/src/external/bsd/libevent/dist/bufferevent_async.c - 1.1.1.1.4.2</description>
    <pubDate>Sun Jun 23 06:28:17 UTC 2013</pubDate>
    <dc:creator>tls</dc:creator>
</item>

<item>
    <title>file bufferevent_async.c was added on branch tls-maxphys on 2013-06-23 06:28:17 +0000</title>
    <description>/src/external/bsd/libevent/dist/bufferevent_async.c - 1.1.1.1.4.1</description>
    <pubDate>Thu Apr 11 16:43:28 UTC 2013</pubDate>
    <dc:creator>tls</dc:creator>
</item>
</channel></rss>

