|
0cb70e33
|
2011-10-26T10:17:21
|
|
Merge remote-tracking branch 'origin/patches-2.0'
|
|
a2c48e3b
|
2011-10-24T01:31:55
|
|
evhttp: Add evhttp_foreach_bound_socket.
Applies the function specified in the first argument to all
evhttp_bound_sockets associated with a struct evhttp. The user
must not attempt to free or remove any connections, sockets or
listeners in the callback function.
|
|
356554c8
|
2011-10-25T11:43:01
|
|
Merge remote-tracking branch 'origin/patches-2.0'
|
|
3c824bd3
|
2011-10-24T13:18:09
|
|
Update copyright dates to 2011.
|
|
212533e4
|
2011-10-21T19:53:32
|
|
New event_base_update_cache_time() to set cached_tv to current time
This function is particularly useful for selectively increasing
the accuracy of the cached time value in 'base' during callbacks
that take a long time to execute.
This function has no effect if the base is currently not in its
event loop or if timeval caching is disabled via EVENT_BASE_FLAG_NO_CACHE_TIME.
|
|
724bfb56
|
2011-10-19T22:59:47
|
|
Add note about evhttp_send_reply_end to its doxygen
|
|
998c8138
|
2011-10-11T09:26:57
|
|
bufferevent: Add functions to set/get max_single_read/write values.
|
|
ee3a4ee8
|
2011-10-11T11:12:34
|
|
Add event_base_get_npriorities() function.
|
|
fed8f6e4
|
2011-10-10T11:34:26
|
|
Merge remote-tracking branch 'origin/patches-2.0'
|
|
ba5c27d4
|
2011-10-10T08:24:43
|
|
refer to non-deprecated evdns functions in comments
|
|
83588777
|
2011-10-06T15:21:55
|
|
Merge remote-tracking branch 'origin/patches-2.0'
Conflicts:
buffer.c
test/regress_buffer.c
|
|
5760efb1
|
2011-10-05T15:03:17
|
|
Merge branch '21_largefile_support'
|
|
084e68f3
|
2010-12-01T21:53:08
|
|
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.
|
|
9593a33f
|
2011-10-03T08:12:32
|
|
Allow evconnlistener to be created in disabled state.
|
|
0ba0af9c
|
2011-09-29T09:30:04
|
|
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.
|
|
38674d4a
|
2011-09-12T15:46:54
|
|
Merge remote-tracking branch 'origin/patches-2.0'
|
|
94fba5b9
|
2011-08-10T15:58:47
|
|
Add DNS_ERR_NODATA error code to handle empty replies.
|
|
2b6eae59
|
2011-08-10T15:58:19
|
|
Fix docstring in dns.h
|
|
8a231040
|
2011-09-12T14:53:39
|
|
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
|
|
e20eabd6
|
2011-09-12T11:31:19
|
|
Merge branch '21_enable_debugging'
|
|
6207826e
|
2011-09-12T11:31:02
|
|
Clarify event_enable_debug_logging a little
|
|
8d3a8500
|
2011-09-12T10:46:17
|
|
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.
|
|
a37a0c0e
|
2011-08-11T12:38:47
|
|
Make max_dispatch_interval able to apply only to low-priority events
Suggested by Alexander Drozdov
|
|
fd4de1e7
|
2010-12-01T20:44:05
|
|
Add event_config function to limit time/callbacks between calls to dispatch
|
|
d7451b05
|
2011-08-15T11:14:57
|
|
Merge remote-tracking branch 'origin/patches-2.0'
|
|
50be5a14
|
2011-08-11T03:06:07
|
|
Another docstring fix.
|
|
e918f15a
|
2011-08-01T10:30:02
|
|
Merge remote-tracking branch 'origin/patches-2.0'
|
|
1183f7e2
|
2011-08-01T10:27:56
|
|
Fix typo in event_compat.h comments.
|
|
7d08a28c
|
2011-07-05T15:07:07
|
|
Merge remote-tracking branch 'github/21_end_of_buffer'
Conflicts:
include/event2/buffer.h
|
|
21be3dff
|
2011-07-05T14:38:21
|
|
Merge remote-tracking branch 'origin/patches-2.0'
Conflicts:
include/event2/buffer.h
include/event2/thread.h
include/event2/util.h
|
|
2888facc
|
2011-07-04T23:02:11
|
|
Revise the event/evbuffer/bufferevent doxygen for clarity and accuracy
|
|
261ba63d
|
2011-06-13T17:07:29
|
|
Improve evbuffer_ptr documentation
|
|
9f560bfa
|
2011-05-25T19:50:56
|
|
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.
|
|
22d50db8
|
2011-05-02T23:22:34
|
|
Merge remote-tracking branch 'origin/patches-2.0'
|
|
9556a7d1
|
2011-05-02T23:22:09
|
|
Add missing words to EVLOOP_NONBLOCK documentation
|
|
c8baac90
|
2011-03-07T21:55:47
|
|
Followup for Tomash Brechko's http patch
This patch makes bufferevent_disable_hard() non-public, and
adds a comment about what it's for and why it's used.
|
|
5dc56628
|
2011-02-24T12:30:40
|
|
Workaround libevent bug
https://sourceforge.net/tracker/index.php?func=detail&aid=3078187&group_id=50884&atid=461324
The problem is that bufferevent_disable() doesn't disable EV_WRITE
when 'connecting' flag is set. However from evhttp_connection_reset()
we want to disable EV_WRITE for sure (we are closing the socket next).
So we add bufferevent_disable_hard(), which acts like
bufferevent_disable(), but resets 'connecting' flag before the call to
the actual handler.
TODO: bufferevent_disable_hard() shouldn't be public, remove it from
event2/bufferevent.h.
|
|
83fb674a
|
2011-02-25T10:42:58
|
|
Merge remote branch 'origin/patches-2.0'
|
|
b5ab9555
|
2011-02-25T10:35:12
|
|
Make --no-libevent-install apply to headers too
|
|
e2e3c322
|
2011-02-22T18:55:05
|
|
Merge remote branch 'origin/patches-2.0'
|
|
5dc200b7
|
2011-02-22T18:53:55
|
|
Merge branch '20_uri_nonconformant' into patches-2.0
|
|
6350e6c4
|
2011-02-22T17:52:50
|
|
Add new evhttp_{connection_}set_timeout_tv() functions to set finger-grained http timeouts
|
|
a11c30b5
|
2011-02-22T17:41:27
|
|
Merge remote branch 'origin/patches-2.0'
This branch is the big one that merges all the ntp folks' changes
Conflicts:
configure.in
|
|
f95bafb6
|
2011-02-22T00:34:49
|
|
Be explicit about how long event loops run in event.h documentation
|
|
8f5cca47
|
2011-02-21T23:27:23
|
|
Merge remote branch 'origin/patches-2.0'
|
|
f6659246
|
2011-02-15T11:33:40
|
|
Correct evhttp_del_accept_socket documentation on whether socket is closed
Thanks to Constantine Verutin for pointing this out.
|
|
926f8165
|
2011-02-13T00:54:21
|
|
Clarify event_set_mem_functions doc
|
|
95060b54
|
2011-02-13T00:41:22
|
|
Make URI parser able to tolerate nonconformant URIs.
If the EVHTTP_URI_NONCONFORMANT flag is passed in (which it is when
parsing URIs we get over the wire), then we relax our checks a lot.
Specifically, we do nothing to check for correct characters in the
path, query, and fragment parts of such a URI.
We could do much more here: we could relax our hostname requirements,
deal with spaces differently/better, trap some errors but not others,
etc. But this should solve the worst user-agent compatibility issues
for now; the other issues can wait for a later release.
|
|
e72afae0
|
2010-10-21T19:45:49
|
|
Add evbuffer_add_file_segment() so one fd can be used efficiently in more than one evbuffer_add_file at a time
|
|
e30a82f1
|
2010-12-16T13:58:56
|
|
Add event_enable_debug_logging() to control use of debug logs
Previously, debug logs were turned on if you built with -DUSE_DEBUG
and off otherwise. This make builds with -DUSE_DEBUG hideously slow
and other builds unable to get debug logs.
This is based off a patch by Ralph Castain from October. It tries a
little harder to avoid needless function calls, it doesn't require
stdbool, and makes the controlling parameter a mask rather than a
boolean so that we can later support enabling only the debugging
messages for the parts of Libevent you're trying to debug.
|
|
57689c44
|
2010-12-09T12:17:11
|
|
Document that the cpu_hint is only used on Windows with IOCP for now
|
|
bb0d2b4e
|
2010-12-09T11:47:54
|
|
Consistentize tabs
|
|
22f4af65
|
2010-12-09T11:43:12
|
|
Remove end-of-line whitespace
|
|
d23839fc
|
2010-12-07T11:43:52
|
|
Reject overlong http requests early when Expect:100-continue is set
|
|
fa9305f8
|
2010-11-29T18:25:04
|
|
Preliminary support for Continue expectation in evhttp.
|
|
aab8c38b
|
2010-11-05T11:17:07
|
|
Add evhttp server alias interface, correct flagging of proxy requests.
evhttp needs to be mindful of all hostnames and addresses that clients
use to contact the main server and vhosts to know the difference between
proxy requests and non-proxy requests.
|
|
2e5a175b
|
2010-11-25T23:03:46
|
|
Merge remote branch 'github/20_once_fixes'
|
|
1cd45e56
|
2010-11-23T19:26:34
|
|
If not WIN32, include <sys/socket.h> in event2/util.h.
|
|
2e2a3d7b
|
2010-11-23T19:09:08
|
|
Reworked AIX __ss_family workaround to use AC_STRUCT_MEMBER.
|
|
652024b6
|
2010-11-23T13:08:07
|
|
Remove _event_initialized(); make event_initialized() a function(); make it consistent on windows and non-windows
|
|
88be27dc
|
2010-11-23T12:26:46
|
|
Document event_get_assignment
|
|
e431bcd6
|
2010-11-23T12:26:34
|
|
Note that reentrant calls to libevent from logging cbs may fail badly
|
|
7bcace2d
|
2010-11-22T21:02:34
|
|
Fix some irix compilation warnings spotted by Kevin Bowling
|
|
26049c2f
|
2010-11-22T16:24:52
|
|
Merge remote branch 'github/20_getaddrinfo_cancel_v2'
|
|
9531763a
|
2010-11-14T17:52:16
|
|
Disable changelist for epoll by default because of Linux dup() bug; add an option and/or an envvar to reenable it for speed.
Rename option to control epoll changelist; make epoll changelist off by default
|
|
49418612
|
2010-11-16T12:55:10
|
|
Use the US-English "canceled", not the UK "cancelled".
|
|
057a5146
|
2010-11-14T19:34:49
|
|
Clarify EVLOOP_* documentation to be more precise.
|
|
5c8a59e8
|
2010-11-09T10:19:05
|
|
Merge remote branches 'github/20_evdns_cancel_segfault_v2', 'github/20_http_close_detect', 'github/20_http_versions', 'github/20_more_http_methods', 'github/20_shutdown_iocp_listener' and 'github/20_win64_fixes'
|
|
229714d1
|
2010-11-04T16:04:28
|
|
Fix a mistake in http documentation found by Julien Blache
|
|
f5b391e2
|
2010-11-04T11:53:34
|
|
Tweak interface for allowed methods
|
|
75a73414
|
2010-11-04T11:25:35
|
|
Define enumerators for all HTTP methods, including PATCH from RFC5789
This patch defines enumerators for all HTTP methods that exist
(including PATCH introduced in RFC 5789).
It also makes them bit-masky (that's not a word, is it?), breaking
binary- but not source-code compatibility.
evhttp now stores a bitmask specifying for which methods requests to
dispatch and which ones to reject with "405 Method Not Allowed".
By default that's the ones we currently have (GET, POST, HEAD, PUT,
DELETE), thereby keeping functional compatibility (besides the minor
change that one of the other methods will now cause 405 instead of
400. But I believe that could even be considered a bug-fix).
evhttp is extended by evhttp_set_allowed_methods() with which the
user can change that bitmask.
no regressions here and my test-app still works. Haven't yet
actually tested any of the new methods.
What's obviously missing here is the special logic for the methods:
OPTIONS: We should be fine here - I believe our current dispatch
logic should work fine. Some convenience functions would be fine
though.
TRACE: I'm pretty certain we should never dispatch this to the
callbacks and simply implement the necessary functionality built-in.
CONNECT: Pretty straight-forward to implement (and considering the
framework in which we implement it very efficient too). Should
probably go built-in.
PATCH: Except for checking the RFC against our pre-dispatch logic
(there just might be some "MUST not have Some-Header" lurking
somewhere) there is nothing to be done here, this is completely up
to the user. Nothing to do.
|
|
22e0a9b2
|
2010-11-03T15:12:08
|
|
Add evhttp_response_code to remove one more reason to include http_struct.h
|
|
73bf07fe
|
2010-10-26T21:33:13
|
|
Merge remote branch 'github/20_abi_breaks'
|
|
a4063c06
|
2010-10-26T10:38:30
|
|
Note that 2.0.9 will break the ABI, and make changes we were postponing.
We had to turn a couple of 32-bit size arguments into 64-bit arguments
or size_t arguments (since otherwise we would have had to do it post
2.0.x-stable, and that would be worse).
|
|
2cbb1a16
|
2010-10-26T10:27:29
|
|
Make rate-limits go up to SIZE_MAX/EV_SSIZE_MAX, not just INT32_MAX
Someday, when networks are far faster and people frequently want a
burst value greater than 2GB per tick, this will seem very forsightful
indeed.
For now, it breaks ABI, but not source. Fixes bug 3092096.
|
|
9c71a341
|
2010-10-25T15:13:32
|
|
Merge remote branch 'github/http_and_listener'
|
|
ac7e52d8
|
2010-10-25T14:29:30
|
|
Make evbuffer_add_file take ev_off_t, not off_t
This change has no effect on non-windows platforms, since those
either define off_t to 64-bits, or allow you to decide whether
it should be 64-bits yourself via some LARGEFILE-like macro.
On Windows, however, off_t is always 32-bit, so it's a bad choice
for "file size" or "file offset" values. Instead, I'm adding
an ev_off_t type, and using it in the one place where we used
off_t to mean "the size of a file" or "an offset into a file" in the
API.
This breaks ABI compatibility on Windows.
|
|
006efa7d
|
2010-10-25T11:50:51
|
|
Functions to actually use evhttp_bound_socket with/as evconnlistener.
|
|
46ee061c
|
2010-10-25T11:47:05
|
|
Add a function to change a listener's callback.
You can also now initialize listeners with no callbacks set; if so,
they won't get enabled until the callback is set to non-NULL.
|
|
bf11e7dd
|
2010-10-21T15:33:13
|
|
Merge branch 'http_uri_parse'
|
|
45f6869c
|
2010-10-21T14:41:12
|
|
Make evhttp_uri non-public, and give it accessor functions.
|
|
70e1b607
|
2010-10-21T14:05:04
|
|
Document that two bufferevent functions only work on socket bufferevents
|
|
aab49b60
|
2010-10-21T14:04:24
|
|
Add a bufferevent_get_base function
|
|
cd00079b
|
2010-10-21T12:19:28
|
|
Add evhttp_connection_get_base() to get the event_base from an http connection
Based on a patch by Mark Ellzey from 27 July 2010.
Closes ticket 3052406
|
|
2075fbcf
|
2010-10-19T13:15:48
|
|
Add evhttp_parse_query_str to be used with evhttp_uri_parse.
The old evhttp_parse_query() doesn't work well with struct
evhttp_uri.query, since it expects to get whole URIs, rather than
just the query portion.
|
|
3a334628
|
2010-10-19T13:02:18
|
|
Document behavior of URI parsing more thoroughly.
Also, move evhttp_uri struct into http.h, since it is part of the API.
|
|
eaa5f1d9
|
2010-10-19T11:26:59
|
|
Revise evhttp_uri_parse implementation to handle more of RFC3986
|
|
7d45431e
|
2010-10-18T14:38:48
|
|
Do not silently truncate URIs in evhttp_uri_join. Also avoid evbuffer_pullup.
|
|
86dd720a
|
2010-08-08T16:46:39
|
|
Introduce absolute URI parsing helpers.
See evhttp_uri_parse(), evhttp_uri_free() and evhttp_uri_join() for details.
|
|
f13e449b
|
2010-10-18T14:20:06
|
|
Merge branch 'http_parse'
|
|
49f4bf7c
|
2010-10-18T13:58:02
|
|
Add evhttp_request_get_command so code can tell GET from POST without peeking at the struct.
|
|
a8148ced
|
2010-10-08T13:05:13
|
|
New evhttp_uri(encode|decode) functions to handle + and NUL characters right
The old evhttp_decode_uri() function would act as tough it was doing
an (illegal, undefined) decode operation on a whole URL at once, and
treat + characters following a ? as different from + characters
preceding one. But that's not useful: If you are decoding a URI
before splitting off query parameters, you are begging to fail as soon
as somebody gives you a value with an encoded & in it.
The new evhttp_uridecode() function takes an argument that says
whether to decode + signs. Both uridecode and uriencode also now
support encoding or decoding to strings with internal 0-valued
characters.
|
|
2e63a604
|
2010-10-08T12:57:11
|
|
evhttp_encode_uri encodes all reserved characters, including !$'()*+,/:=@
Perviously, some characters not listed as "unreserved" by RFC 3986
(notably "!$'()*+,/:=@") were not encoded by evhttp_encode_uri. This
made trouble, especially when encoding path components (where @ and /
are bad news) and parameters (where + should get encoded so it doesn't
later decode into a space).
Spotted by Bas Verhoeven.
|
|
127d4f21
|
2010-09-23T16:49:58
|
|
Add a LEV_OPT_THREADSAFE option for threadsafe evconnlisteners
|
|
3b844893
|
2010-10-06T12:35:38
|
|
Tweak evhttp_parse_query hack to avoid breaking abi
|
|
b1756d01
|
2010-10-06T11:48:52
|
|
Let evhttp_parse_query return -1 on failure
We already detected certain malformed queries, but we responded by
aborting the query-parsing process half-way through without telling
the user. Now, if query-parsing fails, no headers are returned, and
evhttp_parse_query returns -1.
|
|
c4be8d82
|
2010-09-20T12:47:39
|
|
Add error callback to evconnlistener
|
|
2447fe88
|
2010-08-28T04:07:48
|
|
Add event_config_set_num_cpus_hint for tuning thread pools, etc.
|
|
42090072
|
2010-09-06T15:47:07
|
|
Move the "function to getsockname() on a listener" to regress_testutils
This reverts commit fab50488fcb741884ccdfa7b83643eac3e5c9cbf.
The function was, on reflection, not important enough to break the feature
freeze, since it's trivial to build on your own.
|
|
c51826ff
|
2010-09-06T15:40:13
|
|
Merge remote branch 'github/sysqueue_include_order'
|