Log

Author Commit Date CI Message
Azat Khuzhin 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
Azat Khuzhin 9a88d75c 2019-01-20T19:55:59 Release notes for 2.0.23-beta [ Based on commit c87a0680 ]
Azat Khuzhin 2f656ffb 2019-01-20T22:40:57 test/buffer: write >GETPIPE_SZ via events over pair to avoid stall [ Upstream commit 0aad01436af27c5807d48701028020bb51cba387 ]
Azat Khuzhin 4300faad 2019-01-20T19:53:11 Update ACKNOWLEDGMENTS section for 2.0.23-beta
Isidor Kouvelas 70a39d45 2018-10-31T00:09:38 Cover ET with multiple events for same fd [ Upstream commit 77c0e510581b88242d7d7bcff4954cedc5613554 ] Refs: #636
Jesse Fang 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)
Azat Khuzhin d1487831 2018-10-30T23:59:24 Preserve ET bit for backends with changelist [ Upstream commit a1293bd2e626cba1f687cd0e50a219f8661775fc ] Fixes: #636
Isidor Kouvelas 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
Mike Frysinger 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.
Maxime Henrion 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.
Azat Khuzhin 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.
Nick Mathewson 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.
Nick Mathewson 33845824 2014-03-18T18:36:32 Correctly skip ipv6 http test on systems without ipv6 [ Upstream commit 6a1c4d50 ]
Nick Mathewson b52e95f5 2014-03-12T18:13:19 Skip http/ipv6_for_domain test when we have no ipv6 support [ Upstream commit 21477e40 ]
Azat Khuzhin 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
Mark Mentovai 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
Azat Khuzhin 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 ]
Azat Khuzhin 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
Azat Khuzhin 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
Azat Khuzhin dd3e841c 2017-12-18T01:02:25 Cover evbuffer_add_file() with offset
Azat Khuzhin 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
Azat Khuzhin 765c35d4 2017-12-18T01:34:46 evbuffer_add_file: munmap() correct size on mmap() failure
Azat Khuzhin 226b9278 2017-12-18T01:29:28 evbuffer_add_file: fix endless loop when file does not have such amount of data
Mark Ellzey 7dedc077 2016-06-28T11:11:51 Backport for #340 (fix overflow check in expand_singlechain() Refs: #306 Fixes: #340 Fixes: 20d6d44
Azat Khuzhin 9b2a6709 2016-05-02T12:37:19 Ignore all pkgconfig generated stuff
Jan Heylen a5b4b7a1 2016-04-24T10:56:39 libevent_core and libevent_extra also deserve a pkgconfig file
Azat Khuzhin 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
Marcus Sundberg 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.
Nick Mathewson 0e894fb7 2011-11-02T22:50:47 Use the free-trailing-chains function in evbuffer_insert_chain too
Marcus Sundberg 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.
Azat Khuzhin 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
Azat Khuzhin 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().
Azat Khuzhin 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.
Mark Ellzey 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.
Nick Mathewson c51b159c 2015-01-05T10:17:40 Update changelog
Nick Mathewson 1cd9c905 2015-01-05T09:31:12 Update changelog.
Nick Mathewson 489b0713 2015-01-05T09:30:02 Merge branch '20_cve_2014_6272_v2' into patches-2.0
Nick Mathewson 079e6ddc 2015-01-05T09:18:59 Increment version to 2.0.22-stable
Nick Mathewson 9b855a09 2015-01-05T08:46:22 Update changelog for 2.0
Nick Mathewson 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.
Nick Mathewson fb7e76ae 2014-11-30T11:05:40 Fix evbuffer_peek() with len==-1 and start_at non-NULL.
Nick Mathewson 1da2f42b 2014-11-30T21:02:25 Merge branch 'patches-2.0' of github.com:libevent/libevent into patches-2.0
Nick Mathewson 5ae52872 2014-11-30T19:38:23 Work on the changelog for 2.0.22
vjpai 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.
Nick Mathewson be1aeff2 2014-10-09T10:14:12 Fix a typo in a doxygen comment. Reported by 亦得.
ufo2243 b34e4ac3 2014-09-12T14:19:14 [Bugfix] fix bufferevent setwatermark suspend_read
Maks Naumov 79800df7 2014-03-25T13:35:13 regress_buffer: fix 'memcmp' compare size
Nick Mathewson 60f8f729 2014-08-29T14:59:17 Consistently check for failure from evbuffer_pullup() Closes issue #148.
Nick Mathewson 6466e88a 2014-08-29T14:31:07 Use FindClose for handle from FindFirstFile in http-server.c Noted by Miles Chan as issue #145
Pierre Phaneuf 1a8295a3 2014-08-13T23:17:52 Add a few files created by "make verify" to .gitignore.
Nick Mathewson 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.
Nick Mathewson 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.
Trond Norbye 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.
Nick Mathewson f2428a28 2014-02-09T13:29:26 bufferevent_pair: don't call downcast(NULL)
Marcin Juszkiewicz 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>
Nick Mathewson eaa79cd4 2013-12-20T13:37:04 Merge remote-tracking branch 'sourceforge/patches-2.0' into patches-2.0 Conflicts: include/event2/event.h
Nick Mathewson 8cd695bf 2013-12-20T13:31:29 Typo fixes from Linus Nordberg
Nick Mathewson cec62cb8 2013-12-20T13:31:29 Typo fixes from Linus Nordberg
Nick Mathewson 031a8030 2013-12-16T12:02:21 Clarify event_base_loop exit conditions
Nick Mathewson f9284c3e 2013-12-05T17:14:05 update the 2.0 changelog
Nick Mathewson 3b77d628 2013-11-01T14:20:25 Avoid redundant invocations of init_extension_functions for IOCP
Nick Mathewson e64a2b0b 2013-09-19T10:48:09 Fix another arc4random_buf-related warning
Nick Mathewson 5cb3865a 2013-09-19T10:43:54 Fix a compiler warning when checking for arc4random_buf linker breakage. Patch by Ralph Castain.
Nate Rosenblum 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.
Nick Mathewson c83efb80 2013-08-19T10:02:55 Merge remote-tracking branch 'public/20_memclear' into patches-2.0
Nick Mathewson f5ced88c 2013-08-19T09:52:29 Really remove RNG seeds from the stack
Nick Mathewson bb524712 2013-08-13T11:12:25 Oops; revert testing code
Nick Mathewson 9695e9c1 2013-08-13T10:59:27 Avoid other RNG initialization FS reads when urandom file is specified
Nick Mathewson d44f91ad 2013-08-13T10:59:20 Finish a sentence
Nick Mathewson 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.
Frank Denis b8f59807 2013-07-20T14:02:49 libevent/win32_dealloc() : fix sizeof(pointer) vs sizeof(*pointer)
Nick Mathewson 387e6b90 2013-06-10T15:16:13 Merge remote-tracking branch 'public/pr/79' into patches-2.0
Nick Mathewson 6e496961 2013-06-10T10:38:12 Document that arc4random is not a great cryptographic PRNG.
Nick Mathewson e35b5408 2013-06-10T10:33:56 When we seed from /proc/sys/kernel/random/uuid, count it as success Found by Joseph Spadavecchia
Greg Hazel 363388a0 2013-05-29T14:19:14 restore the comment
Azat Khuzhin 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
Nick Mathewson 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.
Belobrov Andrey 5c710c03 2013-05-06T18:15:03 Checking request nameserver for NULL, before using it.
Nick Mathewson 959c1428 2013-04-30T11:42:53 Start a changelog for Libevent 2.0.22-stable
Nick Mathewson 66dacfa2 2013-04-25T13:43:49 Merge remote-tracking branch 'origin/pr/36' into patches-2.0
Nick Mathewson 773b0a5d 2013-03-25T21:12:49 Fix a typo in a comment in buffer.h. Spotted by Alt_F4
Greg Hazel b6182042 2013-02-14T09:54:56 fix #73 and fix http_connection_fail_test to catch it
Nick Mathewson a55514ee 2013-02-08T22:08:18 Avoid using top_srcdir in TESTS-new automakes do not like this
Nick Mathewson 0c79787a 2013-02-08T22:07:43 Rename configure.in to configure.ac to appease newer autoconfs
Nick Mathewson 817ea369 2013-02-08T13:03:29 Use AC_CONFIG_HEADERS in place of AM_CONFIG_HEADERS for autmake 1.13 compat Patch from cazfi.
Nick Mathewson 0a5eb2eb 2013-02-05T15:07:32 Fix a locking error in bufferevent_socket_get_dns_error. Patch from Ka-Hing Cheung.
Gyepi Sam c322c207 2013-01-22T16:59:07 Fix a mistake in evbuffer_remove() arguments in example http server code (commit message by nickm)
Kevin Bowling 74d4c44c 2011-01-03T15:09:21 Backport libevent to vanilla Autoconf 2.59 (as used in RHEL5) This is a backport of ad03952.
Tay Ray Chuan 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
Nick Mathewson 0a822a64 2012-12-20T11:48:05 Avoid double-close on getsockname error in evutil_ersatz_socketpair Found by coverity; CID 739726
Nick Mathewson 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.
Nick Mathewson 7e45739e 2012-12-04T12:01:25 Fix compilation with WIN32_HAVE_CONDITION_VARIABLES enabled Reported by Xiuqiang Jiang
Nick Mathewson f7d92c63 2012-11-19T10:56:16 Increment version to 2.0.21-stable-dev
Nick Mathewson 64177777 2012-11-18T01:39:10 Increment libtool version for 2.0.21 too
Nick Mathewson 0ee10fdf 2012-11-18T01:38:07 Increment version to 2.0.21-stable
Nick Mathewson 1c5517c9 2012-11-18T01:36:33 Changelog for 2.0.21-stable
Nick Mathewson f38e0788 2012-11-18T01:36:03 Make ssl version check in unit tests work
Nick Mathewson 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
Patrick Pelletier ac356502 2012-11-07T19:48:22 remove stray 'x' so print_err will compile when uncommented
Nick Mathewson f3009e48 2012-11-16T10:28:19 Make rpcgen_wrapper.sh work on systems without a "python2" binary