Log

Author Commit Date CI Message
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 ]
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
Nick Mathewson b52e95f5 2014-03-12T18:13:19 Skip http/ipv6_for_domain test when we have no ipv6 support [ Upstream commit 21477e40 ]
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
Nick Mathewson ac009f92 2012-11-15T11:43:20 Warn when openssl version in unit test mismatches compiled version.
Nick Mathewson c2f30863 2012-11-15T11:42:14 Fix renegotiation test to work around openssl 1.0.1 bug There's a bug in openssl 1.0.1 where TLS1.1 and TLS1.2 can't renegotiate with themselves. When testing renegotiation with OpenSSL >=1.0.1 and <1.0.1d, disable those protocols.
Nick Mathewson 62bd2c44 2012-11-02T11:44:29 Fix compilation on mingw64 with -DUSE_DEBUG
Nick Mathewson 94866c27 2012-11-01T17:38:34 Compile without warnings on mingw64 This is mostly a matter of catching cases where we were still assuming that evutil_socket_t could be used as an int.
Nick Mathewson 2479d964 2012-10-26T19:36:44 Merge remote-tracking branch 'rosslagerwall/python2-2.0' into patches-2.0
Juan Pablo Fernandez cb853ea3 2012-10-26T19:33:31 Close IOCP listener socket on free when LEV_OPT_CLOSE_ON_FREE is set
Nick Mathewson 1ff2c249 2012-10-24T22:48:59 Merge remote-tracking branch 'public/20_bev_timeout_semantics' into patches-2.0
Ross Lagerwall 0eb01099 2012-10-23T13:30:58 Use python2 rather than python python may refer to either python2 or python3 so rather by explicit by using python2. See PEP 394 - http://www.python.org/dev/peps/pep-0394/ for more details.
Joachim Bauch 1acf2ebc 2012-09-06T10:01:10 No need to reserve space if reading is suspended. Conflicts: bufferevent_openssl.c
Joachim Bauch f719b8a9 2012-09-03T21:42:15 Stop looping in "consider_reading" if reading is suspended.
George Danchev f2bff75e 2012-09-12T20:12:03 FIx another memleak on OOM in evdns