kc3-lang/libevent

Branch :


Log

Author Commit Date CI Message
1c77fbb0 2013-07-11 16:26:43 Pass and return const for bufferevent_get_token_bucket_cfg
4b3d5af8 2013-07-11 12: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.
c3260cb9 2013-07-11 06:57:16 Merge pull request #69 from makotokato/clang Don't use return since return type is void and build error occurs using ...
1ea1f26b 2013-07-10 11:02:43 We should return after arc4random_buf()
838161dc 2013-07-09 11:50:33 Don't use return since return type is void and build error occurs using clang
0fa107d8 2013-07-02 16:01:02 Added event_base_get_num_events()
90a8c539 2013-06-10 15:17:34 Merge remote-tracking branch 'origin/patches-2.0'
387e6b90 2013-06-10 15:16:13 Merge remote-tracking branch 'public/pr/79' into patches-2.0
36ab0721 2013-06-10 10:47:35 Merge branch '21_evdns_log_debug'
0b05aa65 2013-06-10 10:47:28 Merge remote-tracking branch 'origin/patches-2.0'
6e496961 2013-06-10 10:38:12 Document that arc4random is not a great cryptographic PRNG.
e35b5408 2013-06-10 10:33:56 When we seed from /proc/sys/kernel/random/uuid, count it as success Found by Joseph Spadavecchia
363388a0 2013-05-29 14:19:14 restore the comment
f8d7df85 2013-05-11 03: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
e1766a1b 2013-05-29 16: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.
c307a250 2013-05-29 13:32:47 Merge remote-tracking branch 'origin/patches-2.0'
e826f19e 2013-05-29 13: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.
0ac2ed65 2013-05-28 11:30:14 Merge remote-tracking branch 'origin/pr/62'
3dc2d8ab 2013-05-28 10:14:51 Remove a debugging assert that should not have been left in
dbc9cd4d 2013-05-23 16:31:53 Fix locking in bufferevent_get_options_().
31db8a02 2013-05-23 16:29:17 Fix a double close() bug in evhttp when the underlying bufferevent uses BEV_OPT_CLOSE_ON_FREE.
1f29b18f 2013-05-20 12:30:40 Avoid redundant syscall if making a socket cloexec twice I got the idea from Maxime's last patch.
42c03da9 2013-05-20 12:23:53 Avoid redundant syscall to make a nonblocking socket nonblocking
9b5a527f 2013-05-16 16:38:39 If evsel->del() fails, don't leave the evmap in an inconsistent state. 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.
7e876df7 2013-05-13 19:50:30 Fix dns/leak_resume_send_err test. Because we don't cancel request, and want our callback to recieve DNS_ERR_SHUTDOWN, we use deferred callback, and there was - one extra malloc(), @see reply_schedule_callback() - and one missing free @see request_finished() (req->handle->pending_cb = 1) than we don't need to count in testleak_cleanup() So just decrement allocated_chunks to 2, like we already take care about it.
1cd9ff59 2013-05-13 19:20:42 Add tests for evdns_base_resume(). - leak_resume - leak_cancel_and_resume - leak_resume_send_err - leak_cancel_and_resume_send_err
14971a83 2013-05-11 03: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()
8ab612e3 2013-05-11 22:21:30 Whoops. It is gdi.lib, not gdi32.lib. (github issue #61)
d3d999a1 2013-05-10 20:22:56 Missed lock acquire/release in event_base_cancel_single_callback_() Call backtrace: ... event_queue_remove_active() event_callback_cancel_nolock_() event_base_cancel_single_callback_() event_base_free_() event_base_free() ... Fix for e9ebef83
5ba8ab76 2013-05-10 21:38:26 Fix test compilation with nmake: add the gdi.lib dependency ACK: efekty
ef820dbf 2013-05-07 10:03:28 Merge remote-tracking branch 'origin/patches-2.0'
5c710c03 2013-05-06 18:15:03 Checking request nameserver for NULL, before using it.
f8d80a28 2013-05-01 23:12:08 Bump version to 2.1.3-alpha-dev
85a40040 2013-05-01 13:37:57 Add regress_finalize to makefile.nmake
57cbfcd6 2013-05-01 10:28:42 Set a release date
5bc290e2 2013-05-01 10:04:08 Make http/connection_retry off-by-default
f2925d78 2013-04-30 22:57:25 Fix a windows compilation regression This is github issue #57; reported by "efekty". I assume the compiler is MSVC.
9e3a99ca 2013-04-30 20:09:52 Fix a bug in fixing a bug in out-of-tree test-dumpevents
b48c7bf8 2013-04-30 14:40:50 Make regress_finalize work with malloc replacement disabled
cbfc35f6 2013-04-30 14:26:47 Fix some out-of-tree build bugs
dd4be76f 2013-04-30 12:02:49 Incremement version to 2.1.3-alpha
c6561efb 2013-04-30 12:02:19 Merge remote-tracking branch 'origin/patches-2.0'
d9917c49 2013-04-30 11:52:55 Add acknowledgements to readme
e6cdd17b 2013-04-30 11:44:39 Start editing the changelog for 2.1.3-alpha
8415b69d 2013-04-30 10:22:40 Mark the finalize stuff as experiemental in case it needs to change
959c1428 2013-04-30 11:42:53 Start a changelog for Libevent 2.0.22-stable
920a5e69 2013-04-26 19:15:50 Clarify an important point about event_base_foreach_event()
702c9aa4 2013-04-26 19:14:05 Fix a bug in the new main/event_foreach test It wasn't making sure that the events weren't internal.
d5967397 2013-04-26 17:51:33 More unit tests for initializing common timeouts. Try with: misformed usecs in inputs, and with initializing common timeouts from other common timeouts.
f09629ea 2013-04-26 17:46:33 A test for event_get_assignment()
30ea2910 2013-04-26 17:28:46 Unit tests for event_base_gettimeofday_cached() and event_base_update_cache_time()
0b096efe 2013-04-26 13:50:22 New tests for event_base_foreach_event() Our dump-events code had exercised this a bit, but only via the nonlocking backend. Also, nothing was checking the "Search for a specific event" code.
a153874d 2013-04-26 13:49:45 New test for active_later->active transition on event_active When event_active is called, an active_later event is supposed to become active now. We had lacked a test for that.
3555befd 2013-04-26 12:27:05 Merge branch '21_deadlock_fix_v2'
25aac697 2013-04-26 12:00:17 Remove a no-longer-true XXXX comment.
5d11f4f3 2013-04-26 11:57:40 Make the event_finalize* functions return an error code
a800b913 2013-04-26 11:36:43 More documentation for finalization feature
4ea4c6a9 2013-04-10 13:44:23 Remove bufferevent_del_generic_timeout_cbs as now unused
e9ebef83 2013-04-09 21:14:52 Always run pending finalizers when event_base_free() is called There was actually a bug in the original version of this: it tried to run the finalizers after (potentially) setting current_base to NULL; but those finalizers could themselves (potentially) be invoking stuff that needed to know about the current event_base. So the right time to do it is _before_ clearing current_base.
02fbf687 2013-04-09 18:16:13 Use finalization feature so bufferevents can avoid deadlocks Since the bufferevents' events are now EV_FINALIZE (name pending), they won't deadlock. To clean up properly, though, we must use the finalization feature. This patch also split bufferevent deallocation into an "unlink" step that happens fast, and a "destruct" step that happens after finalization. More work is needed: there needs to be a way to specify a finalizer for the bufferevent's argument itself. Also, this finalizer business makes lots of the reference counting we were doing unnecessary. Also, more testing is needed.
9d893c97 2013-04-09 18:15:08 Add some verbose notes to bufferevent unit tests
8eedeabe 2013-03-28 14:13:19 Implement event_finalize() and related functions to avoid certain deadlocks
b1b054f0 2013-04-26 12:12:08 Make all tests pass under EVENT_DEBUG_MODE=1 The fix was easy: the tests that were failing were those tests that also enabled debug mode themselves. So, let them know when EVENT_DEBUG_MODE is on, so they won't do that.
b3aca5d9 2013-04-25 15:13:24 Merge branch '21_http_error_cb_squashed'
54cc8005 2013-03-21 17:01:31 Drop extra header http_struct.h from regress_http.c
862c217a 2013-03-22 14:35:47 Add test for EVREQ_HTTP_REQUEST_CANCEL into http_cancel_test()
7b077194 2013-03-21 13:55:40 Add new error_cb for actual reporting of HTTP request errors. It is useful to know why you callback called with NULL (i.e. it failed), for example if you set max_body with evhttp_connection_set_max_body_size() you must know that it failed because of body was longer than this size. (Commit message tweaked by Nick)
ed26561b 2013-04-25 14:48:56 Fix another warning introduced in 0c6ec5d8
eeb700ce 2013-04-25 14:46:46 Fix a warning introduced in 0c6ec5d8
6b94ffce 2013-04-25 13:54:19 Merge remote-tracking branch 'origin/patches-2.0' Conflicts: configure.ac
66dacfa2 2013-04-25 13:43:49 Merge remote-tracking branch 'origin/pr/36' into patches-2.0
eb6b0c1f 2013-04-25 10:47:16 Merge branch '21_evdns_disable_when_inactive'
6b7fa620 2013-03-27 20:15:46 evdns: New flag to make evdns not prevent the event loop from exiting Here is the brief description of problem: When you are use evdns to resolve domains to IP adresses (see ./sample/dns-example) you loop never returns from event_base_dispatch(), and because of this the program will never terminated. Because existing programs may be depending on the old behavior, we only apply the fix when evdns_base_new() is created with a new flag - EVDNS_BASE_DISABLE_WHEN_INACTIVE. (Commit message edited by Nick while squashing the branch.)
5e6fa2a3 2013-04-24 13:23:15 event_base_update_cache_time should be a no-op if the loop isn't running
1c3147f5 2013-04-10 18:03:16 Add a test with an active_later event at event_base_free time.
95acdaa3 2013-04-10 17:56:54 Another tweak to https-client.c
8a90a850 2013-04-10 13:53:44 Remove http_struct.h usage in sample/https-client.c
2fad0f3d 2013-04-05 15:06:54 Add an environment variable (EVENT_DEBUG_MODE) to run unit tests in debug mode Not all tests currently pass with debug mode on.
33398008 2013-04-01 11:59:26 Merge branch '21_empty_strlcpy'
49146200 2013-03-31 14:05:26 Do not build strlcpy.c when it will have no code.
e834006b 2013-03-29 09:39:52 Merge pull request #75 from altf4/master Header update to specify evbuffer_pullup() behavior
cf8d1cdb 2013-03-29 09:28:35 Specify return behavior in header for evbuffer_pullup() in corner case Function returns NULL when told to pullup more data than exists
81ea0c4c 2013-03-28 05:57:07 Merge pull request #47 from ppelleti/https HTTPS example adapted from Catalin
1bc4a8f9 2013-03-25 21:14:10 Merge remote-tracking branch 'origin/patches-2.0'
773b0a5d 2013-03-25 21:12:49 Fix a typo in a comment in buffer.h. Spotted by Alt_F4
f935e215 2013-03-15 09:33:28 build test/test-script.sh on systems with a less-featureful $<
787fd748 2013-03-15 09:33:13 Make --disable-libevent-regress work again
9443868d 2013-03-05 11:29:33 Double-check next timeout when adding events When resuming the system from a suspended state, the ev_timeout field of a scheduled timer event may be in the past. This leads to unexpected behavior when scheduling a short-duration timer event immediately after returning from suspension, because the new event does not land on top of the timeout minheap and so the event loop (blocked on a possibly long-duration timeout) is not notified. This patch checks for this condition and, if it obtains, notifies the event loop.
13676535 2013-03-01 12:01:42 Test: decoding just part of string with evhttp_decode_uri_internal()
de8101a8 2013-03-01 12:00:24 Move prototype of evhttp_decode_uri_internal() to http-internal.h Make it non static, that can be called from tests
e1903e3a 2013-02-28 23:10:02 uri decode: changed the test for the existence of the next character Fix for 64b6eceaba1a4 More info here https://github.com/azat/libevent/commit/64b6eceaba1a40ab0b175fa9fd9329d3e978ce6e#commitcomment-2714685
64b6ecea 2013-02-28 17:19:44 uri decode: fix for warning "use of uninitialised value" This patch add check in evhttp_decode_uri_internal() that next 2 symbols are exists in array of chars for decoding, if don't have two next 2 symbols don't try to decode '%FF'
4db9da6b 2013-02-27 21:12:53 pull in wildcard matching code from cURL Now, https-client accepts both: https://ip.appspot.com/ (matching wildcard certificate) https://github.com/ (matching non-wildcard certificate) but still rejects https://www.kegel.com/ (non-matching wildcard certificate) which should match the behavior of these sites in a web browser.
6021cb50 2013-02-27 21:19:16 avoid sign mismatch warning in openssl_hostname_validation.c sample/openssl_hostname_validation.c: In function 'matches_common_name': sample/openssl_hostname_validation.c:80: warning: comparison between signed and unsigned integer expressions sample/openssl_hostname_validation.c: In function 'matches_subject_alternative_name': sample/openssl_hostname_validation.c:124: warning: comparison between signed and unsigned integer expressions
64d9f161 2013-02-27 17:16:27 use iSECPartners code to validate hostname in certificate The problem is that if you go to a website whose certificate does not match its hostname, it should fail. Try this in a web browser for https://www.kegel.com/ for example. Your web browser will say the certificate is for *.pair.com, not for www.kegel.com, and won't let you visit it without clicking through a bunch of scary warnings. However, prior to this commit, https-client was happy to fetch https://www.kegel.com/ without complaining. That is bad. Now, with this commit, it will properly complain, which is good: pelletier@chives:~/src/libevent/sample$ ./https-client https://www.kegel.com/ Got 'MatchNotFound' for hostname 'www.kegel.com' and certificate: /C=US/postalCode=15203/ST=Pennsylvania/L=Pittsburgh/street=Suite 210/street=2403 Sidney Street/O=pair Networks, Inc./OU=Provided by pair Networks, Inc./OU=PairWildcardSSL $250,000/CN=*.pair.com some request failed - no idea which one though! error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed ppelletier@chives:~/src/libevent/sample$ It will still succeed for sites with an exactly-matching certificate, such as https://github.com/ and that is also good! However, the problem is that the iSECPartners code doesn't handle wildcards, which means we reject https://ip.appspot.com/ even though it is perfectly legitimate, because we don't understand the wildcard: ppelletier@chives:~/src/libevent/sample$ ./https-client https://ip.appspot.com/ Got 'MatchNotFound' for hostname 'ip.appspot.com' and certificate: /C=US/ST=California/L=Mountain View/O=Google Inc/CN=*.appspot.com some request failed - no idea which one though! error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed ppelletier@chives:~/src/libevent/sample$ So, we need to fix this. In other words, "to be continued..."
aacd674c 2013-02-26 00:06:50 use Debian's default root certificate location as suggested here: http://archives.seul.org/libevent/users/Feb-2013/msg00034.html although curl's acinclude.m4 reveals many other possibilities: dnl /etc/ssl/certs/ca-certificates.crt Debian systems dnl /etc/pki/tls/certs/ca-bundle.crt Redhat and Mandriva dnl /usr/share/ssl/certs/ca-bundle.crt old(er) Redhat dnl /usr/local/share/certs/ca-root.crt FreeBSD dnl /etc/ssl/cert.pem OpenBSD dnl /etc/ssl/certs/ (ca path) SUSE And none of these cover Windows :(
5754d96a 2013-02-25 23:43:05 better handling of OpenSSL errors
42d7441a 2013-02-25 23:14:26 https-client was putting newlines at 256-byte boundaries presumably this was meant to put a ">" before every line, but that isn't what it does, since evbuffer_remove is simply returning fixed-size chunks. So, when retrieving a document of more than 256 bytes (e. g. any nontrivial document), we got "> " and newlines thrown in at very arbitrary places.
bf31fa5d 2013-02-27 16:31:17 use ${OPENSSL_LIBS} instead of -lssl -lcrypto This made the difference between segfaulting and not segfaulting for me when I run https-client, when I've built libevent using an OpenSSL in a non-standard location. In the same spirit as 1d9d5110a4aebf5833f6fd78bd0252affde0f4d0 and d70af27d0152d0a87a25127faf215604beb8ffe0.
be46c99b 2013-02-19 12:22:31 Add sample/https-client.c, an example of stacking evhttp as a client on top of bufferevent_ssl. Signed-off-by: Catalin Patulea <catalinp@google.com>