OLD | NEW |
| (Empty) |
1 Changes in 1.4.15-stable (5 January 2015) | |
2 | |
3 o Avoid integer overflow bugs in evbuffer_add() and related functions. See CVE
-2014-6272 advisory for more information. (d49bc0e88b81a5812116074dc007f1db0ca1e
ecd) | |
4 | |
5 o Pass flags to fcntl(F_SETFL) as int, not long (b3d0382) | |
6 o Backport and tweak the LICENSE file for 1.4 (8a5ebd3) | |
7 o set close-on-exec bit for filedescriptors created by dns subsystem (9985231 R
alf Schmitt) | |
8 o Replace unused case of FD_CLOSEONEXEC with a proper null statement. (44f04a2) | |
9 o Fix kqueue correctness test on x84_64 (1c25b07) | |
10 o Avoid deadlock when activating signals. (e0e6958) | |
11 o Backport doc fix for evhttp_bind_socket. (95b71d0 Marco) | |
12 o Fix an issue with forking and signal socketpairs in select/poll backends (f0f
f765) | |
13 o Fix compilation on Visual Studio 2010 (53c47c2 VDm) | |
14 o Defensive programming to prevent (hopefully impossible) stack-stomping (2d8cf
0b) | |
15 o Check for POLLERR, POLLHUP and POLLNVAL for Solaris event ports (353b4ac Tron
d Norbye) | |
16 o Fix a bug that could allow dns requests with duplicate tx ids (e50ba5b) | |
17 o Avoid truncating huge values for content-length (1d6e30e) | |
18 o Take generated files out of git; add correct m4 magic for libtool to auto* fi
les (7cf794b) | |
19 o Prefer autoregen -ivf to manual autogen.sh (823d9be) | |
20 | |
21 | |
22 Changes in 1.4.14b-stable | |
23 o Set the VERSION_INFO correctly for 1.4.14 | |
24 | |
25 | |
26 Changes in 1.4.14-stable | |
27 o Add a .gitignore file for the 1.4 branch. (d014edb) | |
28 o Backport evbuffer_readln(). (b04cc60 Nicholas Marriott) | |
29 o Make the evbuffer_readln backport follow the current API (c545485) | |
30 o Valgrind fix: Clear struct kevent before checking for OSX bug. (5713d5d Willi
am Ahern) | |
31 o Fix a crash when reading badly formatted resolve.conf (5b10d00 Yasuoka Masahi
ko) | |
32 o Fix memory-leak of signal handler array with kqueue. [backport] (01f3775) | |
33 o Update sample/signal-test.c to use newer APIs and not leak. (891765c Evan Jon
es) | |
34 o Correct all versions in 1.4 branch (ac0d213) | |
35 o Make evutil_make_socket_nonblocking() leave any other flags alone. (81c26ba J
ardel Weyrich) | |
36 o Adjusted fcntl() retval comparison on evutil_make_socket_nonblocking(). (5f2e
250 Jardel Weyrich) | |
37 o Correct a debug message in evhttp_parse_request_line (35df59e) | |
38 o Merge branch 'readln-backport' into patches-1.4 (8771d5b) | |
39 o Do not send an HTTP error when we've already closed or responded. (4fd2dd9 Pa
vel Plesov) | |
40 o Re-add event_siglcb; some old code _was_ still using it. :( (bd03d06) | |
41 o Make Libevent 1.4 build on win32 with Unicode enabled. (bce58d6 Brodie Thiesf
ield) | |
42 o Distribute nmake makefile for 1.4 (20d706d) | |
43 o do not fail while sending on http connections the client closed. (5c8b446) | |
44 o make evhttp_send() safe against terminated connections, too (01ea0c5) | |
45 o Fix a free(NULL) in min_heap.h (2458934) | |
46 o Fix memory leak when setting up priorities; reported by Alexander Drozdov (cb
1a722) | |
47 o Clean up properly when adding a signal handler fails. (ae6ece0 Gilad Benjamin
i) | |
48 o Do not abort HTTP requests missing a reason string. (29d7b32 Pierre Phaneuf) | |
49 o Fix compile warning in http.c (906d573) | |
50 o Define _REENTRANT as needed on Solaris, elsewhere (6cbea13) | |
51 | |
52 | |
53 Changes in 1.4.13-stable: | |
54 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
. | |
55 o Do not allocate the maximum event queue and fd array for the epoll backend at
startup. Instead, start out accepting 32 events at a time, and double the queu
e's size when it seems that the OS is generating events faster than we're reques
ting them. Saves up to 512K per epoll-based event_base. Resolves bug 2839240. | |
56 o Fix compilation on Android, which forgot to define fd_mask in its sys/select.
h | |
57 o Do not drop data from evbuffer when out of memory; reported by Jacek Masiulan
iec | |
58 o Rename our replacement compat/sys/_time.h header to avoid build a conflict on
HPUX; reported by Kathryn Hogg. | |
59 o Build kqueue.c correctly on GNU/kFreeBSD platforms. Patch pulled upstream fro
m Debian. | |
60 o Fix a problem with excessive memory allocation when using multiple event prio
rities. | |
61 o When running set[ug]id, don't check the environment. Based on a patch from Op
enBSD. | |
62 | |
63 | |
64 Changes in 1.4.12-stable: | |
65 o Try to contain degree of failure when running on a win32 version so heavily f
irewalled that we can't fake a socketpair. | |
66 o Fix an obscure timing-dependent, allocator-dependent crash in the evdns code. | |
67 o Use __VA_ARGS__ syntax for varargs macros in event_rpcgen when compiler is no
t GCC. | |
68 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). | |
69 o Fix another pair of fencepost bugs in epoll.c. [Patch from Adam Langley.] | |
70 o Do not break evdns connections to nameservers when our IP changes. | |
71 o Set truncated flag correctly in evdns server replies. | |
72 o Disable strict aliasing with GCC: our code is not compliant with it. | |
73 | |
74 Changes in 1.4.11-stable: | |
75 o Fix a bug when removing a timeout from the heap. [Patch from Marko Kreen] | |
76 o Remove the limit on size of HTTP headers by removing static buffers. | |
77 o Fix a nasty dangling pointer bug in epoll.c that could occur after epoll_reca
lc(). [Patch from Kevin Springborn] | |
78 o Distribute Win32-Code/event-config.h, not ./event-config.h | |
79 | |
80 Changes in 1.4.10-stable: | |
81 o clean up buffered http connection data on reset; reported by Brian O'Kelley | |
82 o bug fix and potential race condition in signal handling; from Alexander Drozd
ov | |
83 o rename the Solaris event ports backend to evport | |
84 o support compilation on Haiku | |
85 o fix signal processing when a signal callback delivers a signal; from Alexande
r Drozdov | |
86 o const-ify some arguments to evdns functions. | |
87 o off-by-one error in epoll_recalc; reported by Victor Goya | |
88 o include Doxyfile in tar ball; from Jeff Garzik | |
89 o correctly parse queries with encoded \r, \n or + characters | |
90 | |
91 Changes in 1.4.9-stable: | |
92 o event_add would not return error for some backends; from Dean McNamee | |
93 o Clear the timer cache on entering the event loop; reported by Victor Chang | |
94 o Only bind the socket on connect when a local address has been provided; repor
ted by Alejo Sanchez | |
95 o Allow setting of local port for evhttp connections to support millions of con
nections from a single system; from Richard Jones. | |
96 o Clear the timer cache when leaving the event loop; reported by Robin Haberkor
n | |
97 o Fix a typo in setting the global event base; reported by lance. | |
98 o Fix a memory leak when reading multi-line headers | |
99 o Fix a memory leak by not running explicit close detection for server connecti
ons | |
100 | |
101 Changes in 1.4.8-stable: | |
102 o Match the query in DNS replies to the query in the request; from Vsevolod Sta
khov. | |
103 o Fix a merge problem in which name_from_addr returned pointers to the stack; f
ound by Jiang Hong. | |
104 o Do not remove Accept-Encoding header | |
105 | |
106 Changes in 1.4.7-stable: | |
107 o Fix a bug where headers arriving in multiple packets were not parsed; fix fro
m Jiang Hong; test by me. | |
108 | |
109 Changes in 1.4.6-stable: | |
110 o evutil.h now includes <stdarg.h> directly | |
111 o switch all uses of [v]snprintf over to evutil | |
112 o Correct handling of trailing headers in chunked replies; from Scott Lamb. | |
113 o Support multi-line HTTP headers; based on a patch from Moshe Litvin | |
114 o Reject negative Content-Length headers; anonymous bug report | |
115 o Detect CLOCK_MONOTONIC at runtime for evdns; anonymous bug report | |
116 o Fix a bug where deleting signals with the kqueue backend would cause subseque
nt adds to fail | |
117 o Support multiple events listening on the same signal; make signals regular ev
ents that go on the same event queue; problem report by Alexander Drozdov. | |
118 o Deal with evbuffer_read() returning -1 on EINTR|EAGAIN; from Adam Langley. | |
119 o Fix a bug in which the DNS server would incorrectly set the type of a cname r
eply to a. | |
120 o Fix a bug where setting the timeout on a bufferevent would take not effect if
the event was already pending. | |
121 o Fix a memory leak when using signals for some event bases; reported by Alexan
der Drozdov. | |
122 o Add libevent.vcproj file to distribution to help with Windows build. | |
123 o Fix a problem with epoll() and reinit; problem report by Alexander Drozdov. | |
124 o Fix off-by-one errors in devpoll; from Ian Bell | |
125 o Make event_add not change any state if it fails; reported by Ian Bell. | |
126 o Do not warn on accept when errno is either EAGAIN or EINTR | |
127 | |
128 Changes in 1.4.5-stable: | |
129 o Fix connection keep-alive behavior for HTTP/1.0 | |
130 o Fix use of freed memory in event_reinit; pointed out by Peter Postma | |
131 o Constify struct timeval * where possible; pointed out by Forest Wilkinson | |
132 o allow min_heap_erase to be called on removed members; from liusifan. | |
133 o Rename INPUT and OUTPUT to EVRPC_INPUT and EVRPC_OUTPUT. Retain INPUT/OUTPUT
aliases on on-win32 platforms for backwards compatibility. | |
134 o Do not use SO_REUSEADDR when connecting | |
135 o Fix Windows build | |
136 o Fix a bug in event_rpcgen when generated fixed-sized entries | |
137 | |
138 Changes in 1.4.4-stable: | |
139 o Correct the documentation on buffer printf functions. | |
140 o Don't warn on unimplemented epoll_create(): this isn't a problem, just a reas
on to fall back to poll or select. | |
141 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. | |
142 o Fix a potential stack corruption bug in tagging on 64-bit CPUs. | |
143 o expose bufferevent_setwatermark via header files and fix high watermark on re
ad | |
144 o fix a bug in bufferevent read water marks and add a test for them | |
145 o introduce bufferevent_setcb and bufferevent_setfd to allow better manipulatio
n of bufferevents | |
146 o use libevent's internal timercmp on all platforms, to avoid bugs on old platf
orms where timercmp(a,b,<=) is buggy. | |
147 o reduce system calls for getting current time by caching it. | |
148 o fix evhttp_bind_socket() so that multiple sockets can be bound by the same ht
tp server. | |
149 o Build test directory correctly with CPPFLAGS set. | |
150 o Fix build under Visual C++ 2005. | |
151 o Expose evhttp_accept_socket() API. | |
152 o Merge windows gettimeofday() replacement into a new evutil_gettimeofday() fun
ction. | |
153 o Fix autoconf script behavior on IRIX. | |
154 o Make sure winsock2.h include always comes before windows.h include. | |
155 | |
156 Changes in 1.4.3-stable: | |
157 o include Content-Length in reply for HTTP/1.0 requests with keep-alive | |
158 o Patch from Tani Hosokawa: make some functions in http.c threadsafe. | |
159 o Do not free the kqop file descriptor in other processes, also allow it to be
0; from Andrei Nigmatulin | |
160 o make event_rpcgen.py generate code include event-config.h; reported by Sam Ba
nks. | |
161 o make event methods static so that they are not exported; from Andrei Nigmatul
in | |
162 o make RPC replies use application/octet-stream as mime type | |
163 o do not delete uninitialized timeout event in evdns | |
164 | |
165 Changes in 1.4.2-rc: | |
166 o remove pending timeouts on event_base_free() | |
167 o also check EAGAIN for Solaris' event ports; from W.C.A. Wijngaards | |
168 o devpoll and evport need reinit; tested by W.C.A Wijngaards | |
169 o event_base_get_method; from Springande Ulv | |
170 o Send CRLF after each chunk in HTTP output, for compliance with RFC2626. Patc
h from "propanbutan". Fixes bug 1894184. | |
171 o Add a int64_t parsing function, with unit tests, so we can apply Scott Lamb's
fix to allow large HTTP values. | |
172 o Use a 64-bit field to hold HTTP content-lengths. Patch from Scott Lamb. | |
173 o Allow regression code to build even without Python installed | |
174 o remove NDEBUG ifdefs from evdns.c | |
175 o update documentation of event_loop and event_base_loop; from Tani Hosokawa. | |
176 o detect integer types properly on platforms without stdint.h | |
177 o Remove "AM_MAINTAINER_MODE" declaration in configure.in: now makefiles and co
nfigure should get re-generated automatically when Makefile.am or configure.in c
hanes. | |
178 o do not insert event into list when evsel->add fails | |
179 | |
180 Changes in 1.4.1-beta: | |
181 o free minheap on event_base_free(); from Christopher Layne | |
182 o debug cleanups in signal.c; from Christopher Layne | |
183 o provide event_base_new() that does not set the current_base global | |
184 o bufferevent_write now uses a const source argument; report from Charles Kerr | |
185 o better documentation for event_base_loopexit; from Scott Lamb. | |
186 o Make kqueue have the same behavior as other backends when a signal is caught
between event_add() and event_loop(). Previously, it would catch and ignore suc
h signals. | |
187 o Make kqueue restore signal handlers correctly when event_del() is called. | |
188 o provide event_reinit() to reintialize an event_base after fork | |
189 o small improvements to evhttp documentation | |
190 o always generate Date and Content-Length headers for HTTP/1.1 replies | |
191 o set the correct event base for HTTP close events | |
192 o New function, event_{base_}loopbreak. Like event_loopexit, it makes an event
loop stop executing and return. Unlike event_loopexit, it keeps subsequent pen
ding events from getting executed. Patch from Scott Lamb | |
193 o Removed obsoleted recalc code | |
194 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. | |
195 o fix a bug with event_rpcgen for integers | |
196 o move EV_PERSIST handling out of the event backends | |
197 o support for 32-bit tag numbers in rpc structures; this is wire compatible, bu
t changes the API slightly. | |
198 o prefix {encode,decode}_tag functions with evtag to avoid collisions | |
199 o Correctly handle DNS replies with no answers set (Fixes bug 1846282) | |
200 o The configure script now takes an --enable-gcc-warnigns 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.) | |
201 o When building with GCC, use the "format" attribute to verify type correctness
of calls to printf-like functions. | |
202 o removed linger from http server socket; reported by Ilya Martynov | |
203 o allow \r or \n individually to separate HTTP headers instead of the standard
"\r\n"; from Charles Kerr. | |
204 o demote most http warnings to debug messages | |
205 o Fix Solaris compilation; from Magne Mahre | |
206 o Add a "Date" header to HTTP responses, as required by HTTP 1.1. | |
207 o Support specifying the local address of an evhttp_connection using set_local_
address | |
208 o Fix a memory leak in which failed HTTP connections would not free the request
object | |
209 o Make adding of array members in event_rpcgen more efficient, but doubling mem
ory allocation | |
210 o Fix a memory leak in the DNS server | |
211 o Fix compilation when DNS_USE_OPENSSL_FOR_ID is enabled | |
212 o Fix buffer size and string generation in evdns_resolve_reverse_ipv6(). | |
213 o Respond to nonstandard DNS queries with "NOTIMPL" rather than by ignoring the
m. | |
214 o In DNS responses, the CD flag should be preserved, not the TC flag. | |
215 o Fix http.c to compile properly with USE_DEBUG; from Christopher Layne | |
216 o Handle NULL timeouts correctly on Solaris; from Trond Norbye | |
217 o Recalculate pending events properly when reallocating event array on Solaris;
from Trond Norbye | |
218 o Add Doxygen documentation to header files; from Mark Heily | |
219 o Add a evdns_set_transaction_id_fn() function to override the default | |
220 transaction ID generation code. | |
221 o Add an evutil module (with header evutil.h) to implement our standard cross-p
latform hacks, on the theory that somebody else would like to use them too. | |
222 o Fix signals implementation on windows. | |
223 o Fix http module on windows to close sockets properly. | |
224 o Make autogen.sh script run correctly on systems where /bin/sh isn't bash. (Pa
tch from Trond Norbye, rewritten by Hagne Mahre and then Hannah Schroeter.) | |
225 o Skip calling gettime() in timeout_process if we are not in fact waiting for a
ny events. (Patch from Trond Norbye) | |
226 o Make test subdirectory compile under mingw. | |
227 o Fix win32 buffer.c behavior so that it is correct for sockets (which do not l
ike ReadFile and WriteFile). | |
228 o Make the test.sh script run unit tests for the evpoll method. | |
229 o Make the entire evdns.h header enclosed in "extern C" as appropriate. | |
230 o Fix implementation of strsep on platforms that lack it | |
231 o Fix implementation of getaddrinfo on platforms that lack it; mainly, this wil
l make Windows http.c work better. Original patch by Lubomir Marinov. | |
232 o Fix evport implementation: port_disassociate called on unassociated events re
sulting in bogus errors; more efficient memory management; from Trond Norbye and
Prakash Sangappa | |
233 o support for hooks on rpc input and output; can be used to implement rpc indep
endent processing such as compression or authentication. | |
234 o use a min heap instead of a red-black tree for timeouts; as a result finding
the min is a O(1) operation now; from Maxim Yegorushkin | |
235 o associate an event base with an rpc pool | |
236 o added two additional libraries: libevent_core and libevent_extra in addition
to the regular libevent. libevent_core contains only the event core whereas lib
event_extra contains dns, http and rpc support | |
237 o Begin using libtool's library versioning support correctly. If we don't mess
up, this will more or less guarantee binaries linked against old versions of li
bevent continue working when we make changes to libevent that do not break backw
ard compatibility. | |
238 o Fix evhttp.h compilation when TAILQ_ENTRY is not defined. | |
239 o Small code cleanups in epoll_dispatch(). | |
240 o Increase the maximum number of addresses read from a packet in evdns to 32. | |
241 o Remove support for the rtsig method: it hasn't compiled for a while, and nobo
dy seems to miss it very much. Let us know if there's a good reason to put it b
ack in. | |
242 o Rename the "class" field in evdns_server_request to dns_question_class, so th
at it won't break compilation under C++. Use a macro so that old code won't bre
ak. Mark the macro as deprecated. | |
243 o Fix DNS unit tests so that having a DNS server with broken IPv6 support is no
longer cause for aborting the unit tests. | |
244 o Make event_base_free() succeed even if there are pending non-internal events
on a base. This may still leak memory and fds, but at least it no longer crashe
s. | |
245 o Post-process the config.h file into a new, installed event-config.h file that
we can install, and whose macros will be safe to include in header files. | |
246 o Remove the long-deprecated acconfig.h file. | |
247 o Do not require #include <sys/types.h> before #include <event.h>. | |
248 o Add new evutil_timer* functions to wrap (or replace) the regular timeval mani
pulation functions. | |
249 o Fix many build issues when using the Microsoft C compiler. | |
250 o Remove a bash-ism in autogen.sh | |
251 o When calling event_del on a signal, restore the signal handler's previous val
ue rather than setting it to SIG_DFL. Patch from Christopher Layne. | |
252 o Make the logic for active events work better with internal events; patch from
Christopher Layne. | |
253 o We do not need to specially remove a timeout before calling event_del; patch
from Christopher Layne. | |
OLD | NEW |