Log

Author Commit Date CI Message
Nick Mathewson a718b6c3 2011-08-31T11:25:11 Increment version to 2.0.14-stable-dev
Nick Mathewson ac9f2adb 2011-08-31T00:23:20 Credit new contributors for 2.0.14-stable
Nick Mathewson da90a9be 2011-08-30T22:35:51 Pick a release date for the changelog
Nick Mathewson 85976ddf 2011-08-30T22:28:02 Bump version to 2.0.14-stable
Joachim Bauch 54f7e61b 2011-08-29T23:39:26 clear read watermark on underlying bufferevent when creating filtering bev to fix potentially failing fragmented ssl handshakes
Nick Mathewson 6476d92d 2011-08-29T13:40:03 Checkpoint changelog entries for 2.0.14-stable
Nick Mathewson 0ff2c5a9 2011-08-24T18:42:12 Have test-ratelim.c support IOCP
Nick Mathewson e6af35d7 2011-08-24T21:39:28 Correctly terminate IO on an async bufferevent on bufferevent_free
Nick Mathewson a98da7bf 2011-08-24T18:41:35 Make IOCP rate-limiting group support stricter and less surprising. Previously, we wouldn't decrement read/write buckets because of IOCP reads and writes until those reads and writes were complete. That's not so bad on the per-connection front. But for group limits, the old approach makes us launch a huge amount of reads and writes whenever the group limit becomes positive, and then decrement the limit to a hugely negative number as they complete. With this patch, we decrement our read buckets whenever we launch an IOCP read or write, based on the maximum that tried to read or write. Later, when the operations finish, we re-increment the bucket based on the portion of the request that couldn't finish.
Nick Mathewson c75341b0 2011-08-24T18:42:00 Support negative arguments to _bufferevent_decrement_(read/write)_buckets()
Nick Mathewson 2f51dc03 2011-08-28T14:03:10 Cleanup on 7c11e51e1ab: fix strtol usage
Nick Mathewson 6056d6e0 2011-08-28T14:02:40 Cleanup on 7c11e51e1ab: restore c90 declaration compliance
Harlan Stenn 7c11e51e 2011-08-27T05:48:11 Clean up some problems identified by Coverity.
Nick Mathewson 5b18f130 2011-08-24T16:17:05 Make rate limiting work with common_timeout logic
Nick Mathewson 6736852e 2011-08-18T15:09:44 Merge branch '20_iocp_fixes' into patches-2.0
Nick Mathewson 6acfbdd8 2011-08-18T12:35:27 Make overlapped reads result in evbuffer callbacks getting invoked
Nick Mathewson 495c227f 2011-08-18T11:41:55 IOCP: don't launch reads or writes on an unconnected socket
Dave Hart 04656ea8 2011-08-15T14:40:32 Try to fix 'make distcheck' errors when building out-of-tree
Nick Mathewson e067d0e3 2011-08-17T21:47:19 Merge branch '20_low_ratelim' into patches-2.0
Michael Herf 643922e9 2011-08-15T13:39:10 Solaris sendfile: correctly detect amount of data sent Original message: Solaris sendfile seems to fail when sending moderately large (<1GB) files. Not a 32/64 problem, but a buffer problem. Anyone else ever try this? It is definitely broken in http-server.c. It seems to be broken in the following way: When sendfile sends partial data (EAGAIN, would block), "res" is always -1, rather than the amount sent. Here's a patch that reads from the "offset" pointer instead to discover what was sent. This seems to work:
Leonid Evdokimov aff6ba15 2011-08-11T03:24:06 Fix request_finished memory leak with debugging turned on.
Leonid Evdokimov 9b724b28 2011-08-11T03:10:08 Fix evsig_dealloc memory leak with debugging turned on.
Leonid Evdokimov 50be5a14 2011-08-11T03:06:07 Another docstring fix.
Nick Mathewson 6d5440e8 2011-08-11T15:15:17 Fix handling of group rate limits under 64 bytes of burst The "min_share" logic, which was designed to prevent piles of extremely small writes when running up against a group rate limit, could lead to confusing behavior if you ever set a min_share less than your burst rate. If that happened, then as soon as your group rate limit was exhausted, you'd stop reading/writing, and never start again, since the amount readable/writeable would never actually hit min_share. We now cap min_share at the rate per tick. Found by George Kadianakis
Sebastian Hahn 5d1b255b 2011-08-10T19:11:55 Ignore deprecation warnings on OS X Starting with Lion, Apple decided to deprecate the system openssl. We can start requiring users to install their own openssl once OS X doesn't ship with it anymore.
Mitchell Livingston b4423029 2011-08-08T17:06:46 Allow OS-neutral builds for platforms where some versions have arc4random_buf
Joachim Bauch 4a343943 2011-07-26T10:31:18 Propagate errors on the underlying bufferevent to the user.
Nick Mathewson 1183f7e2 2011-08-01T10:27:56 Fix typo in event_compat.h comments.
Nick Mathewson a2fdf9b0 2011-07-18T23:37:59 Bump version to 2.0.13-stable-dev
Nick Mathewson 80414e22 2011-07-18T18:19:25 Bump version to 2.0.13-dev
Nick Mathewson 62b8ce58 2011-07-18T17:05:20 acks and changelog for 2.0.13-stable
Nick Mathewson b3b425eb 2011-07-18T12:45:50 Give Makefile.am echo a non-null argument. msys likes this
Nick Mathewson 00a7a0e4 2011-07-17T21:48:38 Fix a warning in evutil_rand when building with threads disabled
Nick Mathewson 4a5c82d6 2011-07-15T10:20:01 Use AM_CPPFLAGS in sample/Makefile.am, not AM_CFLAGS Reported by Dagobert Michelsen.
Nick Mathewson d5bd604a 2011-07-05T14:57:08 Add doxygen to .gitignore
Nick Mathewson caf695af 2011-07-05T14:55:09 Fix up test_evutil_snprintf
Nick Mathewson af6a05f7 2011-07-05T14:51:24 Merge remote-tracking branch 'github/20_size_fmt' into patches-2.0
Nick Mathewson 341e1b03 2011-07-05T13:04:30 Merge branch 'doxygen' into patches-2.0
Nick Mathewson aea0555b 2011-07-04T23:14:19 Update Doxyfile to produce more useful output
Nick Mathewson 2888facc 2011-07-04T23:02:11 Revise the event/evbuffer/bufferevent doxygen for clarity and accuracy
Nick Mathewson 49d11362 2011-07-05T00:11:59 Fix select.c compilation on systems with no NFDBITS
Nick Mathewson e7fe9270 2011-07-04T12:16:08 Merge remote-tracking branch 'github/20_global_locks_init' into patches-2.0
Mark Ellzey f87f5689 2011-07-04T11:47:24 Speed up invoke_callbacks on evbuffers when there are no callbacks This fixes a performance regression against 1.4
Joachim Bauch e050703d 2011-07-04T11:36:14 Fix bug in SSL bufferevents backed by a bev with a write high-watermarks Original mail: the logic that handles write watermarks in "bio_bufferevent_write" is not working. It currently doesn't write any data if the high watermark is *above* the amount of data to write (i.e. when there is actually enough room available).
Nicholas Marriott 8ee9f9c1 2011-07-02T21:49:07 Fix a few warnings on OpenBSD - redeclaration of dst_size - arpa/inet.h requires netinet/in.h first - don't use a local with the same name as a global - it isn't needed so remove it
Nick Mathewson e9340964 2011-06-22T11:22:35 Fix AIX build issue with TAILQ_FOREACH definition Reported by Lawnstein Chan.
Harlan Stenn e23cda3d 2011-06-21T10:05:28 Don't install event_rpcgen.py when --disable-libevent-install is used
Nick Mathewson 79ff78d2 2011-06-16T13:19:43 Merge branch '20_kqueue_badf' into patches-2.0
Nick Mathewson b031adf1 2011-06-14T14:37:49 Don't break when building tests from git without python installed
Nick Mathewson 812d42e8 2011-06-11T01:26:54 Simplify windows commandname logic in tinytest Instead of using a dup'd pointer, let's use a static array, so we don't need to free it. This patch also makes tinytest build on non-windows again.
Ed Day 57def346 2011-06-11T00:49:24 Fix tinytest invocation from windows shell Original post: This post is in response to a posting last December on a Windows regression fork failure ([Libevent-users] Re: Libevent 2.0.10-stable is released by Dongsheng Song). I noticed the question was not answered and I recently experienced the same error myself when trying to run the Windows regression tests myself. I checked the return status from the CreateProcess call and found it was "file not found". This led me to look at the command-line I was using which was .\regress in a Visual Studio 2008 command prompt window. Windows could not find the file because it did not have the .exe extension on the end. The code that builds the command should be modified to ensure the extension is present.
Nick Mathewson 3203f88c 2011-06-08T17:18:03 Use the correct printf args when formatting size_t Based on a patch from Mansour Moufid
Mansour Moufid 446cc7a0 2011-05-27T18:40:31 Check if the `evhttp_new_object' function in `http.c' returns NULL.
Nick Mathewson 1fd34ab4 2011-06-08T14:56:19 Report kqueue ebadf, epipe, and eperm as EV_READ events When asked to add one side of a pipe, and the other side has been closed, kqueue on NetBSD will say EBADF; kqueue on FreeBSD will say EPIPE, and kqueue on OpenBSD will say EPERM. So treat all of these as EV_READ events, to give the user an opportunity to notice that the pipe is closed. Diagnosed by Nicholas Marriott and Dale Rahn; based on a patch by Nicholas Marriott.
Nick Mathewson 09fe97da 2011-06-08T14:24:45 Replace an assertion for event_base_free(NULL) with a check-and-warn event_base_free(NULL) means "free the current event base". Previously, it would assert if there was no 'current' base. Now it just warns and returns. Reported by Gilad Benjamini
Nick Mathewson 89d5e09e 2011-06-08T14:18:41 Add some missing checks for mm_calloc failures Found by Gilad Benjamini
Nick Mathewson 4461f1a0 2011-06-06T15:11:28 Fix incorrect results from evbuffer_search_eol(EOL_LF) Our evbuffer_strchr() function [which was only used for search_eol(EOL_LF) could give incorrect results if it found its answer in the first chunk but didn't start searching from the front of the chunk. Also, this patch adds unit tests for evbuffer_search_eol, particularly in those cases that evbuffer_readln() tests didn't exercise.
Nick Mathewson 60c1426f 2011-06-04T21:36:34 Bump version to 2.0.12-stable-dev
Nick Mathewson 281ab5c5 2011-06-04T21:12:53 Merge branch 'patches-2.0' of ssh://levent.git.sourceforge.net/gitroot/levent/libevent into patches-2.0
Nick Mathewson 452a8342 2011-06-04T21:11:09 tweak date on changelog
Nick Mathewson be5e8575 2011-06-04T10:34:14 Merge branch 'patches-2.0' of ssh://levent.git.sourceforge.net/gitroot/levent/libevent into patches-2.0
Nick Mathewson c3555837 2011-06-03T17:08:30 Changelog and new credits for 2.0.12-stable
Nick Mathewson 7283facd 2011-06-03T17:08:14 Bump version to 2.0.12-stable. Not release just yet
Nick Mathewson bdfb8330 2011-06-03T17:06:17 Fix regress_ssl.c build on openbsd
Nick Mathewson 27ce38b6 2011-06-01T17:27:28 Avoid a segfault when all methods are disabled or broken
Nick Mathewson d54d3fc4 2011-06-01T13:48:02 cygwin: make it possible to build DLLs Patch from Brian Koehmstedt
Nick Mathewson 87c0dff6 2011-05-30T12:06:36 Merge branch '20_select_nfds' into patches-2.0
Nick Mathewson d90149d4 2011-05-30T11:53:19 Fix a fencepost bug in the select backend This bug would sometimes lead us to looking one bit off the end of the fdset arrays, and trying to activate a (nonexistent) event if that bit was set. Found by Harlann Stenn. Fixes a test failure on OpenSolaris.
Nick Mathewson f47c15e7 2011-05-27T23:28:17 Make the new http_connect_fail_test use a multicast addr, not broadcast Turns out that FreeBSD does _not_ give a ENETUNREACH error when told to make a TCP socket to 255.255.255.255, but it is quite happy to do so for 239.10.20.30. So that's what we'll do. Found by Robert Ransom and Dave Hart.
Peter Rosin 816115a1 2011-05-26T10:10:57 InitializeCriticalSectionAndSpinCount requires _WIN32_WINNT >= 0x0403.
Nick Mathewson 203ba274 2011-05-27T15:08:25 Fix a couple of signed/unsigned warnings in http.c
Nick Mathewson c11c6fcd 2011-05-27T14:57:55 Disable main/many_events_slow_add with evport backend In 2.0 and earlier, evport only reports up to 8 events at a time, which confuses this test badly.
Nick Mathewson dbb3c652 2011-05-26T17:43:17 Fix compilation.
Nick Mathewson f0c9b51c 2011-05-26T17:34:15 Merge branch 'intcmp_overflow_fixes' into patches-2.0
Mark Ellzey 1814ae96 2011-05-25T18:52:07 updated EV_S(s)IZE definitions
Mark Ellzey 84560fc4 2011-05-25T14:31:09 Added overflow checks in evhttp_read_body and evhttp_get_body
Mark Ellzey a2792722 2011-05-25T12:58:59 Added several checks for under/overflow conditions in evhttp_handle_chunked_read
Sebastian Hahn d1b2d11b 2011-05-26T02:05:54 Always use evutil_snprintf, even if OS provides it In test/tinytest_local.h we can't redefine snprintf if the OS has it defined already.
Peter Rosin 0de87fe6 2011-05-25T15:11:01 Use evutil_gettimeofday instead of relying on the system gettimeofday.
Peter Rosin 3d768dc9 2011-05-25T11:04:43 Fix winsock2.h #include issues with MSVC Define WIN32_LEAN_AND_MEAN, so that windows.h does not bring in winsock.h which in turn makes it impossible to #include <winsock2.h> (at least with MSVC)
Peter Rosin 8fa030c0 2011-05-26T00:03:38 Make sure TINYTEST_LOCAL is defined when building tinytest.c
Peter Rosin fe93022a 2011-05-25T10:58:48 unistd.h and sys/time.h might not exist.
Peter Rosin 70be7d17 2011-05-25T10:57:16 MSVC does not provide S_ISDIR, so provide it manually.
Peter Rosin f3c7a4c1 2011-05-25T10:56:32 Bring in the compile script from automake, if needed.
Peter Rosin 07c41bea 2011-05-25T10:55:41 Make the tests build when OpenSSL is not available. Don't #define HAVE_OPENSSL (to zero) when OpenSSL is not available. Code written as #ifdef HAVE_OPENSSL do not expect that.
Peter Rosin 86090ee1 2011-05-25T10:54:06 Link with -lshell32 and -ladvapi32 on Win32. SHGetSpecialFolderPath is in Shell32.dll and the RegOpenKey (et al) and CryptGenRandom (et al) functions are in -ladvapi32.dll. MinGW is "nice" and brings those in automatically, but specify them explicitly for other tool chains.
Nick Mathewson 06a714ff 2011-05-25T16:51:25 Fix new warnings from GCC 4.6
Mansour Moufid 06c51cdf 2011-05-23T18:01:24 Prevent size_t overflow in evhttp_htmlescape. Modified the `html_replace' function so that it returns the length of the replacement string instead of the string itself. This is used to easily check for overflows of the `new_size' variable in the first for loop of the `evhttp_htmlescape' function, and thus potential out of bounds writes in the second for loop (if an overflow occurs in new_size, then new_size < old_size). Also check that new_size + 1 doesn't overflow in mm_malloc(new_size + 1). Removed the `scratch_space' variable from the `evhttp_htmlescape' function since it wasn't actually used; also removed the `buf' variable from the `evhttp_htmlescape' function since it was only used by `scratch_space'.
Nick Mathewson 74760f18 2011-05-23T17:45:14 Fix a bug that prevented us from configuring IPv6 nameservers.
Kevin Ko 57ddda78 2011-05-23T01:40:05 Test case for 0848814ac49616 "I'm not sure if you'll like my use of the limited broadcast address for simulating an ENETUNREACH error with a TCP connection, but it's the best that I could think of. Basically, we want to trigger a non-EINPROGRESS error in evutil_socket_connect() immediately at the connect() in order to bring about the assertion in the evhttp_connection_fail() error handling code."
Kevin Ko 0848814a 2011-05-20T23:23:44 Fix failing assertion introducd in commit 0d6622e Patch in question: - Fix the case when failed evhttp_make_request() leaved request in the queue. - http://levent.git.sourceforge.net/git/gitweb.cgi?p=levent/libevent;a=commit;h=0d6622e The above patch introduces a failing assertion in evhttp_connection_fail(). This happens because the patch defers the assignment of the outstanding request to the evcon->requests list, while evhttp_connection_fail() assumes that the request lies in the list. One scenario in which this can happen is when the request list is empty and a connection is made to an unreachable host. The assertion will then fail after bufferevent_socket_connect() errors out (with ENETUNREACH in my case).
Dave Hart 09d39a12 2011-05-20T14:18:08 Fix compilation with GCC 2, which had no __builtin_expect
Sebastian Hahn 5786b91e 2011-05-05T18:02:42 Fix a compile warning with zlib 1.2.4 and 1.2.5 I took this fix from Tor (commit 1a52e39c22d5, author Nick Mathewson, Copyright (c) 2007-2011, The Tor Project, Inc.) and adapted it slightly for libevent.
Sebastian Hahn 66193853 2011-05-05T16:27:55 Correctly detect openssl on windows
Sebastian Hahn ceb03b90 2011-05-05T15:51:11 Move the win32 detection in configure.in
Sebastian Hahn 292092eb 2011-05-05T15:49:38 Use OPENSSL_LIBS in Makefile.am
Peter Rosin 7b819f2d 2011-05-04T16:37:58 Libtool brings in the dependencies of libevent_openssl.la automatically
Peter Rosin 274dd036 2011-05-04T16:34:28 libssl depends on libcrypto, not the other way around.
Nick Mathewson d11e9e0f 2011-05-03T14:22:48 Oops; that new unit test breaks for epoll. Fix it.
Nick Mathewson 28317a08 2011-05-03T13:54:57 Fix a warn-and-fail bug in kqueue by providing kevent() room to report errors Apparently, kevent fails gracefully if there is not enough space in its output events array to report every _event_... but it just dies and returns -1 if there is not enough space to report every _error_. There are a couple of possible fixes here. One would to handle -1 returns from kevent better by re-growing the array and retrying... but that seems a little error prone. Instead, I'm just going to say that the events array must be large enough to handle all the errors. This patch also adds a unit test designed to make sure that our many-events-out code works even if not all the events are added at once.