|
01a6ef78
|
2013-07-21T13:27:49
|
|
Merge remote-tracking branch 'origin/patches-2.0'
|
|
b8f59807
|
2013-07-20T14:02:49
|
|
libevent/win32_dealloc() : fix sizeof(pointer) vs sizeof(*pointer)
|
|
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 ...
|
|
1ea1f26b
|
2013-07-10T11:02:43
|
|
We should return after arc4random_buf()
|
|
838161dc
|
2013-07-09T11:50:33
|
|
Don't use return since return type is void and build error occurs using clang
|
|
0fa107d8
|
2013-07-02T16:01:02
|
|
Added event_base_get_num_events()
|
|
90a8c539
|
2013-06-10T15:17:34
|
|
Merge remote-tracking branch 'origin/patches-2.0'
|
|
387e6b90
|
2013-06-10T15:16:13
|
|
Merge remote-tracking branch 'public/pr/79' into patches-2.0
|
|
36ab0721
|
2013-06-10T10:47:35
|
|
Merge branch '21_evdns_log_debug'
|
|
0b05aa65
|
2013-06-10T10:47:28
|
|
Merge remote-tracking branch 'origin/patches-2.0'
|
|
6e496961
|
2013-06-10T10:38:12
|
|
Document that arc4random is not a great cryptographic PRNG.
|
|
e35b5408
|
2013-06-10T10:33:56
|
|
When we seed from /proc/sys/kernel/random/uuid, count it as success
Found by Joseph Spadavecchia
|
|
363388a0
|
2013-05-29T14:19:14
|
|
restore the comment
|
|
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
|
|
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.
|
|
c307a250
|
2013-05-29T13:32:47
|
|
Merge remote-tracking branch 'origin/patches-2.0'
|
|
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.
|
|
0ac2ed65
|
2013-05-28T11:30:14
|
|
Merge remote-tracking branch 'origin/pr/62'
|
|
3dc2d8ab
|
2013-05-28T10:14:51
|
|
Remove a debugging assert that should not have been left in
|
|
dbc9cd4d
|
2013-05-23T16:31:53
|
|
Fix locking in bufferevent_get_options_().
|
|
31db8a02
|
2013-05-23T16:29:17
|
|
Fix a double close() bug in evhttp when the underlying bufferevent uses BEV_OPT_CLOSE_ON_FREE.
|
|
1f29b18f
|
2013-05-20T12:30:40
|
|
Avoid redundant syscall if making a socket cloexec twice
I got the idea from Maxime's last patch.
|
|
42c03da9
|
2013-05-20T12:23:53
|
|
Avoid redundant syscall to make a nonblocking socket nonblocking
|
|
9b5a527f
|
2013-05-16T16: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-13T19: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-13T19: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-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()
|
|
8ab612e3
|
2013-05-11T22:21:30
|
|
Whoops. It is gdi.lib, not gdi32.lib. (github issue #61)
|
|
d3d999a1
|
2013-05-10T20: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-10T21:38:26
|
|
Fix test compilation with nmake: add the gdi.lib dependency
ACK: efekty
|
|
ef820dbf
|
2013-05-07T10:03:28
|
|
Merge remote-tracking branch 'origin/patches-2.0'
|
|
5c710c03
|
2013-05-06T18:15:03
|
|
Checking request nameserver for NULL, before using it.
|
|
f8d80a28
|
2013-05-01T23:12:08
|
|
Bump version to 2.1.3-alpha-dev
|
|
85a40040
|
2013-05-01T13:37:57
|
|
Add regress_finalize to makefile.nmake
|
|
57cbfcd6
|
2013-05-01T10:28:42
|
|
Set a release date
|
|
5bc290e2
|
2013-05-01T10:04:08
|
|
Make http/connection_retry off-by-default
|
|
f2925d78
|
2013-04-30T22:57:25
|
|
Fix a windows compilation regression
This is github issue #57; reported by "efekty". I assume the compiler
is MSVC.
|
|
9e3a99ca
|
2013-04-30T20:09:52
|
|
Fix a bug in fixing a bug in out-of-tree test-dumpevents
|
|
b48c7bf8
|
2013-04-30T14:40:50
|
|
Make regress_finalize work with malloc replacement disabled
|
|
cbfc35f6
|
2013-04-30T14:26:47
|
|
Fix some out-of-tree build bugs
|
|
dd4be76f
|
2013-04-30T12:02:49
|
|
Incremement version to 2.1.3-alpha
|
|
c6561efb
|
2013-04-30T12:02:19
|
|
Merge remote-tracking branch 'origin/patches-2.0'
|
|
d9917c49
|
2013-04-30T11:52:55
|
|
Add acknowledgements to readme
|
|
e6cdd17b
|
2013-04-30T11:44:39
|
|
Start editing the changelog for 2.1.3-alpha
|
|
8415b69d
|
2013-04-30T10:22:40
|
|
Mark the finalize stuff as experiemental in case it needs to change
|
|
959c1428
|
2013-04-30T11:42:53
|
|
Start a changelog for Libevent 2.0.22-stable
|
|
920a5e69
|
2013-04-26T19:15:50
|
|
Clarify an important point about event_base_foreach_event()
|
|
702c9aa4
|
2013-04-26T19: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-26T17: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-26T17:46:33
|
|
A test for event_get_assignment()
|
|
30ea2910
|
2013-04-26T17:28:46
|
|
Unit tests for event_base_gettimeofday_cached() and event_base_update_cache_time()
|
|
0b096efe
|
2013-04-26T13: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-26T13: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-26T12:27:05
|
|
Merge branch '21_deadlock_fix_v2'
|
|
25aac697
|
2013-04-26T12:00:17
|
|
Remove a no-longer-true XXXX comment.
|
|
5d11f4f3
|
2013-04-26T11:57:40
|
|
Make the event_finalize* functions return an error code
|
|
a800b913
|
2013-04-26T11:36:43
|
|
More documentation for finalization feature
|
|
4ea4c6a9
|
2013-04-10T13:44:23
|
|
Remove bufferevent_del_generic_timeout_cbs as now unused
|
|
e9ebef83
|
2013-04-09T21: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-09T18: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-09T18:15:08
|
|
Add some verbose notes to bufferevent unit tests
|
|
8eedeabe
|
2013-03-28T14:13:19
|
|
Implement event_finalize() and related functions to avoid certain deadlocks
|
|
b1b054f0
|
2013-04-26T12: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-25T15:13:24
|
|
Merge branch '21_http_error_cb_squashed'
|
|
54cc8005
|
2013-03-21T17:01:31
|
|
Drop extra header http_struct.h from regress_http.c
|
|
862c217a
|
2013-03-22T14:35:47
|
|
Add test for EVREQ_HTTP_REQUEST_CANCEL into http_cancel_test()
|
|
7b077194
|
2013-03-21T13: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-25T14:48:56
|
|
Fix another warning introduced in 0c6ec5d8
|
|
eeb700ce
|
2013-04-25T14:46:46
|
|
Fix a warning introduced in 0c6ec5d8
|
|
6b94ffce
|
2013-04-25T13:54:19
|
|
Merge remote-tracking branch 'origin/patches-2.0'
Conflicts:
configure.ac
|
|
66dacfa2
|
2013-04-25T13:43:49
|
|
Merge remote-tracking branch 'origin/pr/36' into patches-2.0
|
|
eb6b0c1f
|
2013-04-25T10:47:16
|
|
Merge branch '21_evdns_disable_when_inactive'
|
|
6b7fa620
|
2013-03-27T20: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-24T13:23:15
|
|
event_base_update_cache_time should be a no-op if the loop isn't running
|
|
1c3147f5
|
2013-04-10T18:03:16
|
|
Add a test with an active_later event at event_base_free time.
|
|
95acdaa3
|
2013-04-10T17:56:54
|
|
Another tweak to https-client.c
|
|
8a90a850
|
2013-04-10T13:53:44
|
|
Remove http_struct.h usage in sample/https-client.c
|
|
2fad0f3d
|
2013-04-05T15: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-01T11:59:26
|
|
Merge branch '21_empty_strlcpy'
|
|
49146200
|
2013-03-31T14:05:26
|
|
Do not build strlcpy.c when it will have no code.
|
|
e834006b
|
2013-03-29T09:39:52
|
|
Merge pull request #75 from altf4/master
Header update to specify evbuffer_pullup() behavior
|
|
cf8d1cdb
|
2013-03-29T09: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-28T05:57:07
|
|
Merge pull request #47 from ppelleti/https
HTTPS example adapted from Catalin
|
|
1bc4a8f9
|
2013-03-25T21:14:10
|
|
Merge remote-tracking branch 'origin/patches-2.0'
|
|
773b0a5d
|
2013-03-25T21:12:49
|
|
Fix a typo in a comment in buffer.h. Spotted by Alt_F4
|
|
f935e215
|
2013-03-15T09:33:28
|
|
build test/test-script.sh on systems with a less-featureful $<
|
|
787fd748
|
2013-03-15T09:33:13
|
|
Make --disable-libevent-regress work again
|
|
9443868d
|
2013-03-05T11: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-01T12:01:42
|
|
Test: decoding just part of string with evhttp_decode_uri_internal()
|
|
de8101a8
|
2013-03-01T12: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-28T23: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-28T17: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-27T21: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-27T21: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-27T17: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-26T00: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-25T23:43:05
|
|
better handling of OpenSSL errors
|
|
42d7441a
|
2013-02-25T23: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-27T16: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-19T12: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>
|