1*57cbfcd6SNick MathewsonChanges in version 2.1.3-alpha (1 May 2013) 2e6cdd17bSNick Mathewson 3e6cdd17bSNick Mathewson Libevent 2.1.3-alpha fixes various bugs, adds new unit tests, and cleans 4e6cdd17bSNick Mathewson up the code in a couple of places. It has a new callback in evhttp for 5e6cdd17bSNick Mathewson reporting errors during a request, a new feature for allowing evdns to 6e6cdd17bSNick Mathewson not keep the event_base looping when there are no requests inflight, and 7e6cdd17bSNick Mathewson example code for writing an https client. 8e6cdd17bSNick Mathewson 9e6cdd17bSNick Mathewson Libevent 2.1.3-alpha also has an important new (experimental) event 10e6cdd17bSNick Mathewson finalization feature to allow safe event teardown in multithreaded 11e6cdd17bSNick Mathewson programs. This ought to fix the longstanding bug with deadlocks in 12e6cdd17bSNick Mathewson multithreaded use of SSL-based bufferevents that some people have been 13e6cdd17bSNick Mathewson experiencing since Libevent 2.0. 14e6cdd17bSNick Mathewson 15e6cdd17bSNick Mathewson 16e6cdd17bSNick Mathewson Core (event finalization) 17e6cdd17bSNick Mathewson o Implement event_finalize() and related functions to avoid certain 18e6cdd17bSNick Mathewson deadlocks (8eedeab) 19e6cdd17bSNick Mathewson o Use finalization feature so bufferevents can avoid deadlocks (02fbf68) 20e6cdd17bSNick Mathewson o Always run pending finalizers when event_base_free() is called (e9ebef8) 21e6cdd17bSNick Mathewson o Remove bufferevent_del_generic_timeout_cbs as now unused (4ea4c6a) 22e6cdd17bSNick Mathewson o More documentation for finalization feature (a800b91) 23e6cdd17bSNick Mathewson o Make the event_finalize* functions return an error code (5d11f4f) 24e6cdd17bSNick Mathewson o Mark the finalize stuff as experiemental in case it needs to 25e6cdd17bSNick Mathewson change (23e2e29) 26e6cdd17bSNick Mathewson 27e6cdd17bSNick Mathewson Evdns 28e6cdd17bSNick Mathewson o evdns: New flag to make evdns not prevent the event loop from 29e6cdd17bSNick Mathewson exiting (6b7fa62 Azat Khuzhin) 30e6cdd17bSNick Mathewson 31e6cdd17bSNick Mathewson Bugfixes (Core) 32e6cdd17bSNick Mathewson o Make event_remove_timer behave correctly with persistent timers (5623e80) 33e6cdd17bSNick Mathewson o Unit test for event_remove_timer with EV_PERSIST. (96150dd) 34e6cdd17bSNick Mathewson o Double-check next timeout when adding events (9443868 Nate Rosenblum) 35e6cdd17bSNick Mathewson o event_base_update_cache_time should be a no-op if the loop isn't 36e6cdd17bSNick Mathewson running (5e6fa2a) 37e6cdd17bSNick Mathewson 38e6cdd17bSNick Mathewson Bugfixes (evhttp, crash fix, from 2.0) 39e6cdd17bSNick Mathewson o fix #73 and fix http_connection_fail_test to catch it (b618204 Greg Hazel) 40e6cdd17bSNick Mathewson 41e6cdd17bSNick Mathewson Bugfixes (compilation and portability, from 2.0) 42e6cdd17bSNick Mathewson o Fix compilation with WIN32_HAVE_CONDITION_VARIABLES enabled (7e45739) 43e6cdd17bSNick Mathewson o Fix missing AC_PROG_SED on older Autoconfs (9ab2b3f Tay Ray Chuan) 44e6cdd17bSNick Mathewson o Backport libevent to vanilla Autoconf 2.59 (as used in RHEL5) 45e6cdd17bSNick Mathewson (74d4c44 Kevin Bowling) 46e6cdd17bSNick Mathewson o Use AC_CONFIG_HEADERS in place of AM_CONFIG_HEADERS for autmake 47e6cdd17bSNick Mathewson 1.13 compat (817ea36) 48e6cdd17bSNick Mathewson o Rename configure.in to configure.ac to appease newer autoconfs (0c79787) 49e6cdd17bSNick Mathewson o Avoid using top_srcdir in TESTS: new automakes do not like this (a55514e) 50e6cdd17bSNick Mathewson 51e6cdd17bSNick Mathewson Bugfixes (resource leaks/lock errors on error, from 2.0) 52e6cdd17bSNick Mathewson o Avoid leaking fds on evconnlistener with no callback set (69db261) 53e6cdd17bSNick Mathewson o Avoid double-close on getsockname error in evutil_ersatz_socketpair 54e6cdd17bSNick Mathewson (0a822a6) 55e6cdd17bSNick Mathewson o Fix a locking error in bufferevent_socket_get_dns_error. (0a5eb2e) 56e6cdd17bSNick Mathewson 57e6cdd17bSNick Mathewson Documentation Fixes (from 2.0) 58e6cdd17bSNick Mathewson o Fix a mistake in evbuffer_remove() arguments in example http server code 59e6cdd17bSNick Mathewson (c322c20 Gyepi Sam) 60e6cdd17bSNick Mathewson o Fix a typo in a comment in buffer.h. Spotted by Alt_F4 (773b0a5) 61e6cdd17bSNick Mathewson 62e6cdd17bSNick Mathewson Documentation Fixes 63e6cdd17bSNick Mathewson o minor documentation typos (809586a Patrick Pelletier) 64e6cdd17bSNick Mathewson o Fix cut-and-paste err in whatsnew-2.1 (49905ac) 65e6cdd17bSNick Mathewson o Fix comment to refer to sample/include.am correctly (9e8cdf3 Sebastian 66e6cdd17bSNick Mathewson Hahn) 67e6cdd17bSNick Mathewson o Fix typo : Dispatching instead of Dispaching (0c2bacc Volker Lendecke) 68e6cdd17bSNick Mathewson o fix some hinky indentation in evhttp_make_request (80e220e Patrick 69e6cdd17bSNick Mathewson Pelletier) 70e6cdd17bSNick Mathewson o "buffer" spelling (a452811 Patrick Pelletier) 71e6cdd17bSNick Mathewson o Specify return behavior in header for evbuffer_pullup() in corner case 72e6cdd17bSNick Mathewson (cf8d1cd Dan Petro) 73e6cdd17bSNick Mathewson o Clarify an important point about event_base_foreach_event() (920a5e6) 74e6cdd17bSNick Mathewson 75e6cdd17bSNick Mathewson Compilation Fixes/Tool Support 76e6cdd17bSNick Mathewson o avoid valgrind false positive by zeroing epoll_event (1258614 Patrick 77e6cdd17bSNick Mathewson Pelletier) 78e6cdd17bSNick Mathewson o Fix harmless clang enum warning (b452a43 Sebastian Hahn) 79e6cdd17bSNick Mathewson o remove all exes on "make clean", not just regress.exe (974bfa0 Patrick 80e6cdd17bSNick Mathewson Pelletier) 81e6cdd17bSNick Mathewson o Make --disable-libevent-regress work again (787fd74) 82e6cdd17bSNick Mathewson o Do not build strlcpy.c when it will have no code. (4914620) 83e6cdd17bSNick Mathewson 84e6cdd17bSNick Mathewson Portability Fixes 85e6cdd17bSNick Mathewson o When EWOULDBLOCK is not EAGAIN, treat it as equivalent to it (bf7a0ff) 86e6cdd17bSNick Mathewson o Preliminary changes for Minix3. (0dda56a Nicholas Heath) 87e6cdd17bSNick Mathewson o Use AC_CONFIG_HEADERS in place of AM_CONFIG_HEADERS for autmake 1.13 88e6cdd17bSNick Mathewson compat (bf278b) 89e6cdd17bSNick Mathewson o Avoid using $(top_srcdir) in TESTS. (2863c83) 90e6cdd17bSNick Mathewson o build test/test-script.sh on systems with a less-featureful $< (f935e21) 91e6cdd17bSNick Mathewson o Implement EVUTIL_ERR_IS_EAGAIN on windows. (42aaf4d) 92e6cdd17bSNick Mathewson 93e6cdd17bSNick Mathewson Evhttp changes: 94e6cdd17bSNick Mathewson o Fix ipv6 support for http. When URL contain domain, not IP 95e6cdd17bSNick Mathewson address. (71e709c Azat Khuzhin) 96e6cdd17bSNick Mathewson o uri decode: fix for warning "use of uninitialised value" (64b6ece Azat 97e6cdd17bSNick Mathewson Khuzhin) 98e6cdd17bSNick Mathewson o uri decode: changed the test for the existence of the next character 99e6cdd17bSNick Mathewson (e1903e3 Azat Khuzhin) 100e6cdd17bSNick Mathewson o Move prototype of evhttp_decode_uri_internal() to http-internal.h 101e6cdd17bSNick Mathewson (de8101a Azat Khuzhin) 102e6cdd17bSNick Mathewson o Test: decoding just part of string with evhttp_decode_uri_internal() 103e6cdd17bSNick Mathewson (1367653 Azat Khuzhin) 104e6cdd17bSNick Mathewson o Add new error_cb for actual reporting of HTTP request errors. (7b07719 105e6cdd17bSNick Mathewson Azat Khuzhin) 106e6cdd17bSNick Mathewson o Add test for EVREQ_HTTP_REQUEST_CANCEL into http_cancel_test() (862c217 107e6cdd17bSNick Mathewson Azat Khuzhin) 108e6cdd17bSNick Mathewson o Drop extra header http_struct.h from regress_http.c (54cc800 Azat Khuzhin) 109e6cdd17bSNick Mathewson 110e6cdd17bSNick Mathewson Testing 111e6cdd17bSNick Mathewson o Add regress test ipv6_for_domain. (9ec88bd Azat Khuzhin) 112e6cdd17bSNick Mathewson o Add an environment variable (EVENT_DEBUG_MODE) to run unit tests in debug 113e6cdd17bSNick Mathewson mode (2fad0f3) 114e6cdd17bSNick Mathewson o Add a test with an active_later event at event_base_free time. (1c3147f) 115e6cdd17bSNick Mathewson o Make all tests pass under EVENT_DEBUG_MODE=1 (b1b054f) 116e6cdd17bSNick Mathewson o Add some verbose notes to bufferevent unit tests (9d893c9) 117e6cdd17bSNick Mathewson o New test for active_later->active transition on event_active (a153874) 118e6cdd17bSNick Mathewson o New tests for event_base_foreach_event() (0b096ef) 119e6cdd17bSNick Mathewson o Unit tests for event_base_gettimeofday_cached() and 120e6cdd17bSNick Mathewson event_base_update_cache_time() (30ea291) 121e6cdd17bSNick Mathewson o A test for event_get_assignment() (f09629e) 122e6cdd17bSNick Mathewson o More unit tests for initializing common timeouts. (d596739) 123e6cdd17bSNick Mathewson o Fix a bug in the new main/event_foreach test (702c9aa) 124e6cdd17bSNick Mathewson 125e6cdd17bSNick Mathewson Windows: 126e6cdd17bSNick Mathewson o use FormatMessage for winsock errors (0c6ec5d, 2078e9b, 4ccdd53, c9ad3af 127e6cdd17bSNick Mathewson Patrick Pelletier) 128e6cdd17bSNick Mathewson o a program to print out the error strings for winsock errors (7296512 129e6cdd17bSNick Mathewson Patrick Pelletier) 130e6cdd17bSNick Mathewson o Fix a warning introduced in 0c6ec5d8 (eeb700c) 131e6cdd17bSNick Mathewson o Fix another warning introduced in 0c6ec5d8 (ed26561) 132e6cdd17bSNick Mathewson 133e6cdd17bSNick Mathewson Examples (http) 134e6cdd17bSNick Mathewson o Add sample/https-client.c, an example of stacking evhttp as a client on 135e6cdd17bSNick Mathewson top of bufferevent_ssl. (be46c99 Catalin Patulea) 136e6cdd17bSNick Mathewson o use ${OPENSSL_LIBS} instead of -lssl -lcrypto (bf31fa5 Patrick Pelletier) 137e6cdd17bSNick Mathewson o https-client was putting newlines at 256-byte boundaries (42d7441 Patrick 138e6cdd17bSNick Mathewson Pelletier) 139e6cdd17bSNick Mathewson o better handling of OpenSSL errors (5754d96 Patrick Pelletier) 140e6cdd17bSNick Mathewson o use Debian's default root certificate location (aacd674 Patrick Pelletier) 141e6cdd17bSNick Mathewson o use iSECPartners code to validate hostname in certificate (64d9f16 142e6cdd17bSNick Mathewson Patrick Pelletier) 143e6cdd17bSNick Mathewson o avoid sign mismatch warning in openssl_hostname_validation.c (6021cb5 144e6cdd17bSNick Mathewson Patrick Pelletier) 145e6cdd17bSNick Mathewson o pull in wildcard matching code from cURL (4db9da6 Patrick Pelletier) 146e6cdd17bSNick Mathewson o Another tweak to https-client.c (95acdaa) 147e6cdd17bSNick Mathewson o Remove http_struct.h usage in sample/https-client.c (8a90a85) 148e6cdd17bSNick Mathewson 14940b95ae2SNick Mathewson 15040b95ae2SNick Mathewson 151143cb613SNick MathewsonChanges in version 2.1.2-alpha (18 Nov 2012) 152143cb613SNick Mathewson 153143cb613SNick Mathewson Libevent 2.1.2-alpha includes more portable for monotonic timers, 154143cb613SNick Mathewson refactors much of Libevent's internal and external infrastructure, 155143cb613SNick Mathewson closes some longstanding gaps in the interface, makde other 156143cb613SNick Mathewson improvements. Ths log below tries to organize features by rough area of 157143cb613SNick Mathewson effect. It omits a few commits which were pure bugfixes on other commits 158143cb613SNick Mathewson listed below. For more detail, see the git changelogs. For more 159143cb613SNick Mathewson insight, see the "whatsnew-2.1.txt" document included in the Libevent 160143cb613SNick Mathewson 2.1.2-alpha distribution. 161143cb613SNick Mathewson 162143cb613SNick Mathewson Libevent 2.1.2-alpha also includes all changes made in 2.0.19-stable 163143cb613SNick Mathewson through 2.0.21-stable inclusive. 164143cb613SNick Mathewson 165143cb613SNick Mathewson Performance (core): 166143cb613SNick Mathewson o Replace pipe-based notification with EVFILT_USER where possible. This 167143cb613SNick Mathewson should make multithreaded programs on OSX and *BSD alert the main thread a 168143cb613SNick Mathewson little faster. (53a07fe) 169143cb613SNick Mathewson o Make th_base_lock nonrecursive. (9cd5acb) 170143cb613SNick Mathewson 171143cb613SNick Mathewson New/Changed API Functions: 172143cb613SNick Mathewson o New event_get_priority() function to return an event's priority (f90e255) 173143cb613SNick Mathewson o Add a bufferevent_get_priority() function (bd39554) 174143cb613SNick Mathewson o Add an event_base_loopcontinue() to tell Libevent to rescan for more 175143cb613SNick Mathewson events right away (7d6aa5e) 176143cb613SNick Mathewson o Add a new callback to get called on evbuffer_file_segment free 177143cb613SNick Mathewson (e9f8feb yangacer, 64051b9) 178143cb613SNick Mathewson o Expose event_base_foreach_event() as a public API. (84fd6d7 Roman 179143cb613SNick Mathewson Puls, 232055e, ffe1643) 180143cb613SNick Mathewson o Add an event_remove_timer() to remove timer on an event without 181143cb613SNick Mathewson deleting it (e3b2e08) 182143cb613SNick Mathewson o Make bufferevent_set_timeouts(bev, NULL, NULL) have plausible 183143cb613SNick Mathewson semantics (9dee36b) 184143cb613SNick Mathewson o Rename event_enable_lock_debuging() to ..._debugging(). (The old name 185143cb613SNick Mathewson should still work.) (07e132e) 186143cb613SNick Mathewson o Add missing implementation for event_enable_debug_logging (3b3e21d) 187143cb613SNick Mathewson 188143cb613SNick Mathewson PORTABLE MONOTONIC TIMERS: 189143cb613SNick Mathewson 190143cb613SNick Mathewson Libevent 2.1.2 includes internal support for monotonic timers on 191143cb613SNick Mathewson (nearly) all supported platforms, including Windows, and OSX. Libevent 192143cb613SNick Mathewson applications should now be more resilient to jumps forwards or backwards 193143cb613SNick Mathewson in the system clock. Also, on Linux systems with epoll, we now 194143cb613SNick Mathewson optionally support microsecond-level timeouts (whereas epoll only 195143cb613SNick Mathewson supports millisecond-precision timeouts). 196143cb613SNick Mathewson 197143cb613SNick Mathewson o Use mach_absolute_time() for monotonic clock support on OSX. (b8fd6f9) 198143cb613SNick Mathewson o Do not track use_monotonic field when is no monotonic clock (cb653a0) 199143cb613SNick Mathewson o EVENT_BASE_FLAG_PRECISE_TIMER indicates we want fine timer precision 200143cb613SNick Mathewson (ddd69d3) 201143cb613SNick Mathewson o On Linux, use CLOCK_MONOTONIC_COARSE by default (55780a7) 202143cb613SNick Mathewson o Implement a GetTickCount-based monotonic timer for Windows (d5e1d5a) 203143cb613SNick Mathewson o Refactor monotonic timer handling into a new type and set of 204143cb613SNick Mathewson functions; add a gettimeofday-based ratcheting implementation (f5e4eb0) 205143cb613SNick Mathewson o Add EVENT_PRECISE_TIMER environment var for selecting precise-but-slow 206143cb613SNick Mathewson timer (a2598ec) 207143cb613SNick Mathewson o Implement fast/precise monotonic clocks on Windows (2c47045) 208143cb613SNick Mathewson o Simple unit tests for monotonic timers (630f077) 209143cb613SNick Mathewson o Improve the monotonic-time unit test: make it check the step size (7428c78) 210143cb613SNick Mathewson o When PRECISE_TIMERS is set with epoll, use timerfd for microsecond 211143cb613SNick Mathewson precision (26c7582) 212143cb613SNick Mathewson o Split out time-related evutil functions into a new evutil_time.c (c419485) 213143cb613SNick Mathewson o Split out time-related prototypes into time-internal.h (71bca50) 214143cb613SNick Mathewson o Add evutil_time.obj to Makefile.nmake (0ba0683) 215143cb613SNick Mathewson o Avoid giving a spurious warning when timerfd support is unavailable 216143cb613SNick Mathewson (1aaf9f0 Dave Hart) 217143cb613SNick Mathewson o Make test_evutil_monotonic a little more tolerant (def3b83) 218143cb613SNick Mathewson o Avoid unused-var warning on systems with clock_gettime but without 219143cb613SNick Mathewson CLOCK_MONOTONIC_COARSE (9be5468) 220143cb613SNick Mathewson 221143cb613SNick MathewsonEVENT_BASE_ONCE LEAKS: 222143cb613SNick Mathewson If a callback added by event_base_once() is never invoked, Libevent no 223143cb613SNick Mathewson longer leaks internal memory. 224143cb613SNick Mathewson 225143cb613SNick Mathewson o Free dangling event_once objects on event_base_free() (c17dd59) 226143cb613SNick Mathewson o Add a unit test in which an event is created with event_base_once() 227143cb613SNick Mathewson but never fires (4343edf) 228143cb613SNick Mathewson 229143cb613SNick MathewsonTESTING SUPPORT, FIXES AND IMPROVEMENTS: 230143cb613SNick Mathewson 231143cb613SNick Mathewson Libevent now disables by default its unit tests that would touch the 232143cb613SNick Mathewson network, or that tend to fail on heavily-loaded systems. To re-enable 233143cb613SNick Mathewson them, invoke the ./test/regress program with the @all alias. 234143cb613SNick Mathewson 235143cb613SNick Mathewson o Simplify test.sh code significantly. (9b856fd Ross Lagerwall) 236143cb613SNick Mathewson o Make all tests that hit the network disabled by default (f2cea87) 237143cb613SNick Mathewson o Avoid a resource leak on error in http client benchmark (ea92fba) 238143cb613SNick Mathewson o Update to latest tinytest (911b4f0349377) (ef7c4f7) 239143cb613SNick Mathewson o Avoid (unlikely) overflow in bench_httpclient.c (5671033) 240143cb613SNick Mathewson o Shave 700 msec off the persistent_timeout_jump test (21205b8) 241143cb613SNick Mathewson o Check return value of write() in regress.c (c8009d2) 242143cb613SNick Mathewson o Make load-dependent monotonic timer tests off-by-default (2b6fe8b) 243143cb613SNick Mathewson o Add deferred_cb_skew to list of timing-dependent tests (34c8f31) 244143cb613SNick Mathewson o Avoid test -e; older shs don't have one. (f1bd938) 245143cb613SNick Mathewson o Fix renegotiation test to work around openssl 1.0.1 bug (c2f3086) 246143cb613SNick Mathewson o Fix a couple of compile warnings in the unit tests (5a9a014) 247143cb613SNick Mathewson 248143cb613SNick MathewsonMISC: 249143cb613SNick Mathewson o Change evutil_weakrand_() to avoid platform random() (e86af4b Nicholas 250143cb613SNick Mathewson Marriott, 3aa4415) 251143cb613SNick Mathewson 252143cb613SNick MathewsonINFRASTRUCTURE (Active-later events): 253143cb613SNick Mathewson As a simplification and optimization to Libevent's "deferred callback" 254143cb613SNick Mathewson logic (introduced in 2.0 to avoid callback recursion), Libevent now 255143cb613SNick Mathewson treats all of its deferrable callback types using the same logic it uses 256143cb613SNick Mathewson for active events. Now deferred events no longer cause priority 257143cb613SNick Mathewson inversion, no longer require special code to cancel them, and so on. 258143cb613SNick Mathewson 259143cb613SNick Mathewson o Refactor the callback part of an event into its own event_callback 260143cb613SNick Mathewson type (cba59e5) 261143cb613SNick Mathewson o Add "active later" event_callbacks to supersede deferred (745a63d) 262143cb613SNick Mathewson o event_base_assert_ok: check value of event_active_count for 263143cb613SNick Mathewson correctness (fec8bae) 264143cb613SNick Mathewson o Replace deferred_cbs with event_callback-based implementation. (ae2b84b) 265143cb613SNick Mathewson o Replace more deferred_cb names with event_callback (a4079aa) 266143cb613SNick Mathewson o Give event_base_process_active a single exit path (581b5be) 267143cb613SNick Mathewson o Restore our priority-inversion-prevention code with deferreds (c0e425a) 268143cb613SNick Mathewson o Refactor event_persist_closure: raise and extract some common logic 269143cb613SNick Mathewson (bec22b4) 270143cb613SNick Mathewson o Remove the unused bits from EVLIST_ALL (9889a3d) 271143cb613SNick Mathewson 272143cb613SNick MathewsonBUILD IMPROVEMENTS: 273143cb613SNick Mathewson Libevent 2.1.2-alpha modernizes Libevent's use of autotools, and makes 274143cb613SNick Mathewson numerous other build system. Parallel builds should be faster, and all 275143cb613SNick Mathewson builds should be quieter. 276143cb613SNick Mathewson 277143cb613SNick Mathewson o Split long lists in Makefile.am into one-item-per-line (2711cda) 278143cb613SNick Mathewson o Remove unnecessary code in configure.in. (e65914f Ross Lagerwall) 279143cb613SNick Mathewson o attempt to support OpenSSL in Makefile.nmake (eba0eb2 Patrick Pelletier) 280143cb613SNick Mathewson o Use newer syntax for autoconf/automake init (7d60ba8) 281143cb613SNick Mathewson o Enable silent build rules by default. Override with V=1 (7b18e5c) 282143cb613SNick Mathewson o Switch to non-recursive makefiles (7092f3b) 283143cb613SNick Mathewson o Rename subordinate Makefile.ams to include.am (6cdfeeb) 284143cb613SNick Mathewson o Make quiet build even quieter (371a123) 285143cb613SNick Mathewson o New --quiet option for event_rpcgen.py (aa59c1e) 286143cb613SNick Mathewson o Be quiet when making regress.gen.[ch] (607a8ff) 287143cb613SNick Mathewson o Fix handling of no-python case for nonrecursive make (1e3123d) 288143cb613SNick Mathewson o We now require automake 1.9 or later. Modernize! (b7f6e89) 289143cb613SNick Mathewson o Rename configure.in to configure.ac. (b3fea67 Ross Lagerwall) 290143cb613SNick Mathewson o Use correct openssl libs and includes in pkgconfig file (d70af27) 291143cb613SNick Mathewson o Use the same CFLAGS for openssl when building unit tests as with 292143cb613SNick Mathewson libevent (1d9d511) 293143cb613SNick Mathewson 294143cb613SNick MathewsonDOCUMENTATION 295143cb613SNick Mathewson o Note that make_base_notifiable should not be necessary (26ee5f9) 296143cb613SNick Mathewson o Be more clear that LEV_OPT_DEFERRED_ACCEPT has tricky prereqs (371efeb) 297143cb613SNick Mathewson o Add caveat to docs about bufferevent_free() with data in outbuf (6fab9ee) 298143cb613SNick Mathewson o Make it more clear that NOLOCK means "I promise, no multithreading" 299143cb613SNick Mathewson (9444524) 300143cb613SNick Mathewson o Fix a comment in test-fdleak after 077c7e949. (3881d8f Ross Lagerwall) 301143cb613SNick Mathewson o Make the Makefile.nmake warning slightly less dire (e7bf4c8) 302143cb613SNick Mathewson o Fix typo : events instead of evets (05f1aca Azat Khuzhin) 303143cb613SNick Mathewson o Additional comments about OPENSSL_DIR variable, prompted by Dave Hart 304143cb613SNick Mathewson (6bde2ef Patrick Pelletier) 305143cb613SNick Mathewson 306143cb613SNick MathewsonEVHTTP: 307143cb613SNick Mathewson o ignore LWS after field-content in headers (370a2c0 Artem Germanov) 308143cb613SNick Mathewson o Clean up rtrim implementation (aa59d80) 309143cb613SNick Mathewson o Remove trailing tabs in HTTP headers as well. (ac42519) 310143cb613SNick Mathewson o Remove internal ws from multiline http headers correctly (c6ff381) 311143cb613SNick Mathewson o Move evutil_rtrim_lws_ to evutil.c where it belongs (61b93af) 312143cb613SNick Mathewson o add evhttp_request_get_response_code_line (4f4d0c9 Jay R. Wren) 313143cb613SNick Mathewson o Use EVUTIL_SOCKET_ERROR() wrapper to save/restore errno in 314143cb613SNick Mathewson evhttp_connection_fail_ (7afbd60) 315143cb613SNick Mathewson o preserve errno in evhttp_connection_fail_ for inspection by the 316143cb613SNick Mathewson callback (36d0ee5 Patrick Pelletier) 317143cb613SNick Mathewson 318143cb613SNick MathewsonBUGFIXES: 319143cb613SNick Mathewson o Correctly handle running on a system where accept4 doesn't work. (9fbfe9b) 320143cb613SNick Mathewson o Avoid double-free on error in evbuffer_add_file. Found by 321143cb613SNick Mathewson coverity. (6a81b1f) 322143cb613SNick Mathewson o Fix another possible uninitialized read in dns regression tests. Found 323143cb613SNick Mathewson by coverity. (13525c5) 324143cb613SNick Mathewson o Add checks for functions in test-ratelim.c; found by Coverity (aa501e1) 325143cb613SNick Mathewson o Avoid memory leak in test_event_calloc unit test; found by coverity 326143cb613SNick Mathewson (92817a1) 327143cb613SNick Mathewson o Fix a shadowed variable in addfile_test_readcb; found by coverity 328143cb613SNick Mathewson (225344c) 329143cb613SNick Mathewson o Check return value when using LEV_OPT_DEFERRED_ACCEPT. Found by 330143cb613SNick Mathewson coverity (6487f63) 331143cb613SNick Mathewson o Prevent reference leak of bufferevent if getaddrinfo fails. (b757786 332143cb613SNick Mathewson Joachim Bauch) 333143cb613SNick Mathewson o Make event_base_getnpriorities work with old "implicit base" code 334143cb613SNick Mathewson (c46cb9c) 335143cb613SNick Mathewson o Simplify and correct evutil_open_closeonexec_ (0de587f) 336143cb613SNick Mathewson o Fix event_dlist definition when sys/queue not included (81b6209 337143cb613SNick Mathewson Derrick Pallas) 338143cb613SNick Mathewson 339143cb613SNick Mathewson 340d9a55153SNick Mathewson 3412dedff36SNick MathewsonChanges in version 2.1.1-alpha (4 Apr 2012) 34225a424fbSNick Mathewson 3432dedff36SNick Mathewson Libevent 2.1.1-alpha includes a number of new features and performance 3442dedff36SNick Mathewson improvements. The log below tries to organize them by rough area of 3452dedff36SNick Mathewson effect. It omits some commits which were pure bugfixes on other commits 3462dedff36SNick Mathewson listed below. For more detail, see the git changelogs. For more 3472dedff36SNick Mathewson insight, see the "whatsnew-2.1.txt" document included in the Libevent 3482dedff36SNick Mathewson 2.1.1-alpha distribution. 34925a424fbSNick Mathewson 3502dedff36SNick Mathewson Performance: Core 3512dedff36SNick Mathewson o Replace several TAILQ users with LIST. LIST can be a little faster than 3522dedff36SNick Mathewson TAILQ for cases where we don't need queue-like behavior. (f9db33d, 3532dedff36SNick Mathewson 6494772, d313c29, 974d004) 3542dedff36SNick Mathewson o Disabled code to optimize the case where we reinsert an existing 3552dedff36SNick Mathewson timeout (e47042f, 09cbc3d) 3562dedff36SNick Mathewson o Remove a needless base-notify when rescheduling the first timeout (77a96fd) 3572dedff36SNick Mathewson o Save a needless comparison when removing/adjusting timeouts (dd5189b) 3582dedff36SNick Mathewson o Possible optimization: split event_queue_insert/remove into 3592dedff36SNick Mathewson separate functions. needs testing (efc4dc5) 36088b4f0bbSNick Mathewson o Make event_count maintenance branchless at the expense of an 3612dedff36SNick Mathewson extra shift. Needs benchmarking (d1cee3b) 3622dedff36SNick Mathewson o In the 2.1 branch, let's try out lazy gettimeofday/clock_gettime 3632dedff36SNick Mathewson comparison (2a83ecc) 3642dedff36SNick Mathewson o Optimization in event_process_active(): ignore maxcb & endtime 3652dedff36SNick Mathewson for highest priority events. (a9866aa Alexander Drozdov) 3662dedff36SNick Mathewson o Bypass event_add when using event_base_once() for a 0-sec timeout (35c5c95) 3672dedff36SNick Mathewson o Remove the eventqueue list and the ev_next pointers. (604569b 066775e) 36877342926SNick Mathewson 3692dedff36SNick Mathewson Performance: Evbuffers 3702dedff36SNick Mathewson o Roughly 20% speed increase when line-draining a buffer using 3712dedff36SNick Mathewson EVBUFFER_EOL_CRLF (5dde0f0 Mina Naguib) 3722dedff36SNick Mathewson o Try to squeeze a little more speed out of EVBUFFER_EOL_CRLF (7b9d139) 3732dedff36SNick Mathewson o Fix a bug in the improved EOL_CRLF code (d927965) 3742dedff36SNick Mathewson o Remove a needless branch in evbuffer_drain() (d19a326) 37577342926SNick Mathewson 3762dedff36SNick Mathewson Performance: Linux 3772dedff36SNick Mathewson o Infrastructure for using faster/fewer syscalls when creating 3782dedff36SNick Mathewson sockets (a1c042b) 3792dedff36SNick Mathewson o Minimize syscalls during socket creation in listener.c (7e9e289) 3802dedff36SNick Mathewson o Use a wrapper function to create the notification 3812dedff36SNick Mathewson pipe/socketpair/eventfd (ca76cd9) 3822dedff36SNick Mathewson o Use pipes for telling signals to main thread when possible (a35f396) 3832dedff36SNick Mathewson o Save syscalls when constructing listener sockets for evhttp (af6c9d8) 3842dedff36SNick Mathewson o Save some syscalls when creating evdns sockets (713e570) 3852dedff36SNick Mathewson o Save some syscalls when constructing a socket for a bufferevent (33fca62) 3862dedff36SNick Mathewson o Prefer epoll_create1 on Linuxen that have it (bac906c) 38777342926SNick Mathewson 3882dedff36SNick Mathewson Performance: Epoll backend 3892dedff36SNick Mathewson o Use current event set rather than current pending change when 3902dedff36SNick Mathewson deciding whether to no-op a del (04ba27e Mike Smellie) 3912dedff36SNick Mathewson o Replace big chain of if/thens in epoll.c with a table lookup (8c83eb6) 3922dedff36SNick Mathewson o Clean up error handling in epoll_apply_one_change() a little (2d55a19) 39377342926SNick Mathewson 3942dedff36SNick Mathewson Performance: Evport backend 3952dedff36SNick Mathewson o evport: use evmap_io to track fdinfo status. Should save time and 3962dedff36SNick Mathewson RAM. (4687ce4) 3972dedff36SNick Mathewson o evport: Remove a linear search over recent events when 3982dedff36SNick Mathewson reactivating them (0f77efe) 3992dedff36SNick Mathewson o evport: Use portev_user to remember fdinfo struct (276ec0e) 4002dedff36SNick Mathewson o evport: don't scan more events in ed_pending than needed (849a5cf) 4012dedff36SNick Mathewson o evport: Remove artificial low limit on max events per getn call (c04d927) 4022dedff36SNick Mathewson o Reenable main/many_events_slow_add for evport in 2.1 (e903db3) 4030c483170SNick Mathewson 4042dedff36SNick Mathewson Performance: Windows 4052dedff36SNick Mathewson o Use GetSystemTimeAsFileTime to implement gettimeofday on 4062dedff36SNick Mathewson win32. It's faster and more accurate than our old 4072dedff36SNick Mathewson approach. (b8b8aa5) 408edc6d7d7SNick Mathewson 4092dedff36SNick Mathewson New functions and features: debugging 4102dedff36SNick Mathewson o Add event_enable_debug_logging() to control use of debug logs (e30a82f) 411edc6d7d7SNick Mathewson 4122dedff36SNick Mathewson New functions and features: core 4132dedff36SNick Mathewson o Add event_config function to limit time/callbacks between calls 4142dedff36SNick Mathewson to dispatch (fd4de1e, 9fa56bd, a37a0c0, 3c63edd) 4152dedff36SNick Mathewson o New EVLOOP_NO_EXIT_ON_EMPTY option to keep looping even when no 4162dedff36SNick Mathewson events are pending (084e68f) 4172dedff36SNick Mathewson o Add event_base_get_npriorities() function. (ee3a4ee Alexander Drozdov) 4182dedff36SNick Mathewson o Make evbase_priority_init() and evbase_get_npriorities() 4192dedff36SNick Mathewson threadsafe (3c55b5e) 4202dedff36SNick Mathewson o New event_base_update_cache_time() to set cached_tv to current 4212dedff36SNick Mathewson time (212533e Abel Mathew) 4222dedff36SNick Mathewson o Add event_self_cbarg() to be used in conjunction with 4232dedff36SNick Mathewson event_new(). (ed36e6a Ross Lagerwall, fa931bb, 09a1906, 1338e6c, 4242dedff36SNick Mathewson 33e43ef) 4252dedff36SNick Mathewson o Add a new libevent_global_shutdown() to free all globals before 4262dedff36SNick Mathewson exiting. (041ca00 Mark Ellzey, f98c158, 15296d0, 55e991b) 4272dedff36SNick Mathewson o Use getifaddrs to detect our interfaces if possible (7085a45) 4282dedff36SNick Mathewson o Add event_base_get_running_event() to get the event* whose cb we 4292dedff36SNick Mathewson are in (c5732fd, 13dad99) 430edc6d7d7SNick Mathewson 4312dedff36SNick Mathewson New functions and features: building 4322dedff36SNick Mathewson o Implement --enable-gcc-hardening configure option (7550267 Sebastian Hahn) 433edc6d7d7SNick Mathewson 4342dedff36SNick Mathewson New functions and features: evbuffers 4352dedff36SNick Mathewson o Add evbuffer_add_file_segment() so one fd can be used efficiently 4362dedff36SNick Mathewson in more than one evbuffer_add_file at a time (e72afae, c2d9884, 4372dedff36SNick Mathewson 3f405d2, 0aad014) 4382dedff36SNick Mathewson o Fix windows file segment mappings (8254de7) 4392dedff36SNick Mathewson o Allow evbuffer_ptr_set to yield a point just after the end of the 4402dedff36SNick Mathewson buffer. (e6fe1da) 4412dedff36SNick Mathewson o Allow evbuffer_ptr to point to position 0 in an empty evbuffer 4422dedff36SNick Mathewson (7aeb2fd Nir Soffer) 44388b4f0bbSNick Mathewson o Set the special "not found" evbuffer_ptr consistently. (e3e97ae Nir Soffer) 4442dedff36SNick Mathewson o support adding buffers to other buffers non-destructively 4452dedff36SNick Mathewson (9d7368a Joachim Bauch) 4462dedff36SNick Mathewson o prevent nested multicast references, reworked locking (26041a8 4472dedff36SNick Mathewson Joachim Bauch) 4482dedff36SNick Mathewson o New EVBUFFER_EOL_NUL to read NUL-terminated strings from an 4492dedff36SNick Mathewson evbuffer (d7a8b36 Andrea Montefusco, 54142c9) 4502dedff36SNick Mathewson o Make evbuffer_file_segment_types adaptable (c6bbbf1) 4512dedff36SNick Mathewson o Added evbuffer_add_iovec and unit tests. (aaec5ac Mark Ellzey, 27b5398) 4522dedff36SNick Mathewson o Add evbuffer_copyout_from to copy data from the middle of a 4532dedff36SNick Mathewson buffer (27e2225) 4546f6cebe3SNick Mathewson 4552dedff36SNick Mathewson New functions and features: bufferevents 4562dedff36SNick Mathewson o Allow users to set allow_dirty_shutdown (099d27d Catalin Patulea) 4572dedff36SNick Mathewson o Tweak allow_dirty_shutdown documentation (a44cd2b) 4582dedff36SNick Mathewson o Fix two issues in the allow_dirty_shutdown code. (f3b89de) 4592dedff36SNick Mathewson o Add a bufferevent_getcb() to find a bufferevent's current 4602dedff36SNick Mathewson callbacks (a650394) 4612dedff36SNick Mathewson o bufferevent: Add functions to set/get max_single_read/write 4622dedff36SNick Mathewson values. (998c813 Alexander Drozdov) 4632dedff36SNick Mathewson o bev_ssl: Be more specific in event callbacks. evhttp in particular gets 4642dedff36SNick Mathewson confused without at least one of BEV_EVENT_{READING|WRITING}. (f7eb69a 4652dedff36SNick Mathewson Catalin Patulea) 466edc6d7d7SNick Mathewson 4672dedff36SNick Mathewson New functions and features: evconnlisteners 4682dedff36SNick Mathewson o Support TCP_DEFER_ACCEPT sockopts for listeners (5880e4a Mark Ellzey, 4692dedff36SNick Mathewson a270728) 4702dedff36SNick Mathewson o Add another caveat to the TCP_DEFER_ACCEPT documentation (a270728) 4712dedff36SNick Mathewson o Allow evconnlistener to be created in disabled state. (9593a33 4722dedff36SNick Mathewson Alexander Drozdov) 4732dedff36SNick Mathewson o The LEV_OPT_CLOSE_ON_EXEC flag now applies to accepted listener 4742dedff36SNick Mathewson sockets too (4970329) 475edc6d7d7SNick Mathewson 4762dedff36SNick Mathewson Evhttp: 4772dedff36SNick Mathewson o Add new evhttp_{connection_}set_timeout_tv() functions to set 4782dedff36SNick Mathewson finger-grained http timeouts (6350e6c Constantine Verutin) 4792dedff36SNick Mathewson o Performance tweak to evhttp_parse_request_line. (aee1a97 Mark Ellzey) 4802dedff36SNick Mathewson o Add missing break to evhttp_parse_request_line (0fcc536) 4812dedff36SNick Mathewson o Add evhttp callback for bufferevent creation; this lets evhttp 4822dedff36SNick Mathewson support SSL. (8d3a850) 4832dedff36SNick Mathewson o Remove calls to deprecated bufferevent functions from evhttp.c (4d63758) 4842dedff36SNick Mathewson o evhttp: Add evhttp_foreach_bound_socket. (a2c48e3 Samy Al Bahra) 485edc6d7d7SNick Mathewson 4862dedff36SNick Mathewson Build improvements: 4872dedff36SNick Mathewson o Add AC_USE_SYSTEM_EXTENSIONS to configure.in. Requires follow on 4882dedff36SNick Mathewson patches for correctness and robustness. (1fa7dbe Kevin Bowling) 4892dedff36SNick Mathewson o Filter '# define' statements from autoconf and generate 4902dedff36SNick Mathewson event-private.h (321b558 Kevin Bowling) 4912dedff36SNick Mathewson o Remove internal usage of _GNU_SOURCE (3b26541 Kevin Bowling) 4922dedff36SNick Mathewson o Eliminate a couple more manual internal _GNU_SOURCE defines (c51ef93 4932dedff36SNick Mathewson Kevin Bowling) 4942dedff36SNick Mathewson o Add AC_GNU_SOURCE to the fallback case. (ea8fa4c Kevin Bowling) 4952dedff36SNick Mathewson o Use a Configuration Header Template for evconfig-private.h (868f888 4962dedff36SNick Mathewson Kevin Bowling) 4972dedff36SNick Mathewson o Fix a comment warning and add evconfig-private.h to .gitignore 4982dedff36SNick Mathewson (f6d66bc Kevin Bowling) 4992dedff36SNick Mathewson o Include evconfig-private.h in internal files for great good. (0915ca0 5002dedff36SNick Mathewson Kevin Bowling) 5012dedff36SNick Mathewson o Backport libevent to vanilla Autoconf 2.59 (as used in RHEL5) 5022dedff36SNick Mathewson (ad03952 Kevin Bowling) 5032dedff36SNick Mathewson o Prefer the ./configure evconfig-private.h in MinGW, just in 5042dedff36SNick Mathewson case. (f964b72 Kevin Bowling) 5052dedff36SNick Mathewson o Shell hack for weird mkdir -p commands (fd7b5a8 Kevin Bowling) 5062dedff36SNick Mathewson o Add evconfig-private to remaining files (ded0a09 Kevin Bowling) 5072dedff36SNick Mathewson o Allow use of --enable-silent-rules for quieter compilation with 5082dedff36SNick Mathewson automake 1.11 (f1f8514 Dave Hart) 5092dedff36SNick Mathewson o Use "_WIN32", not WIN32: it's standard and we don't need to fake it 5102dedff36SNick Mathewson (9f560b) 5112dedff36SNick Mathewson o In configure, test for _WIN32 not WIN32. (85078b1 Peter Rosin) 5122dedff36SNick Mathewson o Do not define WIN32 in Makefile.nmake (d41f3ea Peter Rosin) 5132dedff36SNick Mathewson o Provide the autoconf m4 macros for the new OpenSSL via pkg-config 5142dedff36SNick Mathewson stuff. (674dc3d Harlan Stenn) 5152dedff36SNick Mathewson o Use pkg-config (if available) to handle OpenSSL. (1c63860 Harlan Stenn) 5162dedff36SNick Mathewson o We need AM_CPPFLAGS when compiling bufferevent_openssl.c (6d2613b 5172dedff36SNick Mathewson Harlan Stenn) 5182dedff36SNick Mathewson o Fix OSX build: $(OPENSSL_INCS) needs to be after 5192dedff36SNick Mathewson $(AM_CPPFLAGS). (46f1769 Zack Weinberg) 5202dedff36SNick Mathewson o Make gcc warnings on by default, and --enable-gcc-warnings only add 5212dedff36SNick Mathewson -Werror (d46517e Sebastian Hahn) 5222dedff36SNick Mathewson o Split up extra-long AC_CHECK_FUNCS/HEADERS lines in configure.in (88a30ad) 5232dedff36SNick Mathewson o Move libevent 1.x headers to include/, to put all public headers in 5242dedff36SNick Mathewson one place. (bbea8d6) 5252dedff36SNick Mathewson o Put #ifdef around some files to support alternate build 5262dedff36SNick Mathewson systems. (76d4c92 Ross Lagerwall) 5272dedff36SNick Mathewson o Also make win32select.c conditional for IDE users (bf2c5a7) 528edc6d7d7SNick Mathewson 5292dedff36SNick Mathewson Debugging: 5302dedff36SNick Mathewson o Add a magic number to debug_locks to better catch lock-coding 5312dedff36SNick Mathewson errors. (b4a29c0 Dave Hart) 5322dedff36SNick Mathewson o munge the debug_lock signature before freeing it: it might help us 5332dedff36SNick Mathewson catch use-after-free (f28084d) 5342dedff36SNick Mathewson o Added --enable-event-debugging in configure (bc7b4e4, a9c2c9a Mark Ellzey) 5352dedff36SNick Mathewson o Debug addition for printing usec on TIMEOUT debugging. (ac43ce0 Mark Ellzey) 5362dedff36SNick Mathewson o Added usec debug in another area for debug (3baab0d Mark Ellzey) 5372dedff36SNick Mathewson o added timeout debug logs to include event ptr. (4b7d298 Mark Ellzey) 5382dedff36SNick Mathewson o more event dbg updates (6727543 Mark Ellzey) 5392dedff36SNick Mathewson o Clarify event_enable_debug_logging a little (6207826) 5402dedff36SNick Mathewson o Make --enable-verbose-debug option match its help text (10c3450) 5412dedff36SNick Mathewson o Add argument checks to some memory functions in `event.c'. (c8953d1 5422dedff36SNick Mathewson Mansour Moufid) 54334045c8fSNick Mathewson 5442dedff36SNick Mathewson Testing: 5452dedff36SNick Mathewson o More abstraction in test.sh (cd74c4e) 5462dedff36SNick Mathewson o Add failing test for evbuffer_search_range. (8e26154 Nir Soffer) 5472dedff36SNick Mathewson o Tweaks to return types with end-of-buf ptrs (9ab8ab8) 5482dedff36SNick Mathewson o Add an (internal) usleep function for use by unit tests (f25d9d3) 5492dedff36SNick Mathewson o Synchronize with upstream tinytest (6c81be7) 5502dedff36SNick Mathewson o Make test-changelist faster (7622d26) 5512dedff36SNick Mathewson o Reduce the timeout in the main/fork test. (ab14f7c) 5522dedff36SNick Mathewson o New evhttp function to adjust initial retry timeout (350a3c4) 5532dedff36SNick Mathewson o Make regression tests run over 3x faster. (67a1763) 5542dedff36SNick Mathewson o Use test_timeval_diff_eq more consistently (b77b43f) 5552dedff36SNick Mathewson o Allow more slop in deferred_cb_skew test; freebsd needs it (b9f7e5f) 5562dedff36SNick Mathewson o When including an -internal.h header outside the main tree, do so 5572dedff36SNick Mathewson early (95e2455) 5582dedff36SNick Mathewson o Add a new test: test-fdleak which tests for fd leaks by creating many 5592dedff36SNick Mathewson sockets. (2ef9278 Ross Lagerwall, f7af194, 1c4288f, etc) 5602dedff36SNick Mathewson o Add a unit test for event_base_dump_events() (7afe48a, 8d08cce) 5612dedff36SNick Mathewson o Test more bufferevent_ratelim features (c24f91a) 56234045c8fSNick Mathewson 5632dedff36SNick Mathewson Documentation: 5642dedff36SNick Mathewson o Improve evbuffer_ptr documentation (261ba63) 56588b4f0bbSNick Mathewson o added comments to describe refcounting of multicast chains (ba24f61 5662dedff36SNick Mathewson Joachim Bauch) 5672dedff36SNick Mathewson o Add doxygen for event_base_dump_events (cad5753) 56831c99bd2SNick Mathewson 5692dedff36SNick Mathewson OSX: 5702dedff36SNick Mathewson o Use "unlimited select" on OSX so that we can have more than 5712dedff36SNick Mathewson FD_SETSIZE fds (1fb5cc6) 57234045c8fSNick Mathewson 5732dedff36SNick Mathewson KQueue: 5742dedff36SNick Mathewson o Use SIG_IGN instead of a do-nothing handler for signal events with 5752dedff36SNick Mathewson kqueue (148458e Zack Weinberg) 57634045c8fSNick Mathewson 5772dedff36SNick Mathewson evprc: 5782dedff36SNick Mathewson o event_rpcgen.py now prints status information to stdout and errors to 5792dedff36SNick Mathewson stderr. (ffb0ba0 Ross Lagerwall) 58034045c8fSNick Mathewson 5812dedff36SNick Mathewson Code improvement and refactoring: 5822dedff36SNick Mathewson o Make event_reinit() more robust and maintainable (272033e) 5832dedff36SNick Mathewson o Restore fast-path event_reinit() for slower backends (2c4b5de) 5842dedff36SNick Mathewson o Check changelist as part of checking representational integrity (39b3f38) 5852dedff36SNick Mathewson o Fix a compile warning in event_reinit (e4a56ed Sebastian Hahn) 5862dedff36SNick Mathewson o Refactor the functions that run over every event. (c89b4e6) 5872dedff36SNick Mathewson o Remove the last vestiges of _EVENT_USE_EVENTLIST (a3cec90) 5882dedff36SNick Mathewson o Make event-config.h depend on Makefile.am (2958a5c) 58934045c8fSNick Mathewson 5902dedff36SNick Mathewson Build fixes: 5912dedff36SNick Mathewson o Don't do clang version detection when disabling some flags (083296b 5922dedff36SNick Mathewson Sebastian Hahn) 59334045c8fSNick Mathewson 5942dedff36SNick Mathewson C standards conformance: 5952dedff36SNick Mathewson o Check for NULL return on win32 mm_calloc, and set ENOMEM. (af7ba69) 5962dedff36SNick Mathewson o Convert event-config.h macros to avoid reserved identifiers (68120d9) 5972dedff36SNick Mathewson o Generate event-config.h using the correct macros. (f82c57e) 5982dedff36SNick Mathewson o Convert include-guard macro convention to avoid reserved identifiers 5992dedff36SNick Mathewson (3f8c7cd) 60088b4f0bbSNick Mathewson o Make event_rpcgen.py output conform to identifier conventions (372bff1) 6012dedff36SNick Mathewson o Stop referring to an obsolete include guard in bench_http.h (5c0f7e0) 6022dedff36SNick Mathewson o Make the generated event-config.h use correct include guards (639383a) 6032dedff36SNick Mathewson o Fix all identifiers with names beginning with underscore. (cb9da0b) 60488b4f0bbSNick Mathewson o Make event_rpcgen.py output conform to identifier conventions, more 6052dedff36SNick Mathewson (bcefd24) 6062dedff36SNick Mathewson o Fix some problems introduced by automated identifier cleanup script 6072dedff36SNick Mathewson (c963534) 6082dedff36SNick Mathewson o Have all visible internal function names end with an underscore. (8ac3c4c) 6092dedff36SNick Mathewson o Apply the naming convention to our EVUTIL_IS* functions (c7848fa) 6102dedff36SNick Mathewson o Clean up lingering _identifiers. (946b584) 6112dedff36SNick Mathewson o Fix doxygen to use new macro conventions (da455e9) 6127c3e0612SNick Mathewson 6132dedff36SNick Mathewson Bugfixes: 6142dedff36SNick Mathewson o Do not use system EAI/AI values if we are not using the system 6152dedff36SNick Mathewson getaddrinfo. (7bcac07) 6167c3e0612SNick Mathewson 6172dedff36SNick Mathewson Sample Code: 6182dedff36SNick Mathewson o Fix up sample/event-test.c to use newer interfaces and make it 6192dedff36SNick Mathewson actually work. (19bab4f Ross Lagerwall) 6202dedff36SNick Mathewson o On Unix, remove event.fifo left by sample/event-test.c. (c0dacd2 Ross 6212dedff36SNick Mathewson Lagerwall) 6222dedff36SNick Mathewson o Rename event-test.c to event-read-fifo.c. (a5b370a Ross Lagerwall) 6232dedff36SNick Mathewson o event-read-fifo: Use EV_PERSIST appropriately (24dab0b) 62415be0493SNick Mathewson 6251aa6826fSNiels Provos 62687bef9e9SNiels Provos 62711a0a9e4SNiels Provos 628