|
4294867c
|
2016-07-06T12:21:38
|
|
Bump version to 2.0.23-beta
Tested on:
- arch linux (openssl 1.0)
- ubuntu (https://travis-ci.org/libevent/libevent/branches patches-2.0)
- freebsd (libevent-extras in vagrant)
- osx (libevent-extras in vagrant)
Refs: #744
|
|
9a88d75c
|
2019-01-20T19:55:59
|
|
Release notes for 2.0.23-beta
[ Based on commit c87a0680 ]
|
|
2f656ffb
|
2019-01-20T22:40:57
|
|
test/buffer: write >GETPIPE_SZ via events over pair to avoid stall
[ Upstream commit 0aad01436af27c5807d48701028020bb51cba387 ]
|
|
4300faad
|
2019-01-20T19:53:11
|
|
Update ACKNOWLEDGMENTS section for 2.0.23-beta
|
|
70a39d45
|
2018-10-31T00:09:38
|
|
Cover ET with multiple events for same fd
[ Upstream commit 77c0e510581b88242d7d7bcff4954cedc5613554 ]
Refs: #636
|
|
d22efeb1
|
2018-02-23T19:01:03
|
|
bufferevent_socket_connect{,_hostname}() missing event callback and use ret code
[ Upstream commit f7bc1337977553f5f966f13840a5f7feba2d0bd5 ]
- When socket() failed in bufferevent_socket_connect() , the event
callback should be called also in
bufferevent_socket_connect_hostname(). eg. when use
bufferevent_socket_connect_hostname() to resolve and connect an IP
address but process have a smaller ulimit open files, socket() fails
always but caller is not notified.
- When make socket nonblocking failed in bufferevent_socket_connect(),
free the fd.
- Make bufferevent_socket_connect()'s behavior more consistent: function
return error then no callback, function return ok then error passed by
event callback.
Backport-for: 2.0
Refs: #597
Refs: #599
Refs: #600
Closes: #599 (cherry-pick)
|
|
d1487831
|
2018-10-30T23:59:24
|
|
Preserve ET bit for backends with changelist
[ Upstream commit a1293bd2e626cba1f687cd0e50a219f8661775fc ]
Fixes: #636
|
|
63306e6f
|
2018-10-30T08:50:08
|
|
Epoll ET setting lost with multiple events for same fd
[ Upstream commit b77d3e787b5522380c65838d3baa22e661eff0db ]
After two or more events have been registered for the same file
descriptor using EV_ET, if one of the events is deleted, then the
epoll_ctl() call issued by libevent drops the EPOLLET flag resulting in
level triggered notifications.
[ azat: test for EV_ET for EPOLL_CTL_MOD too, for libevent 2.0 ]
Fixes: #636
|
|
a8a315ec
|
2014-06-13T14:18:13
|
|
ignore config.cache/test-driver files
[ Upstream commit c83f3333a34251275c38878e9667c904a485ac6d ]
config.cache is generated when you run `./configure -C`.
test-driver comes from newer autotools.
|
|
db6c5dfb
|
2013-05-16T16:38:39
|
|
If evsel->del() fails, don't leave the evmap in an inconsistent state.
[ Upstream commit 9b5a527f5bf898250a797dde59cadb4f64e8967a ]
This fixes assertion failures in cases where epoll() fails with EBADF
-- the root cause for which is as of yet unknown. It seems something
(OpenSSL?) is closing the file descriptor under our feet.
|
|
c52cdc28
|
2018-10-24T01:12:28
|
|
Add travis-ci configuration
But since 2.0 version has parallel test harness (see automake) we need
to show test/test-suite.log manually.
|
|
4d73149f
|
2014-03-18T12:35:39
|
|
Remove integer-overflow unit tests
[ Upstream commit e5302ac7 ]
[ Fixes clang builds -- https://travis-ci.org/azat/libevent/jobs/446053765 ]
There's not much point checking undefined behavior.
|
|
33845824
|
2014-03-18T18:36:32
|
|
Correctly skip ipv6 http test on systems without ipv6
[ Upstream commit 6a1c4d50 ]
|
|
b52e95f5
|
2014-03-12T18:13:19
|
|
Skip http/ipv6_for_domain test when we have no ipv6 support
[ Upstream commit 21477e40 ]
|
|
6f18f88e
|
2018-10-25T09:44:58
|
|
Remove for loop initial declaration and fix conflicting type in it (gcc 4.8)
From [1]:
regress_buffer.c:742:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
for (int i = 0; i < 1 << 16; ++i) {
^
regress_buffer.c:742:3: note: use option -std=c99 or -std=gnu99 to compile your code
regress_buffer.c:787:23: error: conflicting types for ‘bufread’
for (int n = toread, bufread = toread;
^
regress_buffer.c:717:51: note: previous definition of ‘bufread’ was here
size_t datalen = strlen(data), toread = datalen, bufread = 0;
^
regress_buffer.c:787:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for (int n = toread, bufread = toread;
^
[1]: https://travis-ci.org/azat/libevent/jobs/445501665
|
|
6762a4d6
|
2016-07-08T09:43:39
|
|
Check for Mac OS X 10.4 kqueue bug properly
[ Upstream commit df6f99e5 ]
[ Fixes: #377 ]
EV_ERROR is a bit in struct kevent::flags. Other bits may be set too.
Actually we have osx builds on travis-ci, but it uses osx 10.9.5, and we don't
have warnings there, since I guess that there is no OR'ing with previous flag
in case of error, while in 10.12 there is OR.
Fixes: #377
Fixes: #376
Link: https://crbug.com/626534
Link: https://travis-ci.org/libevent/libevent/jobs/141033429
|
|
b2beaad6
|
2018-10-24T01:18:41
|
|
Skip all dns tests that hit the network
But since this version of tinytest do not have TT_OFF_BY_DEFAULT use
TT_SKIP instead.
[ Upstream commit f2cea873bb8c4e1e89cc282470a11556e4bd9730 ]
|
|
9e6f6503
|
2018-10-21T18:31:01
|
|
Simplify bufferevent timeout tests to reduce CPU usage in between start/compare
[ Upstream commit 6ac8e775 ]
[ Fixes: #262 ]
Between start (setting "started_at") and comparing the time when
timeouts triggered with the start (test_timeval_diff_eq), there is too
much various things that can introduce extra delays and eventually could
fail the test on machine with shortage of CPU.
And this is exactly what happend on:
- travis-ci
- #262
Here is a simple reproducer that I came up with for this issue:
docker run --cpus=0.01 -e LD_LIBRARY_PATH=$PWD/lib -e PATH=/usr/bin:/bin:$PWD/bin -v $PWD:$PWD --rm -it debian:testing regress --no-fork --verbose bufferevent/bufferevent_timeout
Under limited CPU (see reproducer) the test almost always has problems
with that "write_timeout_at" exceed default timeval diff tolerance
(test_timeval_diff_eq() has 50 tolerance), i.e.:
FAIL ../test/regress_bufferevent.c:1040: assert(labs(timeval_msec_diff(((&started_at)), ((&res1.write_timeout_at))) - (100)) <= 50): 101 vs 50
But under some setup write timeout can even not triggered, and the
reason for this is that we write to the bufferevent 1024*1024 bytes, and
hence if evbuffer_write_iovec() will has some delay after writev() and
not send more then one vector at a time [1], it is pretty simple to
trigger, i.e.:
FAIL ../test/regress_bufferevent.c:1040: assert(labs(timeval_msec_diff(((&started_at)), ((&res1.write_timeout_at))) - (100)) <= 50): 1540155888478 vs 50
[1]: https://gist.github.com/azat/b72773dfe7549fed865d439e03de05c1
So this patch just send static small payload for all cases (plus a few
more asserts added).
The outcome of this patch is that all regression tests passed on
travis-ci for linux box [2]. While before it fails almost always [3].
Also reproducer with CPU limiting via docker also survive some
iterations (and strictly speaking it should has less CPU then travis-ci
workers I guess).
[2]: https://travis-ci.org/azat/libevent/builds/444391481
[3]: https://travis-ci.org/libevent/libevent/builds/444336505
|
|
90ae4c50
|
2017-12-18T02:27:50
|
|
Merge branch 'evbuffer_add_file-2.0-fixes' into patches-2.0
Bunch of fixes for evbuffer_add_file().
* evbuffer_add_file-2.0-fixes:
Cover evbuffer_add_file() with offset
evbuffer_add_file: do not use evbuffer_remove(), instead calc offset for mmap()
evbuffer_add_file: munmap() correct size on mmap() failure
evbuffer_add_file: fix endless loop when file does not have such amount of data
Fixes: #306
|
|
dd3e841c
|
2017-12-18T01:02:25
|
|
Cover evbuffer_add_file() with offset
|
|
2653be97
|
2017-12-18T02:02:15
|
|
evbuffer_add_file: do not use evbuffer_remove(), instead calc offset for mmap()
@ellzey:
"when evbuffer_add_file is called and mmap is used, if the offset
argument is >0, a mistake happens: add_file removes "offset" byts
from the front of the evbuffer.
So that means any data that was previously on the buffer is trimmed
off by "offset" bytes. Whoops."
And even more when offset>0, evbuffer_add_file() still maps whole file,
let's calc appropriate offset and length.
And here is the wrong fix:
https://github.com/libevent/libevent/commit/afca576a052fb8c83e771435169615fce5c56686
|
|
765c35d4
|
2017-12-18T01:34:46
|
|
evbuffer_add_file: munmap() correct size on mmap() failure
|
|
226b9278
|
2017-12-18T01:29:28
|
|
evbuffer_add_file: fix endless loop when file does not have such amount of data
|
|
7dedc077
|
2016-06-28T11:11:51
|
|
Backport for #340 (fix overflow check in expand_singlechain()
Refs: #306
Fixes: #340
Fixes: 20d6d44
|
|
9b2a6709
|
2016-05-02T12:37:19
|
|
Ignore all pkgconfig generated stuff
|
|
a5b4b7a1
|
2016-04-24T10:56:39
|
|
libevent_core and libevent_extra also deserve a pkgconfig file
|
|
f4b28a6c
|
2016-03-29T19:18:32
|
|
Merge remote-tracking branch 'origin/pr/338' into patches-2.0
* origin/pr/338:
evbuffer_add: Use last_with_datap if set, not last.
Use the free-trailing-chains function in evbuffer_insert_chain too
test/regress: add tests for evbuffer_add() breakage on empty last chain
Fixes: #335
|
|
b00db82a
|
2016-03-26T20:11:43
|
|
evbuffer_add: Use last_with_datap if set, not last.
evbuffer_add() would always put data in the last chain, even if there
was available space in a previous chain, and in doing so it also
failed to update last_with_datap, causing subsequent calls to other
functions that do look at last_with_datap to add data in the middle
of the evbuffer instead of at the end.
Fixes the evbuffer_add() part of issue #335, and the evbuffer/add2 and
evbuffer/add3 tests, and also prevents wasting space available in the
chain pointed to by last_with_datap.
|
|
0e894fb7
|
2011-11-02T22:50:47
|
|
Use the free-trailing-chains function in evbuffer_insert_chain too
|
|
0091da36
|
2016-03-26T14:14:44
|
|
test/regress: add tests for evbuffer_add() breakage on empty last chain
The evbuffer/add* tests currenly break on 2.0.21, 2.0.22 and 2.1 HEAD
due to issue #335. The evbuffer/reference2 test breaks on 2.0.21 and
2.0.22 due to commit b18c04dd not being applied.
|
|
a4a7c1ae
|
2015-10-08T11:50:53
|
|
Merge branch 'fix-http-for-ipv6-backport-for-2.0' into patches-2.0
This patchset is just a backport from upstream (with minor fixes to function
names in tests) of 2ecd894725e167dcc1f22f9292f98e41299df6cc ("Merge pull
request #39 from azat/fix-http-for-ipv6")
* fix-http-for-ipv6-backport-for-2.0:
Add regress test ipv6_for_domain.
Fix ipv6 support for http. When URL contain domain, not IP address.
Fixes #287
|
|
066a4f6f
|
2013-01-27T02:17:02
|
|
Add regress test ipv6_for_domain.
Written for commit 71e709c7829275a594f767b27468b1b52e8b5bb9.
Fix ipv6 support for http. When URL contain domain, not IP address.
backporting to 2.0: fix conflicts with the name of the main function --
_http_connection_test().
|
|
502c043a
|
2013-01-23T02:45:32
|
|
Fix ipv6 support for http. When URL contain domain, not IP address.
Before this patch socket created before domain was resolved, and it
always create with AF_INET (ipv4), but we must create socket only after
domain was resolved to understad which protocol family have domain
address.
Thank to Patrick Pelletier, who found this bug.
|
|
571dbac8
|
2015-04-27T22:59:42
|
|
Fix potential fd leak in listener_read_cb()
As pointed out by harlan_ in #libevent after running a coverity sweep.
If the listener is free'd, 'new_fd' is never closed.
|
|
c51b159c
|
2015-01-05T10:17:40
|
|
Update changelog
|
|
1cd9c905
|
2015-01-05T09:31:12
|
|
Update changelog.
|
|
489b0713
|
2015-01-05T09:30:02
|
|
Merge branch '20_cve_2014_6272_v2' into patches-2.0
|
|
079e6ddc
|
2015-01-05T09:18:59
|
|
Increment version to 2.0.22-stable
|
|
9b855a09
|
2015-01-05T08:46:22
|
|
Update changelog for 2.0
|
|
20d6d445
|
2015-01-05T08:42:32
|
|
Fix CVE-2014-6272 in Libevent 2.0
For this fix, we need to make sure that passing too-large inputs to
the evbuffer functions can't make us do bad things with the heap.
Also, lower the maximum chunk size to the lower of off_t, size_t maximum.
This is necessary since otherwise we could get into an infinite loop
if we make a chunk that 'misalign' cannot index into.
|
|
fb7e76ae
|
2014-11-30T11:05:40
|
|
Fix evbuffer_peek() with len==-1 and start_at non-NULL.
|
|
1da2f42b
|
2014-11-30T21:02:25
|
|
Merge branch 'patches-2.0' of github.com:libevent/libevent into patches-2.0
|
|
5ae52872
|
2014-11-30T19:38:23
|
|
Work on the changelog for 2.0.22
|
|
3c7d6fca
|
2014-09-22T12:19:37
|
|
Fix race caused by event_active
There is a race between manual event_active and natural event activation. If both happen at the same time on the same FD, they would both be protected by the same event base lock except for 1 LoC where the fields of struct event are read without any kind of lock. This commit does those reads into local variables inside the lock and then invokes the callback with those local arguments outside the lock. In 2.0-stable, none of this is inside the lock; in HEAD, only the callback is read inside the lock. This gets the callback and all 3 arguments inside the lock before calling it outside the lock.
|
|
be1aeff2
|
2014-10-09T10:14:12
|
|
Fix a typo in a doxygen comment. Reported by 亦得.
|
|
b34e4ac3
|
2014-09-12T14:19:14
|
|
[Bugfix] fix bufferevent setwatermark suspend_read
|
|
79800df7
|
2014-03-25T13:35:13
|
|
regress_buffer: fix 'memcmp' compare size
|
|
60f8f729
|
2014-08-29T14:59:17
|
|
Consistently check for failure from evbuffer_pullup()
Closes issue #148.
|
|
6466e88a
|
2014-08-29T14:31:07
|
|
Use FindClose for handle from FindFirstFile in http-server.c
Noted by Miles Chan as issue #145
|
|
1a8295a3
|
2014-08-13T23:17:52
|
|
Add a few files created by "make verify" to .gitignore.
|
|
e8fe749d
|
2014-03-21T14:08:17
|
|
Fix a crash in evdns related to shutting down evdns
(Improved version to deal correctly with probe requests)
Patch from YASUOKA Masahiko; fix for libevent github issue #113.
|
|
9f39c887
|
2014-03-21T14:08:17
|
|
Fix a crash in evdns related to shutting down evdns
Patch from YASUOKA Masahiko; fix for libevent github issue #113.
|
|
b56611d7
|
2014-02-19T06:49:31
|
|
Add -Qunused-arguments for clang on macos
The clang compiler provided with macosx emits warnings like:
CC bufferevent.lo
clang: warning: argument unused during compilation: '-I .'
clang: warning: argument unused during compilation: '-I ./compat'
clang: warning: argument unused during compilation: '-I ./include'
clang: warning: argument unused during compilation: '-I ./include'
for each file being compiled. This generates a lot of noise during
compilation making it hard to see "real" errors. This patch mute
those warnings.
|
|
f2428a28
|
2014-02-09T13:29:26
|
|
bufferevent_pair: don't call downcast(NULL)
|
|
dfe1e526
|
2014-01-22T11:17:35
|
|
Check does arch have the epoll_create and __NR_epoll_wait syscalls.
Some architectures (like AArch64) do not have deprecated syscalls.
Signed-off-by: Marcin Juszkiewicz <mjuszkiewicz@redhat.com>
|
|
eaa79cd4
|
2013-12-20T13:37:04
|
|
Merge remote-tracking branch 'sourceforge/patches-2.0' into patches-2.0
Conflicts:
include/event2/event.h
|
|
8cd695bf
|
2013-12-20T13:31:29
|
|
Typo fixes from Linus Nordberg
|
|
cec62cb8
|
2013-12-20T13:31:29
|
|
Typo fixes from Linus Nordberg
|
|
031a8030
|
2013-12-16T12:02:21
|
|
Clarify event_base_loop exit conditions
|
|
f9284c3e
|
2013-12-05T17:14:05
|
|
update the 2.0 changelog
|
|
3b77d628
|
2013-11-01T14:20:25
|
|
Avoid redundant invocations of init_extension_functions for IOCP
|
|
e64a2b0b
|
2013-09-19T10:48:09
|
|
Fix another arc4random_buf-related warning
|
|
5cb3865a
|
2013-09-19T10:43:54
|
|
Fix a compiler warning when checking for arc4random_buf linker breakage.
Patch by Ralph Castain.
|
|
5eb17885
|
2013-09-03T14:46:47
|
|
Avoid racy bufferevent activation
The evhttp_send_reply method invokes evhttp_write_buffer with a
callback that may release the underlying request object and
bufferevent upon completion. This cleanup callback is invoked by the
underlying bufferevent's write callback. Improperly enabling write
events before referencing the bufferevent could lead to use after free
and memory corruption.
|
|
c83efb80
|
2013-08-19T10:02:55
|
|
Merge remote-tracking branch 'public/20_memclear' into patches-2.0
|
|
f5ced88c
|
2013-08-19T09:52:29
|
|
Really remove RNG seeds from the stack
|
|
bb524712
|
2013-08-13T11:12:25
|
|
Oops; revert testing code
|
|
9695e9c1
|
2013-08-13T10:59:27
|
|
Avoid other RNG initialization FS reads when urandom file is specified
|
|
d44f91ad
|
2013-08-13T10:59:20
|
|
Finish a sentence
|
|
2bbb5d76
|
2013-08-06T17:06:23
|
|
Add evutil_secure_rng_set_urandom_device_file
This experimental function is needed for some seccomp2 hackery to
work, and should have no effect for systems that don't use it.
|
|
b8f59807
|
2013-07-20T14:02:49
|
|
libevent/win32_dealloc() : fix sizeof(pointer) vs sizeof(*pointer)
|
|
387e6b90
|
2013-06-10T15:16:13
|
|
Merge remote-tracking branch 'public/pr/79' into patches-2.0
|
|
6e496961
|
2013-06-10T10:38:12
|
|
Document that arc4random is not a great cryptographic PRNG.
|
|
e35b5408
|
2013-06-10T10:33:56
|
|
When we seed from /proc/sys/kernel/random/uuid, count it as success
Found by Joseph Spadavecchia
|
|
363388a0
|
2013-05-29T14:19:14
|
|
restore the comment
|
|
f8d7df85
|
2013-05-11T03:53:11
|
|
Fix SEGFAULT after evdns_base_resume if no nameservers installed.
If there is no nameservers installed, using
evdns_base_nameserver_ip_add(), than evdns_base_resume() will SEGFAULT,
because of NULL dereference in evdns_requests_pump_waiting_queue()
Conflicts:
evdns.c
|
|
e826f19e
|
2013-05-29T13:30:56
|
|
Use windows vsnprintf fixup logic on all windows environments
Previously I'd relied on mingw to provide a vsnprintf with a
conformant return value. But it appears that some mingw
environments don't do that.
|
|
5c710c03
|
2013-05-06T18:15:03
|
|
Checking request nameserver for NULL, before using it.
|
|
959c1428
|
2013-04-30T11:42:53
|
|
Start a changelog for Libevent 2.0.22-stable
|
|
66dacfa2
|
2013-04-25T13:43:49
|
|
Merge remote-tracking branch 'origin/pr/36' into patches-2.0
|
|
773b0a5d
|
2013-03-25T21:12:49
|
|
Fix a typo in a comment in buffer.h. Spotted by Alt_F4
|
|
b6182042
|
2013-02-14T09:54:56
|
|
fix #73 and fix http_connection_fail_test to catch it
|
|
a55514ee
|
2013-02-08T22:08:18
|
|
Avoid using top_srcdir in TESTS-new automakes do not like this
|
|
0c79787a
|
2013-02-08T22:07:43
|
|
Rename configure.in to configure.ac to appease newer autoconfs
|
|
817ea369
|
2013-02-08T13:03:29
|
|
Use AC_CONFIG_HEADERS in place of AM_CONFIG_HEADERS for autmake 1.13 compat
Patch from cazfi.
|
|
0a5eb2eb
|
2013-02-05T15:07:32
|
|
Fix a locking error in bufferevent_socket_get_dns_error.
Patch from Ka-Hing Cheung.
|
|
c322c207
|
2013-01-22T16:59:07
|
|
Fix a mistake in evbuffer_remove() arguments in example http server code
(commit message by nickm)
|
|
74d4c44c
|
2011-01-03T15:09:21
|
|
Backport libevent to vanilla Autoconf 2.59 (as used in RHEL5)
This is a backport of ad03952.
|
|
9ab2b3f7
|
2013-01-15T12:52:08
|
|
Fix missing AC_PROG_SED on older Autoconfs
For pre-2.59b Autoconfs, AC_PROG_SED is not available [1]; on such
systems, avoid calling AC_PROG_SED, while providing a sensible SED.
This aids backporting to Autoconf 2.59.
[1] http://lists.gnu.org/archive/html/autotools-announce/2004-08/msg00002.html
|
|
0a822a64
|
2012-12-20T11:48:05
|
|
Avoid double-close on getsockname error in evutil_ersatz_socketpair
Found by coverity; CID 739726
|
|
69db2610
|
2012-12-20T11:47:09
|
|
Avoid leaking fds on evconnlistener with no callback set
There's no way to retrieve an fd from an evconnlistener whose
callback has been cleared, so we had better close any such fd.
Found by coverity; CID 739725.
|
|
7e45739e
|
2012-12-04T12:01:25
|
|
Fix compilation with WIN32_HAVE_CONDITION_VARIABLES enabled
Reported by Xiuqiang Jiang
|
|
f7d92c63
|
2012-11-19T10:56:16
|
|
Increment version to 2.0.21-stable-dev
|
|
64177777
|
2012-11-18T01:39:10
|
|
Increment libtool version for 2.0.21 too
|
|
0ee10fdf
|
2012-11-18T01:38:07
|
|
Increment version to 2.0.21-stable
|
|
1c5517c9
|
2012-11-18T01:36:33
|
|
Changelog for 2.0.21-stable
|
|
f38e0788
|
2012-11-18T01:36:03
|
|
Make ssl version check in unit tests work
|
|
e3cccf38
|
2012-11-16T11:55:27
|
|
Avoid crash when event_pending() called with no event_base set on event
Instead, give a warning and return 0.
Reported by Antony Dovgal on github as
https://github.com/libevent/libevent/issues/19
|
|
ac356502
|
2012-11-07T19:48:22
|
|
remove stray 'x' so print_err will compile when uncommented
|
|
f3009e48
|
2012-11-16T10:28:19
|
|
Make rpcgen_wrapper.sh work on systems without a "python2" binary
|