Changelog for libevent 2.1.7

Changelog for libevent 2.1.7

Tracker / libevent / changelog

Changes in version 2.1.7-rc (2 Novemer 2016)

 Libevent 2.1.7-rc contains openssl 1.1 support, build fixes, CI improvements
 and plus Vagrantfile for testing under multiple OS'es.


 Continious Integration:
  o Use coveralls.io via travis (9ac000c Azat Khuzhin)
  o travis-ci: use container-based infrastructure (7e12e96 Azat Khuzhin)
  o travis-ci/osx: fix compiling/linking openssl libraries (9d2f8d4 Azat Khuzhin)
  o travis-ci: use gcc-5 (fixes osx|gcc failures) (d7ceae5 Azat Khuzhin)
  o Testing with vagrant for 6 OS and cmake+autoconf (9585338 Azat Khuzhin)
  o travis-ci/osx: install lcov (e4e099b Azat Khuzhin)

 Build Improvements/Fixes:
  o Fix cmake -DEVENT__COVERAGE=ON (40fbffc Azat Khuzhin)
  o autogen.sh: learn about gmake (9376ac4 Azat Khuzhin)
  o autogen.sh: remove all autoconf/automake caches, if any (69cce25 Azat Khuzhin)
  o cmake: fix finding python2, and check that it is really 2 (3453c08 Azat Khuzhin)
  o cmake: fix CheckFunctionExistsEx/CheckPrototypeDefinition (CMP0054) (43b69b2 Azat Khuzhin)
  o cmake: cleanup (dc624ad Zonr Chang)
  o cmake/win32: fix running regress, but fixing finding python2 interpreter (bcb990a Azat Khuzhin)
  o cmake: use PYTHON_EXECUTABLE to find python2 (a4d044c Azat Khuzhin)
  o Merge branch 'force-disable-clockgettime' (83c7cdf Azat Khuzhin)

 Code Improvements (core)
  o use ev_uint16_t instead of unsigned short for port (e983712 Thomas Bernard)
  o Merge branch 'contrib-guide-v2' (b9c5077 Azat Khuzhin)
  o poll: Prevent libevent from spinning if POLLNVAL occurs (675974c Tim Hentenaar)

 Testing:
  o test/regress: cover a polling of invalid fd (cb0df5c Tim Hentenaar)

 Code Improvements (bufferevent_openssl)
  o Make it build using OpenSSL 1.1.0 (3e9e0a0 Kurt Roeckx)
  o Don't call BIO_number_{read|written} on NULL BIOs. (6702da1 Adam Langley)
  o Switch from a 512 to 2048-bit RSA key. (f9803a6 Adam Langley)

 Trivial fixes:
  o Ignore temporary configure files (8fb08ae Azat Khuzhin)
  o README.md: fix typo: ar -> are (2361616 Simone Basso)
  o be: just a simple mistake, reinclude the <errno.h> (7521664 Seven)

Changes in version 2.1.6-beta (4 July 2016)

 Libevent 2.1.6-beta contains mostly bug fixes (evbuffers, evthread, evdns,
 bufferevents, core, http, samples), improvements but mostly to fix some
 possible issues (EVHTTP_CON_LINGERING_CLOSE), a lot of new unit tests and new
 appveyor integration.

 Security Fixes (utils)
   o evutil_parse_sockaddr_port(): fix buffer overflow (329acc1 Azat Khuzhin)

 Security Fixes (evdns)
   o evdns: name_parse(): fix remote stack overread (96f64a0 Azat Khuzhin)
   o evdns: fix searching empty hostnames (ec65c42 Azat Khuzhin)

 New APIs (evdns)
   o New function to get address for nameserver. (537177d Nick Mathewson)

 New APIs (bufferevents)
   o expose bufferevent_incref/decref (with fewer modifications) (1ed6718 Mark Ellzey)

 New APIs (internal)
   o evdns: export cancel via callbacks in util (like async lib core/extra issues) (8cbe65d Azat Khuzhin)

 New APIs/Improvements (http)
   o http: take EVHTTP_CON_LINGERING_CLOSE into account for "Expect: 100-Continue" (ac448a7 Azat Khuzhin)
   o http: lingering close (like nginx have) for entity-too-large (9fde518 Azat Khuzhin)
   o http: read server response even after server closed the connection (680742e Azat Khuzhin)
   o http: export evhttp_connection_set_family() (714fc70 Azat Khuzhin)
   o http: reuse connected address only with EVHTTP_CON_REUSE_CONNECTED_ADDR (a50f5f0 Azat Khuzhin)
   o http: use IP address that we got before (if any) during retrying (54c887d Azat Khuzhin)

 Bugfixes (core)
   o Fix getaddrinfo under solaris (for multiprotocol case) (40730ae Azat Khuzhin)
   o Check for Mac OS X 10.4 kqueue bug properly (df6f99e Mark Mentovai)
   o event_reinit: make signals works after fork() without evsig_add() (88640aa Nicholas Marriott)
   o event_reinit: always re-init signal's socketpair (ad0c237 Nicholas Marriott)
   o Free event queues even for recursive finalizers (7c8d015 Azat Khuzhin)
   o Fix checking for make_base_notifiable() (f337296 Azat Khuzhin)
   o Set correct socklen for PF_INET6 sockaddr len (3499ad9 Mark Ellzey)
   o Fix garbage value in socketpair util function, stdint? (043ae74 Mark Ellzey)
   o fix the return value of event_deferred_cb_schedule_ (38cef64 Greg Hazel)
   o event_free_debug_globals_locks(): disable lock debugging (e5c87d1 Azat Khuzhin)
   o event: call event_disable_debug_mode() in libevent_global_shutdown() (941faae Azat Khuzhin)
   o ht-internal: don't reset hth_table_length explicitly in name_##HT_CLEAR (597c7b2 Azat Khuzhin)

 Bugfixes (evthread)
   o evthread: fix evthread_setup_global_lock_() for debug-lock with a real-lock case (e4556fc Azat Khuzhin)
   o evthread: evthreadimpl_disable_lock_debugging_() for libevent_global_shutdown() (ccc5593 Azat Khuzhin)

 Bugfixes (evdns)
   o evdns: avoid double-free in evdns_base_free() for probing requests (4db15e0 Azat Khuzhin)
   o evdns: evdns_base_free(): fix UAF of evdns_base with @fail_requests (00313c5 Azat Khuzhin)
   o evdns: evdns_base_free(): free requests before namservers (14f84bb Azat Khuzhin)
   o evdns: fix randomize-case by make case-insensitive as required (9c238de Azat Khuzhin)

 Bugfixes (bufferevents)
   o be_sock: handle readv() returns ECONNREFUSED (freebsd 9.2) (3189eb0 Azat Khuzhin)
   o be_filter: avoid data stuck under active watermarks (b627ad8 Eduardo Panisset)
   o Fix bufferevent_pair to properly set BEV_EVENT_{READING,WRITING} on flush. (2851889 David Paschich)
   o be_openssl: clear all pending errors before SSL_*() calls (38e0f4a Azat Khuzhin)
   o be_sock: cancel in-progress dns requests (86dfd2c Azat Khuzhin)
   o be_sock: unfreeze buffers on fd changing (255525d Azat Khuzhin)
   o be_sock: bufferevent_socket_connect_hostname(): make it thread-safe (809bb39 Azat Khuzhin)
   o be_openssl: don't call do_write() directly from outbuf_cb (da52933 Azat Khuzhin)
   o be_openssl: use bufferevent_enable() instead of bufferevent_add_event_() (0c66d32 Azat Khuzhin)
   o be_openssl: don't add events during bev creation (like be_sock) (f4b6284 Azat Khuzhin)
   o Fix lock leak in be_pair_flush() if flush type is BEV_NORMAL (f45d39d Bill Vaughan)
   o be_openssl: don't use *_auto() in do_handshake() we can't have fd == -1 there (877280d Azat Khuzhin)
   o be_openssl: don't call set_open_callbacks() if fd == -1 (e8a2da9 Azat Khuzhin)
   o be_openssl: get rid off hackish "fd_is_set", to fix some corner cases (40b0379 Azat Khuzhin)
   o be: we don't need to use getpeername() we we have conn_address (2c271e2 Azat Khuzhin)
   o Call underlying bev ctrl SET_FD on filtered bufferevents (c2aa7dc Mark Ellzey)
   o be_pair: release shared lock with the latest of bufferevent_pair (92a359e Azat Khuzhin)

 Bugfixes (http)
   o [Issue #313] set method to ASCII "NULL" if evhttp_method() returns NULL (17cc636 Mark Ellzey)
   o evhttp_have_expect(): fix -Wlogical-not-parentheses (24b5214 Azat Khuzhin)
   o http: set fd to -1 unconditioally, to avoid leaking of DNS requests (7a4b472 Azat Khuzhin)
   o http: avoid leaking of fd in evhttp_connection_free() (f0e1341 Azat Khuzhin)
   o http: get fd from be layer during connection reset (4a53c54 Azat Khuzhin)
   o http: fix EVHTTP_CON_READ_ON_WRITE_ERROR when it doesn't supported by OS (2ff164a Azat Khuzhin)
   o http: do not do function calls under EVUTIL_ASSERT() to fix NDEBUG builds (7c89999 Azat Khuzhin)
   o http: fix leaking of response_code_line (8f18a62 Azat Khuzhin)
   o http: fix "Expect: 100-continue" client side (0b46b39 Azat Khuzhin)
   o http: fix conflicts EVHTTP_CON_AUTOFREE and EVHTTP_CON_REUSE_CONNECTED_ADDR (4dc0979 Azat Khuzhin)
   o http: avoid epoll_ctl() on already closed fd (triggers by http/chunk_out) (ab3bc69 Azat Khuzhin)
   o http: install timeout for read too during connect for ssl (040000d Azat Khuzhin)
   o http: fix evhttp_request_own() by checking EVHTTP_USER_OWNED in more cases (b0d3964 Azat Khuzhin)
   o http: fix detecting EOF without write (7ed02ac Azat Khuzhin)
   o evhttp: Fix failure to send all output data for POST/PUT requests (24eea0d John Ohl)
   o Fix evhttp_uriencode() regression. (c6b1ec1 Mark Ellzey)
   o removed unused vars (e94250c Mark Ellzey)
   o pointer overflow checks for evhttp_uriencode (72afe4c Zonr Chang)

 Bugfixes (evbuffers)
   o buffer: fix overflow check in evbuffer_expand_singlechain() (a3f4ccd Azat Khuzhin)
   o buffer: evbuffer_add_buffer(): clean empty chains from destination buffer (26fd932 Azat Khuzhin)
   o Fix n_add_for_cb in evbuffer_prepend() in case of new buffer required (0abd039 Azat Khuzhin)
   o be_filter: actually disable output_filter during processing output (c031215 Simon Perreault)
   o evbuffer_add: Use last_with_datap if set, not last. (a8769ef Marcus Sundberg)
   o EVBUFFER_PTR_SET -> EVBUFFER_PTR_ADD (8674e4f jer-gentoo)

 Bugfixes (evconnlistener)
   o listener: unlock lev on error in listener_read_cb() (2a71b33 Azat Khuzhin)
   o Fix potential fd leak in listener_read_cb() (a695a72 Mark Ellzey)

 Testing
   o tests: use waitpid(..., WNOWAIT) to fix failing of main/fork under solaris (43eb56c Azat Khuzhin)
   o test: replace sleeping with syncing pair in main/fork (16d220c Azat Khuzhin)
   o test/http: do not run tests that based on backlog filling (freebsd) (500b6b7 Azat Khuzhin)
   o test/bufferevent/iocp: fix test name for "bufferevent_connect_fail_eventcb" (4410e9d Azat Khuzhin)
   o test/ssl: use send()/recv()/EVUTIL_ERR_RW_RETRIABLE()/EVUTIL_SOCKET_ERROR() to fix win32 (a9e8cd6 Azat Khuzhin)
   o test/https_basic: increase timeout for complete write (fixes win32) (d5a2f2f Azat Khuzhin)
   o test: fix building with --disable-thread-support under win32 (a487706 Azat Khuzhin)
   o test/buffer: evbuffer_add_buffer() with empty chains (a272bc4 Azat Khuzhin)
   o test/buffer: evbuffer_remove_buffer() with empty chains (prepend) (f0cfa14 Azat Khuzhin)
   o test/buffer: evbuffer_remove_buffer() with empty chains (evbuffer_add_buffer()) (2880ce6 Azat Khuzhin)
   o test/buffer: cover evbuffer_expand() for overflow (48dab7a Azat Khuzhin)
   o test/be_filter: creating test case for data stuck with active watermarks (766194b Eduardo Panisset)
   o test/http: avoid using conditionals with omitted operands (fixes VS2015) (2a4bf29 Azat Khuzhin)
   o test/http: don't mix declarations and code (fixes -Wdeclaration-after-statement) (aabf1c2 Azat Khuzhin)
   o test/buffer: fix leak in test_evbuffer_prepend() (c08d90b Azat Khuzhin)
   o test/buffer: avoid errors with --no-fork (reinitialize static vars) (e7d1e39 Azat Khuzhin)
   o test/buffer: cover n_add_for_cb when evbuffer_prepend() need to allocate buffer (e77ff41 Azat Khuzhin)
   o test/tinytest_macros: add new one tt_nstr_op() (bd19a28 Azat Khuzhin)
   o test/bufferevent: check that output_filter disabled during processing output (ae28812 Azat Khuzhin)
   o test/listener: regression for missing unlock in listener_read_cb() (7d85651 Azat Khuzhin)
   o test/regress: add tests for evbuffer_add() breakage on empty last chain (d5ee739 Marcus Sundberg)
   o test/http: fix running some tests sequential (with --no-fork) (bddad71 Azat Khuzhin)
   o test/http: localize evhttp server structure (cbc3209 Azat Khuzhin)
   o test/dns: regression for empty hostname (d7348ba Azat Khuzhin)
   o test/http: fix SERVER_TIMEOUT tests under win32 (d49a658 Azat Khuzhin)
   o test/http: add a helper for creating timedout/failed request (376f107 Azat Khuzhin)
   o test/http: adopt for C90 (mixed code and declarations) (d02a285 Azat Khuzhin)
   o test/http: cover NS timed out during request cancellations separatelly (0c343af Azat Khuzhin)
   o test/http: request cancellation with resolving/{conn,write}-timeouts in progress (334340d Azat Khuzhin)
   o test/http: exit from the loop in the errorcb to wait cancellation (927ab33 Azat Khuzhin)
   o regress_clean_dnsserver(): reset global port vars (351207f Azat Khuzhin)
   o test/http: read_on_write_error: fix it for win32 (3b58169 Azat Khuzhin)
   o test/http: separate coverage for EVHTTP_CON_READ_ON_WRITE_ERROR (5c2b4c1 Azat Khuzhin)
   o test/http: cover "Expect: 100-continue" client-server interaction (31d8116 Azat Khuzhin)
   o test/http: *lingering tests shouldn't have "Expect: 100-continue" (ed469ab Azat Khuzhin)
   o test: use EVUTIL_SHUT_WR (04fc82f Azat Khuzhin)
   o test/http: avoid huge stack allocations to fix win32 builds (3166765 Azat Khuzhin)
   o test: http/lingering_close: cover EVHTTP_SERVER_LINGERING_CLOSE (e122ca1 Azat Khuzhin)
   o test: http/non_lingering_close: cover ~EVHTTP_SERVER_LINGERING_CLOSE (f41e1b0 Azat Khuzhin)
   o test: http/*: update expected HTTP codes for body exceeds `max_body_size` (addf2b9 Azat Khuzhin)
   o test: http/data_length_constrains: set EVHTTP_CON_READ_ON_WRITE_ERROR (d38a723 Azat Khuzhin)
   o test: increase buffer size for http/data_length_constraints to trigger EPIPE (0792e1e Azat Khuzhin)
   o test/tinytest_demo: include <windows.h> for win32 to fix tdm-gcc (f062bbe Azat Khuzhin)
   o test/regress: cover event_del() waiting mechanism (5b58b70 Azat Khuzhin)
   o test/regress: cover existing signal callbacks and fork() + event_reinit() (ceddc60 Azat Khuzhin)
   o test/regress: cover signals after fork() + event_reinit() (b075b81 Azat Khuzhin)
   o test/regress: main/fork: rewrite assertions by just removing event in callback (088d8b3 Azat Khuzhin)
   o test/dns: check exit code of evdns_getaddrinfo() (0b9d432 Azat Khuzhin)
   o test/dns: cover evdns_getaddrinfo() and evdns_base_free() with @fail_requests (4ad3483 Azat Khuzhin)
   o test/dns: cover @fail_requests for evdns_base_free() (d6c6fb4 Azat Khuzhin)
   o test/dns: more graceful coverage of @fail_requests (123d372 Azat Khuzhin)
   o test/ssl: cover busy-loop (i.e. {read,write}-blocked-on-{write,read} stuff) (da0ea7a Azat Khuzhin)
   o test/http: write_during_read for https (23c77b6 Azat Khuzhin)
   o test/http: connection_fail for https (7ea26f7 Azat Khuzhin)
   o test/http: stream_out for https (ac04968 Azat Khuzhin)
   o test/http: chunk_out for https (a71ffb9 Azat Khuzhin)
   o test/regress: fix ssl-less builds (need to make this prettier) (3160716 Azat Khuzhin)
   o test/http: allow dirty shutdown for ssl to fix https_incomplete (1ede326 Azat Khuzhin)
   o test/http: https basic (59714b4 Azat Khuzhin)
   o test/http: incomplete{,_timeout} for https (615490d Azat Khuzhin)
   o test/http: add simplest test for http/https/https_dirty_shutdown (93b19dc Azat Khuzhin)
   o test/http: https: retry coverage (7c2d24a Azat Khuzhin)
   o test/http: https server support (plus some helpers) (a7088ad Azat Khuzhin)
   o test/http: more sanity checks (a27c53c Azat Khuzhin)
   o test/ssl: export getkey()/getcert()/get_ssl_ctx()/init_ssl() for https (0c4c387 Azat Khuzhin)
   o test/regress_be: basic coverage bufferevent_flush() for pair/sock layers (ad52602 Azat Khuzhin)
   o test/regress_be: socket_filter_inactive: check bufferevent after creation (f8081af Azat Khuzhin)
   o test/regress_be: cover finalizers from inactive to active queue (337684b Azat Khuzhin)
   o test/regress_buffer: fix clang compilation warnings (d8fd4c0 Azat Khuzhin)
   o test/regress_http: fix compilation warnings (-Wmissing-field-initializers) (cd422e0 Azat Khuzhin)
   o test/regress_dns: fix compilation warnings (-Wmissing-field-initializers/for) (f55db98 Azat Khuzhin)
   o tests/regress_dns: cover that randomize-case works case-insensitive (1e8bfbc Azat Khuzhin)
   o test: fix bufferevent/bufferevent_pair_release_lock in debug mode (3f749e9 Azat Khuzhin)
   o test: fix bufferevent/bufferevent_pair_release_lock for freebsd (79f9ace Azat Khuzhin)
   o test/regress_be: bufferevent_enable() shouldn't call eventcb by it's own (a0f308d Azat Khuzhin)
   o test/regress_be: introduce fake_listener_create() (37dc9e0 Azat Khuzhin)
   o test/regress_http: cover evhttp_request_own() (6f6fa0d Azat Khuzhin)
   o test/regress_http: cover write during read (3d15aeb Azat Khuzhin)
   o test/regress_http: verify that closecb will be called without multiple write (4be6c70 Azat Khuzhin)
   o test/regress: fix bufferevent_pair_release_lock with EVENT_DEBUG_MODE (6ea6655 Azat Khuzhin)
   o test/regress_ssl: check events fd/pending after timeout triggered (cdafdf0 Azat Khuzhin)
   o test/regress_ssl: cover case when server didn't up (failed with timeout) (74845f1 Azat Khuzhin)
   o test/regress_ssl: covert that we can't change fd with underlying (df507af Azat Khuzhin)
   o test/regress_ssl: cover that events (read/write) at finish not pending (762edb4 Azat Khuzhin)
   o test/regress_ssl: cover fd manipulations (b78a829 Azat Khuzhin)
   o test/regress_ssl: convert open_ssl_bufevs() to mask (46bba73 Azat Khuzhin)
   o test/regress_ssl: convert client/server to mask too (3455991 Azat Khuzhin)
   o test/regress_ssl: cover "allow_dirty_shutdown" (0430327 Azat Khuzhin)
   o test/regress_ssl: convert regress_bufferevent_openssl() to bitmask (342e116 Azat Khuzhin)
   o tests/regress_ssl: drop duplicated assert (25e56fd Azat Khuzhin)
   o test/regress_http: initialize "dns_base" to avoid reading trash (9f0bff3 Azat Khuzhin)
   o test/http: cover retrying with saved conn_address by shutting down dns server (f4874d8 Azat Khuzhin)
   o be_pair/regress: cover use of shared lock (lock/unlock/free) (a558fcd Azat Khuzhin)
   o regress_dns: drop hack for event_debug_map_HT_GROW in leak tests (3540a19 Azat Khuzhin)

 Sample code
   o Fix memory leak in signal-test.c (666db91 basavesh.as)
   o sample/hello-world: exAmple, not eXMple (2d3cd35 kirillDanshin)
   o dns-example: allow to set ns from args (df19a97 Azat Khuzhin)
   o dns-example: convert to getopt() (32f8592 Azat Khuzhin)
   o http-connect: make it win32 compilable (1bf7595 Azat Khuzhin)
   o sample/https-client: allow to change path to ca-certificates (fdf713a Azat Khuzhin)
   o sample/https-client: check for ERR_remove_thread_state() existence (c4e9d9b Azat Khuzhin)
   o sample/https-client: replace ERR_remove_state() by ERR_remove_thread_state() (77ad68a Azat Khuzhin)
   o sample/https-client: add -timeout option (4637aa8 Azat Khuzhin)
   o sample/https-client: don't try to free uninitialized SSL (f3d7ff5 Azat Khuzhin)
   o sample/https-client: graceful exit with freeing memory (to make valgrind happy) (24a1f25 Azat Khuzhin)
   o https-client: correctly handle URLs with no path (like "https://host:port") (29a0482 Andrey Skriabin)
   o sample/http-connect: don't use assert() to make it work with NDEBUG (6dc71e7 Azat Khuzhin)
   o sample/http-connect: made it compatible with C90 (f976d43 Azat Khuzhin)
   o sample: add HTTP CONNECT tunnelling example using libevent http layer (1d34498 Azat Khuzhin)
   o Update dns-example. (620ff24 Mark Ellzey)

 Documentation
   o Update README.md (b8ec70c Mark Ellzey)
   o Update README.md (80faee9 Mark Ellzey)
   o Update README.md (ad4a897 Mark Ellzey)
   o Update README.md (a2b2e1e Mark Ellzey)
   o Update README.md (0dfa5dc Mark Ellzey)

 Code Improvements (evthread)
   o evthread: add evthread_get_{lock,condition}_callbacks() helpers (c0b34f6 Azat Khuzhin)

 Code Improvements (core)
   o util: make @sa const for evutil_socket_connect_() (a8d32c2 Azat Khuzhin)

 Code Improvements (http)
   o http: assert's that evbuffer_drain() success on connection reset (2185e63 Azat Khuzhin)
   o http: introduce evhttp_request_free_() helper (22061ac Azat Khuzhin)
   o http: introduce evhttp_is_request_connection_close() helper (6540da3 Azat Khuzhin)

 Code Improvements (bufferevents)
   o be_sock: bufferevent_socket_set_conn_address(): assert instead of silent no-op (0ab88c2 Azat Khuzhin)
   o be_sock: sanity check in bufferevent_socket_set_conn_address() (eedbeff Azat Khuzhin)
   o be: replace sockaddr_storage with sockaddr_in6 for conn_address (3889612 Azat Khuzhin)
   o be: replace conn_address by full struct instead of pointer (e5615aa Azat Khuzhin)
   o bufferevent: move conn_address out from http into bufferevent (8bb3842 Azat Khuzhin)
   o be: make @sa const for bufferevent_socket_connect() (dc33c78 Azat Khuzhin)

 Cleanups (core)
   o Refactoring conditional directives that break parts of statements. (4b41eeb lzmths)
   o epoll: introduce PRINT_CHANGES() macro to avoid copy-pasting (a1b142b Azat Khuzhin)
   o tab (6e7a580 Greg Hazel)

 Cleanups (evbuffers)
   o buffer_compat: fix comment -- we have EVBUFFER_EOL_ANY not EOL_STYLE_ANY (575ff67 Azat Khuzhin)

 Cleanups (bufferevents)
   o be_sock: evutil_getaddrinfo_async_() always return 0 (dbff101 Azat Khuzhin)
   o be_sock: drop be_sock_add() macro (useless and debug unfriendly) (fad5fe2 Azat Khuzhin)
   o be: introduce bufferevent_generic_adj_existing_timeouts_() (3c1f58f Azat Khuzhin)
   o be: add_event: use evutil_timerisset() (a96b73b Azat Khuzhin)
   o be_openssl: introduce be_openssl_auto_fd() helper (2a8a711 Azat Khuzhin)
   o be_openssl: introduce set_open_callbacks_auto() (510da71 Azat Khuzhin)

 Cleanups (http)
   o http: make fallback for EVHTTP_CON_READ_ON_WRITE_ERROR more cleaner (d405492 Azat Khuzhin)
   o http: coding style issue (365f181 Azat Khuzhin)

 Cleanups (evdns)
   o evnds: inline TEST_NAME macro to make debuggin easier (0c615f4 Azat Khuzhin)

 Portability Fixes
   o [#372] check for errno.h (3031617 Mark Ellzey)
   o Fixed Unicode issue in error messages. (e8b7895 Mattes D)
   o Assume that ke_udata is an integer type on CloudABI. (5602e45 Ed Schouten)
   o Add missing include of <netinet/in.h>. (b2c68bc Ed Schouten)
   o Include <sys/ioctl.h>, <sys/resource.h> and <sys/wait.h> optionally. (c1404b5 Ed Schouten)
   o Test against SO_REUSEADDR (along with _WIN32). (ce1776c Ed Schouten)
   o Always define missing TAILQ functions from sys/queue.h (2828bdb Christopher Wiley)
   o Don't use BSD u_* types. (fd36647 Ed Schouten)
   o Remove BSD-ism: TIMEVAL_TO_TIMESPEC(). (193c7de Ed Schouten)
   o be: include all variations of headers for sockaddr_in6 struct (c212291 Azat Khuzhin)
   o be: fix sockaddr_in6 type definition for win32 (c42bc6b Azat Khuzhin)

 Continious Integration:
   o travis: split long lines, and make it cleaner (685a6a1 Azat Khuzhin)
   o travis: fix autotools on osx by reinstalling libtool (088ea5e Azat Khuzhin)
   o appveyor/autotools: link with openssl by passing LDFLAGS/CFLAGS (6fcfa25 Azat Khuzhin)
   o appveyor: image already had openssl installed (4634b85 Azat Khuzhin)
   o appveyor: check -DUNICODE -D_UNICODE according to ReleaseChecklist (cmake only) (e9acc44 Azat Khuzhin)
   o appveyor: ignore failure of mingw-get (1810857 Azat Khuzhin)
   o appveyor: drop shallow_clone, since we use tags for detecting version in cmake (ac90133 Azat Khuzhin)
   o appveyor: support cmake & autotools using build matrix (like travis-ci has) (8f95015 Azat Khuzhin)
   o travis-ci/osx: relink gcc/g++ instead of clang (481481d Azat Khuzhin)
   o travis-ci: enable multi-os mode (osx, linux) (79917e4 Azat Khuzhin)
   o travis-ci: increase matrix (--disable-foo) (59649f7 Azat Khuzhin)
   o travis-ci: adjust alignment (c8be339 Azat Khuzhin)
   o travis: add builds without debug mode into matrix (3e56da2 Azat Khuzhin)
   o test: run regress with EVENT_DEBUG_MODE=1 and without (cf2cf2a Azat Khuzhin)
   o Update travis config for status updates (37453ab Mark Ellzey)
   o Use autotools for appveyor until cmake is fixed. (1cc2e29 Mark Ellzey)
   o Fix the link for appveyor OpenSSL installer (WIN32) (107d565 Mark Ellzey)
   o Forgot to install OpenSSL for appveyor (26164a5 Joakim Söderberg)
   o Add support for appveyor.com windows CI (5f89c37 Joakim Söderberg)

 Build Improvements/Fixes:
   o evutil: mark ai_find_protocol() static (prototype-less) (5a157c8 Azat Khuzhin)
   o cmake/solaris: set CMAKE_REQUIRED_LIBRARIES to fix functions detections (dc95823 Azat Khuzhin)
   o cmake/solaris: fix building (link with socket,nsl) (050bfc7 Azat Khuzhin)
   o cmake: check for ZLIB_INCLUDE_DIR, since we can have only library without headers (c4dfb93 Azat Khuzhin)
   o autotools/win32: fix searching ssl library (671a24f Azat Khuzhin)
   o cmake/win32: do not compile regress_thread on -DEVENT__DISABLE_THREAD_SUPPORT=ON (de0c196 Azat Khuzhin)
   o cmake/win32: do not compile evthread_win32 on -DEVENT__DISABLE_THREAD_SUPPORT=ON (ecb0ec8 Azat Khuzhin)
   o cmake: fix -DEVENT__ENABLE_VERBOSE_DEBUG (typo on -DUSE_DEBUG) (e35f224 Azat Khuzhin)
   o cmake: do not use stderr for notifications/version-info (38716c6 Azat Khuzhin)
   o autoconf: fix --disable-thread-support build under win32 (bb09535 Azat Khuzhin)
   o buffer: don't mix code and declarations (8892f4c Azat Khuzhin)
   o Update gitignore file to ignore cscope gen'ed files (0aaa4fb Neeraj Badlani)
   o For non GCC/clang on OSX the -Wno-deprecated-declarations may not be valid (b5ca365 Rainer Keller)
   o automake: define serial-tests only if automake have this option (61179de Azat Khuzhin)
   o test/automake: don't use paralell test harness (since automake 1.12) (44d755e Azat Khuzhin)
   o Ignore all pkgconfig generated stuff (ce38993 Azat Khuzhin)
   o libevent_core a
...


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