2450 Commits

Author SHA1 Message Date
Nick Mathewson
8a2310408f Build with large-file support on platforms where it matters
Some hosts require you to define certain options to get a large off_t
instead of a small one, to get useful ftell and fseek calls instead of
ones that can only support 2GB files, and so on.  This patch makes
Libevent support those platforms by:

   * Defining the right options when we build, and
   * Changing our API so that it does not depend on the platform's
     definition of off_t.

Based on discusion with Michael Herf
2011-09-12 14:53:39 -04:00
Nick Mathewson
e20eabd69a Merge branch '21_enable_debugging' 2011-09-12 11:31:19 -04:00
Nick Mathewson
6207826e70 Clarify event_enable_debug_logging a little 2011-09-12 11:31:02 -04:00
Nick Mathewson
4d63758364 Remove calls to deprecated bufferevent functions from evhttp.c 2011-09-12 10:57:37 -04:00
Nick Mathewson
8d3a8500f4 Add evhttp callback for bufferevent creation; this lets evhttp support SSL.
Based on a patch uploaded anonymously to sourceforge; cleaned up
by Graham Leggett to work with current libevents.
2011-09-12 10:48:35 -04:00
Nick Mathewson
caf133f901 Merge branch 'new_configure_options' 2011-09-12 10:09:28 -04:00
Sebastian Hahn
755026771a Implement --enable-gcc-hardening configure option
Using --enable-gcc-hardening enables some additional safety features
that gcc makes available such as stack smashing protection using
canaries and ASLR.

This commit is based on a patch for Tor:
(git commit 04fa935e02270bc90aca0f1c652d31c7a872175b by Jacob Appelbaum)
Copyright (c) 2007-2011, The Tor Project, Inc.
2011-09-12 10:09:21 -04:00
Sebastian Hahn
d46517ee55 Make gcc warnings on by default, and --enable-gcc-warnings only add -Werror
This commit is based on a patch for Tor
(git commit ca60a6ce3f4786626ac455ec1b798b2e8304635c by Peter
Palfrader), Copyright (c) 2007-2011, The Tor Project, Inc.

(Originally, it added --enable-gcc-warnings-advisory as in Tor; Nick
changed that.)
2011-09-12 10:07:44 -04:00
Nick Mathewson
4e8eb6a595 When a signal callback is activated to run multiple times, allow event_base_loopbreak to work even before they all have run.
Found by Abilio Marques.
2011-09-09 20:57:54 -04:00
Nick Mathewson
804f77fbb8 Merge remote-tracking branch 'origin/patches-2.0' 2011-09-01 17:39:37 -04:00
Leonid Evdokimov
f72e8f6643 DNS: add ttl for negative answers using RFC 2308 idea. 2011-09-01 11:03:51 -04:00
Nick Mathewson
10c3450fd6 Make --enable-verbose-debug option match its help text 2011-08-31 11:58:40 -04:00
Nick Mathewson
4cbedae95f Merge remote-tracking branch 'origin/patches-2.0'
Conflicts:
	Makefile.am
	WIN32-Code/event2/event-config.h
	configure.in
2011-08-31 11:28:37 -04:00
Nick Mathewson
a718b6c31c Increment version to 2.0.14-stable-dev 2011-08-31 11:25:11 -04:00
Nick Mathewson
ac9f2adb45 Credit new contributors for 2.0.14-stable release-2.0.14-stable 2011-08-31 00:23:20 -04:00
Nick Mathewson
da90a9be69 Pick a release date for the changelog 2011-08-30 22:35:51 -04:00
Nick Mathewson
85976ddfa4 Bump version to 2.0.14-stable 2011-08-30 22:28:02 -04:00
Zack Weinberg
148458e0a1 Use SIG_IGN instead of a do-nothing handler for signal events with kqueue 2011-08-30 15:33:02 -04:00
Zack Weinberg
46f1769d41 Fix OSX build: $(OPENSSL_INCS) needs to be after $(AM_CPPFLAGS). 2011-08-30 13:31:53 -04:00
Nick Mathewson
e9cccce6e1 Merge remote-tracking branch 'origin/patches-2.0' 2011-08-29 17:51:45 -04:00
Joachim Bauch
54f7e61ba3 clear read watermark on underlying bufferevent when creating filtering bev to fix potentially failing fragmented ssl handshakes 2011-08-29 17:50:34 -04:00
Nick Mathewson
6476d92d10 Checkpoint changelog entries for 2.0.14-stable 2011-08-29 13:40:03 -04:00
Nick Mathewson
904254f975 Merge remote-tracking branch 'origin/patches-2.0' 2011-08-28 14:51:36 -04:00
Nick Mathewson
e6af35d762 Correctly terminate IO on an async bufferevent on bufferevent_free 2011-08-28 14:39:12 -04:00
Nick Mathewson
0ff2c5a922 Have test-ratelim.c support IOCP 2011-08-28 14:39:12 -04:00
Nick Mathewson
a98da7bfc9 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.
2011-08-28 14:39:11 -04:00
Nick Mathewson
c75341b077 Support negative arguments to _bufferevent_decrement_(read/write)_buckets() 2011-08-28 14:39:11 -04:00
Harlan Stenn
6d2613becc We need AM_CPPFLAGS when compiling bufferevent_openssl.c 2011-08-28 14:31:37 -04:00
Harlan Stenn
1c63860758 Use pkg-config (if available) to handle OpenSSL. 2011-08-28 14:31:28 -04:00
Harlan Stenn
674dc3d34e Provide the autoconf m4 macros for the new OpenSSL via pkg-config stuff. 2011-08-28 14:31:28 -04:00
Nick Mathewson
b260065ab6 Merge remote-tracking branch 'origin/patches-2.0' 2011-08-28 14:06:03 -04:00
Nick Mathewson
2f51dc0311 Cleanup on 7c11e51e1ab: fix strtol usage 2011-08-28 14:03:10 -04:00
Nick Mathewson
6056d6e0df Cleanup on 7c11e51e1ab: restore c90 declaration compliance 2011-08-28 14:02:40 -04:00
Harlan Stenn
7c11e51e1a Clean up some problems identified by Coverity. 2011-08-28 13:44:33 -04:00
Nick Mathewson
2cbe115cbc Merge remote-tracking branch 'origin/patches-2.0' 2011-08-24 16:17:56 -04:00
Nick Mathewson
5b18f13048 Make rate limiting work with common_timeout logic 2011-08-24 16:17:05 -04:00
Nick Mathewson
0d10804465 Merge remote-tracking branch 'origin/patches-2.0' 2011-08-18 15:18:14 -04:00
Nick Mathewson
6736852eaa Merge branch '20_iocp_fixes' into patches-2.0 2011-08-18 15:09:44 -04:00
Nick Mathewson
6acfbdd83a Make overlapped reads result in evbuffer callbacks getting invoked 2011-08-18 13:15:46 -04:00
Nick Mathewson
495c227f59 IOCP: don't launch reads or writes on an unconnected socket 2011-08-18 11:41:55 -04:00
Nick Mathewson
ec670c15a7 Merge remote-tracking branch 'origin/patches-2.0'
Conflict in buffer.c: the new file-segment logic conflicted with the
solaris sendfile fix.
2011-08-17 22:08:06 -04:00
Dave Hart
04656ea85a Try to fix 'make distcheck' errors when building out-of-tree 2011-08-17 22:04:38 -04:00
Nick Mathewson
3c63edd1f7 Make the priority inversion code use gettime(), not evutil_gettimeofday()
Since we're computing the time after each callback, we might as well
update the time cache (if we're using it) and use monotonic time (if
we've got that).
2011-08-17 22:04:04 -04:00
Nick Mathewson
a37a0c0e35 Make max_dispatch_interval able to apply only to low-priority events
Suggested by Alexander Drozdov
2011-08-17 22:03:57 -04:00
Alexander Drozdov
a9866aa8c1 Optimization in event_process_active(): ignore maxcb & endtime for highest priority events. 2011-08-17 22:03:57 -04:00
Nick Mathewson
9fa56bdf1c Make sure max_dispatch_callbacks is never negative
Suggested by Alexander Drozdov.
2011-08-17 22:03:57 -04:00
Nick Mathewson
fd4de1e7fe Add event_config function to limit time/callbacks between calls to dispatch 2011-08-17 22:03:57 -04:00
Nick Mathewson
e067d0e3ac Merge branch '20_low_ratelim' into patches-2.0 2011-08-17 21:47:19 -04:00
Michael Herf
643922e907 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:
2011-08-15 13:39:10 -04:00
Nick Mathewson
2fdb8e2204 Merge remote-tracking branch 'ellzey/debug_timer_add_usec' 2011-08-15 11:29:39 -04:00