Sebastian Hahn [Wed, 10 Aug 2011 17:11:55 +0000 (19:11 +0200)]
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.
The conflicts were with the 21_faster_timeout_adj branch, which
added a "reinsert" function that needed to get renamed to
"reinsert_timeout". Also, some of the code that 21_split_functions
changes got removed by 21_faster_timeout_adj.
Joachim Bauch [Mon, 4 Jul 2011 15:36:14 +0000 (11:36 -0400)]
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).
Ed Day [Sat, 11 Jun 2011 04:49:24 +0000 (00:49 -0400)]
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 [Wed, 8 Jun 2011 18:56:19 +0000 (14:56 -0400)]
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 [Mon, 6 Jun 2011 19:33:27 +0000 (15:33 -0400)]
Fix a bug in the improved EOL_CRLF code
When searching for a CRLF, it would find an LF, then look for a
preceding CR if not at the start of the buffer. That's fine when
we're starting from the beginning of the buffer, but if we're starting
at (say) byte 100, and we have that byte == LF, we shouldn't check for
a CR at byte 99.
Nick Mathewson [Mon, 6 Jun 2011 19:11:28 +0000 (15:11 -0400)]
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 [Thu, 2 Jun 2011 21:07:40 +0000 (17:07 -0400)]
Fix windows file segment mappings
Instead of mapping enough bytes for each segment, we were failing to
take into account the slop created by rounding the segment position
down to the nearest page.
Nick Mathewson [Sat, 28 May 2011 03:28:17 +0000 (23:28 -0400)]
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.
Nick Mathewson [Fri, 27 May 2011 18:41:24 +0000 (14:41 -0400)]
evport: Remove artificial low limit on max events per getn call
Previously, evport could only handle up to 8 events per time through
the loop. This would impose an artificially high number of syscalls
on us to retrieve a large number of events.
This code allows the EVLOOP_* flags to work more similarly to how
they do on other platforms (up to 4096 events per syscall). Dispite
dire warning (from 2006), doing this won't impose a big incremental
RAM penalty: if you have 4096 events firing at once, you necessarily
have a proportional number of events pending, and their associated
data structures are already costing a good bit of RAM.
This patch makes the main/many_events_slow_add test pass again.