Nick Mathewson
36ab0721be
Merge branch '21_evdns_log_debug'
2013-06-10 10:47:35 -04:00
Nick Mathewson
0b05aa6591
Merge remote-tracking branch 'origin/patches-2.0'
2013-06-10 10:47:28 -04:00
Nick Mathewson
6e49696147
Document that arc4random is not a great cryptographic PRNG.
2013-06-10 10:38:38 -04:00
Nick Mathewson
e35b540832
When we seed from /proc/sys/kernel/random/uuid, count it as success
...
Found by Joseph Spadavecchia
2013-06-10 10:33:56 -04:00
Nick Mathewson
e1766a1b6d
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.
2013-05-29 16:26:50 -04:00
Nick Mathewson
c307a250d4
Merge remote-tracking branch 'origin/patches-2.0'
2013-05-29 13:32:47 -04:00
Nick Mathewson
e826f19e05
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.
2013-05-29 13:31:53 -04:00
Nick Mathewson
0ac2ed655a
Merge remote-tracking branch 'origin/pr/62'
2013-05-28 11:30:14 -04:00
Nick Mathewson
3dc2d8ab83
Remove a debugging assert that should not have been left in
2013-05-28 10:14:51 -04:00
Maxime Henrion
dbc9cd4dd1
Fix locking in bufferevent_get_options_().
2013-05-24 11:04:17 -04:00
Maxime Henrion
31db8a02bd
Fix a double close() bug in evhttp when the underlying bufferevent uses BEV_OPT_CLOSE_ON_FREE.
2013-05-24 11:04:11 -04:00
Nick Mathewson
1f29b18f51
Avoid redundant syscall if making a socket cloexec twice
...
I got the idea from Maxime's last patch.
2013-05-20 12:30:40 -04:00
Maxime Henrion
42c03da9b9
Avoid redundant syscall to make a nonblocking socket nonblocking
2013-05-20 12:23:53 -04:00
Maxime Henrion
9b5a527f5b
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.
2013-05-17 09:55:20 -04:00
Azat Khuzhin
7e876df71b
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.
2013-05-13 19:56:00 +00:00
Azat Khuzhin
1cd9ff591d
Add tests for evdns_base_resume().
...
- leak_resume
- leak_cancel_and_resume
- leak_resume_send_err
- leak_cancel_and_resume_send_err
2013-05-13 19:56:00 +00:00
Azat Khuzhin
14971a833c
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()
2013-05-13 19:56:00 +00:00
Nick Mathewson
8ab612e396
Whoops. It is gdi.lib, not gdi32.lib. (github issue #61 )
2013-05-11 22:21:30 -04:00
Azat Khuzhin
d3d999a116
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
2013-05-10 21:40:45 -04:00
Nick Mathewson
5ba8ab76e9
Fix test compilation with nmake: add the gdi.lib dependency
...
ACK: efekty
2013-05-10 21:38:26 -04:00
Nick Mathewson
ef820dbfb3
Merge remote-tracking branch 'origin/patches-2.0'
2013-05-07 10:03:28 -04:00
Belobrov Andrey
5c710c0362
Checking request nameserver for NULL, before using it.
2013-05-07 10:01:36 -04:00
Nick Mathewson
f8d80a285c
Bump version to 2.1.3-alpha-dev
2013-05-01 23:12:08 -04:00
Nick Mathewson
85a40040d1
Add regress_finalize to makefile.nmake
release-2.1.3-alpha
2013-05-01 13:37:57 -04:00
Nick Mathewson
57cbfcd67c
Set a release date
2013-05-01 10:28:42 -04:00
Nick Mathewson
5bc290e247
Make http/connection_retry off-by-default
2013-05-01 10:04:08 -04:00
Nick Mathewson
f2925d78b6
Fix a windows compilation regression
...
This is github issue #57 ; reported by "efekty". I assume the compiler
is MSVC.
2013-04-30 22:57:25 -04:00
Nick Mathewson
9e3a99cad7
Fix a bug in fixing a bug in out-of-tree test-dumpevents
2013-04-30 20:09:52 -04:00
Nick Mathewson
b48c7bf8a6
Make regress_finalize work with malloc replacement disabled
2013-04-30 14:40:50 -04:00
Nick Mathewson
cbfc35f6b9
Fix some out-of-tree build bugs
2013-04-30 14:26:47 -04:00
Nick Mathewson
dd4be76f83
Incremement version to 2.1.3-alpha
2013-04-30 12:02:49 -04:00
Nick Mathewson
c6561efbce
Merge remote-tracking branch 'origin/patches-2.0'
2013-04-30 12:02:19 -04:00
Nick Mathewson
d9917c4958
Add acknowledgements to readme
2013-04-30 11:52:55 -04:00
Nick Mathewson
e6cdd17b5d
Start editing the changelog for 2.1.3-alpha
2013-04-30 11:44:39 -04:00
Nick Mathewson
8415b69d42
Mark the finalize stuff as experiemental in case it needs to change
2013-04-30 11:44:25 -04:00
Nick Mathewson
959c1428cc
Start a changelog for Libevent 2.0.22-stable
2013-04-30 11:42:53 -04:00
Nick Mathewson
920a5e69b0
Clarify an important point about event_base_foreach_event()
2013-04-26 19:15:50 -04:00
Nick Mathewson
702c9aa403
Fix a bug in the new main/event_foreach test
...
It wasn't making sure that the events weren't internal.
2013-04-26 19:14:05 -04:00
Nick Mathewson
d5967397b0
More unit tests for initializing common timeouts.
...
Try with: misformed usecs in inputs, and with initializing common timeouts
from other common timeouts.
2013-04-26 17:51:33 -04:00
Nick Mathewson
f09629eac5
A test for event_get_assignment()
2013-04-26 17:46:33 -04:00
Nick Mathewson
30ea2910d5
Unit tests for event_base_gettimeofday_cached() and event_base_update_cache_time()
2013-04-26 17:37:15 -04:00
Nick Mathewson
0b096efee5
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.
2013-04-26 13:52:51 -04:00
Nick Mathewson
a153874d18
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.
2013-04-26 13:49:45 -04:00
Nick Mathewson
3555befd1c
Merge branch '21_deadlock_fix_v2'
2013-04-26 12:27:05 -04:00
Nick Mathewson
25aac69780
Remove a no-longer-true XXXX comment.
2013-04-26 12:18:38 -04:00
Nick Mathewson
5d11f4f39a
Make the event_finalize* functions return an error code
2013-04-26 12:18:38 -04:00
Nick Mathewson
a800b913ac
More documentation for finalization feature
2013-04-26 12:18:38 -04:00
Nick Mathewson
4ea4c6a93e
Remove bufferevent_del_generic_timeout_cbs as now unused
2013-04-26 12:18:38 -04:00
Nick Mathewson
e9ebef83a0
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.
2013-04-26 12:18:07 -04:00
Nick Mathewson
02fbf68770
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.
2013-04-26 12:18:07 -04:00