2322 Commits

Author SHA1 Message Date
Alexander Drozdov
998c81389f bufferevent: Add functions to set/get max_single_read/write values. 2011-10-11 10:15:39 -04:00
Nick Mathewson
3c55b5ee0a Make evbase_priority_init() and evbase_get_npriorities() threadsafe 2011-10-11 09:50:57 -04:00
Alexander Drozdov
ee3a4ee880 Add event_base_get_npriorities() function. 2011-10-11 09:43:12 -04:00
Nick Mathewson
fed8f6e484 Merge remote-tracking branch 'origin/patches-2.0' 2011-10-10 11:34:26 -04:00
Greg Hazel
ba5c27d47f refer to non-deprecated evdns functions in comments 2011-10-10 11:33:15 -04:00
Nick Mathewson
c6bbbf1b67 Make evbuffer_file_segment_types adaptable
Instead of having a file segment born as one type and stay that way
forever, let them start out unmapped, but map themselves as needed
if they need to get written out on a non-drains_to_fd evbuffer.
2011-10-06 18:05:16 -04:00
Nick Mathewson
8358877768 Merge remote-tracking branch 'origin/patches-2.0'
Conflicts:
	buffer.c
	test/regress_buffer.c
2011-10-06 15:21:55 -04:00
Nick Mathewson
706aa5f416 Merge remote-tracking branch 'github/20_addfile_ssl' into patches-2.0 2011-10-06 15:11:50 -04:00
Nick Mathewson
5760efb1b6 Merge branch '21_largefile_support' 2011-10-05 15:03:17 -04:00
Nick Mathewson
e0cae789ca Merge branch '21_evloop_noexit' 2011-10-05 11:26:52 -04:00
Nick Mathewson
084e68f3f2 New EVLOOP_NO_EXIT_ON_EMPTY option to keep looping even when no events are pending
This can be useful if you want to start an event loop and then add or
remove events to it from another thread.
2011-10-05 11:11:44 -04:00
Alexander Drozdov
9593a33fd1 Allow evconnlistener to be created in disabled state. 2011-10-03 12:59:11 -04:00
Nick Mathewson
b3bc77b673 Merge remote-tracking branch 'origin/patches-2.0' 2011-10-03 12:54:35 -04:00
Nick Mathewson
39c0cf7ca4 Fix some "value never used" warnings with gcc 4.6.1 2011-10-03 12:49:02 -04:00
Nick Mathewson
2b768479e4 Make write-checking fixes use tt_fail_perror 2011-10-03 12:45:36 -04:00
Mark Ellzey
c3b62fd7fd Fixed compiler warnings for unchecked read/write calls. 2011-10-03 12:40:48 -04:00
Nick Mathewson
0ba0af9c6c Prefer mmap to sendfile unless a DRAINS_TO_FD flag is set. Allows add_file to work with SSL.
The sendfile() implementation for evbuffer_add_file is potentially more
efficient, but it has a problem: you can only use it to send bytes over
a socket using sendfile().  If you are writing bytes via SSL_send() or
via a filter, or if you need to be able to inspect your buffer, it
doesn't work.

As an easy fix, this patch disables the sendfile-based implementation of
evbuffer_add_file on an evbuffer unless the user sets a new
EVBUFFER_FLAG_DRAINS_TO_FD flag on that evbuffer, indicating that the
evbuffer will not be inspected, but only written out via
evbuffer_write(), evbuffer_write_atmost(), or drained with stuff like
evbuffer_drain() or evbuffer_add_buffer().  This flag is off by
default, except for evbuffers used for output on bufferevent_socket.

In the future, it could be interesting to make a best-effort file
segment implementation that tries to send via sendfile, but mmaps on
demand.  That's too much complexity for a stable release series, though.
2011-09-29 10:32:16 -04:00
Nick Mathewson
46974cd877 Merge remote-tracking branch 'origin/patches-2.0' 2011-09-28 09:23:41 -04:00
Nick Mathewson
1ef1f68462 Make evbuffer callbacks get the right n_added value after evbuffer_add
Patch from Alex.
2011-09-28 09:22:17 -04:00
Nick Mathewson
1ebe795544 Merge remote-tracking branch 'origin/patches-2.0' 2011-09-26 11:11:30 -04:00
Nick Mathewson
296d29a12c Merge branch '20_loopbreak_in_signal' into patches-2.0 2011-09-26 11:07:58 -04:00
Nick Mathewson
65c920c9f1 Merge remote-tracking branch 'origin/patches-2.0' 2011-09-25 07:41:29 -04:00
Nick Mathewson
7f82382a7d Use _SOURCES, not _sources, in sample/Makefile.am
Found by Adrian Chadd
2011-09-25 07:39:00 -04:00
Nick Mathewson
2179d7359f Merge remote-tracking branch 'origin/patches-2.0' 2011-09-16 09:47:14 -04:00
Sergey Avseyev
9ae061acca le-proxy and regress depend on openssl directly 2011-09-16 09:42:01 -04:00
Nick Mathewson
38674d4a5e Merge remote-tracking branch 'origin/patches-2.0' 2011-09-12 15:46:54 -04:00
Leonid Evdokimov
94fba5b9ac Add DNS_ERR_NODATA error code to handle empty replies. 2011-09-12 15:38:05 -04:00
Leonid Evdokimov
2b6eae5999 Fix docstring in dns.h 2011-09-12 15:09:30 -04:00
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