kc3-lang/libevent

Branch :


Log

Author Commit Date CI Message
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.
d84d9170 2011-11-21 09:41:55 Use C-style comments in C source files (for compatibility with compilers such as xlc on AIX).
d6094b16 2012-02-01 14:56:43 evdns: fix a bug in circular-queue implementation found by Wang Qin
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.
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.
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
5408ff3b 2012-01-24 11:16:26 Oops:remove an accidentally committed "sleep(1)" in a unit test
dab91877 2012-01-24 11:04:19 Workaround in the unit tests for an apparent epoll bug in Linux 3.2
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
27737d55 2012-01-21 12:55:15 Add function to check referential integrity of an event_base
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).
7206e8cd 2012-01-16 14:45:31 Suppress a gcc warning from ignoring fwrite return in http-sample.c Found by Steve Snyder
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.
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.
da70fa70 2011-12-14 16:17:19 Backport evhttp_connection_get_bufferevent to Libevent 2.0 Backport by Arno Bakker; original implementation in 8d3a8500f4
7bbf6ca7 2011-12-08 14:36:32 Slightly clarify evbuffer_peek documentation
c986f232 2011-12-08 14:30:20 Fix behavior of evbuffer_peek(buf,-1,NULL,NULL,0) (Patch altered by nickm to not affect the behavior of evbuffer_peek(buf,-1,NULL,vec,n_vec).)
358c745e 2011-12-08 11:39:48 check for sysctl before we use it Not all C libraries under Linux support the sysctl() func.
19277763 2011-12-06 13:35:54 Fix a silly compilation error with the sun compiler Apparently, other compilers were allowing "return free(x)" in a function returning void.
11f36a5f 2011-12-05 15:02:27 Be absolutely sure to clear pncalls before leaving event_signal_closure I thought we'd fixed the cases where this could come up, but apparently having an event_base_break() happen while processing signal events could get us in trouble. Found by Remi Gacogne. Sourceforge issue 3451433 .
ba4d6696 2011-11-18 15:34:37 Increment version to 2.0.16-stable-dev
5de3fa32 2011-11-18 15:27:06 Increment version to 2.0.16-stable
31c99bd2 2011-11-18 15:14:50 Revise 2.0.16-stable changelog
ebf82199 2011-11-17 17:42:45 add comment to new consider_reading code
2aa036fa 2011-11-17 11:59:41 Avoid spinning on OpenSSL reads Previously, if some sender were generating data to read on an OpenSSL connection as fast as we could process it, we could easily wind up looping on an openssl do_read operation without ever considering other sockets. The difference between this and the original method in consider_reading() is that it only loops for a single completed *frame* instead of looping until fd is drained or an error condition was triggered. {Patch split out by nickm}
96c562fa 2011-11-17 11:54:07 Move SSL rate-limit enforcement into bytes_to_read()
a186e732 2011-11-17 11:45:49 Refactor amount-to-read calculations in buffervent_ssl consider_reading() Split up consider_reading()'s conditional checks into another function can_read() for simplicity sake. {Split into a separate patch by nickm}
6660c9a3 2011-11-15 18:34:24 Revert "Avoid potential SSL read spinlocks" This reverts commit fc52dbac87f4937f8306759506d6a2ad15ca244c.
a62346de 2011-11-15 18:33:50 Revert "openssl bufferevent has the same issue with writing as prior commit." This reverts commit 7353663eb7c0b2a1caaaa5acd818515f156cf2ca.
34045c8f 2011-11-15 17:22:12 Add new entries to changelog, new credits to README
b17b0eec 2011-11-15 17:11:42 Fix DNS memleak checks when running with malloc-replacement/debugging disabled
e7874133 2011-11-14 17:33:02 Don't try to make notifiable event_base when no threading fns are configured
4e797f38 2011-11-14 17:32:22 Warn when unable to construct base because of failing make_base_notifiable
7353663e 2011-11-14 10:57:15 openssl bufferevent has the same issue with writing as prior commit.
fc52dbac 2011-11-14 10:24:07 Avoid potential SSL read spinlocks OpenSSL bufferevents with deferred callbacks enabled under high load will spinlock in the function consider_reading(). This loop continues until all data has been read. Because of this condition; openssl bufferevents will never return back into event_base_loop() until SSL_read has determined data is no longer ready. As of yet I have not found a reason why this while loop exists, so this patch just swaps out while for if. If needed I can write same code which would trigger this effect; optionally libevhtp has a test.c program which can be run with the following flags: ./test -s <keyfile.pem> curl -vvvv -k -d@<HUGE_ASS_FILE> https://127.0.0.1:8081/ The return data will include the number of times the readcb got data and the length of that read. Without this patch, you are likely to see a small amount of "bytes read....", otherwise the "bytes read..." return data should show much more reasonable numbers.
a3f320e8 2011-11-09 00:17:56 Improve win32 behavior of dns-sample.c codex
674bc6a2 2011-11-03 11:43:49 Fix typo in whatsnew-2.0.txt
c37069cd 2011-11-02 16:09:15 Fix an evbuffer crash in evbuffer_remove_buffer() Found by Greg Hazel.
7eb52eb8 2011-11-02 15:19:05 improve test to remove at least one buffer from src
90bd620f 2011-11-01 13:44:40 unit test for remove_buffer bug
447b0bad 2011-10-30 22:32:18 Fix compile warning from saying event2/*.h inside a comment Based on a patch by Adrian Chadd
1aee7183 2011-10-26 13:24:30 epoll: close fd on alloc fail at initialization If the memory allocations fail then we free any other allocated structures but don't close the file descriptor resulting in an leak of fd's.
3c824bd3 2011-10-24 13:18:09 Update copyright dates to 2011.
724bfb56 2011-10-19 22:59:47 Add note about evhttp_send_reply_end to its doxygen
9e6a4efa 2011-10-19 17:44:17 More detailed message in case of libevent self-debugging failure.
5e42202d 2011-10-19 22:41:11 Style and comment tweaks for dns/leak* tests
f7841bfc 2011-10-18 17:49:40 Test for commit aff6ba1
21a08d68 2011-10-19 22:38:37 Empty DNS reply with OK status is another way to say NODATA. Sometimes DNS reply has nothing but query section. It does not look like error, so it should be treated as NODATA with TTL=0 as soon as there is no SOA record to deduce negative TTL from.
d58c15ee 2011-10-19 22:36:12 Tests for 94fba5b and f72e8f6
8589f6c4 2011-10-12 01:00:23 Bump version to 2.0.15-stable-dev
c54c2358 2011-10-12 00:39:22 Credit a patch from a one-named user
4d9529fc 2011-10-12 00:22:17 Increment version to 2.0.15-stable
7c3e0612 2011-10-12 00:16:12 Add changelog for 2.0.15-stable
ba5c27d4 2011-10-10 08:24:43 refer to non-deprecated evdns functions in comments
706aa5f4 2011-10-06 15:11:50 Merge remote-tracking branch 'github/20_addfile_ssl' into patches-2.0
39c0cf7c 2011-10-03 12:49:02 Fix some "value never used" warnings with gcc 4.6.1
2b768479 2011-10-03 12:45:36 Make write-checking fixes use tt_fail_perror
c3b62fd7 2011-07-12 13:05:36 Fixed compiler warnings for unchecked read/write calls.
0ba0af9c 2011-09-29 09:30:04 Prefer mmap to sendfile unless a DRAINS_TO_FD flag is set. Allows add_file to work with SSL. The sendfile() implementation for evbuffer_add_file is potentially more efficient, but it has a problem: you can only use it to send bytes over a socket using sendfile(). If you are writing bytes via SSL_send() or via a filter, or if you need to be able to inspect your buffer, it doesn't work. As an easy fix, this patch disables the sendfile-based implementation of evbuffer_add_file on an evbuffer unless the user sets a new EVBUFFER_FLAG_DRAINS_TO_FD flag on that evbuffer, indicating that the evbuffer will not be inspected, but only written out via evbuffer_write(), evbuffer_write_atmost(), or drained with stuff like evbuffer_drain() or evbuffer_add_buffer(). This flag is off by default, except for evbuffers used for output on bufferevent_socket. In the future, it could be interesting to make a best-effort file segment implementation that tries to send via sendfile, but mmaps on demand. That's too much complexity for a stable release series, though.
1ef1f684 2011-09-28 09:22:17 Make evbuffer callbacks get the right n_added value after evbuffer_add Patch from Alex.
296d29a1 2011-09-26 11:07:58 Merge branch '20_loopbreak_in_signal' into patches-2.0
7f82382a 2011-09-25 07:39:00 Use _SOURCES, not _sources, in sample/Makefile.am Found by Adrian Chadd
9ae061ac 2011-09-15 13:06:38 le-proxy and regress depend on openssl directly
94fba5b9 2011-08-10 15:58:47 Add DNS_ERR_NODATA error code to handle empty replies.
2b6eae59 2011-08-10 15:58:19 Fix docstring in dns.h
4e8eb6a5 2011-09-09 20:53:30 When a signal callback is activated to run multiple times, allow event_base_loopbreak to work even before they all have run. Found by Abilio Marques.
f72e8f66 2011-08-31 00:56:45 DNS: add ttl for negative answers using RFC 2308 idea.
a718b6c3 2011-08-31 11:25:11 Increment version to 2.0.14-stable-dev
ac9f2adb 2011-08-31 00:23:20 Credit new contributors for 2.0.14-stable
da90a9be 2011-08-30 22:35:51 Pick a release date for the changelog
85976ddf 2011-08-30 22:28:02 Bump version to 2.0.14-stable
54f7e61b 2011-08-29 23:39:26 clear read watermark on underlying bufferevent when creating filtering bev to fix potentially failing fragmented ssl handshakes
6476d92d 2011-08-29 13:40:03 Checkpoint changelog entries for 2.0.14-stable
e6af35d7 2011-08-24 21:39:28 Correctly terminate IO on an async bufferevent on bufferevent_free
0ff2c5a9 2011-08-24 18:42:12 Have test-ratelim.c support IOCP
a98da7bf 2011-08-24 18:41:35 Make IOCP rate-limiting group support stricter and less surprising. Previously, we wouldn't decrement read/write buckets because of IOCP reads and writes until those reads and writes were complete. That's not so bad on the per-connection front. But for group limits, the old approach makes us launch a huge amount of reads and writes whenever the group limit becomes positive, and then decrement the limit to a hugely negative number as they complete. With this patch, we decrement our read buckets whenever we launch an IOCP read or write, based on the maximum that tried to read or write. Later, when the operations finish, we re-increment the bucket based on the portion of the request that couldn't finish.
c75341b0 2011-08-24 18:42:00 Support negative arguments to _bufferevent_decrement_(read/write)_buckets()
2f51dc03 2011-08-28 14:03:10 Cleanup on 7c11e51e1ab: fix strtol usage
6056d6e0 2011-08-28 14:02:40 Cleanup on 7c11e51e1ab: restore c90 declaration compliance
7c11e51e 2011-08-27 05:48:11 Clean up some problems identified by Coverity.
5b18f130 2011-08-24 16:17:05 Make rate limiting work with common_timeout logic
6736852e 2011-08-18 15:09:44 Merge branch '20_iocp_fixes' into patches-2.0
6acfbdd8 2011-08-18 12:35:27 Make overlapped reads result in evbuffer callbacks getting invoked
495c227f 2011-08-18 11:41:55 IOCP: don't launch reads or writes on an unconnected socket
04656ea8 2011-08-15 14:40:32 Try to fix 'make distcheck' errors when building out-of-tree
e067d0e3 2011-08-17 21:47:19 Merge branch '20_low_ratelim' into patches-2.0
643922e9 2011-08-15 13:39:10 Solaris sendfile: correctly detect amount of data sent Original message: Solaris sendfile seems to fail when sending moderately large (<1GB) files. Not a 32/64 problem, but a buffer problem. Anyone else ever try this? It is definitely broken in http-server.c. It seems to be broken in the following way: When sendfile sends partial data (EAGAIN, would block), "res" is always -1, rather than the amount sent. Here's a patch that reads from the "offset" pointer instead to discover what was sent. This seems to work:
aff6ba15 2011-08-11 03:24:06 Fix request_finished memory leak with debugging turned on.
9b724b28 2011-08-11 03:10:08 Fix evsig_dealloc memory leak with debugging turned on.
50be5a14 2011-08-11 03:06:07 Another docstring fix.
6d5440e8 2011-08-11 15:15:17 Fix handling of group rate limits under 64 bytes of burst The "min_share" logic, which was designed to prevent piles of extremely small writes when running up against a group rate limit, could lead to confusing behavior if you ever set a min_share less than your burst rate. If that happened, then as soon as your group rate limit was exhausted, you'd stop reading/writing, and never start again, since the amount readable/writeable would never actually hit min_share. We now cap min_share at the rate per tick. Found by George Kadianakis
5d1b255b 2011-08-10 19:11:55 Ignore deprecation warnings on OS X Starting with Lion, Apple decided to deprecate the system openssl. We can start requiring users to install their own openssl once OS X doesn't ship with it anymore.
b4423029 2011-08-08 17:06:46 Allow OS-neutral builds for platforms where some versions have arc4random_buf
4a343943 2011-07-26 10:31:18 Propagate errors on the underlying bufferevent to the user.
1183f7e2 2011-08-01 10:27:56 Fix typo in event_compat.h comments.
a2fdf9b0 2011-07-18 23:37:59 Bump version to 2.0.13-stable-dev