Nick Mathewson [Fri, 27 May 2011 19:09:54 +0000 (15:09 -0400)]
Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson [Fri, 27 May 2011 19:08:25 +0000 (15:08 -0400)]
Fix a couple of signed/unsigned warnings in http.c
Nick Mathewson [Fri, 27 May 2011 18:57:55 +0000 (14:57 -0400)]
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 [Thu, 26 May 2011 21:45:54 +0000 (17:45 -0400)]
Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson [Thu, 26 May 2011 21:43:17 +0000 (17:43 -0400)]
Fix compilation.
Nick Mathewson [Thu, 26 May 2011 21:34:15 +0000 (17:34 -0400)]
Merge branch 'intcmp_overflow_fixes' into patches-2.0
Mark Ellzey [Wed, 25 May 2011 22:52:07 +0000 (18:52 -0400)]
updated EV_S(s)IZE definitions
Mark Ellzey [Wed, 25 May 2011 18:31:09 +0000 (14:31 -0400)]
Added overflow checks in evhttp_read_body and evhttp_get_body
Mark Ellzey [Wed, 25 May 2011 16:58:59 +0000 (12:58 -0400)]
Added several checks for under/overflow conditions in evhttp_handle_chunked_read
Nick Mathewson [Thu, 26 May 2011 01:20:31 +0000 (21:20 -0400)]
Merge remote-tracking branch 'origin/patches-2.0'
Sebastian Hahn [Thu, 26 May 2011 00:05:54 +0000 (02:05 +0200)]
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 [Wed, 25 May 2011 23:54:44 +0000 (19:54 -0400)]
Do not define WIN32 in Makefile.nmake
Peter Rosin [Wed, 25 May 2011 23:54:33 +0000 (19:54 -0400)]
In configure, test for _WIN32 not WIN32.
Nick Mathewson [Wed, 25 May 2011 23:50:56 +0000 (19:50 -0400)]
Use "_WIN32", not WIN32: it's standard and we don't need to fake it
This patch was automatically generated with perl.
Based on a patch by Peter Rosin.
Nick Mathewson [Wed, 25 May 2011 23:46:14 +0000 (19:46 -0400)]
Merge remote-tracking branch 'origin/patches-2.0'
Peter Rosin [Wed, 25 May 2011 13:11:01 +0000 (15:11 +0200)]
Use evutil_gettimeofday instead of relying on the system gettimeofday.
Peter Rosin [Wed, 25 May 2011 09:04:43 +0000 (11:04 +0200)]
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 [Wed, 25 May 2011 22:03:38 +0000 (00:03 +0200)]
Make sure TINYTEST_LOCAL is defined when building tinytest.c
Peter Rosin [Wed, 25 May 2011 08:58:48 +0000 (10:58 +0200)]
unistd.h and sys/time.h might not exist.
Peter Rosin [Wed, 25 May 2011 08:57:16 +0000 (10:57 +0200)]
MSVC does not provide S_ISDIR, so provide it manually.
Peter Rosin [Wed, 25 May 2011 08:56:32 +0000 (10:56 +0200)]
Bring in the compile script from automake, if needed.
Peter Rosin [Wed, 25 May 2011 08:55:41 +0000 (10:55 +0200)]
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 [Wed, 25 May 2011 08:54:06 +0000 (10:54 +0200)]
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 [Wed, 25 May 2011 20:52:50 +0000 (16:52 -0400)]
Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson [Wed, 25 May 2011 20:51:25 +0000 (16:51 -0400)]
Fix new warnings from GCC 4.6
Nick Mathewson [Mon, 23 May 2011 22:25:05 +0000 (18:25 -0400)]
Merge remote-tracking branch 'origin/patches-2.0'
Mansour Moufid [Mon, 23 May 2011 22:01:24 +0000 (18:01 -0400)]
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 [Mon, 23 May 2011 21:50:45 +0000 (17:50 -0400)]
Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson [Mon, 23 May 2011 21:45:14 +0000 (17:45 -0400)]
Fix a bug that prevented us from configuring IPv6 nameservers.
Nick Mathewson [Mon, 23 May 2011 05:44:05 +0000 (01:44 -0400)]
Merge remote-tracking branch 'origin/patches-2.0'
Kevin Ko [Mon, 23 May 2011 05:40:05 +0000 (01:40 -0400)]
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."
Nick Mathewson [Sat, 21 May 2011 03:24:43 +0000 (23:24 -0400)]
Merge remote-tracking branch 'origin/patches-2.0'
Kevin Ko [Sat, 21 May 2011 03:23:44 +0000 (23:23 -0400)]
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).
Nick Mathewson [Sat, 21 May 2011 03:08:25 +0000 (23:08 -0400)]
Merge remote-tracking branch 'ellzey/feature/evhttp_parse_speedup'
Nick Mathewson [Fri, 20 May 2011 18:21:55 +0000 (14:21 -0400)]
Merge remote-tracking branch 'origin/patches-2.0'
Dave Hart [Fri, 20 May 2011 18:18:08 +0000 (14:18 -0400)]
Fix compilation with GCC 2, which had no __builtin_expect
Nick Mathewson [Fri, 6 May 2011 15:06:11 +0000 (11:06 -0400)]
Merge remote-tracking branch 'origin/patches-2.0'
Sebastian Hahn [Thu, 5 May 2011 16:02:42 +0000 (18:02 +0200)]
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 [Thu, 5 May 2011 14:27:55 +0000 (16:27 +0200)]
Correctly detect openssl on windows
Mark Ellzey [Fri, 6 May 2011 12:48:54 +0000 (08:48 -0400)]
Performance tweak to evhttp_parse_request_line.
Method parsing has been tweaked out to use a lookup table instead of multiple
branching. In our testing it has increased performance by a fair bit.
Sebastian Hahn [Thu, 5 May 2011 13:51:11 +0000 (15:51 +0200)]
Move the win32 detection in configure.in
Sebastian Hahn [Thu, 5 May 2011 13:49:38 +0000 (15:49 +0200)]
Use OPENSSL_LIBS in Makefile.am
Nick Mathewson [Wed, 4 May 2011 20:23:02 +0000 (16:23 -0400)]
Merge remote-tracking branch 'origin/patches-2.0'
Peter Rosin [Wed, 4 May 2011 14:37:58 +0000 (16:37 +0200)]
Libtool brings in the dependencies of libevent_openssl.la automatically
Peter Rosin [Wed, 4 May 2011 14:34:28 +0000 (16:34 +0200)]
libssl depends on libcrypto, not the other way around.
Nick Mathewson [Tue, 3 May 2011 18:29:44 +0000 (14:29 -0400)]
Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson [Tue, 3 May 2011 18:22:48 +0000 (14:22 -0400)]
Oops; that new unit test breaks for epoll. Fix it.
Nick Mathewson [Tue, 3 May 2011 17:54:57 +0000 (13:54 -0400)]
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.
Nick Mathewson [Tue, 3 May 2011 03:22:34 +0000 (23:22 -0400)]
Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson [Tue, 3 May 2011 03:22:09 +0000 (23:22 -0400)]
Add missing words to EVLOOP_NONBLOCK documentation
Nick Mathewson [Thu, 28 Apr 2011 01:28:32 +0000 (21:28 -0400)]
Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson [Thu, 28 Apr 2011 01:28:11 +0000 (21:28 -0400)]
Bump version to 2.0.11-stable-dev
Nick Mathewson [Thu, 28 Apr 2011 00:26:38 +0000 (20:26 -0400)]
Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson [Thu, 28 Apr 2011 00:25:57 +0000 (20:25 -0400)]
Increment version number to 2.0.11-stable
Nick Mathewson [Thu, 28 Apr 2011 00:17:34 +0000 (20:17 -0400)]
Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson [Thu, 28 Apr 2011 00:15:20 +0000 (20:15 -0400)]
Add more people to the acknowledgments
Nick Mathewson [Thu, 28 Apr 2011 00:07:13 +0000 (20:07 -0400)]
Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson [Thu, 28 Apr 2011 00:03:46 +0000 (20:03 -0400)]
Changelog for 2.0.11-stable
Nick Mathewson [Wed, 27 Apr 2011 03:48:31 +0000 (23:48 -0400)]
Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson [Wed, 27 Apr 2011 03:42:01 +0000 (23:42 -0400)]
Fix clang warning when resetting connection
This was a regression on 2.0.10-stable: clang was warning about
values that were unused (because event_debug wasn't using them unless
USE_DEBUG was defined). Found by Sebastian Hahn.
Nick Mathewson [Mon, 25 Apr 2011 02:56:16 +0000 (22:56 -0400)]
Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson [Sat, 23 Apr 2011 06:35:17 +0000 (02:35 -0400)]
Use AM_CONDITIONAL, not AC_SUBST, to tell automake to build regress
For some reason, this makes mingw much happier about building
regress.exe by default. No, I'm afraid I don't know why.
Nick Mathewson [Sat, 23 Apr 2011 06:31:59 +0000 (02:31 -0400)]
Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson [Sat, 23 Apr 2011 06:31:04 +0000 (02:31 -0400)]
Fix msvc build: it needed to know about _EVENT_HAVE_STRUCT_SOCKADDR_STORAGE
Nick Mathewson [Sat, 23 Apr 2011 05:48:11 +0000 (01:48 -0400)]
Try to fix up CHECK_REGRESS hack to not break on win32
Nick Mathewson [Sat, 23 Apr 2011 05:47:43 +0000 (01:47 -0400)]
Add missing header for regress_http compilation on win32
Nick Mathewson [Sat, 23 Apr 2011 05:47:11 +0000 (01:47 -0400)]
Merge branch '20_iocp_conn_sockopt' into patches-2.0
Nick Mathewson [Fri, 22 Apr 2011 14:54:02 +0000 (10:54 -0400)]
call setsockopt correctly on connecting() IOCP-bufferevents so shutdown() will work
Nick Mathewson [Sat, 23 Apr 2011 03:46:25 +0000 (23:46 -0400)]
Merge remote-tracking branch 'origin/patches-2.0'
Conflicts:
evthread.c
Sebastian Hahn [Sat, 23 Apr 2011 00:22:08 +0000 (02:22 +0200)]
Zero a struct sockaddr_in before using it
Found by Dave Heart
Sebastian Hahn [Sat, 23 Apr 2011 00:20:59 +0000 (02:20 +0200)]
Remote some dead code from dns-example.c
Found by Dave Heart
Sebastian Hahn [Mon, 11 Apr 2011 16:26:48 +0000 (18:26 +0200)]
Check return value of evbuffer_add_cb in tests
Caught by clang's static analyzer
Sebastian Hahn [Mon, 11 Apr 2011 16:03:02 +0000 (18:03 +0200)]
Be nice and "handle" error return values in sample code
Caught by clang's static analyzer
Sebastian Hahn [Mon, 11 Apr 2011 15:48:23 +0000 (17:48 +0200)]
Refactor test_getaddrinfo_async_cancel_stress()
Turns out it didn't need an event base set up.
Spotted by clang's static anaylzer
Sebastian Hahn [Mon, 11 Apr 2011 15:40:14 +0000 (17:40 +0200)]
add some (void) casts for unused variables
All these places already have an XXX marker, so we know we need to fix
them later. Let's not clutter the static analysis results with them.
Sebastian Hahn [Mon, 11 Apr 2011 15:32:03 +0000 (17:32 +0200)]
Actually send NULL request in http_bad_request_test
Issue caught by clang's static analyzer
Sebastian Hahn [Mon, 11 Apr 2011 15:23:08 +0000 (17:23 +0200)]
Add a forgotten return value check in the unit tests
Spotted by clang's static analyzer
Sebastian Hahn [Sun, 10 Apr 2011 12:03:39 +0000 (14:03 +0200)]
Add an assert to appease clang's static analyzer
It got confused because in EVLOCK_ASSERT_LOCKED(lock) there is an if
(lock) check.
Sebastian Hahn [Mon, 14 Mar 2011 03:24:33 +0000 (04:24 +0100)]
Fix possible NULL-deref in evdns_cancel_request
The clang static analyzer complained that base might be dereferenced
without being set, but this patch should fix another dereference issue.
Sebastian Hahn [Mon, 14 Mar 2011 03:13:55 +0000 (04:13 +0100)]
Add a forgotten NULL check to evhttp_parse_headers
Issue detected by the clang static analyzer
Sebastian Hahn [Sun, 10 Apr 2011 15:23:11 +0000 (17:23 +0200)]
Fix compilation under LLVM/clang with --enable-gcc-warnings
When compiling using clang (2.9 or lower) do not enable
-Wnormalized=id or -Woverride-init when --enable-gcc-warnings
or --enable-gcc-warnings-advisory is set as these options
are unsupported.
This commit is based on a patch for Tor
(git commit
56bdc844ba68ac0911efc7ad3398f1eafeaaac76 by Steven
Murdoch), Copyright (c) 2007-2011, The Tor Project, Inc.
Nick Mathewson [Thu, 21 Apr 2011 21:36:30 +0000 (17:36 -0400)]
Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson [Thu, 21 Apr 2011 21:33:13 +0000 (17:33 -0400)]
Fix a memory leak on win32 socket->event map.
This would lose some memory every time an event_base was freed on win32.
Found by Dimitre Piskyulev.
Nick Mathewson [Thu, 21 Apr 2011 21:11:41 +0000 (17:11 -0400)]
Handle calloc failure in evdns. (Found by Dave Hart)
Nick Mathewson [Thu, 21 Apr 2011 17:38:29 +0000 (13:38 -0400)]
Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson [Thu, 21 Apr 2011 17:30:22 +0000 (13:30 -0400)]
Merge branch '20_evdns_circular_list_patch' into patches-2.0
Nick Mathewson [Wed, 20 Apr 2011 17:27:31 +0000 (13:27 -0400)]
Fix a crash bug in evdns server circular list code
Really, this should use a circleq. That's a change for 2.1, though.
Nick Mathewson [Thu, 14 Apr 2011 18:20:09 +0000 (14:20 -0400)]
Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson [Thu, 14 Apr 2011 18:15:13 +0000 (14:15 -0400)]
Fix a couple of memory leaks in samples/http-server.c. Found by Dave Hart.
Nick Mathewson [Wed, 13 Apr 2011 15:20:30 +0000 (11:20 -0400)]
Avoid a free(NULL) if out-of-memory in evdns_getaddrinfo. Found by Dave Hart
Nick Mathewson [Tue, 5 Apr 2011 21:22:36 +0000 (17:22 -0400)]
Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson [Tue, 5 Apr 2011 21:21:12 +0000 (17:21 -0400)]
Fix the check for multicast or broadcast addresses in evutil_check_interfaces
First of all, it is totally okay to have an address end with .255,
depending on what your netmask is, so we shouldn't reject a local
address if it ends with .255.
Second, our check for ending with .255 was broken. So was our check
for class-d addresses.
Found by Dave Hart.
Nick Mathewson [Tue, 5 Apr 2011 21:19:00 +0000 (17:19 -0400)]
Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson [Tue, 5 Apr 2011 21:17:51 +0000 (17:17 -0400)]
Merge branch '20_socktype_protocol_nomem' into patches-2.0
Nick Mathewson [Tue, 5 Apr 2011 20:32:39 +0000 (16:32 -0400)]
Check for allocation failures in apply_socktype_protocol_hack
Nick Mathewson [Mon, 4 Apr 2011 19:09:47 +0000 (15:09 -0400)]
Merge remote-tracking branch 'origin/patches-2.0'
Tomash Brechko [Thu, 31 Mar 2011 15:11:10 +0000 (19:11 +0400)]
Fix the case when failed evhttp_make_request() leaved request in the queue.
Tomash Brechko [Thu, 24 Mar 2011 12:52:34 +0000 (15:52 +0300)]
Fix subtle recursion in evhttp_connection_cb_cleanup().
Tomash Brechko [Wed, 23 Mar 2011 09:05:33 +0000 (12:05 +0300)]
Reset outgoing connection when read data in idle state.
Imagine server side is buggy and miscalculates Content-Length: in the
reply. Data arriving in idle state shouldn't make us crash, instead we
can just reset the connection.
Nick Mathewson [Wed, 23 Mar 2011 20:34:58 +0000 (16:34 -0400)]
Merge remote branch 'origin/patches-2.0'