Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 65bc91c2 | 2012-02-17 10:42:56 | Fix an "unused return value" warning on write() in signal handler | ||
| 819e98ac | 2012-02-16 01:21:42 | Start work on a 2.1 changelog and whats-new | ||
| a270728e | 2012-02-15 21:27:52 | Add another caveat to the TCP_DEFER_ACCEPT documentation | ||
| 5880e4a1 | 2012-02-14 18:04:52 | Support TCP_DEFER_ACCEPT sockopts for listeners A listening socket can be enabled with the sockopt TCP_DEFER_ACCEPT. This informs the kernel to not call the user-land accept() until real data has been written to the socket. A new flag LEV_OPT_DEFERRED_ACCEPT has been introduced to automatically set this option. Optionally evutil_make_tcp_listen_socket_deferred() can be called manually. (Tweaked slightly by nickm.) | ||
| a220a081 | 2012-02-15 21:07:44 | Merge remote-tracking branch 'github/21_fast_syscalls' | ||
| a63ed161 | 2012-02-15 20:26:52 | Merge remote-tracking branch 'origin/patches-2.0' | ||
| bec50680 | 2012-02-15 20: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. | ||
| a37cbfda | 2012-02-14 15:44:03 | Merge remote-tracking branch 'origin/patches-2.0' Conflicts: configure.in | ||
| 2d67b638 | 2012-02-14 15:37:58 | Changed OPENSSL_LDFLAGS to OPENSSL_LIBADD | ||
| 92781968 | 2012-02-14 15: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). | ||
| 2ed44302 | 2012-02-14 11:48:55 | If open(O_CLOEXEC) fails, fall back to fcntl(CLOEXEC) This is needed for folks who build with recent Linux kernel headers but run with older kernels. | ||
| f088d0c5 | 2012-02-13 18:34:00 | Fix up usage of reserved identifiers in ht-internal.h | ||
| 4900c5f9 | 2012-02-13 18:04:05 | Port changes from Tor for ht-internal.h | ||
| 46e5bb7b | 2012-02-13 17:59:14 | Invert the sense and the name of HT_CACHE_HASH_VALUES This is meant to make it easier to merge ht-internal.h back upstream into Tor. | ||
| 6c81be74 | 2012-02-13 17:49:17 | Synchronize with upstream tinytest | ||
| a9dc063c | 2012-02-13 17:30:46 | Merge in a punctuation fix from upstream tinytest | ||
| bbea8d6b | 2012-02-13 12:19:08 | Move libevent 1.x headers to include/, to put all public headers in one place. | ||
| 27931976 | 2012-02-11 21:20:47 | Merge remote-tracking branch 'origin/patches-2.0' | ||
| 03dce42d | 2012-02-11 21: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-11 17: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. | ||
| a6503944 | 2012-02-11 12:04:15 | Add a bufferevent_getcb() to find a bufferevent's current callbacks | ||
| bf2c5a77 | 2012-02-10 23:56:49 | Also make win32select.c conditional for IDE users | ||
| 87a7cded | 2012-02-10 23:52:27 | Merge branch 'ifdef' of git://github.com/rosslagerwall/libevent | ||
| de69eb7b | 2012-02-10 23:51:11 | Merge remote-tracking branch 'origin/patches-2.0' | ||
| 0c483170 | 2012-02-10 22:20:05 | Add an empty section to the changelog for 2.0.18-stable | ||
| c5b6e464 | 2012-02-10 22:18:19 | Merge remote-tracking branch 'origin/patches-2.0' | ||
| 5a807b7a | 2012-02-10 22:17:59 | Correct a name in the credits. oops | ||
| 8fd7a243 | 2012-02-10 22:16:46 | Merge remote-tracking branch 'origin/patches-2.0' | ||
| 2d7bf0f7 | 2012-02-10 22:16:14 | Bump version to 2.0.17-stable-dev | ||
| 2d915460 | 2012-02-10 18:50:17 | Merge remote-tracking branch 'origin/patches-2.0' | ||
| 83e58ccd | 2012-02-10 18:39:31 | Update the credits in the readme | ||
| 0cdbd642 | 2012-02-10 18:36:10 | Finalize the changelog | ||
| 2b0a2c45 | 2012-02-10 18:04:04 | Fix compilation on osx | ||
| 539466e5 | 2012-02-10 17:33:50 | Merge remote-tracking branch 'origin/patches-2.0' Conflicts: Makefile.am WIN32-Code/event2/event-config.h configure.in | ||
| e49e2891 | 2012-02-10 17:29:53 | Update copyright notices to 2012 | ||
| 8152b4c2 | 2012-02-10 16:49:05 | Bump version to 2.0.17-stable | ||
| bac906c7 | 2012-02-10 16:39:46 | Prefer epoll_create1 on Linuxen that have it | ||
| 33fca629 | 2012-02-10 16:33:25 | Save some syscalls when constructing a socket for a bufferevent | ||
| 713e570a | 2012-02-10 16:32:50 | Save some syscalls when creating evdns sockets | ||
| af6c9d8e | 2012-02-10 16:32:32 | Save syscalls when constructing listener sockets for evhttp | ||
| a35f396f | 2012-02-10 16:25:53 | Use pipes for telling signals to main thread when possible | ||
| ca76cd93 | 2012-02-10 16:15:10 | Use a wrapper function to create the notification pipe/socketpair/eventfd | ||
| 4970329a | 2012-02-10 16:14:09 | The LEV_OPT_CLOSE_ON_EXEC flag now applies to accepted listener sockets too | ||
| 7e9e2893 | 2012-02-10 16:13:30 | Minimize syscalls during socket creation in listener.c | ||
| a1c042bf | 2012-02-10 15:55:15 | Infrastructure for using faster/fewer syscalls when creating sockets Linux provides some features that allow avoiding extra calls to fcntl when creating new nonblocking/close-on-exec sockets, so we can add wrapper functions to emulate those when they are not available. Additionally, even when we are emulating those functions, we can take a fast path that cuts our fcntl calls in half: we don't need to look up the previous value of a file's flags when we have just created it. | ||
| e465623a | 2012-02-10 12:05:39 | Merge remote-tracking branch 'origin/patches-2.0' | ||
| 5d7bfa15 | 2012-02-10 11: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. | ||
| df19ba6a | 2012-02-09 15:16:02 | Merge remote-tracking branch 'origin/patches-2.0' | ||
| 19715a60 | 2012-02-09 15: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 | ||
| 76d4c929 | 2012-02-08 18:46:00 | Put #ifdef around some files to support alternate build systems. | ||
| 6f6cebe3 | 2012-02-06 21:18:25 | Bring the changelog up to date | ||
| c00416f7 | 2012-02-06 12:39:09 | Merge remote-tracking branch 'origin/patches-2.0' | ||
| 5b4b8126 | 2012-02-06 12: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. | ||
| 4dee4cc7 | 2012-02-02 11:45:23 | Replace more C99/C++ comments with oldschool /* */ comments | ||
| 7c46d4aa | 2012-02-02 11:41:37 | Merge remote-tracking branch 'origin/patches-2.0' | ||
| d84d9170 | 2011-11-21 09:41:55 | Use C-style comments in C source files (for compatibility with compilers such as xlc on AIX). | ||
| 032aac15 | 2012-02-01 14:57:44 | Merge remote-tracking branch 'origin/patches-2.0' | ||
| d6094b16 | 2012-02-01 14:56:43 | evdns: fix a bug in circular-queue implementation found by Wang Qin | ||
| e4a56ed5 | 2012-01-31 18:58:59 | Fix a compile warning in event_reinit Introduced in 272033efe575a9dc7ec6f123a96afba5c69ff1c6 | ||
| 7622d265 | 2012-01-27 15:10:28 | Make test-changelist faster | ||
| 39b3f38d | 2012-01-27 14:39:18 | Check changelist as part of checking representational integrity | ||
| 2c4b5de1 | 2012-01-27 14:30:41 | Restore fast-path event_reinit() for slower backends We used to use the needs_reinit flag in struct eventop to indicate whether an event backend had shared state across a fork(), and therefore would require us to construct a new event backend. But when we realized that the signal notification fds and the thread notification fds would always be shared across forks, we stopped looking at it. This patch restores the old behavior so that poll, select, and win32select don't need to do a linear scan over all pending fds/signals when they do a reinit. Their life is hard enough already. | ||
| 272033ef | 2012-01-27 13:54:05 | Make event_reinit() more robust and maintainable Previously, event_reinit required a bunch of really dubious hacks, and violated a lot of abstraction barriers to mess around with lists of internal events and "pretend" to re-add them. The new (and fairly well commented!) implementation tries to be much smarter, by isolating the changes as much as possible to the backend state, and minimizing the amount of abstraction violations. Specifically, we now use event_del() to remove events we want to remove, rather than futzing around with queues in event_reinit(). To avoid bogus calls to evsel->del(), we temporarily replace evsel with a null-object stub. Also, we now push the responsibility for calling evsel->add() down into the evmap code, so that we don't actually need to unlink and re-link all of our events. | ||
| 4b7baec6 | 2012-01-26 16:56:33 | Merge remote-tracking branch 'origin/patches-2.0' | ||
| 9f9e259f | 2012-01-26 15: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. | ||
| 2c6b3246 | 2012-01-24 17:18:52 | Merge remote-tracking branch 'origin/patches-2.0' | ||
| c94a5f2a | 2012-01-24 17:15:50 | Do a memberwise comparison of threading function tables Doing a memcmp risks comparing uninitialized padding bytes at the end of the structure. | ||
| 95e2455c | 2012-01-24 16:08:00 | When including an -internal.h header outside the main tree, do so early Some of our unit tests and sample code need functions and structures defined in an -internal.h header. But that can freak out OpenSolaris, where stdio.h wants to define _FILE_OFFSET_BITS unless it's already defined, and then evconfig-internal.h defines it. Regular users should never ever use our -internal.h headers, so the solution is to make sure that if we're going to use them ourselves, we do so before system headers. | ||
| b9f7e5fd | 2012-01-24 15:58:11 | Allow more slop in deferred_cb_skew test; freebsd needs it | ||
| ea30a435 | 2012-01-24 15:30:51 | Merge remote-tracking branch 'origin/patches-2.0' | ||
| 3aa0e8a9 | 2012-01-24 15:30:31 | Remove a couple of now-unused variables | ||
| 438d4ff2 | 2012-01-24 15:29:39 | Make event_base integrity check work on windows | ||
| edc6d7d7 | 2012-01-24 15:09:04 | Start writing a changelog for 2.0.17-stable | ||
| b77b43fc | 2012-01-24 14:59:37 | Use test_timeval_diff_eq more consistently | ||
| 67a1763b | 2012-01-24 14:33:10 | Make regression tests run over 3x faster. This was mainly a matter of reducing timeouts and delays, paying special attention to every test that took longer than a second to finish. We could do better here; IMO anything over .7 sec is probably too long, but it's a big win as it is. Remember, interactive computing is a big win over batch processing: anything that makes you get up and walk away from the terminal might as well be making you carry your punch cards over to the mainframe. | ||
| 350a3c40 | 2012-01-24 14:34:04 | New evhttp function to adjust initial retry timeout | ||
| ab14f7c1 | 2012-01-24 11:45:00 | Reduce the timeout in the main/fork test. There was no reason for it to be so long, except for the lack of a usleep | ||
| f25d9d32 | 2012-01-24 11:42:26 | Add an (internal) usleep function for use by unit tests | ||
| 18653fca | 2012-01-24 11:17:06 | Merge remote-tracking branch 'origin/patches-2.0' | ||
| 5408ff3b | 2012-01-24 11:16:26 | Oops:remove an accidentally committed "sleep(1)" in a unit test | ||
| 10996a1a | 2012-01-24 11:04:56 | Merge remote-tracking branch 'origin/patches-2.0' | ||
| dab91877 | 2012-01-24 11:04:19 | Workaround in the unit tests for an apparent epoll bug in Linux 3.2 | ||
| fe0afabb | 2012-01-24 10:29:31 | Merge remote-tracking branch 'origin/patches-2.0' Conflicts: event.c Edits required in: evmap.c | ||
| 3f18ad1b | 2012-01-23 18:15:44 | Fix a fd leak in event_reinit() We were supposed to be closing the ev_signal_pair sockets. | ||
| 6e41cdc1 | 2012-01-23 17: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-23 17:43:35 | Check event_base correctness at end of each unit test | ||
| 40a3c52d | 2012-01-22 22:27:16 | Fix compilation of windows evutil_check_ifaddrs | ||
| 27737d55 | 2012-01-21 12:55:15 | Add function to check referential integrity of an event_base | ||
| 5683e2b1 | 2012-01-20 16:31:20 | Merge remote-tracking branch 'github/linked_list' Conflicts: include/event2/event_struct.h | ||
| 677f23cc | 2012-01-20 11:40:39 | Merge remote-tracking branch 'origin/patches-2.0' | ||
| 790f6b3b | 2012-01-10 18:33:58 | Force strict validation of HTTP version in response. This sometimes accepted invalid versions like 'ICY' (n = 0, major = undefined, sometimes > 1). | ||
| a86a0c04 | 2012-01-16 14:47:05 | Merge remote-tracking branch 'origin/patches-2.0' | ||
| 7206e8cd | 2012-01-16 14:45:31 | Suppress a gcc warning from ignoring fwrite return in http-sample.c Found by Steve Snyder | ||
| 26e85fcc | 2012-01-09 16:54:19 | Merge remote-tracking branch 'origin/patches-2.0' | ||
| cba48c7d | 2012-01-09 16: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. | ||
| d5a3fe5f | 2012-01-09 12:00:04 | Merge remote-tracking branch 'origin/patches-2.0' | ||
| ecfc720a | 2012-01-09 11: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-09 11: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. | ||
| 0586c25e | 2011-12-14 16:28:18 | Merge remote-tracking branch 'origin/patches-2.0' | ||
| da70fa70 | 2011-12-14 16:17:19 | Backport evhttp_connection_get_bufferevent to Libevent 2.0 Backport by Arno Bakker; original implementation in 8d3a8500f4 |