|
bec22b41
|
2012-04-19T18:15:12
|
|
Refactor event_persist_closure: raise and extract some common logic
|
|
d1a03b2f
|
2012-04-03T18:31:08
|
|
Backport: provide EVENT_LOG_* names, and deprecate _EVENT_LOG_*
This is a partial backport of cb9da0bf and a backport of c9635349.
Because C doesn't like us to declare identifiers starting with an
underscore, Libevent 2.1 has renamed every such identifier. The
only change that affects a public API is that the _EVENT_LOG_*
macros have been renamed to start with EVENT_LOG instead. The old
names are still present, but deprecated.
I'm doing this backport because it represents the deprecation of a
Libevent 2.0 interface, and folks should have the opportunity to
write code that isn't deprecated and works with both 2.0 and 2.1.
|
|
f775521c
|
2012-04-03T17:25:36
|
|
Fix the website URL in the readme
|
|
4a6fd433
|
2012-04-03T05:31:20
|
|
Configure with gcc older than 2.95
I don't know why people use such ancient gcc versions, but the fix seems
straightforward enough to maybe just do it.
|
|
4c7ee6b0
|
2012-04-02T18:12:44
|
|
Add missing ) to changelog; spotted by rransom
|
|
336dcaea
|
2012-03-30T10:26:50
|
|
Fix a compilation error with MSVC 2005 due to use of mode_t
MSVC apparently doesn't have a mode_t defined, though mingw does.
Found by Savg He.
|
|
98e9119f
|
2012-03-25T18:56:15
|
|
Fix a typo in the bufferevent documentation
|
|
25a424fb
|
2012-03-22T14:35:23
|
|
Add an empty changelog section for 2.0.19-stable
|
|
f0fb2c27
|
2012-03-22T14:34:01
|
|
Bump version to 2.0.18-stable-dev
|
|
75401035
|
2012-03-22T14:00:54
|
|
Bump version to 2.0.18-stable
|
|
90c0a7df
|
2012-03-22T13:47:01
|
|
Add credits to README
|
|
77342926
|
2012-03-22T12:49:08
|
|
Changelog for libevent 2.0.18-stable
|
|
c41c1a2b
|
2012-03-13T15:49:49
|
|
Merge remote-tracking branch 'sebastian/clang_unknown_warning_options' into patches-2.0
|
|
c2c7b39d
|
2012-03-13T08:33:06
|
|
Properly zero the kevent in kq_setup_kevent()
Detected by clang
|
|
083296bc
|
2012-03-13T06:40:56
|
|
Don't do clang version detection when disabling some flags
When clang 2.9 was around we hoped they'd introduce support for the
normalized=id and override-init warnings by 3.0, but they haven't. We
should only add the version detection back in when clang actually
supports those warnings.
|
|
bec50680
|
2012-02-15T20:12:32
|
|
Stop crashing in evdns when nameserver probes give a weird error
When a nameserver is down, we periodically try sending a "probe"
message to that nameserver to see if it has come back up. If a
nameserver comes up, we cancel any pending probe messages.
Cancelling a probe message while handling the probe's response would
result in a access-after-free or a double-free, so when we notice that
we're about to call a nameserver up because of having received a probe
from it, we need to check whether current response is the response
from the probe.
There was a case where we didn't to that, though: when the resolver
gave us an unusual error response to our request that it resolve
google.com. This is pretty rare, but apparently it can happen with
some weird cacheing nameservers -- the one on the mikrotik router, for
example. Without this patch, we would crash with a NULL pointer
derefernce.
Thanks to Hannes Sowa for finding this issue and helping me track it
down.
|
|
2d67b638
|
2012-02-14T15:37:58
|
|
Changed OPENSSL_LDFLAGS to OPENSSL_LIBADD
|
|
92781968
|
2012-02-14T15:01:02
|
|
Added OPENSSL_LDFLAGS env variable which is appended to SSL checks.
If openssl is not installed system-wide or not compiled as a shared library,
some systems require various link flags (e.g., -ld).
|
|
03dce42d
|
2012-02-11T21:17:18
|
|
Tweak the evutil_open_closeonexec patch to work on windows, old unixes.
Windows doesn't have a mode_t as far as I can tell.
Some unixes, iirc, don't like three-argument open without O_CREAT.
|
|
d2b5f722
|
2012-02-11T17:23:17
|
|
Make uses of open() close-on-exec safe by introducing evutil_open_closeonexec.
In a multi-process/threaded environment, opening fds internally
without the close-on-exec flag could leak fds to child processes.
|
|
0c483170
|
2012-02-10T22:20:05
|
|
Add an empty section to the changelog for 2.0.18-stable
|
|
5a807b7a
|
2012-02-10T22:17:59
|
|
Correct a name in the credits. oops
|
|
2d7bf0f7
|
2012-02-10T22:16:14
|
|
Bump version to 2.0.17-stable-dev
|
|
83e58ccd
|
2012-02-10T18:39:31
|
|
Update the credits in the readme
|
|
0cdbd642
|
2012-02-10T18:36:10
|
|
Finalize the changelog
|
|
e49e2891
|
2012-02-10T17:29:53
|
|
Update copyright notices to 2012
|
|
8152b4c2
|
2012-02-10T16:49:05
|
|
Bump version to 2.0.17-stable
|
|
5d7bfa15
|
2012-02-10T11:24:51
|
|
In the kqueue backend, do not report EBADF as an EV_READ
We were doing this because of (correct) reports that NetBSD gives an
EBADF when you try to add the write side of a pipe for which the
read side has been closed. But on most kqueue platforms, that
doesn't happen, and on *all* kqueue platforms, reporting a
nonexistent fd (which we usually have if we have seen EBADF) as
readable tends to give programs a case of the vapors.
Nicholas Marriott wrote the original patch here; I did the comment
fixes.
|
|
19715a60
|
2012-02-09T15:07:19
|
|
Avoid crash when freeing event_iocp and using event_set_mem_functions
There was a calloc that needed to be an mm_calloc.
Reported by "fffvvvzz" on sourceforge. Ticket 3486114
|
|
6f6cebe3
|
2012-02-06T21:18:25
|
|
Bring the changelog up to date
|
|
5b4b8126
|
2012-02-06T12:24:49
|
|
Loop on filtering SSL reads until we are blocked or exhausted.
This is not a perfect fix, but it's much much better than the
current buggy behavior, which could lead to filtering SSL
connections that just stopped reading.
Based on ideas by Maseeb Abdul Qadir and Mark Ellzey.
|
|
d84d9170
|
2011-11-21T09:41:55
|
|
Use C-style comments in C source files (for compatibility with compilers such as xlc on AIX).
|
|
d6094b16
|
2012-02-01T14:56:43
|
|
evdns: fix a bug in circular-queue implementation
found by Wang Qin
|
|
9f9e259f
|
2012-01-26T15:04:24
|
|
Better workaround for Linux 3.2 edge-triggered epoll bug
On further investigation, it appears that this problem is limited to
AF_UNIX sockets, so let's just do the test on AF_INET sockets.
|
|
c94a5f2a
|
2012-01-24T17:15:50
|
|
Do a memberwise comparison of threading function tables
Doing a memcmp risks comparing uninitialized padding bytes at the
end of the structure.
|
|
438d4ff2
|
2012-01-24T15:29:39
|
|
Make event_base integrity check work on windows
|
|
edc6d7d7
|
2012-01-24T15:09:04
|
|
Start writing a changelog for 2.0.17-stable
|
|
5408ff3b
|
2012-01-24T11:16:26
|
|
Oops:remove an accidentally committed "sleep(1)" in a unit test
|
|
dab91877
|
2012-01-24T11:04:19
|
|
Workaround in the unit tests for an apparent epoll bug in Linux 3.2
|
|
3f18ad1b
|
2012-01-23T18:15:44
|
|
Fix a fd leak in event_reinit()
We were supposed to be closing the ev_signal_pair sockets.
|
|
6e41cdc1
|
2012-01-23T17:59:16
|
|
Fix a list corruption bug when using event_reinit() with signals present
While re-adding all the events, event_reinit() could add a signal
event, which could then cause evsig_add() to add the
base->sig.ev_signal event. Later on its merry path through
base->eventqueue, event_reinit() would find that same event and give
it to event_io_add a second time. This would make the ev_io_next
list for that fd become circular. Ouch!
|
|
3312b020
|
2012-01-23T17:43:35
|
|
Check event_base correctness at end of each unit test
|
|
27737d55
|
2012-01-21T12:55:15
|
|
Add function to check referential integrity of an event_base
|
|
790f6b3b
|
2012-01-10T18:33:58
|
|
Force strict validation of HTTP version in response.
This sometimes accepted invalid versions like 'ICY' (n = 0, major = undefined, sometimes > 1).
|
|
7206e8cd
|
2012-01-16T14:45:31
|
|
Suppress a gcc warning from ignoring fwrite return in http-sample.c
Found by Steve Snyder
|
|
cba48c7d
|
2012-01-09T16:44:53
|
|
Fix a race condition in the dns/bufferevent_connect_hostname test.
As originally written, the test would only pass if the accept()
callbacks for the evconnlistener were all invoked before the last of
the CONNECTED/ERROR callbacks for the connecting/resolving bufferevent
had its call to event_base_loopexit() complete. But this was only
accidentally true in 2.0, and might not be true at all in 2.1 where
we schedule event_base_once() callbacks more aggressively.
Found by Sebastian Hahn.
|
|
ecfc720a
|
2012-01-09T11:49:41
|
|
Make evconnlistener work around bug in older Linux when getting nmapped
Older Linuxes sometimes respond to some nmap probes by having accept()
return a success but with socklen 0. That can lead to confusing behavior
when you go to process the sockaddr.
|
|
f0325167
|
2012-01-09T11:33:38
|
|
Remove bogus casts of socket to int before calling ev_callback
This should make 64-bit windows act better.
Found by Mark Heily.
|
|
da70fa70
|
2011-12-14T16:17:19
|
|
Backport evhttp_connection_get_bufferevent to Libevent 2.0
Backport by Arno Bakker; original implementation in 8d3a8500f4
|
|
7bbf6ca7
|
2011-12-08T14:36:32
|
|
Slightly clarify evbuffer_peek documentation
|
|
c986f232
|
2011-12-08T14:30:20
|
|
Fix behavior of evbuffer_peek(buf,-1,NULL,NULL,0)
(Patch altered by nickm to not affect the behavior of
evbuffer_peek(buf,-1,NULL,vec,n_vec).)
|
|
358c745e
|
2011-12-08T11:39:48
|
|
check for sysctl before we use it
Not all C libraries under Linux support the sysctl() func.
|
|
19277763
|
2011-12-06T13:35:54
|
|
Fix a silly compilation error with the sun compiler
Apparently, other compilers were allowing "return free(x)" in a
function returning void.
|
|
11f36a5f
|
2011-12-05T15:02:27
|
|
Be absolutely sure to clear pncalls before leaving event_signal_closure
I thought we'd fixed the cases where this could come up, but
apparently having an event_base_break() happen while processing
signal events could get us in trouble.
Found by Remi Gacogne. Sourceforge issue 3451433 .
|
|
ba4d6696
|
2011-11-18T15:34:37
|
|
Increment version to 2.0.16-stable-dev
|
|
5de3fa32
|
2011-11-18T15:27:06
|
|
Increment version to 2.0.16-stable
|
|
31c99bd2
|
2011-11-18T15:14:50
|
|
Revise 2.0.16-stable changelog
|
|
ebf82199
|
2011-11-17T17:42:45
|
|
add comment to new consider_reading code
|
|
2aa036fa
|
2011-11-17T11:59:41
|
|
Avoid spinning on OpenSSL reads
Previously, if some sender were generating data to read on an
OpenSSL connection as fast as we could process it, we could easily
wind up looping on an openssl do_read operation without ever
considering other sockets.
The difference between this and the original method in
consider_reading() is that it only loops for a single completed
*frame* instead of looping until fd is drained or an error condition
was triggered.
{Patch split out by nickm}
|
|
96c562fa
|
2011-11-17T11:54:07
|
|
Move SSL rate-limit enforcement into bytes_to_read()
|
|
a186e732
|
2011-11-17T11:45:49
|
|
Refactor amount-to-read calculations in buffervent_ssl consider_reading()
Split up consider_reading()'s conditional checks into another function
can_read() for simplicity sake.
{Split into a separate patch by nickm}
|
|
6660c9a3
|
2011-11-15T18:34:24
|
|
Revert "Avoid potential SSL read spinlocks"
This reverts commit fc52dbac87f4937f8306759506d6a2ad15ca244c.
|
|
a62346de
|
2011-11-15T18:33:50
|
|
Revert "openssl bufferevent has the same issue with writing as prior commit."
This reverts commit 7353663eb7c0b2a1caaaa5acd818515f156cf2ca.
|
|
34045c8f
|
2011-11-15T17:22:12
|
|
Add new entries to changelog, new credits to README
|
|
b17b0eec
|
2011-11-15T17:11:42
|
|
Fix DNS memleak checks when running with malloc-replacement/debugging disabled
|
|
e7874133
|
2011-11-14T17:33:02
|
|
Don't try to make notifiable event_base when no threading fns are configured
|
|
4e797f38
|
2011-11-14T17:32:22
|
|
Warn when unable to construct base because of failing make_base_notifiable
|
|
7353663e
|
2011-11-14T10:57:15
|
|
openssl bufferevent has the same issue with writing as prior commit.
|
|
fc52dbac
|
2011-11-14T10:24:07
|
|
Avoid potential SSL read spinlocks
OpenSSL bufferevents with deferred callbacks enabled under high load will
spinlock in the function consider_reading(). This loop continues until all
data has been read.
Because of this condition; openssl bufferevents will never return back into
event_base_loop() until SSL_read has determined data is no longer ready.
As of yet I have not found a reason why this while loop exists, so this patch
just swaps out while for if.
If needed I can write same code which would trigger this effect; optionally
libevhtp has a test.c program which can be run with the following flags:
./test -s <keyfile.pem>
curl -vvvv -k -d@<HUGE_ASS_FILE> https://127.0.0.1:8081/
The return data will include the number of times the readcb got data and the
length of that read.
Without this patch, you are likely to see a small amount of "bytes read....",
otherwise the "bytes read..." return data should show much more reasonable
numbers.
|
|
a3f320e8
|
2011-11-09T00:17:56
|
|
Improve win32 behavior of dns-sample.c codex
|
|
674bc6a2
|
2011-11-03T11:43:49
|
|
Fix typo in whatsnew-2.0.txt
|
|
c37069cd
|
2011-11-02T16:09:15
|
|
Fix an evbuffer crash in evbuffer_remove_buffer()
Found by Greg Hazel.
|
|
7eb52eb8
|
2011-11-02T15:19:05
|
|
improve test to remove at least one buffer from src
|
|
90bd620f
|
2011-11-01T13:44:40
|
|
unit test for remove_buffer bug
|
|
447b0bad
|
2011-10-30T22:32:18
|
|
Fix compile warning from saying event2/*.h inside a comment
Based on a patch by Adrian Chadd
|
|
1aee7183
|
2011-10-26T13:24:30
|
|
epoll: close fd on alloc fail at initialization
If the memory allocations fail then we free any other allocated
structures but don't close the file descriptor resulting in an leak of
fd's.
|
|
3c824bd3
|
2011-10-24T13:18:09
|
|
Update copyright dates to 2011.
|
|
724bfb56
|
2011-10-19T22:59:47
|
|
Add note about evhttp_send_reply_end to its doxygen
|
|
9e6a4efa
|
2011-10-19T17:44:17
|
|
More detailed message in case of libevent self-debugging failure.
|
|
5e42202d
|
2011-10-19T22:41:11
|
|
Style and comment tweaks for dns/leak* tests
|
|
f7841bfc
|
2011-10-18T17:49:40
|
|
Test for commit aff6ba1
|
|
21a08d68
|
2011-10-19T22:38:37
|
|
Empty DNS reply with OK status is another way to say NODATA.
Sometimes DNS reply has nothing but query section. It does not look like
error, so it should be treated as NODATA with TTL=0 as soon as there is
no SOA record to deduce negative TTL from.
|
|
d58c15ee
|
2011-10-19T22:36:12
|
|
Tests for 94fba5b and f72e8f6
|
|
8589f6c4
|
2011-10-12T01:00:23
|
|
Bump version to 2.0.15-stable-dev
|
|
c54c2358
|
2011-10-12T00:39:22
|
|
Credit a patch from a one-named user
|
|
4d9529fc
|
2011-10-12T00:22:17
|
|
Increment version to 2.0.15-stable
|
|
7c3e0612
|
2011-10-12T00:16:12
|
|
Add changelog for 2.0.15-stable
|
|
ba5c27d4
|
2011-10-10T08:24:43
|
|
refer to non-deprecated evdns functions in comments
|
|
706aa5f4
|
2011-10-06T15:11:50
|
|
Merge remote-tracking branch 'github/20_addfile_ssl' into patches-2.0
|
|
39c0cf7c
|
2011-10-03T12:49:02
|
|
Fix some "value never used" warnings with gcc 4.6.1
|
|
2b768479
|
2011-10-03T12:45:36
|
|
Make write-checking fixes use tt_fail_perror
|
|
c3b62fd7
|
2011-07-12T13:05:36
|
|
Fixed compiler warnings for unchecked read/write calls.
|
|
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.
|
|
1ef1f684
|
2011-09-28T09:22:17
|
|
Make evbuffer callbacks get the right n_added value after evbuffer_add
Patch from Alex.
|
|
296d29a1
|
2011-09-26T11:07:58
|
|
Merge branch '20_loopbreak_in_signal' into patches-2.0
|
|
7f82382a
|
2011-09-25T07:39:00
|
|
Use _SOURCES, not _sources, in sample/Makefile.am
Found by Adrian Chadd
|
|
9ae061ac
|
2011-09-15T13:06:38
|
|
le-proxy and regress depend on openssl directly
|
|
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
|
|
4e8eb6a5
|
2011-09-09T20:53:30
|
|
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.
|