Changelog for libevent 2.1.5

Changelog for libevent 2.1.5

Tracker / libevent / changelog

Changes in version 2.1.5-beta (5 January 2015)

 Security Fixes (evbuffers)
   o Avoid integer overflow bugs in evbuffer_add() and related functions.  See CVE-2014-6272 advisory for more information. (d49bc0e88b81a5812116074dc007f1db0ca1eecd)

 New APIs (evconnlistener)
   o Provide support for SO_REUSEPORT through LEV_OPT_REUSABLE_PORT (b625361 Maciej Soltysiak)

 Bugfixes (core)
    o Fix use-after-free error in EV_CLOSURE_EVENT callback (3cc0eac John Ohl)
    o Fix race caused by event_active (3c7d6fc vjpai)

 Bugfixes (evbuffer)
   o Fix evbuffer_peek() with len==-1 and start_at non-NULL. (ba59923)
   o Consistently check for failure from evbuffer_pullup() (60f8f72)
   o Fix evbuffer_peek() with len==-1 and start_at non-NULL. (fb7e76a)

 Bugfixes (windows, IOCP)
   o be async: avoid double close() (f133b86 Azat Khuzhin)

 Bugfixes (bufferevents)
   o Fix issue #127, double free for filterevents that use BEV_OPT_CLOSE_ON_FREE (2c82aa0 John Ohl)
   o make bufferevent_getwatermark api more robust (a21e510 ufo2243)
   o [Bugfix] fix bufferevent setwatermark suspend_read (b34e4ac ufo2243)
   o bufferevent_openssl: reset fd_is_set when setfd with -1 is called (3da84c2 Azat Khuzhin)
   o Fix compilation for older OpenSSL versions. (5c7282f Joakim Soderberg)

 New APIs (evhttp)
   o Add evhttp_connection_set_family() to set addrinfo->family for DNS requests (12c29b0 Azat Khuzhin)
   o Implement interface that provides the ability to have an outbound evhttp_connection free itself once all requests have completed (2b9ec4c,10fe4f John Ohl)

 New APIs (core)
   o Implement new/free for struct evutil_monotonic_timer and export monotonic time functions (f2645f8 Andrea Shepard)

 Bugfixes (evdns)
   o Load hosts file on Windows. (a0b247c Vilmos Nebehaj)
   o Don't truncate hosts file path on Windows. (d0dc861 Vilmos Nebehaj)
   o Fix a crash in evdns related to shutting down evdns (9f39c88,e8fe749)
   o evdns: avoid read-after-free in evdns_request_timeout_callback() (61262a0 Azat Khuzhin)
   o Correctly handle allocation failures in evdns_getaddrinfo (6a53d15)
   o evdns: fix EVDNS_BASE_DISABLE_WHEN_INACTIVE in case retransmit/retry (74d0eee Azat Khuzhin)
   o evdns: add retry/reissue tests for EVDNS_BASE_DISABLE_WHEN_INACTIVE (3ca9d43 Azat Khuzhin)
   o evdns: fail ns after we are failing/retrasmitting request (97c750d Azat Khuzhin)

 Bugfixes (evhttp)
   o http: reset connection before installing retry timer (fix http retries handling) (bc79cc5 Azat Khuzhin)


 Testing
   o regress_dns: fix leaks in getaddrinfo_async{,_cancel_stress} tests (2fdc5f2 Azat Khuzhin)
   o test: add family argument for http_connection_test_() (177b8a7 Azat Khuzhin)
   o test: add regress for evhttp_connection_set_family() with AF_INET and AF_UNSPEC (42aefeb Azat Khuzhin)
   o test/http: add regress test for set family to AF_INET6 (3fbf3cc Azat Khuzhin)
   o Update to a more recent tinytest_macros. (8da5a18)
   o test/regress: add simplestsignal: to track reorder bugs separately (b897bef Azat Khuzhin)
   o test/evbuffer_peek: add regress in case we have first buffer greater (e2d139d Azat Khuzhin)
   o More evbuffer_peek() test cases (154006a)
   o use correct tt macro for pointer compare (08c88ea)
   o regress_buffer: fix 'memcmp' compare size (79800df Maks Naumov)
   o Fix a use-after-free in unit tests. CID 752027 (3739057)
   o Fix a dead-code warning in unit tests. CID 1193548 (c119f24)
   o Use evutil_weakrand() in unit tests. (a677b72, 364c110)
   o Use a more precise calculation for max in time-ratelim.c (ca5b5c7)
   o Make a buffer larger in the tests to avoid a scary evbuffer_copyout_from() (fb57b8b)
   o Fix several memory leaks in the unit tests. (89c1a3b)
   o Add test for evhttp_connection_free_on_completion (b0e9924 John Ohl)
   o Fix annoying heisenbug in test-time.c (cb73704)

 Sample code
   o Make http-server.c output into good html5 (6d72bdc)
   o Use FindClose for handle from FindFirstFile in http-server.c (6466e88)
   o https-client: add -retries argument, for connection retries (d9da844 Azat Khuzhin)

 Bugfixes (build)
   o Add missing headerfile for cmake (15d90cc Trond Norbye)
   o ignore one more test binary (b6593aa Michael Richardson)
   o ignore config.cache/test-driver files (c83f333 Mike Frysinger)
   o add a --disable-samples configure flag (0c492b3 Mike Frysinger)
   o Add a few files created by "make verify" to .gitignore. (1a8295a Pierre Phaneuf)
   o updates in cmake build (27bd9fa Sergey Nikulov)
   o Fix cmake error when the Module path has more than one entry. (befbd13 Acer Yang)
   o Fix CMake shared library build (e69d910 Nobuaki Sukegawa)
   o Fix warnings when compiling with clang 3.5 (f5b4765 John Ohl)
   o Fix mixed declarations and code (forbidden by ISO C90) (8afbdbc Thomas Bernard)

 Bugfixes (miscellaneous)
   o tree.h: drop duplicated content of tree.h (6193187 Azat Khuzhin)
   o evdns: disable probing with EVDNS_BASE_DISABLE_WHEN_INACTIVE (610410b,ad0493e,fea86a6,d83b337,5ca9e97 Azat Khuzhin)
   o [Bugfix] fix grammer error (3a4d249 ufo2243)
   o Change return type of evutil_load_windows_system_library_ to HMODULE (f691389)
   o Fix a c90 warning (76643dd)
   o Fix a typo in a doxygen comment. Reported by 亦得. (be1aeff)
   o remove trailing comma from enum (b361b8a Jean-Philippe Ouellet)

 Bugfixes (FreeBSD)
   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)



Changes in version 2.1.4-alpha (21 Mar 2014)

 Libevent 2.1.4-alpha adds a number of new miscellaneous APIs to make
 Libevent more useful, including support for early close detection with
 epoll via EPOLLRDHUP, triggering bufferevent callbacks, adding more
 evhttp callbacks, and more. There are also numerous bugfixes, including
 a number for finalize-related issues from 2.1.3-alpha; and an
 alternative (non-primary!) cmake-based build mechanism.

 New APIs (core)
   o Added event_base_get_num_events() (0fa107d Mobai Zhang)
   o New event_base_active_by_fd API (865a142 Greg Hazel, 5c9da9a, 87fa2b0)
   o Add event_base_active_by_signal by analogy (4865943)
   o Add access to max event count stats (5173bef, efbd3dc, 26230a2
     Andrew Sweeney)
   o Implemented EV_CLOSED event for epoll backend
     (EPOLLRDHUP). (b1b69ac Diego Giagio, 53d2793, 43ffcf6, dfe1e52
     Marcin Juszkiewicz, ff26633 Joakim Soderberg, 3908a5e)

 New APIs (evutil_secure_rng)
   o Add evutil_secure_rng_set_urandom_device_file (2bbb5d7)

 New APIs (bufferevents)
   o Add function to fetch underlying ratelimit cfg (4b3d5af Mark Ellzey)
   o Pass and return const for bufferevent_get_token_bucket_cfg (1c77fbb
     Mark Ellzey)
   o Add watermark introspection (4ce242b Ondřej Kuzník)
   o Add an option to trigger bufferevent I/O callbacks (61ee18b Ondřej Kuzník)
   o Add an option to trigger bufferevent event callbacks (a7384c7
     Ondřej Kuzník)
   o Clarifications in response to merge req. comments (bd41947 Ondřej
     Kuzník)
   o Minor optimizations on bufferevent_trigger options (a3172a4)

 New APIs (evhttp)
   o Add evhttp_connection_get_server(). (a7f82a3 Maxime Henrion)
   o add a http default content type option (5a5acd9 Nicolas Martyanoff)
   o http: implement new evhttp_connection_get_addr() api. (0c7f040 Azat
     Khuzhin)
   o Add a variant of evhttp_send_reply_chunk() with a callback on
     evhttp_write_buffer() (8d8decf Julien BLACHE)
   o Allow registering callback for parsing HTTP headers (b0bd7fe Balint Reczey)
   o Provide on request complete callback facility (b083ca0 Andrew Sweeney)
   o evhttp_request_set_on_complete_cb to be more specific about what
     the function actually does and usage (da86dda Andrew Sweeney)
   o Update unit test to make sure that the callback happens after the
     output data is written (b85f398 Andrew Sweeney)

 Features (evdns)
   o bug fix for issues #293 evdns_base_load_hosts doesn't remove
     outdated addresses (954d2f9, f03d353, 45eba6f Kuldeep Gupta)

 Features: (cmake build support)
   o Initial CMake commit. (e415196 Joakim Soderberg)
   o Add all tests and benchmarks to CMake project. (e9fc014 Joakim Soderberg)
   o More work on adding tests to CMake project (99c1dc3 Joakim Soderberg)
   o Generate a dummy evconfig-private.h so things build
     properly. (ce14def Joakim Soderberg)
   o Link libm on unix platforms. (58fcd42 Joakim Soderberg)
   o Added some GCC specific options. (19222e5 Joakim Soderberg)
   o Use evutil_closesocket instead. (dbf2b51 Joakim Soderberg)
   o Add copyright and licensing files for CMake modules. (c259d53
     Joakim Soderberg)
   o Only include WIN32 getopt where it is used. (9bbce0b Joakim Soderberg)
   o Fix bench_cascade program on Windows. (78da644 Joakim Soderberg)
   o Don't segfault on no found event backend. (8f2af50 Joakim Soderberg)
   o Only test the event backends available on the system. (7ea4159
     Joakim Soderberg)
   o Added a "make verify" target. (e053c4f Joakim Soderberg)
   o Fix the make "verify" target on Windows. (67e5d74 Joakim Soderberg)
   o Get rid of deprecation warnings for OpenSSL on OSX 10.7+ (69c3516
     Joakim Söderberg)
   o Fix kqueue support. (a831f2f Joakim Söderberg)
   o Added a test for testing if kqueue works with pipes. (2799b35
     Joakim Söderberg)
   o Change the BSD license from 4 to 3-clause. (86df3ed Joakim Soderberg)
   o Minimum required python version is 2.4. (968e97b Joakim Soderberg)
   o Get rid of unknown pragma warnings. (0ef1d04 Joakim Soderberg)
   o Add a "make verify_coverage" target generation coverage
     info. (f2483f8 Joakim Soderberg)
   o Fix the "make verify" target on NetBSD (4ac086a Joakim Soderberg)
   o Only look for ZLib when it is used (if tests are
     included). (f780593 Joakim Soderberg)
   o Added EVENT__ENABLE_GCC_WARNINGS, turns all warnings into
     errors. (dd413bd Joakim Soderberg)
   o Add CMake config and install targets. (f3446ed Joakim Soderberg)
   o Fix typo (4b754df Joakim Soderberg)
   o Some work on making it possible to simply do add_subdirectory() on
     the project. (49ab363 Joakim Soderberg)
   o Set USE_DEBUG=1 on EVENT__ENABLE_VERBOSE_DEBUG (fd42e70 Joakim Soderberg)
   o Fix so that old nmake project still builds. (24d6466 Joakim
     Soderberg)
   o Rename README to README.md and use markdown to format. (d2bc39a
     Joakim Soderberg)
   o Update README with CMake build instructions. (604b8cc Joakim Soderberg)
   o Clean up the README some. (8d4cb35 JoakimSoderberg)
   o Forgotten headers for old nmake project compatability. (8697b99
     Joakim Soderberg)
   o Change all uses of WIN32 to _WIN32 (4e14395 Joakim Söderberg)
   o Fix include bug. (2024467 Joakim Söderberg)
   o Check if we're on OSX before disabling deprecation in le-proxy
     (8b40a5b Joakim Söderberg)
   o Fix broken autotools build. (ae1bd82 Joakim Söderberg)
   o Disclaimerize cmake a little in the README (d03b5bf)
   o Fix CMake compile when OpenSSL is disabled. (e423d42 Joakim
     Söderberg)
   o CMake: Get rid of python not found warning when regress tests
     turned off. (d38d798 Joakim Söderberg)
   o Fix https-client compilation on Windows. (d7be788 Joakim Soderberg)
   o Guard against EVENT_NOWIN32 being set during testing. (f1715b4
     Joakim Soderberg)
   o Check for OSX when checking for clang. (e212c54 Joakim Soderberg)
   o Added a Travis-CI configuration file. (8c0f0a9 Joakim Soderberg)
   o Added -Qunused-arguments for clang on macosx (ed99d92 Trond Norbye)
   o Rename event_extras to event_extra (a0dd5df Trond Norbye)
   o Add option to build shared library (4545fa9 Trond Norbye)
   o Add -Qunused-arguments for clang on macos (b56611d Trond Norbye)
   o Add cmake-related files to .gitignore (e061321 Trond Norbye)
   o Export event_extra not event_extras. (2b41bcf Joakim Söderberg)

 Bugfixes (core)
   o If evsel->del() fails, don't leave the evmap in an inconsistent
     state (9b5a527 Maxime Henrion)
   o Move event_debug_note_teardown_ before mm_free. (69b5c64)
   o Check CLOCK_MONOTONIC_* at runtime if needed. (911abf3)
   o Fix reinit of fds with EV_WRITE but not EV_READ. (ebfd8a8 maksqwe)
   o Tweaked callbacks to prevent race condition
     (https://github.com/libevent/libevent/issues/104) (40830f1, 2ea15ed
     John Ohl)
   o Move assert(ev) to before we use ev in EV_CLOSURE_EVENT_FINALIZE
     case (9805972)

 Bugfixes (evhttp)
   o Fix a double close() bug in evhttp when the underlying bufferevent uses
     BEV_OPT_CLOSE_ON_FREE. (31db8a0 Maxime Henrion)
   o Fix an unlikely but possible error case for http connections (f22049e)
   o Avoid racy bufferevent activation (5eb1788 Nate Rosenblum)

 Bugfixes on 2.0 (Windows)
   o Use windows vsnprintf fixup logic on all windows environments (e826f19)
   o libevent/win32_dealloc() : fix sizeof(pointer) vs sizeof(*pointer)
    (b8f5980 Frank Denis)

 Bugfixes (evutil_secure_rng)
   o When we seed from /proc/sys/kernel/random/uuid, count it as success
     (e35b540)
   o We should return after arc4random_buf() (1ea1f26 Makoto Kato)
   o Avoid other RNG initialization FS reads when urandom file is
     specified (9695e9c)
   o Really remove RNG seeds from the stack (f5ced88)
   o Fix another arc4random_buf-related warning (e64a2b0)

 Bugfixes (bufferevents)
   o Initialize async bufferevent timeout CBs unconditionally (af9b2a7)

 Bugfixes (evdns)
   o Checking request nameserver for NULL, before using it. (5c710c0
     Belobrov Andrey)
   o Fix SEGFAULT after evdns_base_resume if no nameservers
     installed. (14971a8 Azat Khuzhin)
   o Actually use the log facility for reporting evdns problems. (e1766a1)
   o Fix SEGFAULT after evdns_base_resume if no nameservers
     installed. (f8d7df8 Azat Khuzhin)
   o fix for ServFail from RIPE Atlas release (62f596b Antony Antony)

 Bugfixes (compilation)
   o Fix test compilation with nmake: add the gdi.lib dependency (5ba8ab7)
   o Whoops. It is gdi.lib, not gdi32.lib. (github issue #61) (8ab612e)
   o Don't use return since return type is void and build error occurs
     using clang (838161d Makoto Kato)
   o Use void casts to suppress some "unchecked return value" warns (7080d55)
   o rpcgen: Generate regress.gen.[c,h] in build rather than src dir
     (243386c Ross Lagerwall)
   o Fix a compiler warning when checking for arc4random_buf linker
     breakage. (5cb3865)
   o Fix 'make distcheck' by adding regress.gen.[ch] to DISTCLEANFILES
    (239d834)

   o Fix a c90 warning (c207682)
   o Fix consts in WIN32-Code/getopt*.[ch] (57abb35)

 Bugfixes (locks, synchronization)
   o Missed lock acquire/release in event_base_cancel_single_callback_()
     (d3d999a Azat Khuzhin)
   o Fix locking in bufferevent_get_options_(). (dbc9cd4 Maxime Henrion)

 Bugfixes (leaks)
   o Avoid leaking segment mappings when offset is not a page multiple (d409514)

 Testing
   o Add tests for evdns_base_resume(). (1cd9ff5 Azat Khuzhin)
   o Fix dns/leak_resume_send_err test. (7e876df Azat Khuzhin)
   o Add checks for evhttp_connection_get_server() in unit
     tests. (fbc323b Maxime Henrion)
   o Fix a (failure-only) null dereference in the unit tests (1104d0b)
   o Fix a logic error in test_evbuffer_freeze (7765884)
   o Add missing check to test_evbuffer_file_segment_add_cleanup_cb (eba4506)
   o Fix some crash-on-fail cases in DNS regression tests (87cd6f0)
   o DNS tests: add a missing check (f314900)
   o Finalize tests: add a missing check (82b6956)
   o test_evutil_rtrim: add another missing check. (e193c95)
   o regress_main: logging all if env EVENT_DEBUG_LOGGING_ALL isset
     (611e28b Azat Khuzhin)
   o regress_http: add tests for evhttp_connection_get_addr() (4dd500c
     Azat Khuzhin)
   o Update to the latest version of tinytest (7a80476)
   o Heap-allocate zlib data structure in regress_zlib tests (4947c18)

 Performance tweaks (core)
   o Avoid redundant syscall to make a nonblocking socket nonblocking
     (42c03da Maxime Henrion)
   o Avoid redundant syscall if making a socket cloexec twice (1f29b18)
   o Avoid redundant invocations of init_extension_functions for IOCP (3b77d62)

 Documentation
   o Document that arc4random is not a great cryptographic PRNG. (6e49696)
   o Small doxygen tweaks (6e67b51)
   o Try another doxygen tweak (ccf432b)
   o Clarify event_base_loop exit conditions (031a803)
   o Fix a typo (be7bf2c Ondřej Kuzník)
   o Document deferred eventcb behaviour (13a9a02 Ondřej Kuzník)
   o Typo fixes from Linus Nordberg (cec62cb, 8cd695b)
   o Fix duplicate paragraph in evbuffer_ptr documentation (58408ee)

 Code Improvements (coverity)
   o Fix a pile of coverity warnings in the unit tests (867f401)
   o Fix coverity warnings in benchmark tools. (ff7f739)
   o Whoops; fix compilation in bench.c (544cf88)
   o Remove spurious checks in evrpc.c error cases (coverity) (991b362)
   o Fix a couple of compilation warnings in regress_http.c (860767e)
   o Fix even more coverity warnings. (d240328)
   o Stop checking for inet_aton; we don't use it. (f665d5c)
   o Add an include to evrpc-internal to fix openbsd compilation warning
     (5e161c6)

 Cleanups
   o Remove an unreachable return statement in minheap-internal.h (e639a9e)
   o Refactor evmap_{io,signal}_active_() to tolerate bad inputs (974c60e)
   o Fix needless bufferevent includes in evdns.c (254c04e)
   o Fix a couple of "#ifdef WIN32" instances (88ecda3)
   o Remove unneeded declaration in bufferevent-internal.h (4c8ebcd)

 Sample code
   o le-proxy: Fail more gracefully if opening listener fails (44b2491)
   o http-server: drop uri_root from base_url in http-server. (6171e1c Azat Khuzhin)
   o https-client: POST supported, args supported (c5887f7 Alexey Ozeritsky)
   o https-client: code cleanup (29af65e Alexey Ozeritsky)
   o https-client: Small tweaks to https-client.c (90786eb)
   o https-client: Set hostname for SNI extension (by f69m) (d1976f8)
   o https-client: add a cast to https-client.c (462e6b6)



Changes in version 2.1.3-alpha (1 May 2013)

 Libevent 2.1.3-alpha fixes various bugs, adds new unit tests, and cleans
 up the code in a couple of places. It has a new callback in evhttp for
 reporting errors during a request, a new feature for allowing evdns to
 not keep the event_base looping when there are no requests inflight, and
 example code for writing an https client.

 Libevent 2.1.3-alpha also has an important new (experimental) event
 finalization feature to allow safe event teardown in multithreaded
 programs. This ought to fix the longstanding bug with deadlocks in
 multithreaded use of SSL-based bufferevents that some people have been
 experiencing since Libevent 2.0.


 Core (event finalization)
   o Implement event_finalize() and related functions to avoid certain
     deadlocks (8eedeab)
   o Use finalization feature so bufferevents can avoid deadlocks (02fbf68)
   o Always run pending finalizers when event_base_free() is called (e9ebef8)
   o Remove bufferevent_del_generic_timeout_cbs as now unused (4ea4c6a)
   o More documentation for finalization feature (a800b91)
   o Make the event_finalize* functions return an error code (5d11f4f)
   o Mark the finalize stuff as experiemental in case it needs to
     change (23e2e29)

 Evdns
   o evdns: New flag to make evdns not prevent the event loop from
     exiting (6b7fa62 Azat Khuzhin)

 Bugfixes (Core)
   o Make event_remove_timer behave correctly with persistent timers (5623e80)
   o Unit test for event_remove_timer with EV_PERSIST. (96150dd)
   o Double-check next timeout when adding events (9443868 Nate Rosenblum)
   o event_base_update_cache_time should be a no-op if the loop isn't
     running (5e6fa2a)

 Bugfixes (evhttp, crash fix, from 2.0)
   o fix #73 and fix http_connection_fail_test to catch it (b618204 Greg Hazel)

 Bugfixes (compilation and portability, from 2.0)
   o Fix compilation with WIN32_HAVE_CONDITION_VARIABLES enabled (7e45739)
   o Fix missing AC_PROG_SED on older Autoconfs (9ab2b3f Tay Ray Chuan)
   o Backport libevent to vanilla Autoconf 2.59 (as used in RHEL5)
     (74d4c44 Kevin Bowling)
   o Use AC_CONFIG_HEADERS in place of AM_CONFIG_HEADERS for autmake
     1.13 compat (817ea36)
   o Rename configure.in to configure.ac to appease newer autoconfs (0c79787)
   o Avoid using top_srcdir in TESTS: new automakes do not like this (a55514e)

 Bugfixes (resource leaks/lock errors on error, from 2.0)
   o Avoid leaking fds on evconnlistener with no callback set (69db261)
   o Avoid double-close on getsockname error in evutil_ersatz_socketpair
     (0a822a6)
   o Fix a locking error in bufferevent_socket_get_dns_error. (0a5eb2e)

 Documentation Fixes (from 2.0)
   o Fix a mistake in evbuffer_remove() arguments in example http server code
     (c322c20 Gyepi Sam)
   o Fix a typo in a comment in buffer.h. Spotted by Alt_F4 (773b0a5)

 Documentation Fixes
   o minor documentation typos (809586a Patrick Pelletier)
   o Fix cut-and-paste err in whatsnew-2.1 (49905ac)
   o Fix comment to refer to sample/include.am correctly (9e8cdf3 Sebastian
     Hahn)
   o Fix typo : Dispatching instead of Dispaching (0c2bacc Volker Lendecke)
   o fix some hinky indentation in evhttp_make_request (80e220e Patrick
     Pelletier)
   o "buffer" spelling (a452811 Patrick Pelletier)
   o Specify return behavior in header for evbuffer_pullup() in corner case
     (cf8d1cd Dan Petro)
   o Clarify an important point about event_base_foreach_event() (920a5e6)

 Compilation Fixes/Tool Support
   o avoid valgrind false positive by zeroing epoll_event (1258614 Patrick
     Pelletier)
   o Fix harmless clang enum warning (b452a43 Sebastian Hahn)
   o remove all exes on "make clean", not just regress.exe (974bfa0 Patrick
     Pelletier)
   o Make --disable-libevent-regress work again (787fd74)
   o Do not build strlcpy.c when it will have no code. (4914620)

 Portability Fixes
   o When EWOULDBLOCK is not EAGAIN, treat it as equivalent to it (bf7a0ff)
   o Preliminary changes for Minix3. (0dda56a Nicholas Heath)
   o Use AC_CONFIG_HEADERS in place of AM_CONFIG_HEADERS for autmake 1.13
     compat (bf278b)
   o Avoid using $(top_srcdir) in TESTS. (2863c83)
   o build test/test-script.sh on systems with a less-featureful $< (f935e21)
   o Implement EVUTIL_ERR_IS_EAGAIN on windows. (42aaf4d)

 Evhttp changes:
   o Fix ipv6 support for http. When URL contain domain, not IP
     address. (71e709c Azat Khuzhin)
   o uri decode: fix for warning "use of uninitialised value" (64b6ece Azat
     Khuzhin)
   o uri decode: changed the test for the existence of the next character
     (e1903e3 Azat Khuzhin)
   o Move prototype of evhttp_decode_uri_internal() to http-internal.h
     (de8101a Azat Khuzhin)
   o Test: decoding just part of string with evhttp_decode_uri_internal()
     (1367653 Azat Khuzhin)
   o Add new error_cb for actual reporting of HTTP request errors. (7b07719
     Azat Khuzhin)
   o Add test for EVREQ_HTTP_REQUEST_CANCEL into http_cancel_test() (862c217
     Azat Khuzhin)
   o Drop extra header http_struct.h from regress_http.c (54cc800 Azat Khuzhin)

 Testing
   o Add regress test ipv6_for_domain. (9ec88bd Azat Khuzhin)
   o Add an environment variable (EVENT_DEBUG_MODE) to run unit tests in debug
     mode (2fad0f3)
   o Add a test with an active_later event at event_base_free time. (1c3147f)
   o Make all tests pass under EVENT_DEBUG_MODE=1 (b1b054f)
   o Add some verbose notes to bufferevent unit tests (9d893c9)
   o New test for active_later->active transition on event_active (a153874)
   o New tests for event_base_foreach_event() (0b096ef)
   o Unit tests for event_base_gettimeofday_cached() and
     event_base_update_cache_time() (30ea291)
   o A test for event_get_assignment() (f09629e)
   o More unit tests for initializing common timeouts. (d596739)
   o Fix a bug in the new main/event_foreach test (702c9aa)

 Windows:
   o use FormatMessage for winsock errors (0c6ec5d, 2078e9b, 4ccdd53, c9ad3af
     Patrick Pelletier)
   o a program to print out the error strings for winsock errors (7296512
     Patrick Pelletier)
   o Fix a warning introduced in 0c6ec5d8 (eeb700c)
   o Fix another warning introduced in 0c6ec5d8 (ed26561)

 Examples (http)
   o Add sample/https-client.c, an example of stacking evhttp as a client on
     top of bufferevent_ssl. (be46c99 Catalin Patulea)
   o use ${OPENSSL_LIBS} instead of -lssl -lcrypto (bf31fa5 Patrick Pelletier)
   o https-client was putting newlines at 256-byte boundaries (42d7441 Patrick
     Pelletier)
   o better handling of OpenSSL errors (5754d96 Patrick Pelletier)
   o use Debian's default root certificate location (aacd674 Patrick Pelletier)
   o use iSECPartners code to validate hostname in certificate (64d9f16
     Patrick Pelletier)
   o avoid sign mismatch warning in openssl_hostname_validation.c (6021cb5
     Patrick Pelletier)
   o pull in wildcard matching code from cURL (4db9da6 Patrick Pelletier)
   o Another tweak to https-client.c (95acdaa)
   o Remove http_struct.h usage in sample/h
...


github.com/lvc
Facebook Twitter Vkontakte Reddit Github Email Skype QZone Weibo