Log

Author Commit Date CI Message
Joakim Soderberg f2483f8b 2013-12-17T15:17:29 Add a "make verify_coverage" target generation coverage info. Use lcov/gcov to gather coverage info for the tests (Only works with gcc/clang and make). cmake -DEVENT__COVERAGE=1 -DCMAKE_BUILD_TYPE=Debug .. make make verify_coverage Current coverage (run on debian): Line coverage 79.1 % 10231 / 12939 Function coverage 86.1 % 933 / 1083
Joakim Soderberg 0ef1d04e 2013-12-17T14:32:07 Get rid of unknown pragma warnings.
Joakim Soderberg 968e97bd 2013-12-17T14:31:22 Minimum required python version is 2.4. Got rid of TODO... The version you specify to find_package is the minimum version, so exactly what we want.
Joakim Soderberg 86df3eda 2013-12-17T14:07:14 Change the BSD license from 4 to 3-clause. This makes it GPL compatible. Changing the license from 4 to 3-clause BSD license is OK according to a Berkley announcement on July 22, 1999 by William Hoskins, the director of the fofice of technology licensing for Berkley: ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change
Joakim Söderberg 2799b359 2013-12-17T14:01:21 Added a test for testing if kqueue works with pipes.
Joakim Söderberg a831f2f7 2013-12-17T13:29:04 Fix kqueue support.
Joakim Söderberg 69c3516b 2013-12-17T13:28:23 Get rid of deprecation warnings for OpenSSL on OSX 10.7+
Joakim Soderberg 67e5d749 2013-12-16T18:10:32 Fix the make "verify" target on Windows. Windows does not have the "unset" command, but this doesn't matter since the problem that requires us to use unset doesn't happen on Windows. Also did some minor cosmetic changes, and dependcy changes.
Joakim Soderberg e053c4f0 2013-12-16T16:44:13 Added a "make verify" target. This is more than for cosmetic purposes to match how it's done with autoconf. Due to the fact that we use environment variables to turn off certain backends during the tests, simply running "ctest" or "make test" can result in failed tests. This is because if you do "EVENT_NOEPOLL=yes && export EVENT_NOEPOLL" and then run the tests, when running the epoll tests, the EPOLL backend will be turned off. There is no way of unsetting an environment variable for a test in CMake, you can only set them. And since libevent simply checks if the environment variable is set (it doesn't check the actual value of it), this won't work. So to remedy this, we create the "make verify" target that first unsets all the EVENT_NO* environment variables, and then runs ctest. Also bumped the required CMake version from 2.6 to 2.8, since the set_test_properties(bla PROPERTIES ENVIRONMENT "SOME_VAR") requires 2.8 Added some explicit dependencies for the test programs to libevent, so they don't just fail if you try to run the tests without first doing "make"
Joakim Soderberg 7ea4159d 2013-12-16T16:37:51 Only test the event backends available on the system. Fix how the CMake project adds the tests using the different backends. At first we tried to do it exactly as it's done in test/test.sh. However, test.sh uses a special program test-init to decide if a given backend is available or not before running the actual tests. Doing it this way will not be possible using CMake. Since then we would have to have the test-init executable compiled at the time we run CMake, to know what tests we should add. (And since CMake generates the make/project files that compiles the executables, there's a catch 22). Instead of deciding what tests to run this way, we simply use the result of the CMake system introspection (that figures out what backends are available) to decide what backend tests to add.
Joakim Soderberg 8f2af50f 2013-12-16T13:45:45 Don't segfault on no found event backend.
Joakim Soderberg 78da644f 2013-12-16T11:35:31 Fix bench_cascade program on Windows.
Joakim Soderberg 9bbce0b6 2013-12-16T11:34:14 Only include WIN32 getopt where it is used. getopt is only used in the benchmark tests, don't include it in the core lib...
Joakim Soderberg c259d53c 2013-12-16T11:27:13 Add copyright and licensing files for CMake modules.
Joakim Soderberg dbf2b517 2013-12-16T11:26:29 Use evutil_closesocket instead.
Joakim Soderberg 19222e52 2013-12-13T17:00:23 Added some GCC specific options. - Added sample applications. - Fixed the https-client to work on Windows kind of (No cert validation).
Joakim Soderberg 58fcd428 2013-12-13T12:39:50 Link libm on unix platforms.
Joakim Soderberg ce14defe 2013-12-13T11:34:22 Generate a dummy evconfig-private.h so things build properly. Windows used to have an empty file for this before.
Joakim Soderberg 99c1dc32 2013-12-12T18:21:11 More work on adding tests to CMake project
Joakim Soderberg e9fc014c 2013-12-12T16:33:20 Add all tests and benchmarks to CMake project. Also fixed some minor issues with what's built.
Joakim Soderberg e415196a 2013-12-09T18:05:32 Initial CMake commit.
Joakim Soderberg 3d105414 2013-12-09T16:58:16 Fix non-C89 variable declaration. Microsofts C compiler does not support the C99 standard, so variables has to be declared at the start of a scope.
Nick Mathewson 45eba6ff 2013-12-06T10:50:17 Rename flush_outdated_host_addresses to clear_host_addresses "flush" can imply writing something out to a file or connection before clearing it; "clear" always means "remove". It's also potentially misleading to say "outdated" here, since the function removes _all_ addresses regardless, not just certain outdated ones. Also, don't free the lock in this function. Also reindent the function.
Nick Mathewson aeb8d345 2013-12-06T10:37:53 Merge remote-tracking branch 'origin/pr/86'
Kuldeep Gupta f03d3535 2013-12-06T17:06:20 bug fix for issues #293 evdns_base_load_hosts doesn't remove outdated addresses As mentioned at https://sourceforge.net/p/levent/bugs/293/ created a small function "evdns_base_flush_outdated_host_addresses" which removes all the previous host addresses, if user wants to clean up the list of hosts can call and use this function. Defination of this function is part of another patch.
Kuldeep Gupta 954d2f94 2013-12-06T16:53:16 bug fix for issues #293 evdns_base_load_hosts doesn't remove outdated adresses As mentioned at https://sourceforge.net/p/levent/bugs/293/ created a small function "evdns_base_flush_outdated_host_addresses" which removes all the previous requests of hosts , if user wants to clean up the list of hosts can call and use this function. Requires function declaration to be added in include/event2/dns.h Adding it in another patch for the same bug.
Nick Mathewson c11e7d91 2013-12-05T17:25:56 start writing a changelog for 2.1.4-(beta?)
Nick Mathewson 735d838b 2013-12-05T17:14:54 Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson f9284c3e 2013-12-05T17:14:05 update the 2.0 changelog
Nick Mathewson ccf432b9 2013-11-21T11:47:34 Try another doxygen tweak
Nick Mathewson 6e67b510 2013-11-21T11:30:04 Small doxygen tweaks
Nick Mathewson a60632a1 2013-11-01T14:21:54 Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson 3b77d628 2013-11-01T14:20:25 Avoid redundant invocations of init_extension_functions for IOCP
Nick Mathewson 515ed879 2013-10-14T11:22:40 Merge branch 'pr_81'
Azat Khuzhin 4dd500cd 2013-10-01T19:54:09 regress_http: add tests for evhttp_connection_get_addr()
Azat Khuzhin 0c7f0405 2013-10-01T19:12:13 http: implement new evhttp_connection_get_addr() api. Basically tcp final handshake looks like this: (C - client, S - server) ACK[C] - FIN/ACK[S] - FIN/ACK[S] - ACK [C] However there are servers, that didn't close connection like this, while it is still _considered_ as valid, and using libevent http layer we can do requests to such servers. Modified handshake: (C - client, S - server) ACK[C] - RST/ACK[S] - RST/ACK[S] And in this case we can't extract IP address from socket, because it is already closed, and getpeername() will return: "transport endpoint is not connected". So we need to store address that we are connecting to, after we know it, and that is what this patch do. I have reproduced it, however it have some extra packages. (I will try to fix it) https://github.com/azat/nfq-examples/blob/master/nfqnl_rst_fin.c
Nick Mathewson 4464bd23 2013-10-10T16:10:50 Tweak indentation
Nick Mathewson 206124a2 2013-10-10T16:09:45 Merge remote-tracking branch 'origin/pr/79'
Nick Mathewson 97211377 2013-10-02T08:45:54 Merge pull request #80 from azat/tests-add-event-debug-logging-all regress_main: logging all if env EVENT_DEBUG_LOGGING_ALL isset
Azat Khuzhin 611e28b6 2013-10-01T19:54:57 regress_main: logging all if env EVENT_DEBUG_LOGGING_ALL isset
Nicolas Martyanoff 5a5acd9a 2013-09-28T20:03:28 add a http default content type option
Nick Mathewson a0931378 2013-09-19T10:48:27 Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson e64a2b0b 2013-09-19T10:48:09 Fix another arc4random_buf-related warning
Nick Mathewson ee063766 2013-09-19T10:45:58 Merge remote-tracking branch 'origin/patches-2.0' Conflicts: evutil_rand.c
Nick Mathewson 5cb3865a 2013-09-19T10:43:54 Fix a compiler warning when checking for arc4random_buf linker breakage. Patch by Ralph Castain.
Nick Mathewson 0a051ef9 2013-09-16T12:29:48 Merge remote-tracking branch 'rosslagerwall/tree-build'
Ross Lagerwall 243386cc 2013-09-15T21:48:15 rpcgen: Generate regress.gen.[c,h] in build rather than src dir Currently an out-of-tree build will either write to the src dir or reuse the existing regress.gen.[c,h]. But if building from a read-only git tree (or if the git dir is cleaned), these files will not exist and the build fails. So write the files to the build dir. If the system does not have python, the regress.gen.[c,h] will be used from the src dir if they exist.
Nick Mathewson b04d13cd 2013-09-09T12:06:53 Merge remote-tracking branch 'origin/patches-2.0'
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.
maksqwe ebfd8a89 2013-09-04T14:25:11 Fix reinit of fds with EV_WRITE but not EV_READ. Bugfix on 2.1.1-alpha.
Nick Mathewson 911abf3d 2013-08-19T10:11:21 Check CLOCK_MONOTONIC_* at runtime if needed. (We need this to avoid compile errors on cygwin. Fixes github issue 75.)
Nick Mathewson 3807a30b 2013-08-19T10:05:14 Merge remote-tracking branch 'origin/patches-2.0' Conflicts: util-internal.h
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 c149a1a5 2013-08-13T11:14:11 Merge remote-tracking branch 'origin/patches-2.0'
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
Azat Khuzhin 6171e1c2 2013-08-13T18:19:50 sample: drop uri_root from base_url in http-server. By default there is "0.0.0.0", and this address will work only from the same machine, and besides there is no need in uri_root in base_url, because it will be added automatically by browser.
Nick Mathewson 1c06985a 2013-08-06T20:00:53 Add an assertion for another of the complaints from coverity. See 1b065d07df196
Nick Mathewson e193c959 2013-08-06T19:42:20 test_evutil_rtrim: add another missing check.
Nick Mathewson 82b6956c 2013-08-06T19:39:35 Finalize tests: add a missing check
Nick Mathewson f314900d 2013-08-06T19:38:48 DNS tests: add a missing check
Nick Mathewson 87cd6f01 2013-08-06T19:35:56 Fix some crash-on-fail cases in DNS regression tests Found by coverity.
Nick Mathewson eba4506a 2013-08-06T19:33:45 Add missing check to test_evbuffer_file_segment_add_cleanup_cb
Nick Mathewson 77658846 2013-08-06T19:32:21 Fix a logic error in test_evbuffer_freeze
Nick Mathewson 1104d0be 2013-08-06T19:31:26 Fix a (failure-only) null dereference in the unit tests
Nick Mathewson 7080d55c 2013-08-06T19:28:53 Use void casts to suppress some "unchecked return value" warns
Nick Mathewson 44b2491b 2013-08-06T19:23:36 sample/le-proxy: Fail more gracefully if opening listener fails
Nick Mathewson f22049e3 2013-08-06T19:17:08 Fix an unlikely but possible error case for http connections Found by coverity
Nick Mathewson 69b5c647 2013-08-06T19:08:42 Move event_debug_note_teardown_ before mm_free. This isn't a bug, since only the pointer value of ev was used, but it's probably best not to tempt fate. Found by coverity.
Nick Mathewson 1b065d07 2013-08-06T19:06:58 Add some assertions to please coverity. In event_process_active_single_queue, EVLIST_INIT must be set on any event that uses one of the event-only closures, and so "ev" will be set in those cases. But coverity's worried here (CIDs numerous). So instead, just add the assertions that should make it happy.
Nick Mathewson 197abd8b 2013-08-06T17:51:21 Fix compilation
Nick Mathewson f391b003 2013-08-06T17:29:34 Merge remote-tracking branch 'origin/patches-2.0' Conflicts: arc4random.c
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.
Nick Mathewson e639a9e1 2013-08-01T10:40:08 Remove an unreachable return statement in minheap-internal.h Found by Brian Utterback; see http://bugs.ntp.org/show_bug.cgi?id=2446
Nick Mathewson d4095146 2013-07-31T22:23:16 Avoid leaking segment mappings when offset is not a page multiple Found by Bob / Black Hole on the mailing list.
Maxime Henrion fbc323b7 2013-07-31T15:02:07 Add checks for evhttp_connection_get_server() in unit tests. They validate that this function behave as expected; that is, it returns NULL for outgoing connections, and returns the HTTP server object that received the connection for incoming ones.
Maxime Henrion a7f82a31 2013-07-24T20:50:05 Add evhttp_connection_get_server().
Nick Mathewson 600c5865 2013-07-30T10:44:42 Merge remote-tracking branch 'ellzey/bev_ratelimit_get_token_cfg'
Nick Mathewson 25c350b2 2013-07-29T09:10:24 Add Maxime Henrion to README
Nick Mathewson 01a6ef78 2013-07-21T13:27:49 Merge remote-tracking branch 'origin/patches-2.0'
Frank Denis b8f59807 2013-07-20T14:02:49 libevent/win32_dealloc() : fix sizeof(pointer) vs sizeof(*pointer)
Mark Ellzey 1c77fbb0 2013-07-11T16:26:43 Pass and return const for bufferevent_get_token_bucket_cfg
Mark Ellzey 4b3d5af8 2013-07-11T12:31:39 Add function to fetch underlying ratelimit cfg bufferevent_get_token_bucket_cfg() will return the struct ev_token_bucket_cfg for a bufferevent if available.
Nick Mathewson c3260cb9 2013-07-11T06:57:16 Merge pull request #69 from makotokato/clang Don't use return since return type is void and build error occurs using ...
Makoto Kato 1ea1f26b 2013-07-10T11:02:43 We should return after arc4random_buf()
Makoto Kato 838161dc 2013-07-09T11:50:33 Don't use return since return type is void and build error occurs using clang
Mobai Zhang 0fa107d8 2013-07-02T16:01:02 Added event_base_get_num_events()
Nick Mathewson 90a8c539 2013-06-10T15:17:34 Merge remote-tracking branch 'origin/patches-2.0'
Nick Mathewson 387e6b90 2013-06-10T15:16:13 Merge remote-tracking branch 'public/pr/79' into patches-2.0
Nick Mathewson 36ab0721 2013-06-10T10:47:35 Merge branch '21_evdns_log_debug'
Nick Mathewson 0b05aa65 2013-06-10T10:47:28 Merge remote-tracking branch 'origin/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 e1766a1b 2013-05-29T16:26:50 Actually use the log facility for reporting evdns problems. Fixes issue #63. Also refactors the evdns logging and log backend a bit, so that it wastes a little less code.
Nick Mathewson c307a250 2013-05-29T13:32:47 Merge remote-tracking branch 'origin/patches-2.0'
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.