1*663afb9bSAndroid Build Coastguard WorkerChanges in version 2.0.21-stable (18 Nov 2012) 2*663afb9bSAndroid Build Coastguard WorkerBUGFIXES: 3*663afb9bSAndroid Build Coastguard Worker o ssl: Don't discard SSL read event when timeout and read come close together (576b29f) 4*663afb9bSAndroid Build Coastguard Worker o ssl: Stop looping in "consider_reading" if reading is suspended. (f719b8a Joachim Bauch) 5*663afb9bSAndroid Build Coastguard Worker o ssl: No need to reserve space if reading is suspended. (1acf2eb Joachim Bauch) 6*663afb9bSAndroid Build Coastguard Worker o dns: Avoid a memory-leak on OOM in evdns. (73e85dd, f2bff75 George Danchev) 7*663afb9bSAndroid Build Coastguard Worker o build: Use python2 rather than python (0eb0109 Ross Lagerwall) 8*663afb9bSAndroid Build Coastguard Worker o build: Compile without warnings on mingw64 (94866c2) 9*663afb9bSAndroid Build Coastguard Worker o build: Fix compilation on mingw64 with -DUSE_DEBUG (62bd2c4) 10*663afb9bSAndroid Build Coastguard Worker o build: Make rpcgen_wrapper.sh work on systems without a "python2" binary (f3009e4) 11*663afb9bSAndroid Build Coastguard Worker o iocp: Close IOCP listener socket on free when LEV_OPT_CLOSE_ON_FREE is set (cb853ea Juan Pablo Fernandez) 12*663afb9bSAndroid Build Coastguard Worker o core: Avoid crash when event_pending() called with no event_base set on event (e3cccf3) 13*663afb9bSAndroid Build Coastguard Worker o misc: remove stray 'x' so print_err will compile when uncommented (ac35650 Patrick Pelletier) 14*663afb9bSAndroid Build Coastguard Worker o tests: Fix renegotiation test to work around openssl 1.0.1 bug (c2f3086) 15*663afb9bSAndroid Build Coastguard Worker o tests: Warn when openssl version in unit test mismatches compiled version. (ac009f9) 16*663afb9bSAndroid Build Coastguard Worker 17*663afb9bSAndroid Build Coastguard Worker 18*663afb9bSAndroid Build Coastguard WorkerChanges in version 2.0.20-stable (23 Aug 2012) 19*663afb9bSAndroid Build Coastguard WorkerBUGFIXES: 20*663afb9bSAndroid Build Coastguard Worker o core: Make event_pending() threadsafe. (be7a95c Simon Liu) 21*663afb9bSAndroid Build Coastguard Worker o win32: avoid crash when waiting forever on zero fds. (160e58b) 22*663afb9bSAndroid Build Coastguard Worker o evhttp: Fix a memory leak on error in evhttp_uriencode (11c8b31) 23*663afb9bSAndroid Build Coastguard Worker o evbuffer: Avoid possible needless call to writev. Found by coverity. (6a4ec5c) 24*663afb9bSAndroid Build Coastguard Worker o evdns: memset sockaddr_in before using it. Found by coverity. (a1a0e67) 25*663afb9bSAndroid Build Coastguard Worker o evhttp: Check more setsockopt return values when binding sockets. Found by coverity (a0912e3) 26*663afb9bSAndroid Build Coastguard Worker o evdns: Avoid segfault on weird timeout during name lookup. (dc32077 Greg Hazel) 27*663afb9bSAndroid Build Coastguard Worker o bufferevent_ssl: Correctly invoke callbacks when a SSL bufferevent reads some and then blocks. (606ac43) 28*663afb9bSAndroid Build Coastguard Worker 29*663afb9bSAndroid Build Coastguard Worker 30*663afb9bSAndroid Build Coastguard WorkerPORTABILITY FIXES: 31*663afb9bSAndroid Build Coastguard Worker o check for arc4random_buf at runtime, on OS X (bff5f94 Greg Hazel) 32*663afb9bSAndroid Build Coastguard Worker o Correctly check for arc4random_buf (fcec3e8 Sebastian Hahn) 33*663afb9bSAndroid Build Coastguard Worker o Add explicit AC_PROG_SED to configure.in so all autoconfs will expose $(SED) (ca80ea6) 34*663afb9bSAndroid Build Coastguard Worker 35*663afb9bSAndroid Build Coastguard WorkerBUILD FIXES: 36*663afb9bSAndroid Build Coastguard Worker o Add GCC annotations so that the vsprintf functions get checked properly (117e327) 37*663afb9bSAndroid Build Coastguard Worker o Fix an unused variable warning on *BSD. (c0720c1) 38*663afb9bSAndroid Build Coastguard Worker 39*663afb9bSAndroid Build Coastguard WorkerUNIT TEST FIXES: 40*663afb9bSAndroid Build Coastguard Worker o Fix a couple of memory leaks (found with Valgrind). (3b2529a Ross Lagerwall) 41*663afb9bSAndroid Build Coastguard Worker o Remove deadcode in http regression tests. Found by coverity. (5553346) 42*663afb9bSAndroid Build Coastguard Worker o Fix possible uninitialized read in dns regression tests. Found by coverity. (2259777) 43*663afb9bSAndroid Build Coastguard Worker o Set umask before calling mkstemp in unit tests. Found by coverity (f1ce15d) 44*663afb9bSAndroid Build Coastguard Worker o Fix various check-after-dereference issues in unit tests: found by coverity (4f3732d) 45*663afb9bSAndroid Build Coastguard Worker o Fix resource leaks in the unit tests; found by coverity (270f279) 46*663afb9bSAndroid Build Coastguard Worker o Add some missing null checks to unit tests; found by coverity (f021c3d) 47*663afb9bSAndroid Build Coastguard Worker o Avoid more crashes/bad calls in unit tests; found by coverity (3cde5bf) 48*663afb9bSAndroid Build Coastguard Worker o Remove unused variable; spotted by coverity (6355b2a) 49*663afb9bSAndroid Build Coastguard Worker o Add checks to various return values in unit tests. Found by coverity (b9e7329) 50*663afb9bSAndroid Build Coastguard Worker o Move assignment outside tt_assert in ssl unit tests. Appeases coverity. (a2006c0) 51*663afb9bSAndroid Build Coastguard Worker 52*663afb9bSAndroid Build Coastguard Worker 53*663afb9bSAndroid Build Coastguard Worker 54*663afb9bSAndroid Build Coastguard WorkerChanges in version 2.0.19-stable (3 May 2012) 55*663afb9bSAndroid Build Coastguard WorkerBUGFIXES (CORE): 56*663afb9bSAndroid Build Coastguard Worker o Refactor event_persist_closure: raise and extract some common logic (bec22b4) 57*663afb9bSAndroid Build Coastguard Worker o If time has jumped so we'd reschedule a periodic event in the past, schedule it for the future instead (dfd808c) 58*663afb9bSAndroid Build Coastguard Worker o If a higher-priority event becomes active, don't continue running events of the current priority. (2bfda40) 59*663afb9bSAndroid Build Coastguard Worker 60*663afb9bSAndroid Build Coastguard WorkerBUGFIXES (SSL): 61*663afb9bSAndroid Build Coastguard Worker o Fixed potential double-readcb execution with openssl bufferevents. (4e62cd1 Mark Ellzey) 62*663afb9bSAndroid Build Coastguard Worker 63*663afb9bSAndroid Build Coastguard WorkerBUGFIXES (DNS): 64*663afb9bSAndroid Build Coastguard Worker o Cancel a probe request when the server is freed, and ignore cancelled probe callbacks (94d2336 Greg Hazel) 65*663afb9bSAndroid Build Coastguard Worker o Remove redundant DNS_ERR_CANCEL check, move comment (46b8060 Greg Hazel) 66*663afb9bSAndroid Build Coastguard Worker o When retransmitting a timed-out DNS request, pick a fresh nameserver. (3d9e52a) 67*663afb9bSAndroid Build Coastguard Worker 68*663afb9bSAndroid Build Coastguard WorkerDOCUMENTATION FIXES: 69*663afb9bSAndroid Build Coastguard Worker o Fix a typo in the bufferevent documentation (98e9119) 70*663afb9bSAndroid Build Coastguard Worker o Add missing ) to changelog; spotted by rransom (4c7ee6b) 71*663afb9bSAndroid Build Coastguard Worker o Fix the website URL in the readme (f775521) 72*663afb9bSAndroid Build Coastguard Worker 73*663afb9bSAndroid Build Coastguard WorkerCOMPILATION FIXES: 74*663afb9bSAndroid Build Coastguard Worker o Fix a compilation error with MSVC 2005 due to use of mode_t (336dcae) 75*663afb9bSAndroid Build Coastguard Worker o Configure with gcc older than 2.95 (4a6fd43 Sebastian Hahn) 76*663afb9bSAndroid Build Coastguard Worker o Generate event-config.h with a single sed script (30b6f88 Zack Weinberg) 77*663afb9bSAndroid Build Coastguard Worker 78*663afb9bSAndroid Build Coastguard WorkerFORWARD-COMPATIBILITY: 79*663afb9bSAndroid Build Coastguard Worker o Backport: provide EVENT_LOG_* names, and deprecate _EVENT_LOG_* (d1a03b2) 80*663afb9bSAndroid Build Coastguard Worker 81*663afb9bSAndroid Build Coastguard WorkerTESTING/DEBUGGING SUPPORT: 82*663afb9bSAndroid Build Coastguard Worker o dns-example.c can now take a resolv.conf file on the commandline (6610fa5) 83*663afb9bSAndroid Build Coastguard Worker o Make some evdns.c debug logs more verbose (d873d67) 84*663afb9bSAndroid Build Coastguard Worker o Work-around a stupid gcov-breaking bug in OSX 10.6 (b3887cd) 85*663afb9bSAndroid Build Coastguard Worker 86*663afb9bSAndroid Build Coastguard Worker 87*663afb9bSAndroid Build Coastguard Worker 88*663afb9bSAndroid Build Coastguard WorkerChanges in version 2.0.18-stable (22 Mar 2012) 89*663afb9bSAndroid Build Coastguard WorkerBUGFIXES (core): 90*663afb9bSAndroid Build Coastguard Worker o Make uses of open() close-on-exec safe by introducing an internal evutil_open_closeonexec. (d2b5f72 Ross Lagerwall, 03dce42) 91*663afb9bSAndroid Build Coastguard Worker 92*663afb9bSAndroid Build Coastguard WorkerBUGFIXES (kqueue): 93*663afb9bSAndroid Build Coastguard Worker o Properly zero the kevent in kq_setup_kevent() (c2c7b39 Sebastian Hahn) 94*663afb9bSAndroid Build Coastguard Worker 95*663afb9bSAndroid Build Coastguard WorkerBUILD FIXES: 96*663afb9bSAndroid Build Coastguard Worker o Added OPENSSL_LDFLAGS env variable which is appended to SSL checks. (9278196 Mark Ellzey) 97*663afb9bSAndroid Build Coastguard Worker o Changed OPENSSL_LDFLAGS to OPENSSL_LIBADD (2d67b63 Mark Ellzey) 98*663afb9bSAndroid Build Coastguard Worker o Don't do clang version detection when disabling some flags (083296b Sebastian Hahn) 99*663afb9bSAndroid Build Coastguard Worker 100*663afb9bSAndroid Build Coastguard WorkerBUGFIXES (dns): 101*663afb9bSAndroid Build Coastguard Worker o Stop crashing in evdns when nameserver probes give a weird error (bec5068) 102*663afb9bSAndroid Build Coastguard Worker 103*663afb9bSAndroid Build Coastguard Worker 104*663afb9bSAndroid Build Coastguard WorkerChanges in version 2.0.17-stable (10 Feb 2012) 105*663afb9bSAndroid Build Coastguard Worker 106*663afb9bSAndroid Build Coastguard WorkerBUGFIXES (core): 107*663afb9bSAndroid Build Coastguard Worker o Be absolutely sure to clear pncalls before leaving event_signal_closure (11f36a5) 108*663afb9bSAndroid Build Coastguard Worker o check for sysctl before we use it (358c745 Mike Frysinger) 109*663afb9bSAndroid Build Coastguard Worker o Remove bogus casts of socket to int before calling ev_callback (f032516) 110*663afb9bSAndroid Build Coastguard Worker o Make evconnlistener work around bug in older Linux when getting nmapped (ecfc720) 111*663afb9bSAndroid Build Coastguard Worker o Fix a list corruption bug when using event_reinit() with signals present (6e41cdc) 112*663afb9bSAndroid Build Coastguard Worker o Fix a fd leak in event_reinit() (3f18ad1) 113*663afb9bSAndroid Build Coastguard Worker o Do a memberwise comparison of threading function tables (c94a5f2 Nate R) 114*663afb9bSAndroid Build Coastguard Worker o Use C-style comments in C source files (for compatibility with compilers such as xlc on AIX). (d84d917 Greg Hewgill) 115*663afb9bSAndroid Build Coastguard Worker o Avoid crash when freeing event_iocp and using event_set_mem_functions (19715a6) 116*663afb9bSAndroid Build Coastguard Worker o In the kqueue backend, do not report EBADF as an EV_READ (5d7bfa1 Nicholas Marriott) 117*663afb9bSAndroid Build Coastguard Worker 118*663afb9bSAndroid Build Coastguard WorkerBUGFIXES (evbuffer and bufferevents): 119*663afb9bSAndroid Build Coastguard Worker o Fix behavior of evbuffer_peek(buf,-1,NULL,NULL,0) (c986f23 Zack Weinberg) 120*663afb9bSAndroid Build Coastguard Worker o Loop on filtering SSL reads until we are blocked or exhausted. (5b4b812) 121*663afb9bSAndroid Build Coastguard Worker 122*663afb9bSAndroid Build Coastguard WorkerBUGFIXES (evhttp): 123*663afb9bSAndroid Build Coastguard Worker o Force strict validation of HTTP version in response. (790f6b3 Catalin Patulea) 124*663afb9bSAndroid Build Coastguard Worker 125*663afb9bSAndroid Build Coastguard WorkerBUGFIXES (evdns): 126*663afb9bSAndroid Build Coastguard Worker o evdns: fix a bug in circular-queue implementation (d6094b1) 127*663afb9bSAndroid Build Coastguard Worker 128*663afb9bSAndroid Build Coastguard WorkerBUILD FIXES: 129*663afb9bSAndroid Build Coastguard Worker o Fix a silly compilation error with the sun compiler (1927776 Colin Watt) 130*663afb9bSAndroid Build Coastguard Worker o Suppress a gcc warning from ignoring fwrite return in http-sample.c (7206e8c) 131*663afb9bSAndroid Build Coastguard Worker 132*663afb9bSAndroid Build Coastguard WorkerDOCUMENTATION FIXES: 133*663afb9bSAndroid Build Coastguard Worker o Slightly clarify evbuffer_peek documentation (7bbf6ca) 134*663afb9bSAndroid Build Coastguard Worker o Update copyright notices to 2012 (e49e289) 135*663afb9bSAndroid Build Coastguard Worker 136*663afb9bSAndroid Build Coastguard WorkerNEW APIS: 137*663afb9bSAndroid Build Coastguard Worker o Backport evhttp_connection_get_bufferevent to Libevent 2.0 (da70fa7 Arno Bakker) 138*663afb9bSAndroid Build Coastguard Worker 139*663afb9bSAndroid Build Coastguard WorkerTESTS AND TEST FIXES: 140*663afb9bSAndroid Build Coastguard Worker o Fix a race condition in the dns/bufferevent_connect_hostname test. (cba48c7) 141*663afb9bSAndroid Build Coastguard Worker o Add function to check referential integrity of an event_base (27737d5) 142*663afb9bSAndroid Build Coastguard Worker o Check event_base correctness at end of each unit test (3312b02) 143*663afb9bSAndroid Build Coastguard Worker o Workaround in the unit tests for an apparent epoll bug in Linux 3.2 (dab9187) 144*663afb9bSAndroid Build Coastguard Worker o Better workaround for Linux 3.2 edge-triggered epoll bug (9f9e259) 145*663afb9bSAndroid Build Coastguard Worker 146*663afb9bSAndroid Build Coastguard WorkerChanges in version 2.0.16-stable (18 Nov 2011) 147*663afb9bSAndroid Build Coastguard WorkerBUGFIXES (core): 148*663afb9bSAndroid Build Coastguard Worker o More detailed message in case of libevent self-debugging failure. (9e6a4ef Leonid Evdokimov) 149*663afb9bSAndroid Build Coastguard Worker o epoll: close fd on alloc fail at initialization (1aee718 Jamie Iles) 150*663afb9bSAndroid Build Coastguard Worker o Fix compile warning from saying event2/*.h inside a comment (447b0ba) 151*663afb9bSAndroid Build Coastguard Worker o Warn when unable to construct base because of failing make_base_notifiable (4e797f3) 152*663afb9bSAndroid Build Coastguard Worker o Don't try to make notifiable event_base when no threading fns are configured (e787413) 153*663afb9bSAndroid Build Coastguard Worker 154*663afb9bSAndroid Build Coastguard WorkerBUGFIXES (evbuffer): 155*663afb9bSAndroid Build Coastguard Worker o unit test for remove_buffer bug (90bd620 Greg Hazel) 156*663afb9bSAndroid Build Coastguard Worker o Fix an evbuffer crash in evbuffer_remove_buffer() (c37069c) 157*663afb9bSAndroid Build Coastguard Worker 158*663afb9bSAndroid Build Coastguard WorkerBUGFIXES (bufferevent_openssl): 159*663afb9bSAndroid Build Coastguard Worker o Refactor amount-to-read calculations in buffervent_ssl consider_reading() (a186e73 Mark Ellzey) 160*663afb9bSAndroid Build Coastguard Worker o Move SSL rate-limit enforcement into bytes_to_read() (96c562f) 161*663afb9bSAndroid Build Coastguard Worker o Avoid spinning on OpenSSL reads (2aa036f Mark Ellzey) 162*663afb9bSAndroid Build Coastguard Worker 163*663afb9bSAndroid Build Coastguard WorkerBUGFIXES (dns) 164*663afb9bSAndroid Build Coastguard Worker o Empty DNS reply with OK status is another way to say NODATA. (21a08d6 Leonid Evdokimov) 165*663afb9bSAndroid Build Coastguard Worker 166*663afb9bSAndroid Build Coastguard WorkerTESTING: 167*663afb9bSAndroid Build Coastguard Worker o Tests for 94fba5b and f72e8f6 (d58c15e Leonid Evdokimov) 168*663afb9bSAndroid Build Coastguard Worker o Test for commit aff6ba1 (f7841bf Leonid Evdokimov) 169*663afb9bSAndroid Build Coastguard Worker o Style and comment tweaks for dns/leak* tests (5e42202) 170*663afb9bSAndroid Build Coastguard Worker o improve test to remove at least one buffer from src (7eb52eb Greg Hazel) 171*663afb9bSAndroid Build Coastguard Worker 172*663afb9bSAndroid Build Coastguard WorkerDOCUMENTATION: 173*663afb9bSAndroid Build Coastguard Worker o Add note about evhttp_send_reply_end to its doxygen (724bfb5) 174*663afb9bSAndroid Build Coastguard Worker o Update copyright dates to 2011. (3c824bd) 175*663afb9bSAndroid Build Coastguard Worker o Fix typo in whatsnew-2.0.txt (674bc6a Mansour Moufid) 176*663afb9bSAndroid Build Coastguard Worker o Improve win32 behavior of dns-sample.c code (a3f320e Gisle Vanem) 177*663afb9bSAndroid Build Coastguard Worker 178*663afb9bSAndroid Build Coastguard Worker 179*663afb9bSAndroid Build Coastguard Worker 180*663afb9bSAndroid Build Coastguard WorkerChanges in version 2.0.15-stable (12 Oct 2011) 181*663afb9bSAndroid Build Coastguard WorkerBUGFIXES (DNS): 182*663afb9bSAndroid Build Coastguard Worker o DNS: add ttl for negative answers using RFC 2308 idea. (f72e8f6 Leonid Evdokimov) 183*663afb9bSAndroid Build Coastguard Worker o Add DNS_ERR_NODATA error code to handle empty replies. (94fba5b Leonid Evdokimov) 184*663afb9bSAndroid Build Coastguard Worker 185*663afb9bSAndroid Build Coastguard WorkerBUFGIXES (bufferevents and evbuffers): 186*663afb9bSAndroid Build Coastguard Worker o Make evbuffer callbacks get the right n_added value after evbuffer_add (1ef1f68 Alex) 187*663afb9bSAndroid Build Coastguard Worker o Prefer mmap to sendfile unless a DRAINS_TO_FD flag is set. Allows add_file to work with SSL. (0ba0af9) 188*663afb9bSAndroid Build Coastguard Worker 189*663afb9bSAndroid Build Coastguard WorkerBUGFIXES (event loop): 190*663afb9bSAndroid Build Coastguard Worker o When a signal callback is activated to run multiple times, allow event_base_loopbreak to work even before they all have run. (4e8eb6a) 191*663afb9bSAndroid Build Coastguard Worker 192*663afb9bSAndroid Build Coastguard WorkerDOCUMENTATION FIXES: 193*663afb9bSAndroid Build Coastguard Worker o Fix docstring in dns.h (2b6eae5 Leonid Evdokimov) 194*663afb9bSAndroid Build Coastguard Worker o refer to non-deprecated evdns functions in comments (ba5c27d Greg Hazel) 195*663afb9bSAndroid Build Coastguard Worker 196*663afb9bSAndroid Build Coastguard WorkerBUILD AND TESTING FIXES: 197*663afb9bSAndroid Build Coastguard Worker o le-proxy and regress depend on openssl directly (9ae061a Sergey Avseyev) 198*663afb9bSAndroid Build Coastguard Worker o Use _SOURCES, not _sources, in sample/Makefile.am (7f82382) 199*663afb9bSAndroid Build Coastguard Worker o Fixed compiler warnings for unchecked read/write calls. (c3b62fd Mark Ellzey) 200*663afb9bSAndroid Build Coastguard Worker o Make write-checking fixes use tt_fail_perror (2b76847) 201*663afb9bSAndroid Build Coastguard Worker o Fix some "value never used" warnings with gcc 4.6.1 (39c0cf7) 202*663afb9bSAndroid Build Coastguard Worker 203*663afb9bSAndroid Build Coastguard Worker 204*663afb9bSAndroid Build Coastguard Worker 205*663afb9bSAndroid Build Coastguard WorkerChanges in version 2.0.14-stable (31 Aug 2011) 206*663afb9bSAndroid Build Coastguard WorkerBUGFIXES (bufferevents and evbuffers): 207*663afb9bSAndroid Build Coastguard Worker o Propagate errors on the underlying bufferevent to the user. (4a34394 Joachim Bauch) 208*663afb9bSAndroid Build Coastguard Worker o Ignore OpenSSL deprecation warnings on OS X (5d1b255 Sebastian Hahn) 209*663afb9bSAndroid Build Coastguard Worker o Fix handling of group rate limits under 64 bytes of burst (6d5440e) 210*663afb9bSAndroid Build Coastguard Worker o Solaris sendfile: correctly detect amount of data sent (643922e Michael Herf) 211*663afb9bSAndroid Build Coastguard Worker o Make rate limiting work with common_timeout logic (5b18f13) 212*663afb9bSAndroid Build Coastguard Worker o clear read watermark on underlying bufferevent when creating filtering bev to fix potentially failing fragmented ssl handshakes (54f7e61 Joachim Bauch) 213*663afb9bSAndroid Build Coastguard Worker 214*663afb9bSAndroid Build Coastguard WorkerBUGFIXES (IOCP): 215*663afb9bSAndroid Build Coastguard Worker o IOCP: don't launch reads or writes on an unconnected socket (495c227) 216*663afb9bSAndroid Build Coastguard Worker o Make IOCP rate-limiting group support stricter and less surprising. (a98da7b) 217*663afb9bSAndroid Build Coastguard Worker o Have test-ratelim.c support IOCP (0ff2c5a) 218*663afb9bSAndroid Build Coastguard Worker o Make overlapped reads result in evbuffer callbacks getting invoked (6acfbdd) 219*663afb9bSAndroid Build Coastguard Worker o Correctly terminate IO on an async bufferevent on bufferevent_free (e6af35d) 220*663afb9bSAndroid Build Coastguard Worker 221*663afb9bSAndroid Build Coastguard WorkerBUGFIXES (other): 222*663afb9bSAndroid Build Coastguard Worker o Fix evsig_dealloc memory leak with debugging turned on. (9b724b2 Leonid Evdokimov) 223*663afb9bSAndroid Build Coastguard Worker o Fix request_finished memory leak with debugging turned on. (aff6ba1 Leonid Evdokimov) 224*663afb9bSAndroid Build Coastguard Worker 225*663afb9bSAndroid Build Coastguard WorkerBUILD AND TESTING FIXES: 226*663afb9bSAndroid Build Coastguard Worker o Allow OS-neutral builds for platforms where some versions have arc4random_buf (b442302 Mitchell Livingston) 227*663afb9bSAndroid Build Coastguard Worker o Try to fix 'make distcheck' errors when building out-of-tree (04656ea Dave Hart) 228*663afb9bSAndroid Build Coastguard Worker o Clean up some problems identified by Coverity. (7c11e51 Harlan Stenn) 229*663afb9bSAndroid Build Coastguard Worker 230*663afb9bSAndroid Build Coastguard Worker 231*663afb9bSAndroid Build Coastguard WorkerChanges in version 2.0.13-stable (18 Jul 2011) 232*663afb9bSAndroid Build Coastguard WorkerBUGFIXES 233*663afb9bSAndroid Build Coastguard Worker o Avoid race-condition when initializing global locks (b683cae) 234*663afb9bSAndroid Build Coastguard Worker o Fix bug in SSL bufferevents backed by a bev with a write high-watermarks (e050703 Joachim Bauch) 235*663afb9bSAndroid Build Coastguard Worker o Speed up invoke_callbacks on evbuffers when there are no callbacks (f87f568 Mark Ellzey) 236*663afb9bSAndroid Build Coastguard Worker o Avoid a segfault when all methods are disabled or broken (27ce38b) 237*663afb9bSAndroid Build Coastguard Worker o Fix incorrect results from evbuffer_search_eol(EOL_LF) (4461f1a) 238*663afb9bSAndroid Build Coastguard Worker o Add some missing checks for mm_calloc failures (89d5e09) 239*663afb9bSAndroid Build Coastguard Worker o Replace an assertion for event_base_free(NULL) with a check-and-warn (09fe97d) 240*663afb9bSAndroid Build Coastguard Worker o Report kqueue ebadf, epipe, and eperm as EV_READ events (1fd34ab) 241*663afb9bSAndroid Build Coastguard Worker o Check if the `evhttp_new_object' function in `http.c' returns NULL. (446cc7a Mansour Moufid) 242*663afb9bSAndroid Build Coastguard Worker o Use the correct printf args when formatting size_t (3203f88) 243*663afb9bSAndroid Build Coastguard Worker o Complain if the caller tries to change threading cbs after setting them (cb6ecee) 244*663afb9bSAndroid Build Coastguard Worker 245*663afb9bSAndroid Build Coastguard WorkerDOCUMENTATION FIXES AND IMPROVEMENTS 246*663afb9bSAndroid Build Coastguard Worker o Revise the event/evbuffer/bufferevent doxygen for clarity and accuracy (2888fac) 247*663afb9bSAndroid Build Coastguard Worker o Update Doxyfile to produce more useful output (aea0555) 248*663afb9bSAndroid Build Coastguard Worker 249*663afb9bSAndroid Build Coastguard WorkerTEST FIXES 250*663afb9bSAndroid Build Coastguard Worker o Fix up test_evutil_snprintf (caf695a) 251*663afb9bSAndroid Build Coastguard Worker o Fix tinytest invocation from windows shell (57def34 Ed Day) 252*663afb9bSAndroid Build Coastguard Worker 253*663afb9bSAndroid Build Coastguard WorkerBUILD FIXES 254*663afb9bSAndroid Build Coastguard Worker o Use AM_CPPFLAGS in sample/Makefile.am, not AM_CFLAGS (4a5c82d) 255*663afb9bSAndroid Build Coastguard Worker o Fix select.c compilation on systems with no NFDBITS (49d1136) 256*663afb9bSAndroid Build Coastguard Worker o Fix a few warnings on OpenBSD (8ee9f9c Nicholas Marriott) 257*663afb9bSAndroid Build Coastguard Worker o Don't break when building tests from git without python installed (b031adf) 258*663afb9bSAndroid Build Coastguard Worker o Don't install event_rpcgen.py when --disable-libevent-install is used (e23cda3 Harlan Stenn) 259*663afb9bSAndroid Build Coastguard Worker o Fix AIX build issue with TAILQ_FOREACH definition (e934096) 260*663afb9bSAndroid Build Coastguard Worker 261*663afb9bSAndroid Build Coastguard Worker 262*663afb9bSAndroid Build Coastguard WorkerChanges in version 2.0.12-stable (4 Jun 2011) 263*663afb9bSAndroid Build Coastguard WorkerBUGFIXES 264*663afb9bSAndroid Build Coastguard Worker o Fix a warn-and-fail bug in kqueue by providing kevent() room to report errors (28317a0) 265*663afb9bSAndroid Build Coastguard Worker o Fix an assert-inducing fencepost bug in the select backend (d90149d) 266*663afb9bSAndroid Build Coastguard Worker o Fix failing http assertion introducd in commit 0d6622e (0848814 Kevin Ko) 267*663afb9bSAndroid Build Coastguard Worker o Fix a bug that prevented us from configuring IPv6 nameservers. (74760f1) 268*663afb9bSAndroid Build Coastguard Worker o Prevent size_t overflow in evhttp_htmlescape. (06c51cd Mansour Moufid) 269*663afb9bSAndroid Build Coastguard Worker o Added several checks for under/overflow conditions in evhttp_handle_chunked_read (a279272 Mark Ellzey) 270*663afb9bSAndroid Build Coastguard Worker o Added overflow checks in evhttp_read_body and evhttp_get_body (84560fc Mark Ellzey) 271*663afb9bSAndroid Build Coastguard Worker 272*663afb9bSAndroid Build Coastguard WorkerDOCUMENTATION: 273*663afb9bSAndroid Build Coastguard Worker o Add missing words to EVLOOP_NONBLOCK documentation (9556a7d) 274*663afb9bSAndroid Build Coastguard Worker 275*663afb9bSAndroid Build Coastguard WorkerBUILD FIXES 276*663afb9bSAndroid Build Coastguard Worker o libssl depends on libcrypto, not the other way around. (274dd03 Peter Rosin) 277*663afb9bSAndroid Build Coastguard Worker o Libtool brings in the dependencies of libevent_openssl.la automatically (7b819f2 Peter Rosin) 278*663afb9bSAndroid Build Coastguard Worker o Use OPENSSL_LIBS in Makefile.am (292092e Sebastian Hahn) 279*663afb9bSAndroid Build Coastguard Worker o Move the win32 detection in configure.in (ceb03b9 Sebastian Hahn) 280*663afb9bSAndroid Build Coastguard Worker o Correctly detect openssl on windows (6619385 Sebastian Hahn) 281*663afb9bSAndroid Build Coastguard Worker o Fix a compile warning with zlib 1.2.4 and 1.2.5 (5786b91 Sebastian Hahn) 282*663afb9bSAndroid Build Coastguard Worker o Fix compilation with GCC 2, which had no __builtin_expect (09d39a1 Dave Hart) 283*663afb9bSAndroid Build Coastguard Worker o Fix new warnings from GCC 4.6 (06a714f) 284*663afb9bSAndroid Build Coastguard Worker o Link with -lshell32 and -ladvapi32 on Win32. (86090ee Peter Rosin) 285*663afb9bSAndroid Build Coastguard Worker o Make the tests build when OpenSSL is not available. (07c41be Peter Rosin) 286*663afb9bSAndroid Build Coastguard Worker o Bring in the compile script from automake, if needed. (f3c7a4c Peter Rosin) 287*663afb9bSAndroid Build Coastguard Worker o MSVC does not provide S_ISDIR, so provide it manually. (70be7d1 Peter Rosin) 288*663afb9bSAndroid Build Coastguard Worker o unistd.h and sys/time.h might not exist. (fe93022 Peter Rosin) 289*663afb9bSAndroid Build Coastguard Worker o Make sure TINYTEST_LOCAL is defined when building tinytest.c (8fa030c Peter Rosin) 290*663afb9bSAndroid Build Coastguard Worker o Fix winsock2.h #include issues with MSVC (3d768dc Peter Rosin) 291*663afb9bSAndroid Build Coastguard Worker o Use evutil_gettimeofday instead of relying on the system gettimeofday. (0de87fe Peter Rosin) 292*663afb9bSAndroid Build Coastguard Worker o Always use evutil_snprintf, even if OS provides it (d1b2d11 Sebastian Hahn) 293*663afb9bSAndroid Build Coastguard Worker o InitializeCriticalSectionAndSpinCount requires _WIN32_WINNT >= 0x0403. (816115a Peter Rosin) 294*663afb9bSAndroid Build Coastguard Worker o cygwin: make it possible to build DLLs (d54d3fc) 295*663afb9bSAndroid Build Coastguard Worker 296*663afb9bSAndroid Build Coastguard Worker 297*663afb9bSAndroid Build Coastguard Worker 298*663afb9bSAndroid Build Coastguard WorkerChanges in version 2.0.11-stable (27 Apr 2011) 299*663afb9bSAndroid Build Coastguard Worker [Autogenerated from the Git log, sorted and cleaned by hand.] 300*663afb9bSAndroid Build Coastguard WorkerBUGFIXES: 301*663afb9bSAndroid Build Coastguard Worker o Fix evport handling of POLLHUP and POLLERR (b42ce4b) 302*663afb9bSAndroid Build Coastguard Worker o Fix compilation on Windows with NDEBUG (cb8059d) 303*663afb9bSAndroid Build Coastguard Worker o Check for POLLERR, POLLHUP and POLLNVAL for Solaris event ports (0144886 Trond Norbye) 304*663afb9bSAndroid Build Coastguard Worker o Detect and handle more allocation failures. (666b096 Jardel Weyrich) 305*663afb9bSAndroid Build Coastguard Worker o Use event_err() only if the failure is truly unrecoverable. (3f8d22a Jardel Weyrich) 306*663afb9bSAndroid Build Coastguard Worker o Handle resize failures in the select backend better. (83e805a) 307*663afb9bSAndroid Build Coastguard Worker o Correctly free selectop fields when select_resize fails in select_init (0c0ec0b) 308*663afb9bSAndroid Build Coastguard Worker o Make --enable-gcc-warnings a no-op if not using gcc (3267703) 309*663afb9bSAndroid Build Coastguard Worker o Fix a type error in our (unused) arc4random_stir() (f736198) 310*663afb9bSAndroid Build Coastguard Worker o Correctly detect and stop non-chunked http requests when the body is too long (63a715e) 311*663afb9bSAndroid Build Coastguard Worker o Have event_base_gettimeofday_cached() always return wall-clock time (a459ef7) 312*663afb9bSAndroid Build Coastguard Worker o Workaround for http crash bug 3078187 (5dc5662 Tomash Brechko) 313*663afb9bSAndroid Build Coastguard Worker o Fix incorrect assertions and possible use-after-free in evrpc_free() (4b8f02f Christophe Fillot) 314*663afb9bSAndroid Build Coastguard Worker o Reset outgoing http connection when read data in idle state. (272823f Tomash Brechko) 315*663afb9bSAndroid Build Coastguard Worker o Fix subtle recursion in evhttp_connection_cb_cleanup(). (218cf19 Tomash Brechko) 316*663afb9bSAndroid Build Coastguard Worker o Fix the case when failed evhttp_make_request() leaved request in the queue. (0d6622e Tomash Brechko) 317*663afb9bSAndroid Build Coastguard Worker o Fix a crash bug in evdns server circular list code (00e91b3) 318*663afb9bSAndroid Build Coastguard Worker o Handle calloc failure in evdns. (Found by Dave Hart) (364291e) 319*663afb9bSAndroid Build Coastguard Worker o Fix a memory leak on win32 socket->event map. (b4f89f0) 320*663afb9bSAndroid Build Coastguard Worker o Add a forgotten NULL check to evhttp_parse_headers (12311ff Sebastian Hahn) 321*663afb9bSAndroid Build Coastguard Worker o Fix possible NULL-deref in evdns_cancel_request (5208544 Sebastian Hahn) 322*663afb9bSAndroid Build Coastguard Worker 323*663afb9bSAndroid Build Coastguard WorkerPORTABILITY: 324*663afb9bSAndroid Build Coastguard Worker o Fall back to sscanf if we have no other way to implement strtoll (453317b) 325*663afb9bSAndroid Build Coastguard Worker o Build correctly on platforms without sockaddr_storage (9184563) 326*663afb9bSAndroid Build Coastguard Worker o Try to build correctly on platforms with no IPv6 support (713c254) 327*663afb9bSAndroid Build Coastguard Worker o Build on systems without AI_PASSIVE (cb92113) 328*663afb9bSAndroid Build Coastguard Worker o Fix http unit test on non-windows platforms without getaddrinfo (6092f12) 329*663afb9bSAndroid Build Coastguard Worker o Do not check for gethostbyname_r versions if we have getaddrinfo (c1260b0) 330*663afb9bSAndroid Build Coastguard Worker o Include arpa/inet.h as needed on HPUX (10c834c Harlan Stenn) 331*663afb9bSAndroid Build Coastguard Worker o Include util-internal.h as needed to build on platforms with no sockaddr_storage (bbf5515 Harlan Stenn) 332*663afb9bSAndroid Build Coastguard Worker o Check for getservbyname even if not on win32. (af08a94 Harlan Stenn) 333*663afb9bSAndroid Build Coastguard Worker o Add -D_OSF_SOURCE to fix hpux builds (0b33479 Harlan Stenn) 334*663afb9bSAndroid Build Coastguard Worker o Check for allocation failures in apply_socktype_protocol_hack (637d17a) 335*663afb9bSAndroid Build Coastguard Worker o Fix the check for multicast or broadcast addresses in evutil_check_interfaces (1a21d7b) 336*663afb9bSAndroid Build Coastguard Worker o Avoid a free(NULL) if out-of-memory in evdns_getaddrinfo. Found by Dave Hart (3417f68) 337*663afb9bSAndroid Build Coastguard Worker 338*663afb9bSAndroid Build Coastguard WorkerDEFENSIVE PROGRAMMING: 339*663afb9bSAndroid Build Coastguard Worker o Add compile-time check for AF_UNSPEC==PF_UNSPEC (3c8f4e7) 340*663afb9bSAndroid Build Coastguard Worker 341*663afb9bSAndroid Build Coastguard WorkerBUGS IN TESTS: 342*663afb9bSAndroid Build Coastguard Worker o Fix test.sh output on solaris (b4f89b6 Dave Hart) 343*663afb9bSAndroid Build Coastguard Worker o Make test-eof fail with a timeout if we never get an eof. (05a2c22 Harlan Stenn) 344*663afb9bSAndroid Build Coastguard Worker o Use %s with printf in test.sh (039b9bd) 345*663afb9bSAndroid Build Coastguard Worker o Add an assert to appease clang's static analyzer (b0ff7eb Sebastian Hahn) 346*663afb9bSAndroid Build Coastguard Worker o Add a forgotten return value check in the unit tests (3819b62 Sebastian Hahn) 347*663afb9bSAndroid Build Coastguard Worker o Actually send NULL request in http_bad_request_test (b693c32 Sebastian Hahn) 348*663afb9bSAndroid Build Coastguard Worker o add some (void) casts for unused variables (65707d7 Sebastian Hahn) 349*663afb9bSAndroid Build Coastguard Worker o Refactor test_getaddrinfo_async_cancel_stress() (48c44a6 Sebastian Hahn) 350*663afb9bSAndroid Build Coastguard Worker o Be nice and "handle" error return values in sample code (4bac793 Sebastian Hahn) 351*663afb9bSAndroid Build Coastguard Worker o Check return value of evbuffer_add_cb in tests (93a1abb Sebastian Hahn) 352*663afb9bSAndroid Build Coastguard Worker o Remote some dead code from dns-example.c (744c745 Sebastian Hahn) 353*663afb9bSAndroid Build Coastguard Worker o Zero a struct sockaddr_in before using it (646f9fe Sebastian Hahn) 354*663afb9bSAndroid Build Coastguard Worker 355*663afb9bSAndroid Build Coastguard WorkerBUILD FIXES: 356*663afb9bSAndroid Build Coastguard Worker o Fix warnings about AC_LANG_PROGRAM usage (f663112 Sebastian Hahn) 357*663afb9bSAndroid Build Coastguard Worker o Skip check for zlib if we have no zlib.h (a317c06 Harlan Stenn) 358*663afb9bSAndroid Build Coastguard Worker o Fix autoconf bracket issues; make check for getaddrinfo include netdb.h (833e5e9 Harlan Stenn) 359*663afb9bSAndroid Build Coastguard Worker o Correct an AM_CFLAGS to an AM_CPPFLAGS in test/Makefile.am (9c469db Dave Hart) 360*663afb9bSAndroid Build Coastguard Worker o Fix make distcheck & installation of libevent 1 headers (b5a1f9f Dave Hart) 361*663afb9bSAndroid Build Coastguard Worker o Fix compilation under LLVM/clang with --enable-gcc-warnings (ad9ff58 Sebastian Hahn) 362*663afb9bSAndroid Build Coastguard Worker 363*663afb9bSAndroid Build Coastguard WorkerFEATURES: 364*663afb9bSAndroid Build Coastguard Worker o Make URI parser able to tolerate nonconformant URIs. (95060b5) 365*663afb9bSAndroid Build Coastguard Worker 366*663afb9bSAndroid Build Coastguard WorkerDOCUMENTATION: 367*663afb9bSAndroid Build Coastguard Worker o Clarify event_set_mem_functions doc (926f816) 368*663afb9bSAndroid Build Coastguard Worker o Correct evhttp_del_accept_socket documentation on whether socket is closed (f665924) 369*663afb9bSAndroid Build Coastguard Worker o fix spelling mistake in whatsnew-2.0.txt (deb2f73) 370*663afb9bSAndroid Build Coastguard Worker o Fix sample/http-server ipv6 fixes (eb692be) 371*663afb9bSAndroid Build Coastguard Worker o Comment internal headers used in sample code. (4eb281c) 372*663afb9bSAndroid Build Coastguard Worker o Be explicit about how long event loops run in event.h documentation (f95bafb) 373*663afb9bSAndroid Build Coastguard Worker o Add comment to configure.in to explain gc-sections test logic (c621359) 374*663afb9bSAndroid Build Coastguard Worker o Fix a couple of memory leaks in samples/http-server.c. Found by Dave Hart. (2e9f665) 375*663afb9bSAndroid Build Coastguard Worker 376*663afb9bSAndroid Build Coastguard WorkerBUILD IMPROVEMENTS: 377*663afb9bSAndroid Build Coastguard Worker o Use the gcc -ffunction-segments feature to allow gc when linking with static libevent (0965c56 Dave Hart) 378*663afb9bSAndroid Build Coastguard Worker o Add configure options to disable installation, regression tests (49e9bb7 Dave Hart) 379*663afb9bSAndroid Build Coastguard Worker 380*663afb9bSAndroid Build Coastguard Worker 381*663afb9bSAndroid Build Coastguard Worker 382*663afb9bSAndroid Build Coastguard WorkerChanges in version 2.0.10-stable (16 Dec 2010) 383*663afb9bSAndroid Build Coastguard Worker [Autogenerated from the Git log, sorted and cleaned by hand.] 384*663afb9bSAndroid Build Coastguard WorkerBUGFIXES 385*663afb9bSAndroid Build Coastguard Worker o Minor fix for IOCP shutdown handling fix (2599b2d Kelly Brock) 386*663afb9bSAndroid Build Coastguard Worker o Correctly notify the main thread when activating an event from a subthread (5beeec9) 387*663afb9bSAndroid Build Coastguard Worker o Reject overlong http requests early when Expect:100-continue is set (d23839f Constantine Verutin) 388*663afb9bSAndroid Build Coastguard Worker o EVUTIL_ASSERT: Use sizeof() to avoid "unused variable" warnings with -DNDEBUG. (b63ab17 Evan Jones) 389*663afb9bSAndroid Build Coastguard Worker 390*663afb9bSAndroid Build Coastguard WorkerCODE CLEANUPS 391*663afb9bSAndroid Build Coastguard Worker o bufferevent-internal.h: Use the new event2/util.h header, not evutil.h (ef5e65a Evan Jones) 392*663afb9bSAndroid Build Coastguard Worker o Use relative includes instead of system includes consistently. (fbe64f2 Evan Jones) 393*663afb9bSAndroid Build Coastguard Worker o Make whitespace more consistent 394*663afb9bSAndroid Build Coastguard Worker 395*663afb9bSAndroid Build Coastguard WorkerTESTING 396*663afb9bSAndroid Build Coastguard Worker o tests: Use new event2 headers instead of old compatibility headers. (4f33209 Evan Jones) 397*663afb9bSAndroid Build Coastguard Worker 398*663afb9bSAndroid Build Coastguard WorkerDOCUMENTATION 399*663afb9bSAndroid Build Coastguard Worker o Document that the cpu_hint is only used on Windows with IOCP for now (57689c4) 400*663afb9bSAndroid Build Coastguard Worker o Add stuff to "whats new in 2.0" based on reading include changes since August. (18adc3f) 401*663afb9bSAndroid Build Coastguard Worker 402*663afb9bSAndroid Build Coastguard Worker 403*663afb9bSAndroid Build Coastguard WorkerChanges in 2.0.9-rc (30 Nov 2010): 404*663afb9bSAndroid Build Coastguard Worker [Autogenerated from the Git log, sorted and cleaned by hand.] 405*663afb9bSAndroid Build Coastguard WorkerNEW AND MODIFIED APIs 406*663afb9bSAndroid Build Coastguard Worker o Add a function to change a listener's callback. (46ee061) 407*663afb9bSAndroid Build Coastguard Worker o Make evbuffer_add_file take ev_off_t, not off_t (ac7e52d) 408*663afb9bSAndroid Build Coastguard Worker o Make rate-limits go up to SIZE_MAX/EV_SSIZE_MAX, not just INT32_MAX (2cbb1a1) 409*663afb9bSAndroid Build Coastguard Worker o Add a bufferevent_get_base function (aab49b6) 410*663afb9bSAndroid Build Coastguard Worker 411*663afb9bSAndroid Build Coastguard WorkerMAJOR BUGFIXES 412*663afb9bSAndroid Build Coastguard Worker o Disable changelist for epoll by default because of Linux dup() bug; add an option and/or an envvar to reenable it for speed. (9531763) 413*663afb9bSAndroid Build Coastguard Worker o Fix a 100%-CPU bug where an SSL connection would sometimes never stop trying to write (1213d3d) 414*663afb9bSAndroid Build Coastguard Worker o Fix a nasty bug related to use of dup() with epoll on Linux (c281aba) 415*663afb9bSAndroid Build Coastguard Worker o Fix bugs in posix thread-id calculation when sizeof(pthread_t) != sizeof(long) (fbaf077) 416*663afb9bSAndroid Build Coastguard Worker o Fix some ints to evutil_socket_t; make tests pass on win64. (f817bfa Dimitre Piskyulev) 417*663afb9bSAndroid Build Coastguard Worker o Set _EVENT_SIZEOF_VOID_P correctly on win32 and win64 (1ae82cd Dimitre Piskyulev) 418*663afb9bSAndroid Build Coastguard Worker o Avoid double-invocation of user callback with EVUTIL_EAI_CANCEL (abf01ed) 419*663afb9bSAndroid Build Coastguard Worker o Set SO_UPDATE_ACCEPT_CONTEXT on sockets from AcceptEx so that shutdown() can work (52aa419) 420*663afb9bSAndroid Build Coastguard Worker o When closing a filtering bufferevent, clear callbacks on the underlying bufferevent (fc7b1b0) 421*663afb9bSAndroid Build Coastguard Worker 422*663afb9bSAndroid Build Coastguard WorkerNEW AND MODIFIED HTTP APIs 423*663afb9bSAndroid Build Coastguard Worker o Add evhttp_parse_query_str to be used with evhttp_uri_parse. (2075fbc) 424*663afb9bSAndroid Build Coastguard Worker o Add evhttp_response_code to remove one more reason to include http_struct.h (22e0a9b) 425*663afb9bSAndroid Build Coastguard Worker o Define enumerators for all HTTP methods, including PATCH from RFC5789 (75a7341 Felix Nawothnig) 426*663afb9bSAndroid Build Coastguard Worker o Functions to actually use evhttp_bound_socket with/as evconnlistener. (006efa7) 427*663afb9bSAndroid Build Coastguard Worker o Add evhttp_request_get_command so code can tell GET from POST without peeking at the struct. (49f4bf7) 428*663afb9bSAndroid Build Coastguard Worker o Introduce absolute URI parsing helpers. (86dd720 Pavel Plesov) 429*663afb9bSAndroid Build Coastguard Worker o Revise evhttp_uri_parse implementation to handle more of RFC3986 (eaa5f1d) 430*663afb9bSAndroid Build Coastguard Worker o Add evhttp_connection_get_base() to get the event_base from an http connection (cd00079) 431*663afb9bSAndroid Build Coastguard Worker o Let evhttp_parse_query return -1 on failure (b1756d0) 432*663afb9bSAndroid Build Coastguard Worker o New evhttp_uri(encode|decode) functions to handle + and NUL characters right (a8148ce) 433*663afb9bSAndroid Build Coastguard Worker o Add evhttp_response_code to remove one more reason to include http_struct.h (22e0a9b) 434*663afb9bSAndroid Build Coastguard Worker o Tweak interface for allowed methods (f5b391e) 435*663afb9bSAndroid Build Coastguard Worker o Add evhttp server alias interface, correct flagging of proxy requests. (aab8c38 Christopher Davis) 436*663afb9bSAndroid Build Coastguard Worker 437*663afb9bSAndroid Build Coastguard WorkerHTTP BUGFIXES 438*663afb9bSAndroid Build Coastguard Worker o Add some comments to http.c and make a few functions static. (90b3ed5) 439*663afb9bSAndroid Build Coastguard Worker o Fix Content-Length when trying send more than 100GB of data (!) on an evhttp. (525da3e) 440*663afb9bSAndroid Build Coastguard Worker o Fix a bug where we would read too much data in HTTP bodies or requests. (58a1cc6) 441*663afb9bSAndroid Build Coastguard Worker o Correctly count req->body_size on http usage without Content-Length (8e342e5) 442*663afb9bSAndroid Build Coastguard Worker o Avoid missed-request bug when entire http request arrives before data is flushed (74c0e86) 443*663afb9bSAndroid Build Coastguard Worker o reset "chunked" flag when sending non-chunked reply (aa5f55f Joachim Bauch) 444*663afb9bSAndroid Build Coastguard Worker o evhttp_encode_uri encodes all reserved characters, including !$'()*+,/:=@ (2e63a60) 445*663afb9bSAndroid Build Coastguard Worker o Replace exact-version checks for HTTP/1.1 with >= or < checks (647e094) 446*663afb9bSAndroid Build Coastguard Worker o evhttp: Return 501 when we get an unrecognized method, not 400. (536311a) 447*663afb9bSAndroid Build Coastguard Worker o Don't disable reading from the HTTP connection after sending the request to be notified of connection-close in time (c76640b Felix Nawothnig) 448*663afb9bSAndroid Build Coastguard Worker o Never call evhttp_readcb while writing. (0512487) 449*663afb9bSAndroid Build Coastguard Worker o Try to fix an assertion failure related to close detection (0faaa39) 450*663afb9bSAndroid Build Coastguard Worker o Correctly detect timeouts during http connects (04861d5) 451*663afb9bSAndroid Build Coastguard Worker o Preliminary support for Continue expectation in evhttp. (fa9305f Christopher Davis) 452*663afb9bSAndroid Build Coastguard Worker 453*663afb9bSAndroid Build Coastguard WorkerOTHER BUGFIXES 454*663afb9bSAndroid Build Coastguard Worker o Correct logic for realigning a chain in evbuffer_add (e4f34e8) 455*663afb9bSAndroid Build Coastguard Worker o Fix a minor syntax error that most compilers didn't care about (e56ff65) 456*663afb9bSAndroid Build Coastguard Worker o Fix some uses of int for socket in regress (5d389dc) 457*663afb9bSAndroid Build Coastguard Worker o Check return value for ioctlsocket on win32 (f5ad31c Trond Norbye) 458*663afb9bSAndroid Build Coastguard Worker o Fix som event_warns that should have been event_warnx (19c71e7) 459*663afb9bSAndroid Build Coastguard Worker o Fix signal handler types for win64. (b81217f) 460*663afb9bSAndroid Build Coastguard Worker o Try to clear up more size_t vs int/long issues. (598d133) 461*663afb9bSAndroid Build Coastguard Worker o Make sure IOCP evconnlistener uses virtual events. (7b40a00 Christopher Davis) 462*663afb9bSAndroid Build Coastguard Worker o Don't free evdns_request handles until after the callback is invoked (9ed30de) 463*663afb9bSAndroid Build Coastguard Worker o Fix some more cancel-related bugs in getaddrinfo_async (c7cfbcf) 464*663afb9bSAndroid Build Coastguard Worker o Make evdns_getaddrinfo_cancel threadsafe (d51b2fc) 465*663afb9bSAndroid Build Coastguard Worker o Only clear underlying callbacks when the user hasn't reset them. (1ac5b23) 466*663afb9bSAndroid Build Coastguard Worker o Fix bug in bufferevent_connect on an openssl bufferevent that already had an fd (4f228a1) 467*663afb9bSAndroid Build Coastguard Worker o Resolve an evport bug in the thread/forking test (3a67d0b) 468*663afb9bSAndroid Build Coastguard Worker o Make sure the CLOEXEC flag is set on fds we open for base notification (3ab578f) 469*663afb9bSAndroid Build Coastguard Worker o Fix IRIX build. sa_family collides with a #define in sys/socket.h on IRIX. (e874982 Kevin Bowling) 470*663afb9bSAndroid Build Coastguard Worker o If not WIN32, include <sys/socket.h> in event2/util.h. (1cd45e5 Kevin Bowling) 471*663afb9bSAndroid Build Coastguard Worker o Fix some C99-style comments to work with the xlC compiler. (c2e5e22 Kevin Bowling) 472*663afb9bSAndroid Build Coastguard Worker o Add some checks since lack of TAILQ_FOREACH doesn't imply lack of FIRST, END, NEXT, or INSERT_BEFORE. Quiet some warnings in XL C. (c4dc335 Kevin Bowling) 473*663afb9bSAndroid Build Coastguard Worker o Reworked AIX __ss_family workaround to use AC_STRUCT_MEMBER. (2e2a3d7 Kevin Bowling) 474*663afb9bSAndroid Build Coastguard Worker o Take select from <sys/select.h> when testing in autoconf. AIX build fix. (a3a9f6b Kevin Bowling) 475*663afb9bSAndroid Build Coastguard Worker o Fix snprintf related failures on IRIX. (3239073 Kevin Bowling) 476*663afb9bSAndroid Build Coastguard Worker o Remove _event_initialized(); make event_initialized() a function(); make it consistent on windows and non-windows (652024b) 477*663afb9bSAndroid Build Coastguard Worker o Do not let EVLOOP_ONCE exit the loop until all deferred callbacks have run (2d5e1bd) 478*663afb9bSAndroid Build Coastguard Worker o Make EVLOOP_ONCE ignore internal events (0617a81) 479*663afb9bSAndroid Build Coastguard Worker o Possible crash fix when freeing an underlying bufferevent of an openssl bufferevent (29f7623) 480*663afb9bSAndroid Build Coastguard Worker 481*663afb9bSAndroid Build Coastguard WorkerHTTP CLEANUPS 482*663afb9bSAndroid Build Coastguard Worker o Stop using Libevent-1 headers in regress_http (1f507d7) 483*663afb9bSAndroid Build Coastguard Worker o Modernize header usage in bench_http.c (e587069) 484*663afb9bSAndroid Build Coastguard Worker o fix signed/unsigned warnings in http.c (74a91e5) 485*663afb9bSAndroid Build Coastguard Worker o Update the HTTP regression tests to use Libevent2 apis for non-http stuff (d9ffa89) 486*663afb9bSAndroid Build Coastguard Worker o Start porting http tests to not use legacy interfaces (8505a74) 487*663afb9bSAndroid Build Coastguard Worker o Convert the rest of the http tests to be non-legacy unit tests. (9bb8239) 488*663afb9bSAndroid Build Coastguard Worker o Rename the confusing "base" static variable in regress_http.c (353402a) 489*663afb9bSAndroid Build Coastguard Worker o Stop accessing http request struct directly from in the unit tests. (0b137f4) 490*663afb9bSAndroid Build Coastguard Worker o Refactor http version parsing into a single function (a38140b) 491*663afb9bSAndroid Build Coastguard Worker 492*663afb9bSAndroid Build Coastguard WorkerTESTING 493*663afb9bSAndroid Build Coastguard Worker o Improvements to tinytest_macros.h (ad923a1) 494*663afb9bSAndroid Build Coastguard Worker o Add a huge pile of tests for the new URI functions, and make them pass. (a5a76e6) 495*663afb9bSAndroid Build Coastguard Worker o Unit tests for evhttp_uri_set* (bc98f5e) 496*663afb9bSAndroid Build Coastguard Worker o Increase the skew tolerance to 2 seconds in thread/deferred_cb_skew (f806476 Christopher Davis) 497*663afb9bSAndroid Build Coastguard Worker o Reorder backends in test.sh to match preference order in event.c (ece974f) 498*663afb9bSAndroid Build Coastguard Worker o Add a stress test for getaddrinfo_cancel (da1bf52) 499*663afb9bSAndroid Build Coastguard Worker o Units test for unexpected evhttp methods. (75e3320) 500*663afb9bSAndroid Build Coastguard Worker 501*663afb9bSAndroid Build Coastguard WorkerDOCUMENTATION 502*663afb9bSAndroid Build Coastguard Worker o Document behavior of URI parsing more thoroughly. (3a33462) 503*663afb9bSAndroid Build Coastguard Worker o Document that two bufferevent functions only work on socket bufferevents (70e1b60) 504*663afb9bSAndroid Build Coastguard Worker o add a requested docstring for event_rpcgen.CommandLine.__init__ (f1250eb) 505*663afb9bSAndroid Build Coastguard Worker o Fix a mistake in http documentation found by Julien Blache (229714d) 506*663afb9bSAndroid Build Coastguard Worker o Add a basic example of how to write a static HTTP server. (4e794d5) 507*663afb9bSAndroid Build Coastguard Worker o Document event_get_assignment (88be27d) 508*663afb9bSAndroid Build Coastguard Worker o Note that reentrant calls to libevent from logging cbs may fail badly (e431bcd) 509*663afb9bSAndroid Build Coastguard Worker o Clarify EVLOOP_* documentation to be more precise. (057a514) 510*663afb9bSAndroid Build Coastguard Worker 511*663afb9bSAndroid Build Coastguard WorkerCLEANUPS 512*663afb9bSAndroid Build Coastguard Worker o Simplify the logic for choosing EPOLL_CTL_ADD vs EPOLL_CTL_MOD (2c66983) 513*663afb9bSAndroid Build Coastguard Worker o Rename "size" variables in win32select that were really fd counts. (b6a158c) 514*663afb9bSAndroid Build Coastguard Worker o Fix even more win64 warnings (7484df6) 515*663afb9bSAndroid Build Coastguard Worker o Fix even more win64 warnings: buffer, event_tagging, http, evdns, evrpc (545a611) 516*663afb9bSAndroid Build Coastguard Worker o Fix more wn64 warnings. (34b84b9 Christopher Davis) 517*663afb9bSAndroid Build Coastguard Worker o Use the label_len local variable in evdns instead of recalculating it over and over (ba01456) 518*663afb9bSAndroid Build Coastguard Worker o Fix some irix compilation warnings spotted by Kevin Bowling (7bcace2) 519*663afb9bSAndroid Build Coastguard Worker 520*663afb9bSAndroid Build Coastguard Worker 521*663afb9bSAndroid Build Coastguard Worker 522*663afb9bSAndroid Build Coastguard WorkerChanges in 2.0.8-rc (14 Oct 2010): 523*663afb9bSAndroid Build Coastguard Worker [Autogenerated from the Git log, sorted and cleaned by hand.] 524*663afb9bSAndroid Build Coastguard WorkerNEW APIS 525*663afb9bSAndroid Build Coastguard Worker o Add error callback to evconnlistener (c4be8d8 Simon Perreault) 526*663afb9bSAndroid Build Coastguard Worker o Add a LEV_OPT_THREADSAFE option for threadsafe evconnlisteners (127d4f2) 527*663afb9bSAndroid Build Coastguard Worker 528*663afb9bSAndroid Build Coastguard WorkerCHANGED BEHAVIOR 529*663afb9bSAndroid Build Coastguard Worker o Correct logic on disabling underlying bufferevents when disabling a filter (ac27eb8) 530*663afb9bSAndroid Build Coastguard Worker 531*663afb9bSAndroid Build Coastguard WorkerBUGFIXES 532*663afb9bSAndroid Build Coastguard Worker o Obey enabled status when unsuspending (040a019 Simon Perreault) 533*663afb9bSAndroid Build Coastguard Worker o Warn when using the error-prone EV_SIGNAL interface in an error-prone way. Also, fix a couple of race conditions in signal.c (720bd93) 534*663afb9bSAndroid Build Coastguard Worker O Make default signal backend fully threadsafe (95a7d41) 535*663afb9bSAndroid Build Coastguard Worker o Put internal events at highest priority (90651b3) 536*663afb9bSAndroid Build Coastguard Worker o Fix warnings in the main codebase flagged by -Wsigned-compare (9c8db0, 5e4bafb, 5c214a, 6be589a, e06f514) 537*663afb9bSAndroid Build Coastguard Worker o Fix compile in kqueue.c (b395392 Sebastian Hahn) 538*663afb9bSAndroid Build Coastguard Worker o Do not search outside of the system directory for windows DLLs (d49b5e3) 539*663afb9bSAndroid Build Coastguard Worker o Fix a spurious-call bug on epoll.c (0faaee0) 540*663afb9bSAndroid Build Coastguard Worker o Send a shutdown(SHUT_WR) before closing an http connection (e0fd870 Christopher Davis) 541*663afb9bSAndroid Build Coastguard Worker o Fix warnings on mingw with gcc 4.5 (5b7a370) 542*663afb9bSAndroid Build Coastguard Worker o Fix an EINVAL on evbuffer_write_iovec on OpenSolaris. (fdc640b) 543*663afb9bSAndroid Build Coastguard Worker o Fix allocation error for IOCP listeners. Probably harmless, since struct event is big (481ef92) 544*663afb9bSAndroid Build Coastguard Worker o Make iocp/listener/error work; don't accept again if lev is disabled. (62b429a Christopher Davis) 545*663afb9bSAndroid Build Coastguard Worker o Handle rate-limiting for reading on OpenSSL bufferevents correctly. (819b171) 546*663afb9bSAndroid Build Coastguard Worker o Fix serious bugs in per-bufferevent rate-limiting code (34d64f8) 547*663afb9bSAndroid Build Coastguard Worker o Avoid spurious reads from just-created open openssl bufferevents (223ee40) 548*663afb9bSAndroid Build Coastguard Worker o Fix a case where an ssl bufferevent with CLOSE_ON_FREE didn't close its fd (93bb7d8) 549*663afb9bSAndroid Build Coastguard Worker o The corrected bufferevent filter semantics let us fix our openssl tests (34331e4) 550*663afb9bSAndroid Build Coastguard Worker 551*663afb9bSAndroid Build Coastguard WorkerTESTING 552*663afb9bSAndroid Build Coastguard Worker o Make SSL tests cover enabling/disabling EV_READ. (a5ce9ad) 553*663afb9bSAndroid Build Coastguard Worker o Bump to the latest version of tinytest (f0bd83e) 554*663afb9bSAndroid Build Coastguard Worker o Unit tests for listener error callbacks (045eef4) 555*663afb9bSAndroid Build Coastguard Worker o New unit test for ssl bufferevents starting with connected SSLs. (02f6259) 556*663afb9bSAndroid Build Coastguard Worker 557*663afb9bSAndroid Build Coastguard WorkerDEBUGGABILITY 558*663afb9bSAndroid Build Coastguard Worker o Make debugging output for epoll backend more comprehensive (ec2b05e) 559*663afb9bSAndroid Build Coastguard Worker o Make event.c debugging messages report fds (e119899) 560*663afb9bSAndroid Build Coastguard Worker o Make the --enable-gcc-warnings option include signed comparison warnings (d3b096c) 561*663afb9bSAndroid Build Coastguard Worker 562*663afb9bSAndroid Build Coastguard WorkerDEADCODE REMOVAL 563*663afb9bSAndroid Build Coastguard Worker o Remove the now-useless evsig_caught and evsig_process (4858b79) 564*663afb9bSAndroid Build Coastguard Worker o Remove event_base.evsigbase; nothing used it. (38d0960) 565*663afb9bSAndroid Build Coastguard Worker 566*663afb9bSAndroid Build Coastguard Worker 567*663afb9bSAndroid Build Coastguard Worker 568*663afb9bSAndroid Build Coastguard WorkerChanges in 2.0.7-rc (9 Sep 2010): 569*663afb9bSAndroid Build Coastguard Worker [Autogenerated from the Git log, sorted and cleaned by hand.] 570*663afb9bSAndroid Build Coastguard WorkerNEW APIS 571*663afb9bSAndroid Build Coastguard Worker o Expose a evdns_base_nameserver_sockaddr_add() function to add a nameserver by sockaddr (1952143) 572*663afb9bSAndroid Build Coastguard Worker o Add event_config_set_num_cpus_hint() for tuning win32 IOCP thread pools, etc. (2447fe8 Christopher Davis) 573*663afb9bSAndroid Build Coastguard Worker 574*663afb9bSAndroid Build Coastguard WorkerBUGFIXES 575*663afb9bSAndroid Build Coastguard Worker o Fix a nasty dangling-event bug when using rate-limiting groups (0bffe43) 576*663afb9bSAndroid Build Coastguard Worker o Clean up syntax on TAILQ_ENTRY() usage to build correctly with recent MSVC (60433a0 Gilad Benjamini) 577*663afb9bSAndroid Build Coastguard Worker o Make definition of WIN32_LEAN_AND_MEAN in event.h conditional (3920172 Gilad Benjamini) 578*663afb9bSAndroid Build Coastguard Worker o Correctly detect failure to delete bufferevent read-timeout event (da6e7cd) 579*663afb9bSAndroid Build Coastguard Worker o Set close-on-exec bit for filedescriptors created by dns subsystem (d0b8843) 580*663afb9bSAndroid Build Coastguard Worker o Fix kqueue correctness test on x84_64 (6123d12) 581*663afb9bSAndroid Build Coastguard Worker o Detect events with no ev_base; warn instead of crashing (f1074b7) 582*663afb9bSAndroid Build Coastguard Worker o Fix an issue with forking and signal socketpairs in select/poll backends (d61b2f3) 583*663afb9bSAndroid Build Coastguard Worker o Stop using global arrays to implement the EVUTIL_ctype functions (1fdec20) 584*663afb9bSAndroid Build Coastguard Worker o On windows, make lock/thread function tables static (5de2bcb) 585*663afb9bSAndroid Build Coastguard Worker o Close th_notify_fds and open a new pair on reinit (495ed66) 586*663afb9bSAndroid Build Coastguard Worker o Declare signal handler function as "__cdecl" on Windows (f0056d0) 587*663afb9bSAndroid Build Coastguard Worker o Use the _func() replacements for open, fstat, etc in evutil.c on win32 (e50c0fc) 588*663afb9bSAndroid Build Coastguard Worker o Only process up to MAX_DEFERRED deferred_cbs at a time (17a14f1 Christopher Davis) 589*663afb9bSAndroid Build Coastguard Worker 590*663afb9bSAndroid Build Coastguard WorkerTHREADING BUGFIXES 591*663afb9bSAndroid Build Coastguard Worker o Avoid deadlock when activating signals (970e6ad) 592*663afb9bSAndroid Build Coastguard Worker o Add a condition variable backend, with implementations for pthreads and win32 (d4977b5) 593*663afb9bSAndroid Build Coastguard Worker o Use conditions instead of current_event_lock to fix a deadlock (e0972c2) 594*663afb9bSAndroid Build Coastguard Worker o Fix logic error in win32 TRY_LOCK that caused problems with rate-limiting (4c32b9d) 595*663afb9bSAndroid Build Coastguard Worker o Avoid needlessly calling evthread_notify_base() when the loop is not running (c7a06bf) 596*663afb9bSAndroid Build Coastguard Worker o Minimize calls to base_notify implementation functions, thereby avoiding needless syscalls (4632b78) 597*663afb9bSAndroid Build Coastguard Worker 598*663afb9bSAndroid Build Coastguard WorkerIOCP BUGFIXES 599*663afb9bSAndroid Build Coastguard Worker o IOCP-related evbuffer fixes (03afa20 Christopher Davis) 600*663afb9bSAndroid Build Coastguard Worker o Stop IOCP when freeing the event_base (d844242 Christopher Davis) 601*663afb9bSAndroid Build Coastguard Worker o Some IOCP bufferevent tweaks (76f7e7a Christopher Davis) 602*663afb9bSAndroid Build Coastguard Worker 603*663afb9bSAndroid Build Coastguard WorkerTESTS 604*663afb9bSAndroid Build Coastguard Worker o Make the regress_pthread.c tests work on windows with current test APIs (d74ae38) 605*663afb9bSAndroid Build Coastguard Worker o Add a unit test for conditions (5fb1095) 606*663afb9bSAndroid Build Coastguard Worker o Allow more than one copy of regression tests to run at once (a97320a) 607*663afb9bSAndroid Build Coastguard Worker o Fix event_del(0) instance in bench.c (b0f284c Shuo Chen) 608*663afb9bSAndroid Build Coastguard Worker o Fix a few memory leaks in the tests (1115366) 609*663afb9bSAndroid Build Coastguard Worker o IOCP-related unit test tweaks (499452f Christopher Davis) 610*663afb9bSAndroid Build Coastguard Worker o Improve testing of when thread-notification occurs (ce85280) 611*663afb9bSAndroid Build Coastguard Worker 612*663afb9bSAndroid Build Coastguard WorkerBUILD AND DISTRIBUTION 613*663afb9bSAndroid Build Coastguard Worker o Add pkgconfig files for libevent_{openssl,pthreads} (ebcb1f0) 614*663afb9bSAndroid Build Coastguard Worker o Change include order in Makefile.nmake (4022b28) 615*663afb9bSAndroid Build Coastguard Worker o Make include/event2/event-config.h not included in source dist (a4af9be) 616*663afb9bSAndroid Build Coastguard Worker o Honor NDEBUG; build without warnings with NDEBUG; make NDEBUG always-off in unit test code (743f866) 617*663afb9bSAndroid Build Coastguard Worker o Declare evkeyvalq and event_list even if event_struct.h comes before sys/queue.h (d3ceca8) 618*663afb9bSAndroid Build Coastguard Worker o Move evkeyvalq into a separate header for evhttp_parse_query users (ca9048f) 619*663afb9bSAndroid Build Coastguard Worker o Prefer autoreconf -ivf to manual autogen.sh (7ea8e89) 620*663afb9bSAndroid Build Coastguard Worker 621*663afb9bSAndroid Build Coastguard WorkerCLEANUP 622*663afb9bSAndroid Build Coastguard Worker o Completely remove the (mostly-removed) obsolete thread functions (3808168) 623*663afb9bSAndroid Build Coastguard Worker o Rename regress_pthread.c to regress_thread.c (041989f) 624*663afb9bSAndroid Build Coastguard Worker o Make defer-internal.h use lock macros, not direct calls to lock fns (5218d2a) 625*663afb9bSAndroid Build Coastguard Worker 626*663afb9bSAndroid Build Coastguard WorkerDOCUMENTATION 627*663afb9bSAndroid Build Coastguard Worker o Document that DNS_NO_SEARCH is an obsolete alias for DNS_QUERY_NO_SEARCH (33200e7) 628*663afb9bSAndroid Build Coastguard Worker o Update the whatsnew-2.0.txt document (4991669) 629*663afb9bSAndroid Build Coastguard Worker 630*663afb9bSAndroid Build Coastguard Worker 631*663afb9bSAndroid Build Coastguard Worker 632*663afb9bSAndroid Build Coastguard WorkerChanges in 2.0.6-rc (6 Aug 2010): 633*663afb9bSAndroid Build Coastguard Worker [Autogenerated from the Git log, sorted by hand.] 634*663afb9bSAndroid Build Coastguard WorkerDOCUMENTATION 635*663afb9bSAndroid Build Coastguard Worker o Document a change in the semantics of event_get_struct_event_size() (e21f5d1) 636*663afb9bSAndroid Build Coastguard Worker o Add a comment to describe our plan for library versioning (9659ece) 637*663afb9bSAndroid Build Coastguard Worker o Fix sentence fragment in docs for event_get_struct_event_size() (7b259b6) 638*663afb9bSAndroid Build Coastguard Worker 639*663afb9bSAndroid Build Coastguard WorkerNEW FEATURES AND INTERFACE CHANGES 640*663afb9bSAndroid Build Coastguard Worker o Remove the obsolete evthread interfaces (c5bab56) 641*663afb9bSAndroid Build Coastguard Worker o Let evhttp_send_error infer the right error reasons (3990669) 642*663afb9bSAndroid Build Coastguard Worker o Add a function to retrieve the other side of a bufferevent pair (17a8e2d) 643*663afb9bSAndroid Build Coastguard Worker o Add bufferevent_lock()/bufferevent_unlock() (215e629) 644*663afb9bSAndroid Build Coastguard Worker o Stop asserting when asked for a (unsupported) TCP dns port. Just return NULL. (7e87a59) 645*663afb9bSAndroid Build Coastguard Worker o Replace (unused,always 0) is_tcp argument to evdns_add_server_port*() with flags (e1c1167) 646*663afb9bSAndroid Build Coastguard Worker o Constify a couple of arguments to evdns_server_request_add_*_reply (cc2379d) 647*663afb9bSAndroid Build Coastguard Worker o Add an interface to expose min_share in ratelimiting groups (6ae53d6) 648*663afb9bSAndroid Build Coastguard Worker 649*663afb9bSAndroid Build Coastguard WorkerBUGFIXES 650*663afb9bSAndroid Build Coastguard Worker o Avoid event_del on uninitialized event in event_base_free (6d19510) 651*663afb9bSAndroid Build Coastguard Worker o Add some missing includes to fix Linux build again (75701e8) 652*663afb9bSAndroid Build Coastguard Worker o Avoid close of uninitialized socket in evbuffer unit test (bda21e7) 653*663afb9bSAndroid Build Coastguard Worker o Correctly recognize .255 addresses as link-local when looking for interfaces (8c3452b) 654*663afb9bSAndroid Build Coastguard Worker o If no evdns request can be launched, return NULL, not a handle (b14f151) 655*663afb9bSAndroid Build Coastguard Worker o Use generic win32 interfaces, not ASCII-only ones, where possible. (899b0a3) 656*663afb9bSAndroid Build Coastguard Worker o Fix the default HTTP error template (06bd056 Felix Nawothnig) 657*663afb9bSAndroid Build Coastguard Worker o Close the file in evutil_read_file whether there's an error or not. (0798dd1 Pierre Phaneuf) 658*663afb9bSAndroid Build Coastguard Worker o Fix possible nullptr dereference in evhttp_send_reply_end() (29b2e23 Felix Nawothnig) 659*663afb9bSAndroid Build Coastguard Worker o never let bufferevent_rlim functions return negative (0859870) 660*663afb9bSAndroid Build Coastguard Worker o Make sample/hello_world work on windows (d89fdba) 661*663afb9bSAndroid Build Coastguard Worker o Fix a deadlock related to event-base notification. Diagnosed by Zhou Li, Avi Bab, and Scott Lamb. (17522d2) 662*663afb9bSAndroid Build Coastguard Worker o Possible fix to 100% cpu usage with epoll and openssl (cf249e7 Mike Smellie) 663*663afb9bSAndroid Build Coastguard Worker o Don't race when calling event_active/event_add on a running signal event (fc5e0a2) 664*663afb9bSAndroid Build Coastguard Worker o Suppress a spurious EPERM warning in epoll.c (e73cbde) 665*663afb9bSAndroid Build Coastguard Worker o Fix wrong size calculation of iovec buffers when exact=1 (65abdc2 niks) 666*663afb9bSAndroid Build Coastguard Worker o Change bufferevent_openssl::do_write so it doesn't call SSL_write with a 0 length buffer (c991317 Mike Smellie) 667*663afb9bSAndroid Build Coastguard Worker o Fixed compilation of sample/le-proxy.c on win32 (13b912e Trond Norbye) 668*663afb9bSAndroid Build Coastguard Worker o Fix rate-limit calculation on openssl bufferevents. (009f300) 669*663afb9bSAndroid Build Coastguard Worker o Remember to initialize timeout events for bufferevent_async (de1f5d6 Christopher Davis) 670*663afb9bSAndroid Build Coastguard Worker 671*663afb9bSAndroid Build Coastguard WorkerBUILD AND DISTRIBUTION CHANGES 672*663afb9bSAndroid Build Coastguard Worker o Test the unlocked-deferred callback case of bufferevents (dfb75ab) 673*663afb9bSAndroid Build Coastguard Worker o Remove the now-unusable EVTHREAD_LOCK/UNLOCK constants (fdfc3fc) 674*663afb9bSAndroid Build Coastguard Worker o Use -Wlogical-op on gcc 4.5 or higher (d14bb92) 675*663afb9bSAndroid Build Coastguard Worker o Add the libtool-generated /m4/* stuff to .gitignore (c21c663) 676*663afb9bSAndroid Build Coastguard Worker o Remove some automake-generated files from version control. (9b14911) 677*663afb9bSAndroid Build Coastguard Worker o Have autogen.sh pass --force-missing to automake (8a44062) 678*663afb9bSAndroid Build Coastguard Worker o Set library version for libevent_pthreads correctly (b2d7440) 679*663afb9bSAndroid Build Coastguard Worker o Really only add libevent_core.la to LIBADD on mingw (1425003 Sebastian Hahn) 680*663afb9bSAndroid Build Coastguard Worker o Build more cleanly with NetBSDs that dislike toupper(char) (42a8c71) 681*663afb9bSAndroid Build Coastguard Worker o Fix unit tests with -DUSE_DEBUG enabled (28f31a4) 682*663afb9bSAndroid Build Coastguard Worker o Fix evdns build with -DUNICODE (5fa30d2) 683*663afb9bSAndroid Build Coastguard Worker o Move event-config.h to include/event2 (ec347b9) 684*663afb9bSAndroid Build Coastguard Worker 685*663afb9bSAndroid Build Coastguard WorkerTESTING 686*663afb9bSAndroid Build Coastguard Worker o Add options to test-ratelim.c to check its results (2b44dcc) 687*663afb9bSAndroid Build Coastguard Worker o Make test-ratelim clean up after itself better. (b5bfc44) 688*663afb9bSAndroid Build Coastguard Worker o Remove the now-obsolete setup_test() and cleanup_test() functions (e73f1d7) 689*663afb9bSAndroid Build Coastguard Worker o Remove all non-error prints from test/regress.c (8bc1e3d) 690*663afb9bSAndroid Build Coastguard Worker o Make test.sh exit with nonzero status if tests fail (faf2a04) 691*663afb9bSAndroid Build Coastguard Worker o Have the unit tests report errors from test.sh (3689bd2) 692*663afb9bSAndroid Build Coastguard Worker o Fix logic in correcting high values from FIONREAD (3467f2f) 693*663afb9bSAndroid Build Coastguard Worker o Add test for behavior on remote socket close (44d57ee) 694*663afb9bSAndroid Build Coastguard Worker o Unit test for event_get_struct_event_size() (7510aac) 695*663afb9bSAndroid Build Coastguard Worker o Make test/test.sh call test-changelist (7c92691) 696*663afb9bSAndroid Build Coastguard Worker o Fix badly-behaved subtest of dns/bufferevent_connect_hostname (840a72f Joachim Bauch) 697*663afb9bSAndroid Build Coastguard Worker o Add option to test-ratelim to test min_share (42f6b62) 698*663afb9bSAndroid Build Coastguard Worker o Fix an assertion bug in test-ratelim (b2c6202) 699*663afb9bSAndroid Build Coastguard Worker o Make tests quieter on local dns resolver failure (e996b3d) 700*663afb9bSAndroid Build Coastguard Worker o Increase the tolerance in our unit tests for sloppy clocks. (170ffd2) 701*663afb9bSAndroid Build Coastguard Worker o Use AF_INET socketpair to test sendfile on Solaris (9b60209) 702*663afb9bSAndroid Build Coastguard Worker o Make test-changelist count cpu usage right on win32 (ea1ea3d) 703*663afb9bSAndroid Build Coastguard Worker 704*663afb9bSAndroid Build Coastguard WorkerINTERNALS, PERFORMANCE, AND CODE CLEANUPS 705*663afb9bSAndroid Build Coastguard Worker o Mark the event_err() functions as __attribute__((noreturn)) (33bbbed) 706*663afb9bSAndroid Build Coastguard Worker o Do not check that event_base is set in EVBASE_ACQUIRE_LOCK (218a3c3) 707*663afb9bSAndroid Build Coastguard Worker o Replace (safe) use of strcpy with memcpy to appease OpenBSD (caca2f4) 708*663afb9bSAndroid Build Coastguard Worker o Remove some dead assignments (47c5dfb) 709*663afb9bSAndroid Build Coastguard Worker o Fix a pedantic gcc 4.4 warning in event2/event.h (276e7ee) 710*663afb9bSAndroid Build Coastguard Worker o Drain th_notify_fd[0] more bytes at a time. (a5bc15b) 711*663afb9bSAndroid Build Coastguard Worker o Tidy up the code in evthread_make_base_notifiable a little (61e1eee) 712*663afb9bSAndroid Build Coastguard Worker o Pass flags to fcntl(F_SETFL) and fcntl(F_SETFD) as int, not long (7c2dea1) 713*663afb9bSAndroid Build Coastguard Worker o Remove unused variables in test/test-changelist.c (b00d4c0) 714*663afb9bSAndroid Build Coastguard Worker o Fix whitespace. (cb927a5) 715*663afb9bSAndroid Build Coastguard Worker o Improve error message for failed epoll to make debugging easier. (9e725f7) 716*663afb9bSAndroid Build Coastguard Worker o Turn our socketpair() replacement into its own function (57b30cd) 717*663afb9bSAndroid Build Coastguard Worker 718*663afb9bSAndroid Build Coastguard Worker 719*663afb9bSAndroid Build Coastguard Worker 720*663afb9bSAndroid Build Coastguard WorkerChanges in 2.0.5-beta (10 May 2010): 721*663afb9bSAndroid Build Coastguard Worker [Autogenerated from the Git log, sorted by hand.] 722*663afb9bSAndroid Build Coastguard WorkerDOCUMENTATION 723*663afb9bSAndroid Build Coastguard Worker o Update all our copyright notices to say "2010" (17efc1c) 724*663afb9bSAndroid Build Coastguard Worker o Add Christopher Clark and Maxim Yegorushkin to the LICENSE file (38b7b57) 725*663afb9bSAndroid Build Coastguard Worker o Clarify Christopher Clark's status as writer of original ht code. (78772c3) 726*663afb9bSAndroid Build Coastguard Worker o Try to comment some of the event code more (cdd4c49) 727*663afb9bSAndroid Build Coastguard Worker o Add a few more evmap/changelist comments (c247adc) 728*663afb9bSAndroid Build Coastguard Worker o Add a comment to explain why evdns_request is now separte from request (ceefbe8) 729*663afb9bSAndroid Build Coastguard Worker o Document evutil_secure_rng_init() and evutil_secure_rng_add_bytes() (a5bf43a) 730*663afb9bSAndroid Build Coastguard Worker o Stop distributing and installing manpages: they were too inaccurate (7731ec8) 731*663afb9bSAndroid Build Coastguard Worker 732*663afb9bSAndroid Build Coastguard WorkerNEW FEATURES AND INTERFACE CHANGES 733*663afb9bSAndroid Build Coastguard Worker o Remove signal_assign() and signal_new() macros. (2fac0f7) 734*663afb9bSAndroid Build Coastguard Worker o Make evdns use the regular logging system by default (b2f2be6) 735*663afb9bSAndroid Build Coastguard Worker o Allow evbuffer_read() to split across more than 2 iovecs (e470ad3) 736*663afb9bSAndroid Build Coastguard Worker o Functions to manipulate existing rate limiting groups. (ee41aca) 737*663afb9bSAndroid Build Coastguard Worker o Functions to track the total bytes sent over a rate limit group. (fb366c1) 738*663afb9bSAndroid Build Coastguard Worker o Detect and refuse reentrant event_base_loop() calls (b557b17) 739*663afb9bSAndroid Build Coastguard Worker o Limit the maximum number of events on each socket to 65535 (819f949) 740*663afb9bSAndroid Build Coastguard Worker o Add evbuffer_copyout to copy data from an evbuffer without draining (eb86c8c) 741*663afb9bSAndroid Build Coastguard Worker o Expose the request and reply members of rpc_req_generic() (07edf78 Shuo Chen) 742*663afb9bSAndroid Build Coastguard Worker o Add void* arguments to request_new and reply_new evrpc hooks (755fbf1 Shuo Chen) 743*663afb9bSAndroid Build Coastguard Worker o Seed the RNG using sysctl() as well as /dev/urandom (71fc3eb) 744*663afb9bSAndroid Build Coastguard Worker o Make evutil_secure_rng_init() work even with builtin arc4random (f980716) 745*663afb9bSAndroid Build Coastguard Worker o Report DNS error when lookup fails during bufferevent_socket_connect_hostname. (0ef4070 Christopher Davis) 746*663afb9bSAndroid Build Coastguard Worker o Release locks on bufferevents while executing callbacks (a5208fe Joachim Bauch) o Make debug mode catch mixed ET and non-ET events on an fd (cb67074) 747*663afb9bSAndroid Build Coastguard Worker o Catch attempts to enable debug_mode too late (9ecf0d4) 748*663afb9bSAndroid Build Coastguard Worker o Refuse null keys in evhttp_parse_query() (953e229 Frank Denis) 749*663afb9bSAndroid Build Coastguard Worker 750*663afb9bSAndroid Build Coastguard WorkerBUGFIXES 751*663afb9bSAndroid Build Coastguard Worker o Avoid a spurious close(-1) on Linux (70a44b6) 752*663afb9bSAndroid Build Coastguard Worker o Do not close(-1) when freeing an uninitialized socket bufferevent (b34abf3) 753*663afb9bSAndroid Build Coastguard Worker o Free evdns_base->req_heads on evdns_base_free (859af67) 754*663afb9bSAndroid Build Coastguard Worker o Avoid an (untriggerable so far) crash bug in bufferevent_free() (0cf1431) 755*663afb9bSAndroid Build Coastguard Worker o Set mem_offset for every bufferevent type (657d1b6) 756*663afb9bSAndroid Build Coastguard Worker o Fix infrequent memory leak in bufferevent_init_common(). (8398641 Jardel Weyrich) 757*663afb9bSAndroid Build Coastguard Worker o Make evutil_signal_active() match declaration. (e1e703d Patrick Galbraith) 758*663afb9bSAndroid Build Coastguard Worker o Fix minheap code to use replacement malloc functions (a527618) 759*663afb9bSAndroid Build Coastguard Worker o Fix a free(NULL) in minheap-internal.h (6f20492) 760*663afb9bSAndroid Build Coastguard Worker o Fix critical bug in evbuffer_write when writev is not available (cda56ab) 761*663afb9bSAndroid Build Coastguard Worker o Make the no_iovecs case of write_atmost compile (8e227b0) 762*663afb9bSAndroid Build Coastguard Worker o Fix a memory leak when appending/prepending to a buffer with unused space. (45068a3) 763*663afb9bSAndroid Build Coastguard Worker o Clean up a mistake in pointer manipulation in evbuffer_remove (28bfed4 Christopher Davis) 764*663afb9bSAndroid Build Coastguard Worker o Always round up when there's a fractional number of msecs. (8f9e60c Christopher Davis) 765*663afb9bSAndroid Build Coastguard Worker o Fix compiler warnings under WIN32 (d469c50 Giuseppe Scrivano) 766*663afb9bSAndroid Build Coastguard Worker o Clean up properly when adding a signal handler fails. (b84b598 Gilad Benjamini) o Ensure that evdns_request is a persistent handle. (15bb82d Christopher Davis) 767*663afb9bSAndroid Build Coastguard Worker o Free search state when finished searching to avoid an infinite loop. (a625840 Christopher Davis) 768*663afb9bSAndroid Build Coastguard Worker o Assert for valid requests as necessary. (67072f3 Christopher Davis) 769*663afb9bSAndroid Build Coastguard Worker o do not leak the request object on persistent connections (9d8edf2) 770*663afb9bSAndroid Build Coastguard Worker o Make evdns logging threadsafe (b1c7950) 771*663afb9bSAndroid Build Coastguard Worker o Fix a couple of bugs in the BSD sysctl arc4seed logic (a47a4b7) 772*663afb9bSAndroid Build Coastguard Worker o Remove one last bug in last_with_datap logic. Found with valgrind (d49b92a) 773*663afb9bSAndroid Build Coastguard Worker o fix a leak when unpausing evrpc requests (94ee125) 774*663afb9bSAndroid Build Coastguard Worker o Fix a memory leak when unmarshalling RPC object arrays (f6ab2a2) 775*663afb9bSAndroid Build Coastguard Worker o Fix compilation when openssl support is disabled (40c301b) 776*663afb9bSAndroid Build Coastguard Worker o Allow empty reason line in HTTP status (739e688 Pierre Phaneuf) 777*663afb9bSAndroid Build Coastguard Worker o Fix a compile warning introduced in 739e688 (bd1ed5f Sebastian Hahn) 778*663afb9bSAndroid Build Coastguard Worker o Fix nonstandard TAILQ_FOREACH_REVERSE() definition (71afc52 Frank Denis) 779*663afb9bSAndroid Build Coastguard Worker o Try /proc on Linux as entropy fallback; use sysctl as last resort (20fda29) 780*663afb9bSAndroid Build Coastguard Worker o Fix symbol conflict between mm_*() macros and libmm (99e50e9) 781*663afb9bSAndroid Build Coastguard Worker o Fix some crazy macro mistakes in arc4random.c (90d4225) 782*663afb9bSAndroid Build Coastguard Worker o Make evbuffer_add_file() work on windows (dcdae6b) 783*663afb9bSAndroid Build Coastguard Worker o Fix unused-variable warning when building with threads disabled (ad811cd) 784*663afb9bSAndroid Build Coastguard Worker o Numerous opensolaris compilation fixes (c44de06) 785*663afb9bSAndroid Build Coastguard Worker o Fix getaddrinfo with protocol unset on Solaris 9. Found by Dagobert Michelsen (2cf2a28) 786*663afb9bSAndroid Build Coastguard Worker o Fix another nasty solaris getaddrinfo() behavior (3557071) 787*663afb9bSAndroid Build Coastguard Worker o Define _REENTRANT as needed on Solaris, elsewhere (c1cd32a) 788*663afb9bSAndroid Build Coastguard Worker o Fix some autoconf issues on OpenBSD (7c519df) 789*663afb9bSAndroid Build Coastguard Worker 790*663afb9bSAndroid Build Coastguard WorkerBUILD AND DISTRIBUTION CHANGES 791*663afb9bSAndroid Build Coastguard Worker o Distribute libevent.pc.in, not libevent.pc (22aff04) 792*663afb9bSAndroid Build Coastguard Worker o Avoid errors in evutil.c when building with _UNICODE defined (b677032 Brodie Thiesfield) 793*663afb9bSAndroid Build Coastguard Worker o Avoid errors in http.c when building with VC 2003 .NET (13e4f3b Brodie Thiesfield) 794*663afb9bSAndroid Build Coastguard Worker o Support the standard 'make check' target in place of 'make verify' (426c8fb) 795*663afb9bSAndroid Build Coastguard Worker o Remove redundant stuff from EXTRA_DIST (b660edf) 796*663afb9bSAndroid Build Coastguard Worker o Switch to using AM conditionals in place of AC_LIBOBJ (2e898f5) 797*663afb9bSAndroid Build Coastguard Worker o Remove an orphaned RELEASE flag in Makefile.am (0794b0d) 798*663afb9bSAndroid Build Coastguard Worker o Give a better warning for bad automake versions. (77c917d) 799*663afb9bSAndroid Build Coastguard Worker o Use dist_bin_SCRIPTS, not EXTRA_DIST, to distribute scripts (9eb2fd7) 800*663afb9bSAndroid Build Coastguard Worker o Never test for select() on windows (3eb044d Trond Norbye) 801*663afb9bSAndroid Build Coastguard Worker o Do not inhibit automake dependencies generation (10c4c90 Giuseppe Scrivano) 802*663afb9bSAndroid Build Coastguard Worker o Create shared libraries under Windows (3cbca86 Giuseppe Scrivano) 803*663afb9bSAndroid Build Coastguard Worker o Add ctags/etags files to .gitignore (0861d17) 804*663afb9bSAndroid Build Coastguard Worker o Only specify -no-undefined on mingw (25433b9) 805*663afb9bSAndroid Build Coastguard Worker o Only add libevent_core.la to LIBADD on mingw (fdc6297) 806*663afb9bSAndroid Build Coastguard Worker 807*663afb9bSAndroid Build Coastguard WorkerTESTING 808*663afb9bSAndroid Build Coastguard Worker o Get bench_http to work on Windows; add a switch to enable IOCP. (4ac38a5 Christopher Davis) 809*663afb9bSAndroid Build Coastguard Worker o VC has no getopt(), so do without in bench_http. (1273d2f Christopher Davis) 810*663afb9bSAndroid Build Coastguard Worker o Fix an obnoxious typo in the bufferevent_timeout_filter test (0d047c3) 811*663afb9bSAndroid Build Coastguard Worker o Fix a write of uninitialized RAM in regression tests (68dc742) 812*663afb9bSAndroid Build Coastguard Worker o Fix some memory leaks in the unit tests (274a7bd) 813*663afb9bSAndroid Build Coastguard Worker o Make 'main/many_events' test 70 fds, not 64. (33874b0) 814*663afb9bSAndroid Build Coastguard Worker o Unit-test every evbuffer_add_file() implementation. (06a4443) 815*663afb9bSAndroid Build Coastguard Worker o Add more unit tests for evbuffer_expand (8c83e99) 816*663afb9bSAndroid Build Coastguard Worker o Test another case of evbuffer_prepend (1234b95) 817*663afb9bSAndroid Build Coastguard Worker o Fix a possible double-free bug in SSL bufferevents with CLOSE_ON_FREE (7501895) o Add dns/search_cancel unit test. (39b870b Christopher Davis) 818*663afb9bSAndroid Build Coastguard Worker o Make http_base_test stop leaking an event_base. (96730d3) 819*663afb9bSAndroid Build Coastguard Worker o Detect broken unsetenv at unit-test runtime (f37cd4c) 820*663afb9bSAndroid Build Coastguard Worker o Implement regress_make_tempfile on win32 to test evbuffer_add_file (b4f12a1) 821*663afb9bSAndroid Build Coastguard Worker o add more (currently skipped) add_file tests on win32 (05de45d) 822*663afb9bSAndroid Build Coastguard Worker o Fix bench_http build on win32. (384d124) 823*663afb9bSAndroid Build Coastguard Worker o Make unit test for add_file able to tell "error" from "done" (88a543f) 824*663afb9bSAndroid Build Coastguard Worker o Make test for bufferevent_connect_hostname system-neutral (f89168e) 825*663afb9bSAndroid Build Coastguard Worker o Make test.sh support mingw/msys on win32 (0ee6f6c) 826*663afb9bSAndroid Build Coastguard Worker o Fix test.sh on freebsd (3d9e05b) 827*663afb9bSAndroid Build Coastguard Worker 828*663afb9bSAndroid Build Coastguard WorkerINTERNALS, PERFORMANCE, AND AND CODE CLEANUPS 829*663afb9bSAndroid Build Coastguard Worker o Improve the speed of evbuffer_readln() (cc1600a) 830*663afb9bSAndroid Build Coastguard Worker o more whitespace normalization (2c2618d) 831*663afb9bSAndroid Build Coastguard Worker o Revise evbuffer to add last_with_data (2a6d2a1) 832*663afb9bSAndroid Build Coastguard Worker o Use last_with_data in place of previous_to_last (c8ac57f) 833*663afb9bSAndroid Build Coastguard Worker o Remove previous_to_last from evbuffer (6f47bd1) 834*663afb9bSAndroid Build Coastguard Worker o Fix last_with_data compilation on windows (1e7b986) 835*663afb9bSAndroid Build Coastguard Worker o Add some glass-box tests for the last_with_data code. (17da042) 836*663afb9bSAndroid Build Coastguard Worker o Improve robustness for refcounting (f1bc125) 837*663afb9bSAndroid Build Coastguard Worker o Remove a needless min_heap_shift_up_() call (7204b91) 838*663afb9bSAndroid Build Coastguard Worker o Increase MIN_BUFFER_SIZE to 512 (1024 on 64-bit) (2014ae4) 839*663afb9bSAndroid Build Coastguard Worker o Do not use evbuffer_expand() to add the first chain to a buffer (5c0ebb3) 840*663afb9bSAndroid Build Coastguard Worker o Make evbuffer_prepend handle empty buffers better (c87272b) 841*663afb9bSAndroid Build Coastguard Worker o Replace last_with_data with a slightly smarter version (b7442f8) 842*663afb9bSAndroid Build Coastguard Worker o Turn the increasingly complex *_CHAIN() macros into functions (96865c4) 843*663afb9bSAndroid Build Coastguard Worker o Rewrite evbuffer_expand and its users (d5ebcf3) 844*663afb9bSAndroid Build Coastguard Worker o Add evutil_tv_to_msec for safe conversion of timevals to milliseconds. (850c3ff Christopher Davis) 845*663afb9bSAndroid Build Coastguard Worker o Initialize last_with_datap correctly in evbuffer_overlapped (a0983b6) 846*663afb9bSAndroid Build Coastguard Worker o Replace EVUTIL_CLOSESOCKET macro with a function (899c1dc Sebastian Sjöberg) 847*663afb9bSAndroid Build Coastguard Worker o Move domain search state to evdns_request. (beaa14a Christopher Davis) 848*663afb9bSAndroid Build Coastguard Worker o Remove redundant checks for lock!=NULL before calling EVLOCK_LOCK (50ec59f) 849*663afb9bSAndroid Build Coastguard Worker o Rename current_base symbol to event_global_current_base_ (c16e684) 850*663afb9bSAndroid Build Coastguard Worker o Fix whitespace in evutil.c (935e150) 851*663afb9bSAndroid Build Coastguard Worker o Replace users of "int fd" with "evutil_socket_t fd" in portable code (c7cf6f0) 852*663afb9bSAndroid Build Coastguard Worker 853*663afb9bSAndroid Build Coastguard Worker 854*663afb9bSAndroid Build Coastguard Worker 855*663afb9bSAndroid Build Coastguard WorkerChanges in 2.0.4-alpha (28 Feb 2010): 856*663afb9bSAndroid Build Coastguard Worker [Autogenerated from the Git log, sorted by hand.] 857*663afb9bSAndroid Build Coastguard WorkerDOCUMENTATION 858*663afb9bSAndroid Build Coastguard Worker o Add stub header for 2.0.4-alpha changelog. (94d0065) 859*663afb9bSAndroid Build Coastguard Worker o Improve the README with more information and links. (0b42726) 860*663afb9bSAndroid Build Coastguard Worker o Add more people who wrote patches to the acknowledgments (0af10d5) 861*663afb9bSAndroid Build Coastguard Worker o Add a warning about the use of event_initialized. (f32b575) 862*663afb9bSAndroid Build Coastguard Worker o Add a LICENSE file so people can find our license easily (7067006) 863*663afb9bSAndroid Build Coastguard Worker o Add a new "hello world" sample program (becb9f9) 864*663afb9bSAndroid Build Coastguard Worker o Clarify status of example programs (d60a1bd) 865*663afb9bSAndroid Build Coastguard Worker o Update time-test.c to use event2 (f4190bf) 866*663afb9bSAndroid Build Coastguard Worker o Add the arc4random.c license to the LICENSE file. (e15e1e9) 867*663afb9bSAndroid Build Coastguard Worker 868*663afb9bSAndroid Build Coastguard WorkerNEW FEATURES AND INTERFACE CHANGES 869*663afb9bSAndroid Build Coastguard Worker o Improved optional lock debugging. (0cd3bb9) 870*663afb9bSAndroid Build Coastguard Worker o Rate-limiting for bufferevents; group and individual limits are supported. (737c9cd) 871*663afb9bSAndroid Build Coastguard Worker o Testing code for bufferevent rate-limiting. (f0c0124) 872*663afb9bSAndroid Build Coastguard Worker o Make the initial nameserver probe timeout configurable. (1e56a32) 873*663afb9bSAndroid Build Coastguard Worker o Revise the locking API: deprecate the old locking callbacks and add trylock. (347952f) 874*663afb9bSAndroid Build Coastguard Worker o Do not make bufferevent_setfd implicitly disable EV_READ and EV_WRITE. (8274379) 875*663afb9bSAndroid Build Coastguard Worker o Do not ignore bufferevent_enable(EV_READ) before bufferevent_connect(). (4a5b534) 876*663afb9bSAndroid Build Coastguard Worker o Introduced evutil_make_socket_closeonexec() to preserve fd flags for F_SETFD. (d0939d2 Jardel Weyrich) 877*663afb9bSAndroid Build Coastguard Worker o evdns_getaddrinfo() now supports the /etc/hosts file. (72dd666) 878*663afb9bSAndroid Build Coastguard Worker o Look at the proper /etc/hosts file on windows. (66c02c7) 879*663afb9bSAndroid Build Coastguard Worker o Allow http connections to use evdns for hostname looksups. (c698b77) 880*663afb9bSAndroid Build Coastguard Worker o Changelist code to defer event changes until just before dispatch (27308aa) 881*663afb9bSAndroid Build Coastguard Worker o do not use a function to assign the evdns base; instead assign it via evhttp_connection_base_new() which is a new function introduced in 2.0 (5032e52) 882*663afb9bSAndroid Build Coastguard Worker o Functions to access more fields of struct event. (0683950) 883*663afb9bSAndroid Build Coastguard Worker o Make kqueue use changelists. (45e5ae3) 884*663afb9bSAndroid Build Coastguard Worker o Remove kqueue->pend_changes. (3225dfb) 885*663afb9bSAndroid Build Coastguard Worker o Minimize epoll_ctl calls by using changelist (c8c6a89) 886*663afb9bSAndroid Build Coastguard Worker o Add support for a "debug mode" to try to catch common errors. (cd17c3a) 887*663afb9bSAndroid Build Coastguard Worker o Note a missing ratelim function (361da8f) 888*663afb9bSAndroid Build Coastguard Worker o Add ev_[u]intptr_t to include/event2/util.h (1fa4c81) 889*663afb9bSAndroid Build Coastguard Worker o const-ify a few more functions in event.h (d38a7a1) 890*663afb9bSAndroid Build Coastguard Worker o Deprecate EVENT_FD and EVENT_SIGNAL. (f6b2694) 891*663afb9bSAndroid Build Coastguard Worker o Remove EVUTIL_CHECK_FMT. (6c21c89) 892*663afb9bSAndroid Build Coastguard Worker o Add EV_*_MAX macros to event2/util.h to expose limits for ev_* types. (aba1fff) o Functions to view and manipulate rate-limiting buckets. (85047a6) 893*663afb9bSAndroid Build Coastguard Worker o Add the rest of the integer limits, and add a test for them. (60742d5) 894*663afb9bSAndroid Build Coastguard Worker o Remove the 'flags' argument from evdns_base_set_option() (1dd7e6d) 895*663afb9bSAndroid Build Coastguard Worker o Add an arc4random implementation for use by evdns (d4de062) 896*663afb9bSAndroid Build Coastguard Worker o Use off_t for the length parameter of evbuffer_add_file (3fe60fd) 897*663afb9bSAndroid Build Coastguard Worker o Construct Windows locks using InitializeCriticalSectionAndSpinCount (32c6f1b) 898*663afb9bSAndroid Build Coastguard Worker o Expose view of current rate limit as constrained by group limit (162ce8a) 899*663afb9bSAndroid Build Coastguard Worker o Provide consistent, tested semantics for bufferevent timeouts (d328829) 900*663afb9bSAndroid Build Coastguard Worker 901*663afb9bSAndroid Build Coastguard WorkerBUGFIXES AND TESTS 902*663afb9bSAndroid Build Coastguard Worker o Tolerate code that returns from a fatal_cb. (91fe23f) 903*663afb9bSAndroid Build Coastguard Worker o Parenthesize macro arguments more aggressively (07e9e9b) 904*663afb9bSAndroid Build Coastguard Worker o Fix memory-leak of signal handler array with kqueue. (e1ffbb8) 905*663afb9bSAndroid Build Coastguard Worker o Stop passing EVTHREAD_READ and EVTHREAD_WRITE to non-rw locks. (76cd2b7) 906*663afb9bSAndroid Build Coastguard Worker o Fix two use-after-free bugs in unit tests spoted by lock debugging (d84d838) 907*663afb9bSAndroid Build Coastguard Worker o Fix a locking bug in event_base_loop() (da1718b) 908*663afb9bSAndroid Build Coastguard Worker o Fix an evdns lock violation. (2df1f82 Zhuang Yuyao) 909*663afb9bSAndroid Build Coastguard Worker o Valgrind fix: Clear struct kevent before checking for OSX bug. (56771a3 William Ahern) 910*663afb9bSAndroid Build Coastguard Worker o Fix up evthread compilation on windows (bd6f1ba Roman Puls) 911*663afb9bSAndroid Build Coastguard Worker o Fix regress_iocp.c usage of old lock allocation macros. (31687b4 unknown) 912*663afb9bSAndroid Build Coastguard Worker o Update nmake makefile to build evthread.c (b62d979 unknown) 913*663afb9bSAndroid Build Coastguard Worker o Fix a crash when reading badly formatted resolve.conf; from Yasuoka Masahiko (6c7c579 Yasuoka Masahiko) 914*663afb9bSAndroid Build Coastguard Worker o Fix a snow leopard compile warning in the unit tests. (7ae9445) 915*663afb9bSAndroid Build Coastguard Worker o Fix compile on Snow Leopard with gcc warnings enabled (70cdfe4 Sebastian Hahn) 916*663afb9bSAndroid Build Coastguard Worker o Only define _GNU_SOURCE if it is not already defined. (ea6b1df Joachim Bauch) 917*663afb9bSAndroid Build Coastguard Worker o Update sample/signal-test.c to use newer APIs and not leak. (f6430ac Evan Jones) 918*663afb9bSAndroid Build Coastguard Worker o Fix a segfault when writing a very fragmented evbuffer onto an SSL (a6adeca Joachim Bauch) 919*663afb9bSAndroid Build Coastguard Worker o Fix a segfault when freeing SSL bufferevents in an unusual order (a773df5 Joachim Bauch) 920*663afb9bSAndroid Build Coastguard Worker o Drop install-sh from our git repo: a mismatched version could break "make dist" (6799527) 921*663afb9bSAndroid Build Coastguard Worker o Set all instances of the version number correctly. (5a112d3) 922*663afb9bSAndroid Build Coastguard Worker o Fix a few locking issues on windows. (c51bb3c unknown) 923*663afb9bSAndroid Build Coastguard Worker o Use evutil_socket_t, not int, when logging socket errors. (292467c) 924*663afb9bSAndroid Build Coastguard Worker o Fix up behavior of never-defered callbacks a little (390e056) 925*663afb9bSAndroid Build Coastguard Worker o Replace some cases of uint32_t with ev_uint32_t. (a47d88d) 926*663afb9bSAndroid Build Coastguard Worker o Fix compilation of devpoll.c by adding missing thread includes. (fee2c77 Dagobert Michelsen) 927*663afb9bSAndroid Build Coastguard Worker o Make evutil_make_socket_nonblocking() leave any other flags alone. (4c8b7cd Jardel Weyrich) 928*663afb9bSAndroid Build Coastguard Worker o Fix an fd leak in evconnlistener_new_bind(). (24fb502 Jardel Weyrich) 929*663afb9bSAndroid Build Coastguard Worker o Fix a bogus free in evutil_new_addrinfo() (0d64051 Jardel Weyrich) 930*663afb9bSAndroid Build Coastguard Worker o Adjusted fcntl() retval comparison on evutil_make_socket_nonblocking(). (4df7dbc Jardel Weyrich) 931*663afb9bSAndroid Build Coastguard Worker o Fix the code that allowed DNS options to not end with : (ee4953f) 932*663afb9bSAndroid Build Coastguard Worker o Fix crash bugs when a bufferevent's eventcb is not set. (2e8eeea) 933*663afb9bSAndroid Build Coastguard Worker o Fix test-ratelim compilation on Linux. (885b427) 934*663afb9bSAndroid Build Coastguard Worker o Fix compilation of rate-limiting code on win32. (165d30e) 935*663afb9bSAndroid Build Coastguard Worker o Eradicated the last free() call. Let mm_free() take care of deallocation. (0546ce1 Jardel Weyrich) 936*663afb9bSAndroid Build Coastguard Worker o Fix byte counts when mixing deferred and non-deferred evbuffer callbacks. (29151e6) 937*663afb9bSAndroid Build Coastguard Worker o Fixed a memory leak on windows threads implementation. The CRITICAL_SECTION was not being free'd in evthread_win32_lock_free(). (2f33e00 Jardel Weyrich) 938*663afb9bSAndroid Build Coastguard Worker o Fixed a fd leak in start_accepting(), plus cosmetic changes (4367a33 Jardel Weyrich) 939*663afb9bSAndroid Build Coastguard Worker o Improved error handling in evconnlistener_new_async(). Also keeping the fd open because it is not opened by this function, so the caller is responsible for closing it. Additionally, since evconnlistener_new_bind() creates a socket and passes it to the function above, it required error checking to close the same socket. (fec66f9 Jardel Weyrich) 940*663afb9bSAndroid Build Coastguard Worker o Don't use a bind address for nameservers on loopback (8d4aaf9) 941*663afb9bSAndroid Build Coastguard Worker o Fix compilation of rate-limit code when threading support is disabled (97a8c79) 942*663afb9bSAndroid Build Coastguard Worker o Detect setenv/unsetenv; skip main/base_environ test if we can't fake them. (7296971) 943*663afb9bSAndroid Build Coastguard Worker o Check more internal event_add() calls for failure (ff3f6cd) 944*663afb9bSAndroid Build Coastguard Worker o Fix windows and msvc build (5c7a7bc) 945*663afb9bSAndroid Build Coastguard Worker o Call event_debug_unassign on internal events (a19b4a0) 946*663afb9bSAndroid Build Coastguard Worker o Try to fix a warning in hash_debug_entry (137f2c6) 947*663afb9bSAndroid Build Coastguard Worker o Fix a dumb typo in ev_intptr_t definitions. (27c9a40) 948*663afb9bSAndroid Build Coastguard Worker o do not fail while sending on http connections the client closed. (93d7369) 949*663afb9bSAndroid Build Coastguard Worker o make evhttp_send() safe against terminated connections, too (3978180) 950*663afb9bSAndroid Build Coastguard Worker o Make Libevent 1.4.12 build on win32 with Unicode enabled. (000a33e Brodie Thiesfield) 951*663afb9bSAndroid Build Coastguard Worker o Fix some additional -DUNICODE issues on win32. (a7a9431) 952*663afb9bSAndroid Build Coastguard Worker o Add a check to make soure our EVUTIL_AI flags do not conflict with the native ones (c18490e) 953*663afb9bSAndroid Build Coastguard Worker o Always use our own gai_strerror() replacement. (6810bdb) 954*663afb9bSAndroid Build Coastguard Worker o Make RNG work when we have arc4random() but not arc4random_buf() (4ec8fea) 955*663afb9bSAndroid Build Coastguard Worker o validate close cb on server when client connection closes (2f782af) 956*663afb9bSAndroid Build Coastguard Worker o Fix two unlocked reads in evbuffer. (7116bf2) 957*663afb9bSAndroid Build Coastguard Worker o When working without a current event base, don't try to use IOCP listeners (cb52838) 958*663afb9bSAndroid Build Coastguard Worker o Fix getpid() usage on Windows (ff2a134) 959*663afb9bSAndroid Build Coastguard Worker o Add a unit test for secure rng. (48a29b6) 960*663afb9bSAndroid Build Coastguard Worker o Add some headers to fix freebsd compilation (b72be50) 961*663afb9bSAndroid Build Coastguard Worker o When connect() succeeds immediately, don't invoke the callback immediately. (7515de9) 962*663afb9bSAndroid Build Coastguard Worker o Suspend read/write on bufferevents during hostname lookup (db08f64) 963*663afb9bSAndroid Build Coastguard Worker o Make bufferevent_free() clear all callbacks immediately. (b2fbeb3) 964*663afb9bSAndroid Build Coastguard Worker o Fix some race conditions in persistent events and event_reinit (e2642f0) 965*663afb9bSAndroid Build Coastguard Worker o Fix a bug in resetting timeouts on persistent events when IO triggers. (38ec0a7) 966*663afb9bSAndroid Build Coastguard Worker o Add a test for timeouts on filtering bufferevents. (c02bfe1) 967*663afb9bSAndroid Build Coastguard Worker o Add test for periodic timers that get activated for other reasons (8fcb7a1) 968*663afb9bSAndroid Build Coastguard Worker o Use new timeval diff comparison function in bufferevent test (f3dfe46) 969*663afb9bSAndroid Build Coastguard Worker o Delete stack-alloced event in new unit test before returning. (7ffd387) 970*663afb9bSAndroid Build Coastguard Worker o Fix mingw compilation (23170a6) 971*663afb9bSAndroid Build Coastguard Worker o Try to define a sane _EVENT_SIZEOF_SIZE_T for msvc compilation (1e14f82) 972*663afb9bSAndroid Build Coastguard Worker o Fix arc4random compilation on MSVC. (98edb89) 973*663afb9bSAndroid Build Coastguard Worker o deal with connect() failing immediately (7bc48bf) 974*663afb9bSAndroid Build Coastguard Worker o Small cleanups on freebsd-connect-refused patch. (57b7248) 975*663afb9bSAndroid Build Coastguard Worker 976*663afb9bSAndroid Build Coastguard WorkerBUILD AND DISTRIBUTION CHANGES 977*663afb9bSAndroid Build Coastguard Worker o Remove the contents of WIN32-Prj as unmaintained. (c69d5a5) 978*663afb9bSAndroid Build Coastguard Worker o Allow the user to redirect the verbose output of test/test.sh to a file (c382de6) 979*663afb9bSAndroid Build Coastguard Worker o Allow test.sh to be run as ./test/test.sh (7dfbe94) 980*663afb9bSAndroid Build Coastguard Worker o Never believe that we have pthreads on win32, even if gcc thinks we do. (78ed097) 981*663afb9bSAndroid Build Coastguard Worker o Make it compile under gcc --std=c89. (e2ca403) 982*663afb9bSAndroid Build Coastguard Worker o Fix a number of warnings from gcc -pedantic (918e9c5) 983*663afb9bSAndroid Build Coastguard Worker o Add the msvc-generated .lib files to .gitignore. (e244a2e) 984*663afb9bSAndroid Build Coastguard Worker o Add the "compile" script to gitignore. (1ba6bed) 985*663afb9bSAndroid Build Coastguard Worker 986*663afb9bSAndroid Build Coastguard WorkerINTERNALS AND CODE CLEANUPS 987*663afb9bSAndroid Build Coastguard Worker o Add a .gitignore file. (ba34071) 988*663afb9bSAndroid Build Coastguard Worker o New EVTHREAD_TRY_LOCK function to try to grab a lock. (689fc09) 989*663afb9bSAndroid Build Coastguard Worker o Add the abilitity to mark some buffer callbacks as never-deferred. (438f9ed) 990*663afb9bSAndroid Build Coastguard Worker o Refactor our 'suspend operation' logic on bufferevents. (0d744aa) 991*663afb9bSAndroid Build Coastguard Worker o Simplify the read high-watermark checking. (5846bf6) 992*663afb9bSAndroid Build Coastguard Worker o Improve readability of evutil_unparse_protoname() (5a43df8 Jardel Weyrich) 993*663afb9bSAndroid Build Coastguard Worker o Expose our cached gettimeofday value with a new interface (47854a8) 994*663afb9bSAndroid Build Coastguard Worker o Whitespace fixes in test.sh (0b151a9) 995*663afb9bSAndroid Build Coastguard Worker o Enable branch-prediction hints with EVUTIL_UNLIKELY. (eaaf27f) 996*663afb9bSAndroid Build Coastguard Worker o Refactor code from evdns into a new internal "read a file" function. (0f7144f) 997*663afb9bSAndroid Build Coastguard Worker o Comestic changes in evconnlistener_new(), new_accepting_socket(), accepted_socket_invoke_user_cb() and iocp_listener_enable(). (510ab6b Jardel Weyrich) 998*663afb9bSAndroid Build Coastguard Worker o Add unit-test for bad_request bug fixed in 1.4 recently. (6cc79c6 Pavel Plesov) o Add a comment on evthread_enable_lock_debuging. (b9f43b2) 999*663afb9bSAndroid Build Coastguard Worker o Fix test.sh on shells without echo -n (94131e9) 1000*663afb9bSAndroid Build Coastguard Worker o More unit tests for getaddrinfo_async: v4timeout and cancel. (a334b31) 1001*663afb9bSAndroid Build Coastguard Worker o Make http use evconnlistener. (ec34533) 1002*663afb9bSAndroid Build Coastguard Worker o move dns utility functions into a separate file so that we can use them for http testing (b822639) 1003*663afb9bSAndroid Build Coastguard Worker o add a test for evhttp_connection_base_new with a dns_base (26714ca) 1004*663afb9bSAndroid Build Coastguard Worker o forgot to add void to test function (78a50fe) 1005*663afb9bSAndroid Build Coastguard Worker o Add a forgotten header (changelist-internal.h) (4b9f307) 1006*663afb9bSAndroid Build Coastguard Worker o Remove some commented-out code in evutil (26e1b6f) 1007*663afb9bSAndroid Build Coastguard Worker o Remove a needless include of rpc_compat.h (70a4a3e) 1008*663afb9bSAndroid Build Coastguard Worker o Use less memory for each entry in a hashtable (a66e947) 1009*663afb9bSAndroid Build Coastguard Worker o Try to untangle the logic in server_port_flush(). (439aea0) 1010*663afb9bSAndroid Build Coastguard Worker o Use ev_[u]intptr_t types in place of [u]intptr_t (cef61a2) 1011*663afb9bSAndroid Build Coastguard Worker o Reduce windows header includes in our own headers. (da6135e) 1012*663afb9bSAndroid Build Coastguard Worker o clean up terminate_chunked test (e8a9782) 1013*663afb9bSAndroid Build Coastguard Worker o Increment the submicro version number. (63e868e) 1014*663afb9bSAndroid Build Coastguard Worker o Update event-config.h version number to match configure.in (aae7db5) 1015*663afb9bSAndroid Build Coastguard Worker o Clean up formatting: Disallow space-before-tab. (8fdf09c) 1016*663afb9bSAndroid Build Coastguard Worker o Clean up formatting: use tabs, not 8-spaces, to indent. (e5bbd40) 1017*663afb9bSAndroid Build Coastguard Worker o Clean up formatting: remove trailing spaces (e5cf987) 1018*663afb9bSAndroid Build Coastguard Worker o Clean up formatting: function/keyword spacing consistency. (4faeaea) 1019*663afb9bSAndroid Build Coastguard Worker 1020*663afb9bSAndroid Build Coastguard Worker 1021*663afb9bSAndroid Build Coastguard Worker 1022*663afb9bSAndroid Build Coastguard WorkerChanges in 2.0.3-alpha (20 Nov 2009): 1023*663afb9bSAndroid Build Coastguard Worker o Add a new code to support SSL/TLS on bufferevents, using the OpenSSL library (where available). 1024*663afb9bSAndroid Build Coastguard Worker o Fix a bug where we didn't allocate enough memory in event_get_supported_methods(). 1025*663afb9bSAndroid Build Coastguard Worker o Avoid segfault during failed allocation of locked evdns_base. (Found by Rocco Carbone.) 1026*663afb9bSAndroid Build Coastguard Worker o Export new evutil_ascii_* functions to perform locale-independent character type operations. 1027*663afb9bSAndroid Build Coastguard Worker o Try to compile better with MSVC: patches from Brodie Thiesfield 1028*663afb9bSAndroid Build Coastguard Worker o New evconnlistener_get_fd function to expose a listener's associated socket. 1029*663afb9bSAndroid Build Coastguard Worker o Expose an ev_socklen_t type for consistent use across platforms. 1030*663afb9bSAndroid Build Coastguard Worker o Make bufferevent_socket_connect() work when the original fd was -1. 1031*663afb9bSAndroid Build Coastguard Worker o Fix a bug in bufferevent_socket_connect() when the connection succeeds too quickly. 1032*663afb9bSAndroid Build Coastguard Worker o Export an evutil_sockaddr_cmp() to compare to sockaddr objects for equality. 1033*663afb9bSAndroid Build Coastguard Worker o Add a bufferevent_get_enabled() to tell what a bufferevent has been configured to do. 1034*663afb9bSAndroid Build Coastguard Worker o Add an evbuffer_search_eol() function to locate the end of a line nondestructively. 1035*663afb9bSAndroid Build Coastguard Worker o Add an evbuffer_search_range() function to search a bounded range of a buffer. 1036*663afb9bSAndroid Build Coastguard Worker o Fix a rare crash bug in evdns. 1037*663afb9bSAndroid Build Coastguard Worker o Have bufferevent_socket_connect() with no arguments put a bufferevent into connecting mode. 1038*663afb9bSAndroid Build Coastguard Worker o Support sendfile on Solaris: patch from Caitlin Mercer. 1039*663afb9bSAndroid Build Coastguard Worker o New functions to explicitly reference a socket used by an evhttp object. Patches from David Reiss. 1040*663afb9bSAndroid Build Coastguard Worker o When we send a BEV_EVENT_CONNECTED to indicate connected status, we no longer invoke the write callback as well unless we actually wrote data too. 1041*663afb9bSAndroid Build Coastguard Worker o If the kernel tells us that there are a negative number of bytes to read from a socket, do not believe it. Fixes bug 2841177; found by Alexander Pronchenkov. 1042*663afb9bSAndroid Build Coastguard Worker o Do not detect whether we have monotonic clock support every time a new event base is created: instead do it only once. Patch taken from Chromium. 1043*663afb9bSAndroid Build Coastguard Worker o Do not allocate the maximum event queue for the epoll backend at startup. Instead, start out accepting 32 events at a time, and double the queue's size when it seems that the OS is generating events faster than we're requesting them. Saves up to 374K per epoll-based event_base. Resolves bug 2839240. 1044*663afb9bSAndroid Build Coastguard Worker o Treat an event with a negative fd as valid but untriggerable by Libevent. This is useful for applications that want to manually activate events. 1045*663afb9bSAndroid Build Coastguard Worker o Fix compilation on Android, which forgot to define fd_mask in its sys/select.h 1046*663afb9bSAndroid Build Coastguard Worker o Do not drop data from evbuffer when out of memory; reported by Jacek Masiulaniec 1047*663afb9bSAndroid Build Coastguard Worker o New event_base_got_exit() and event_base_got_break() functions to tell whether an event loop exited because of an event_base_loopexit() or an event_base_loopbreak(). Patch from Ka-Hing Cheung. 1048*663afb9bSAndroid Build Coastguard Worker o When adding or deleting an event from a non-main thread, only wake up the main thread when its behavior actually needs to change. 1049*663afb9bSAndroid Build Coastguard Worker o Fix some bugs when using the old evdns interfaces to initialize the evdns module. 1050*663afb9bSAndroid Build Coastguard Worker o Detect errors during bufferevent_connect(). Patch from Christopher Davis. 1051*663afb9bSAndroid Build Coastguard Worker o Fix compilation for listener.h for C++ - missing extern "C". Patch from Ferenc Szalai. 1052*663afb9bSAndroid Build Coastguard Worker o Make the event_base_loop() family of functions respect thread-safety better. This should clear up a few hard-to-debug race conditions. 1053*663afb9bSAndroid Build Coastguard Worker o Fix a bug when using a specialized memory allocator on win32. 1054*663afb9bSAndroid Build Coastguard Worker o Have the win32 select() backend label TCP-socket-connected events as EV_WRITE, not EV_READ. This should bring it in line with the other backends, and improve portability. Patch from Christopher Davis. 1055*663afb9bSAndroid Build Coastguard Worker o Stop using enums as arguments or return values when what we mean is a bitfield of enum values. C++ doesn't believe that you can OR two enum values together and get another enum, and C++ takes its typing seriously. Patch from Christopher Davis. 1056*663afb9bSAndroid Build Coastguard Worker o Add an API to replace all fatal calls to exit() with a user-provided panic function. 1057*663afb9bSAndroid Build Coastguard Worker o Replace all assert() calls with a variant that is aware of the user-provided logging and panic functions. 1058*663afb9bSAndroid Build Coastguard Worker o Add a return value to event_assign so that it can fail rather than asserting when the user gives it bad input. event_set still dies on bad input. 1059*663afb9bSAndroid Build Coastguard Worker o The event_base_new() and event_base_new_with_config() functions now never call exit() on failure. For backward "compatibility", event_init() still does, but more consistently. 1060*663afb9bSAndroid Build Coastguard Worker o Remove compat/sys/_time.h. It interfered with system headers on HPUX, and its functionality has been subsumed by event2/util.h and util-internal.h. 1061*663afb9bSAndroid Build Coastguard Worker o Add a new bufferevent_socket_connect_hostname() to encapsulate the resolve-then-connect operation. 1062*663afb9bSAndroid Build Coastguard Worker o Build kqueue.c correctly on GNU/kFreeBSD platforms. Patch pulled upstream from Debian. 1063*663afb9bSAndroid Build Coastguard Worker o Alternative queue-based timeout algorithm for programs that use a large number of timeouts with the same value. 1064*663afb9bSAndroid Build Coastguard Worker o New event_base_config option to disable the timeval cache entirely. 1065*663afb9bSAndroid Build Coastguard Worker o Make EV_PERSIST timeouts more accurate: schedule the next event based on the scheduled time of the previous event, not based on the current time. 1066*663afb9bSAndroid Build Coastguard Worker o Allow http.c to handle cases where getaddrinfo returns an IPv6 address. Patch from Ryan Phillips. 1067*663afb9bSAndroid Build Coastguard Worker o Fix a problem with excessive memory allocation when using multiple event priorities. 1068*663afb9bSAndroid Build Coastguard Worker o Default to using arc4random for DNS transaction IDs on systems that have it; from OpenBSD. 1069*663afb9bSAndroid Build Coastguard Worker o Never check the environment when we're running setuid or setgid; from OpenBSD. 1070*663afb9bSAndroid Build Coastguard Worker o Options passed to evdns_set_option() no longer need to end with a colon. 1071*663afb9bSAndroid Build Coastguard Worker o Add an evutil_getaddrinfo() function to clone getaddrinfo on platforms that don't have it. 1072*663afb9bSAndroid Build Coastguard Worker o Add an evdns_getaddrinfo() function to provide a nonblocking getaddrinfo using evdns, so programs can perform useful hostname lookup. 1073*663afb9bSAndroid Build Coastguard Worker o Finally expose the IOCP-based bufferevent backend. It passes its unit tests, but probably still has some bugs remaining. Code by Nick Mathewson and Christopher Davis. 1074*663afb9bSAndroid Build Coastguard Worker o Numerous other bugfixes. 1075*663afb9bSAndroid Build Coastguard Worker o On FreeBSD and other OSes, connect can return ECONREFUSED immediately; instead of failing the function call, pretend with faileld in the callback. 1076*663afb9bSAndroid Build Coastguard Worker o Fix a race condition in the pthreads test case; found by Nick Mathewson 1077*663afb9bSAndroid Build Coastguard Worker o Remove most calls to event_err() in http and deal with memory errors instead 1078*663afb9bSAndroid Build Coastguard Worker 1079*663afb9bSAndroid Build Coastguard Worker 1080*663afb9bSAndroid Build Coastguard Worker 1081*663afb9bSAndroid Build Coastguard WorkerChanges in 2.0.2-alpha (25 Jul 2009): 1082*663afb9bSAndroid Build Coastguard Worker o Add a new flag to bufferevents to make all callbacks automatically deferred. 1083*663afb9bSAndroid Build Coastguard Worker o Make evdns functionality locked, and automatically defer dns callbacks. 1084*663afb9bSAndroid Build Coastguard Worker o Fix a possible free(NULL) when freeing an event_base with no signals. 1085*663afb9bSAndroid Build Coastguard Worker o Add a flag to disable checking environment varibles when making an event_base 1086*663afb9bSAndroid Build Coastguard Worker o Disallow setting less than 1 priority. 1087*663afb9bSAndroid Build Coastguard Worker o Fix a bug when removing a timeout from the heap. [Patch from Marko Kreen] 1088*663afb9bSAndroid Build Coastguard Worker o Use signal.h, not sys/signal.h. [Patch from mmadia] 1089*663afb9bSAndroid Build Coastguard Worker o Try harder to build with certain older c99 compilers. 1090*663afb9bSAndroid Build Coastguard Worker o Make sure that an event_config's flags field is always initialized to 0. [Bug report from Victor Goya] 1091*663afb9bSAndroid Build Coastguard Worker o Avoid data corruption when reading data entirely into the second-to-last chain of an evbuffer. [Bug report from Victor Goya] 1092*663afb9bSAndroid Build Coastguard Worker o Make sendfile work on FreeBSD 1093*663afb9bSAndroid Build Coastguard Worker o Do not use vararg macros for accessing evrpc structures; this is not backwards compatible, but we did not promise any backwards compatibility for the rpc code. 1094*663afb9bSAndroid Build Coastguard Worker o Actually define the event_config_set_flag() function. 1095*663afb9bSAndroid Build Coastguard Worker o Try harder to compile with Visual C++. 1096*663afb9bSAndroid Build Coastguard Worker o Move event_set() and its allies to event2/event_compat.h where they belong. 1097*663afb9bSAndroid Build Coastguard Worker o Remove the event_gotsig code, which has long been deprecated and unused. 1098*663afb9bSAndroid Build Coastguard Worker o Add an event_get_base() function to return the base assigned to an event. 1099*663afb9bSAndroid Build Coastguard Worker o New function to automate connecting on a socket-based bufferevent. 1100*663afb9bSAndroid Build Coastguard Worker o New functions to automate listening for incoming TCP connections. 1101*663afb9bSAndroid Build Coastguard Worker o Do case-insensitive checks with a locale-independent comparison function. 1102*663afb9bSAndroid Build Coastguard Worker o Rename the evbuffercb and everrorcb callbacks to bufferevent_data_cb and bufferevent_event_cb respectively. The old names are available in bufferevent_compat.h. 1103*663afb9bSAndroid Build Coastguard Worker o Rename the EVBUFFER_* codes used by bufferevent event callbacks to BEV_EVENT_*, to avoid namespace collision with evbuffer flags. The old names are available in bufferevent_compat.h. 1104*663afb9bSAndroid Build Coastguard Worker o Move the EVBUFFER_INPUT and EVBUFFER_OUTPUT macros to bufferevent_compat.h 1105*663afb9bSAndroid Build Coastguard Worker o Add a bufferevent_getfd() function to mirror bufferevent_setfd() 1106*663afb9bSAndroid Build Coastguard Worker o Make bufferevent_setfd() return an error code if the operation is not successful. 1107*663afb9bSAndroid Build Coastguard Worker o Shave 22 bytes off struct event on 32-bit platforms by shrinking and re-ordering fields. The savings on 64-bit platforms is likely higher. 1108*663afb9bSAndroid Build Coastguard Worker o Cap the maximum number of priorities at 256. 1109*663afb9bSAndroid Build Coastguard Worker o Change the semantics of evbuffer_cb_set_flags() to be set-flag only; add a new evbuffer_cb_clear_flags() to remove set flags. 1110*663afb9bSAndroid Build Coastguard Worker o Change the interface of evbuffer_add_reference so that the cleanup callback gets more information 1111*663afb9bSAndroid Build Coastguard Worker o Revise the new evbuffer_reserve_space/evbuffer_commit_space() interfaces so that you can use them without causing extraneous copies or leaving gaps in the evbuffer. 1112*663afb9bSAndroid Build Coastguard Worker o Add a new evbuffer_peek() interface to inspect data in an evbuffer without removing it. 1113*663afb9bSAndroid Build Coastguard Worker o Fix a deadlock when suspending reads in a bufferevent due to a full buffer. (Spotted by Joachim Bauch.) 1114*663afb9bSAndroid Build Coastguard Worker o Fix a memory error when freeing a thread-enabled event base with registered events. (Spotted by Joachim Bauch.) 1115*663afb9bSAndroid Build Coastguard Worker o Try to contain degree of failure when running on a win32 version so heavily firewalled that we can't fake a socketpair. 1116*663afb9bSAndroid Build Coastguard Worker o Activate fd events in a pseudorandom order with O(N) backends, so that we don't systematically favor low fds (select) or earlier-added fds (poll, win32). 1117*663afb9bSAndroid Build Coastguard Worker o Replace some read()/write() instances with send()/recv() to work properly on win32. 1118*663afb9bSAndroid Build Coastguard Worker o Set truncated flag correctly in evdns server replies. 1119*663afb9bSAndroid Build Coastguard Worker o Raise RpcGenError in event_rpcgen.py; from jmanison and Zack Weinberg 1120*663afb9bSAndroid Build Coastguard Worker o Fix preamble of rpcgen-generated files to rely on event2 includes; based on work by jmansion; patch from Zack Weinberg. 1121*663afb9bSAndroid Build Coastguard Worker o Allow specifying the output filename for rpcgen; based on work by jmansion; patch from Zack Weinberg. 1122*663afb9bSAndroid Build Coastguard Worker o Allow C identifiers as struct names; allow multiple comments in .rpc files; from Zack Weinberg 1123*663afb9bSAndroid Build Coastguard Worker o Mitigate a race condition when using socket bufferevents in multiple threads. 1124*663afb9bSAndroid Build Coastguard Worker o Use AC_SEARCH_LIBS, not AC_CHECK_LIB to avoid needless library use. 1125*663afb9bSAndroid Build Coastguard Worker o Do not allow event_del(ev) to return while that event's callback is executing in another thread. This fixes a nasty race condition. 1126*663afb9bSAndroid Build Coastguard Worker o event_get_supported_methods() now lists methods that have been disabled with the EVENT_NO* environment options. 1127*663afb9bSAndroid Build Coastguard Worker o Rename encode_int[64] to evtag_encode_int[64] to avoid polluting the global namespace. The old method names are still available as macros in event2/tag_compat.h. 1128*663afb9bSAndroid Build Coastguard Worker 1129*663afb9bSAndroid Build Coastguard Worker 1130*663afb9bSAndroid Build Coastguard Worker 1131*663afb9bSAndroid Build Coastguard WorkerChanges in 2.0.1-alpha (17 Apr 2009): 1132*663afb9bSAndroid Build Coastguard Worker o free minheap on event_base_free(); from Christopher Layne 1133*663afb9bSAndroid Build Coastguard Worker o debug cleanups in signal.c; from Christopher Layne 1134*663afb9bSAndroid Build Coastguard Worker o provide event_base_new() that does not set the current_base global 1135*663afb9bSAndroid Build Coastguard Worker o bufferevent_write now uses a const source argument; report from Charles Kerr 1136*663afb9bSAndroid Build Coastguard Worker o improve documentation on event_base_loopexit; patch from Scott Lamb 1137*663afb9bSAndroid Build Coastguard Worker o New function, event_{base_}loopbreak. Like event_loopexit, it makes an event loop stop executing and return. Unlike event_loopexit, it keeps subsequent pending events from getting executed. Patch from Scott Lamb 1138*663afb9bSAndroid Build Coastguard Worker o Check return value of event_add in signal.c 1139*663afb9bSAndroid Build Coastguard Worker o provide event_reinit() to reintialize an event_base after fork 1140*663afb9bSAndroid Build Coastguard Worker o New function event_set_mem_functinons. It allows the user to give libevent replacement functions to use for memory management in place of malloc(), free(), etc. This should be generally useful for memory instrumentation, specialized allocators, and so on. 1141*663afb9bSAndroid Build Coastguard Worker o The kqueue implementation now catches signals that are raised after event_add() is called but before the event_loop() call. This makes it match the other implementations. 1142*663afb9bSAndroid Build Coastguard Worker o The kqueue implementation now restores original signal handlers correctly when its signal events are removed. 1143*663afb9bSAndroid Build Coastguard Worker o Check return value of event_add in signal.c 1144*663afb9bSAndroid Build Coastguard Worker o Add a more powerful evbuffer_readln as a replacement for evbuffer_readline. The new function handles more newline styles, and is more useful with buffers that may contain a nul characters. 1145*663afb9bSAndroid Build Coastguard Worker o Do not mangle socket handles on 64-bit windows. 1146*663afb9bSAndroid Build Coastguard Worker o The configure script now takes an --enable-gcc-warnings option that turns on many optional gcc warnings. (Nick has been building with these for a while, but they might be useful to other developers.) 1147*663afb9bSAndroid Build Coastguard Worker o move EV_PERSIST handling out of the event backends 1148*663afb9bSAndroid Build Coastguard Worker o small improvements to evhttp documentation 1149*663afb9bSAndroid Build Coastguard Worker o always generate Date and Content-Length headers for HTTP/1.1 replies 1150*663afb9bSAndroid Build Coastguard Worker o set the correct event base for HTTP close events 1151*663afb9bSAndroid Build Coastguard Worker o When building with GCC, use the "format" attribute to verify type correctness of calls to printf-like functions. 1152*663afb9bSAndroid Build Coastguard Worker o Rewrite win32.c backend to be O(n lg n) rather than O(n^2). 1153*663afb9bSAndroid Build Coastguard Worker o Removed obsoleted recalc code 1154*663afb9bSAndroid Build Coastguard Worker o support for 32-bit tag numbers in rpc structures; this is wire compatible, but changes the API slightly. 1155*663afb9bSAndroid Build Coastguard Worker o pull setters/getters out of RPC structures into a base class to which we just need to store a pointer; this reduces the memory footprint of these structures. 1156*663afb9bSAndroid Build Coastguard Worker o prefix {encode,decode}_tag functions with evtag to avoid collisions 1157*663afb9bSAndroid Build Coastguard Worker o fix a bug with event_rpcgen for integers 1158*663afb9bSAndroid Build Coastguard Worker o Correctly handle DNS replies with no answers set (Fixes bug 1846282) 1159*663afb9bSAndroid Build Coastguard Worker o add -Wstrict-aliasing to warnings and more cleanup 1160*663afb9bSAndroid Build Coastguard Worker o removed linger from http server socket; reported by Ilya Martynov 1161*663afb9bSAndroid Build Coastguard Worker o event_rpcgen now allows creating integer arrays 1162*663afb9bSAndroid Build Coastguard Worker o support string arrays in event_rpcgen 1163*663afb9bSAndroid Build Coastguard Worker o change evrpc hooking to allow pausing of RPCs; this will make it possible for the hook to do some meaning ful work; this is not backwards compatible. 1164*663afb9bSAndroid Build Coastguard Worker o allow an http request callback to take ownership of a request structure 1165*663afb9bSAndroid Build Coastguard Worker o allow association of meta data with RPC requests for hook processing 1166*663afb9bSAndroid Build Coastguard Worker o associate more context for hooks to query such as the connection object 1167*663afb9bSAndroid Build Coastguard Worker o remove pending timeouts on event_base_free() 1168*663afb9bSAndroid Build Coastguard Worker o also check EAGAIN for Solaris' event ports; from W.C.A. Wijngaards 1169*663afb9bSAndroid Build Coastguard Worker o devpoll and evport need reinit; tested by W.C.A Wijngaards 1170*663afb9bSAndroid Build Coastguard Worker o event_base_get_method; from Springande Ulv 1171*663afb9bSAndroid Build Coastguard Worker o Send CRLF after each chunk in HTTP output, for compliance with RFC2626. Patch from "propanbutan". Fixes bug 1894184. 1172*663afb9bSAndroid Build Coastguard Worker o Add a int64_t parsing function, with unit tests, so we can apply Scott Lamb's fix to allow large HTTP values. 1173*663afb9bSAndroid Build Coastguard Worker o Use a 64-bit field to hold HTTP content-lengths. Patch from Scott Lamb. 1174*663afb9bSAndroid Build Coastguard Worker o Allow regression code to build even without Python installed 1175*663afb9bSAndroid Build Coastguard Worker o remove NDEBUG ifdefs from evdns.c 1176*663afb9bSAndroid Build Coastguard Worker o detect integer types properly on platforms without stdint.h 1177*663afb9bSAndroid Build Coastguard Worker o udpate documentation of event_loop and event_base_loop; from Tani Hosokawa. 1178*663afb9bSAndroid Build Coastguard Worker o simplify evbuffer by removing orig_buffer 1179*663afb9bSAndroid Build Coastguard Worker o do not insert event into list when evsel->add fails 1180*663afb9bSAndroid Build Coastguard Worker o add support for PUT/DELETE requests; from Josh Rotenberg 1181*663afb9bSAndroid Build Coastguard Worker o introduce evhttp_accept_socket() to accept from an already created socket 1182*663afb9bSAndroid Build Coastguard Worker o include Content-Length in reply for HTTP/1.0 requests with keep-alive 1183*663afb9bSAndroid Build Coastguard Worker o increase listen queue for http sockets to 128; if that is not enough the evhttp_accpet_socket() api can be used with a prepared socket. 1184*663afb9bSAndroid Build Coastguard Worker o Patch from Tani Hosokawa: make some functions in http.c threadsafe. 1185*663afb9bSAndroid Build Coastguard Worker o test support for PUT/DELETE requests; from Josh Rotenberg 1186*663afb9bSAndroid Build Coastguard Worker o rewrite of the evbuffer code to reduce memory copies 1187*663afb9bSAndroid Build Coastguard Worker o Some older Solaris versions demand that _REENTRANT be defined to get strtok_r(); do so. 1188*663afb9bSAndroid Build Coastguard Worker o Do not free the kqop file descriptor in other processes, also allow it to be 0; from Andrei Nigmatulin 1189*663afb9bSAndroid Build Coastguard Worker o Provide OpenSSL style support for multiple threads accessing the same event_base 1190*663afb9bSAndroid Build Coastguard Worker o make event_rpcgen.py generate code include event-config.h; reported by Sam Banks. 1191*663afb9bSAndroid Build Coastguard Worker o switch thread support so that locks get allocated as they are needed. 1192*663afb9bSAndroid Build Coastguard Worker o make event methods static so that they are not exported; from Andrei Nigmatulin 1193*663afb9bSAndroid Build Coastguard Worker o make RPC replies use application/octet-stream as mime type 1194*663afb9bSAndroid Build Coastguard Worker o do not delete uninitialized timeout event in evdns 1195*663afb9bSAndroid Build Coastguard Worker o Correct the documentation on buffer printf functions. 1196*663afb9bSAndroid Build Coastguard Worker o Don't warn on unimplemented epoll_create(): this isn't a problem, just a reason to fall back to poll or select. 1197*663afb9bSAndroid Build Coastguard Worker o Correctly handle timeouts larger than 35 minutes on Linux with epoll.c. This is probably a kernel defect, but we'll have to support old kernels anyway even if it gets fixed. 1198*663afb9bSAndroid Build Coastguard Worker o Make name_from_addr() threadsafe in http.c 1199*663afb9bSAndroid Build Coastguard Worker o Add new thread-safe interfaces to evdns functions. 1200*663afb9bSAndroid Build Coastguard Worker o Make all event_tagging interfaces threadsafe. 1201*663afb9bSAndroid Build Coastguard Worker o Rename internal memory management functions. 1202*663afb9bSAndroid Build Coastguard Worker o New functions (event_assign, event_new, event_free) for use by apps that want to be safely threadsafe, or want to remain ignorant of the contents of struct event. 1203*663afb9bSAndroid Build Coastguard Worker o introduce bufferevent_read_buffer; allows reading without memory copy. 1204*663afb9bSAndroid Build Coastguard Worker o expose bufferevent_setwatermark via header files and fix high watermark on read 1205*663afb9bSAndroid Build Coastguard Worker o fix a bug in buffrevent read water marks and add a test for them 1206*663afb9bSAndroid Build Coastguard Worker o fix a bug in which bufferevent_write_buffer would not schedule a write event 1207*663afb9bSAndroid Build Coastguard Worker o provide bufferevent_input and bufferevent_output without requiring knowledge of the structure 1208*663afb9bSAndroid Build Coastguard Worker o introduce bufferevent_setcb and bufferevent_setfd to allow better manipulation of bufferevents 1209*663afb9bSAndroid Build Coastguard Worker o convert evhttp_connection to use bufferevents. 1210*663afb9bSAndroid Build Coastguard Worker o use libevent's internal timercmp on all platforms, to avoid bugs on old platforms where timercmp(a,b,<=) is buggy. 1211*663afb9bSAndroid Build Coastguard Worker o Remove the never-exported, never-used evhttp_hostportfile function. 1212*663afb9bSAndroid Build Coastguard Worker o Support input/output filters for bufferevents; somewhat similar to libio's model. This will allow us to implement SSL, compression, etc, transparently to users of bufferevents such as the http layer. 1213*663afb9bSAndroid Build Coastguard Worker o allow connections to be removed from an rpc pool 1214*663afb9bSAndroid Build Coastguard Worker o add new evtimer_assign, signal_assign, evtimer_new, and signal_new functions to manipulate timer and signal events, analagous to the now-recommended event_assign and event_new 1215*663afb9bSAndroid Build Coastguard Worker o switch internal uses of event_set over to use event_assign. 1216*663afb9bSAndroid Build Coastguard Worker o introduce evbuffer_contiguous_space() api that tells a user how much data is available in the first buffer chain 1217*663afb9bSAndroid Build Coastguard Worker o introduce evbuffer_reserve_space() and evbuffer_commit_space() to make processing in filters more efficient. 1218*663afb9bSAndroid Build Coastguard Worker o reduce system calls for getting current time by caching it. 1219*663afb9bSAndroid Build Coastguard Worker o separate signal events from io events; making the code less complex. 1220*663afb9bSAndroid Build Coastguard Worker o support for periodic timeouts 1221*663afb9bSAndroid Build Coastguard Worker o support for virtual HTTP hosts. 1222*663afb9bSAndroid Build Coastguard Worker o turn event_initialized() into a function, and add function equivalents to EVENT_SIGNAL and EVENT_FD so that people don't need to include event_struct.h 1223*663afb9bSAndroid Build Coastguard Worker o Build test directory correctly with CPPFLAGS set. 1224*663afb9bSAndroid Build Coastguard Worker o Provide an API for retrieving the supported event mechanisms. 1225*663afb9bSAndroid Build Coastguard Worker o event_base_new_with_config() and corresponding config APIs. 1226*663afb9bSAndroid Build Coastguard Worker o migrate the evhttp header to event2/ but accessors are still missing. 1227*663afb9bSAndroid Build Coastguard Worker o deprecate timeout_* event functions by moving them to event_compat.h 1228*663afb9bSAndroid Build Coastguard Worker o Move windows gettimeofday replacement into a new evutil_gettimeofday(). 1229*663afb9bSAndroid Build Coastguard Worker o Make configure script work on IRIX. 1230*663afb9bSAndroid Build Coastguard Worker o provide a method for canceling ongoing http requests. 1231*663afb9bSAndroid Build Coastguard Worker o Make vsnprintf() returns consistent on win32. 1232*663afb9bSAndroid Build Coastguard Worker o Fix connection keep-alive behavior for HTTP/1.0 1233*663afb9bSAndroid Build Coastguard Worker o Fix use of freed memory in event_reinit; pointed out by Peter Postma 1234*663afb9bSAndroid Build Coastguard Worker o constify struct timeval * where possible 1235*663afb9bSAndroid Build Coastguard Worker o make event_get_supported_methods obey environment variables 1236*663afb9bSAndroid Build Coastguard Worker o support for edge-triggered events on epoll and kqueue backends: patch from Valery Kholodkov 1237*663afb9bSAndroid Build Coastguard Worker o support for selecting event backends by their features, and for querying the features of a backend. 1238*663afb9bSAndroid Build Coastguard Worker o change failing behavior of event_base_new_with_config: if a config is provided and no backend is selected, return NULL instead of aborting. 1239*663afb9bSAndroid Build Coastguard Worker o deliver partial data to request callbacks when chunked callback is set even if there is no chunking on the http level; allows cancelation of requests from within the chunked callback; from Scott Lamb. 1240*663afb9bSAndroid Build Coastguard Worker o allow min_heap_erase to be called on removed members; from liusifan. 1241*663afb9bSAndroid Build Coastguard Worker o Rename INPUT and OUTPUT to EVRPC_INPUT and EVRPC_OUTPUT. Retain INPUT/OUTPUT aliases on on-win32 platforms for backwards compatibility. 1242*663afb9bSAndroid Build Coastguard Worker o Do not use SO_REUSEADDR when connecting 1243*663afb9bSAndroid Build Coastguard Worker o Support 64-bit integers in RPC structs 1244*663afb9bSAndroid Build Coastguard Worker o Correct handling of trailing headers in chunked replies; from Scott Lamb. 1245*663afb9bSAndroid Build Coastguard Worker o Support multi-line HTTP headers; based on a patch from Moshe Litvin 1246*663afb9bSAndroid Build Coastguard Worker o Reject negative Content-Length headers; anonymous bug report 1247*663afb9bSAndroid Build Coastguard Worker o Detect CLOCK_MONOTONIC at runtime for evdns; anonymous bug report 1248*663afb9bSAndroid Build Coastguard Worker o Various HTTP correctness fixes from Scott Lamb 1249*663afb9bSAndroid Build Coastguard Worker o Fix a bug where deleting signals with the kqueue backend would cause subsequent adds to fail 1250*663afb9bSAndroid Build Coastguard Worker o Support multiple events listening on the same signal; make signals regular events that go on the same event queue; problem report by Alexander Drozdov. 1251*663afb9bSAndroid Build Coastguard Worker o Fix a problem with epoll() and reinit; problem report by Alexander Drozdov. 1252*663afb9bSAndroid Build Coastguard Worker o Fix off-by-one errors in devpoll; from Ian Bell 1253*663afb9bSAndroid Build Coastguard Worker o Make event_add not change any state if it fails; reported by Ian Bell. 1254*663afb9bSAndroid Build Coastguard Worker o Fix a bug where headers arriving in multiple packets were not parsed; fix from Jiang Hong; test by me. 1255*663afb9bSAndroid Build Coastguard Worker o Match the query in DNS replies to the query in the request; from Vsevolod Stakhov. 1256*663afb9bSAndroid Build Coastguard Worker o Add new utility functions to correctly observe and log winsock errors. 1257*663afb9bSAndroid Build Coastguard Worker o Do not remove Accept-Encoding header 1258*663afb9bSAndroid Build Coastguard Worker o Clear the timer cache on entering the event loop; reported by Victor Chang 1259*663afb9bSAndroid Build Coastguard Worker o Only bind the socket on connect when a local address has been provided; reported by Alejo Sanchez 1260*663afb9bSAndroid Build Coastguard Worker o Allow setting of local port for evhttp connections to support millions of connections from a single system; from Richard Jones. 1261*663afb9bSAndroid Build Coastguard Worker o Clear the timer cache when leaving the event loop; reported by Robin Haberkorn 1262*663afb9bSAndroid Build Coastguard Worker o Fix a typo in setting the global event base; reported by lance. 1263*663afb9bSAndroid Build Coastguard Worker o Set the 0x20 bit on outgoing alphabetic characters in DNS requests randomly, and insist on a match in replies. This helps resist DNS poisoning attacks. 1264*663afb9bSAndroid Build Coastguard Worker o Make the http connection close detection work properly with bufferevents and fix a potential memory leak associated with it. 1265*663afb9bSAndroid Build Coastguard Worker o Restructure the event backends so that they do not need to keep track of events themselves, as a side effect multiple events can use the same fd or signal. 1266*663afb9bSAndroid Build Coastguard Worker o Add generic implementations for parsing and emiting IPv6 addresses on platforms that do not have inet_ntop and/or inet_pton. 1267*663afb9bSAndroid Build Coastguard Worker o Allow DNS servers that have IPv6 addresses. 1268*663afb9bSAndroid Build Coastguard Worker o Add an evbuffer_write_atmost() function to write a limited number of bytes to an fd. 1269*663afb9bSAndroid Build Coastguard Worker o Refactor internal notify-main-thread logic to prefer eventfd to pipe, then pipe to socketpair, and only use socketpairs as a last resort. 1270*663afb9bSAndroid Build Coastguard Worker o Try harder to pack all evbuffer reads into as few chains as possible, using readv/WSARecv as appropriate. 1271*663afb9bSAndroid Build Coastguard Worker o New evthread_use_windows_threads() and evthread_use_pthreads() functions to set up the evthread callbacks with reasonable defaults. 1272*663afb9bSAndroid Build Coastguard Worker o Change the semantics of timeouts in conjunction with EV_PERSIST; timeouts in that case will now repeat until deleted. 1273*663afb9bSAndroid Build Coastguard Worker o sendfile, mmap and memory reference support for evbuffers. 1274*663afb9bSAndroid Build Coastguard Worker o New evutil_make_listen_socket_reuseable() to abstract SO_REUSEADDR. 1275*663afb9bSAndroid Build Coastguard Worker o New bind-to option to allow DNS clients to bind to an arbitrary port for outgoing requests. 1276*663afb9bSAndroid Build Coastguard Worker o evbuffers can now be "frozen" to prevent operations at one or both ends. 1277*663afb9bSAndroid Build Coastguard Worker o Bufferevents now notice external attempts to add data to an inbuf or remove it from an outbuf, and stop them. 1278*663afb9bSAndroid Build Coastguard Worker o Fix parsing of queries where the encoded queries contained \r, \n or + 1279*663afb9bSAndroid Build Coastguard Worker o Do not allow internal events to starve lower-priority events. 1280*663afb9bSAndroid Build Coastguard Worker 1281