teor (Tim Wilson-Brown)
eed86892dd
Really Fixup 86eba14ac5
: error return values are negative
2015-11-18 23:54:26 +11:00
teor (Tim Wilson-Brown)
3351f69c75
Fixup 86eba14ac5
: add errno.h for EPROTONOSUPPORT
2015-11-18 23:47:12 +11:00
teor (Tim Wilson-Brown)
878b5738c2
Update comments in get_interface_addresses_ioctl
...
Comment-only change noting platforms that can return IPv6
addresses from SIOCGIFCONF (or SIOCGLIFCONF).
2015-11-18 23:30:25 +11:00
teor (Tim Wilson-Brown)
86eba14ac5
Fix unit tests on systems without IPv4 or localhost addresses
...
Make unit tests pass on IPv6-only systems, and systems without
localhost addresses (like some FreeBSD jails).
Fixes:
* get_if_addrs_ifaddrs: systems without localhost
* get_if_addrs_ioctl: only works on IPv4 systems
* socket: check IPv4 and IPv6, skip on EPROTONOSUPPORT
* socketpair_ersatz: uses IPv4, skip on EPROTONOSUPPORT
Fixes bug #17632 ; bugfix on unit tests in 0.2.7.3-rc.
c464a36772
was a partial fix for this issue in #17255 ;
it was released in unit tests in 0.2.7.4-rc.
Patch by "teor".
2015-11-18 23:25:21 +11:00
Yawning Angel
85bb71049a
Fix a startup time assert caused by periodic events not being initialized.
...
Loading a on disk bridge descriptor causes a directory download to be
scheduled, which asserts due to the periodic events not being
initialized yet.
Fixes bug #17635 , not in any released version of tor.
2015-11-18 11:31:05 +00:00
Nick Mathewson
8af5afedc9
windows already has a CALLBACK macro...
2015-11-17 10:00:41 -05:00
Nick Mathewson
dc0d2b5970
Don't relaunch dir requests recursively if connection_connect() returns -1
...
Closes ticket 17589.
2015-11-17 09:40:05 -05:00
Nick Mathewson
d3cb659541
Fix a server-side crash on DNS init
2015-11-17 09:37:50 -05:00
Nick Mathewson
70f337fdb2
Some unit tests now require that periodic events be initialized.
2015-11-17 09:26:50 -05:00
Nick Mathewson
58edf92678
Free pending_entry_connections on shutdown.
2015-11-17 09:06:47 -05:00
Nick Mathewson
84b3350c83
Be more conservative in scanning the list of pending streams
...
Now we only re-scan the list in the cases we did before: when we
have a new circuit that we should try attaching to, or when we have
added a new stream that we haven't tried to attach yet.
This is part of 17590.
2015-11-17 09:04:25 -05:00
Nick Mathewson
b1d56fc589
Decouple ..attach_circuit() from most of its callers.
...
Long ago we used to call connection_ap_handshake_attach_circuit()
only in a few places, since connection_ap_attach_pending() attaches
all the pending connections, and does so regularly. But this turned
out to have a performance problem: it would introduce a delay to
launching or connecting a stream.
We couldn't just call connection_ap_attach_pending() every time we
make a new connection, since it walks the whole connection list. So
we started calling connection_ap_attach_pending all over, instead!
But that's kind of ugly and messes up our callgraph.
So instead, we now have connection_ap_attach_pending() use a list
only of the pending connections, so we can call it much more
frequently. We have a separate function to scan the whole
connection array to see if we missed adding anything, and log a
warning if so.
Closes ticket #17590
2015-11-17 08:53:34 -05:00
Nick Mathewson
b91bd27e6f
Whoops; in this context the EV_TIMEOUT flag is needed
2015-11-17 08:53:16 -05:00
Nick Mathewson
c113d19b53
Merge branch 'bug3199_redux_3'
2015-11-17 08:27:42 -05:00
Nick Mathewson
661e5bdbfa
Changes to 3199 branch based on feedback from special
2015-11-17 08:26:04 -05:00
Nick Mathewson
eb721ed2d9
Add documentation for periodic event api
2015-11-16 10:40:23 -05:00
teor (Tim Wilson-Brown)
d3b7546753
Add a missing "if" in the comment on warn_nonlocal_controller_ports
...
Also reflow all the lines of that comment so that they're under
the maximum width.
2015-11-16 16:27:11 +11:00
teor (Tim Wilson-Brown)
dd82550a5e
Add missing " in AccountingMax comment in or.h
2015-11-16 12:34:53 +11:00
Nick Mathewson
dd00fd0a1f
Change periodic.c to use libevent directly
...
Libevent's periodic timers aren't the right solution when the
timeout potentially changes every time.
2015-11-13 16:25:40 -05:00
Nick Mathewson
65a6489e5e
fix whitespace; remove dead code
2015-11-13 16:24:45 -05:00
Nick Mathewson
2bf8fb5ee3
Fold all of the run-every-second stuff back into run_scheduled_events()
2015-11-13 16:24:45 -05:00
Nick Mathewson
9f31908a40
Turn all of run_scheduled_events() into a bunch of periodic events
...
This patch is designed to look good when you see it through 'diff -b':
it mostly leaves entries in the same order, and leaves the code unmodified.
2015-11-13 16:24:45 -05:00
Nick Mathewson
e8b459a2fa
Connect periodic events to main
2015-11-13 16:24:44 -05:00
Kevin Butler
fbeff307f7
Infrastructure for replacing global periodic events in main.c
...
(This is from Kevin's bug3199 patch series; nick extracted it into
a new file and changed the interface a little, then did some API
tweaks on it.)
2015-11-13 16:24:44 -05:00
Nick Mathewson
7a940fac1c
appease check-spaces
2015-11-13 13:46:47 -05:00
Nick Mathewson
d467227323
Merge remote-tracking branch 'public/ticket11150_client_only'
2015-11-13 09:58:16 -05:00
Nick Mathewson
accb726db6
Remove a little duplicated code in TAP key expansion
...
patch from pfrankw; closes 17587.
2015-11-13 09:46:32 -05:00
Nick Mathewson
43609fba77
fix an email address in doc/HACKING/ReleasingTor.md
2015-11-13 09:01:55 -05:00
Nick Mathewson
14d2ff1a3e
Merge commit '741d2dc685a0e380bc4d8fbcda5a33b70272b3f7'
2015-11-13 08:42:31 -05:00
Nick Mathewson
7bdbcdaed8
Merge commit '7b859fd8c558c9cf08add79db87fb1cb76537535'
2015-11-13 08:42:20 -05:00
Nick Mathewson
741d2dc685
Bump to 0.2.7.5
2015-11-13 08:41:30 -05:00
Nick Mathewson
f7ccc9b975
Merge branch 'decouple_circuit_mark_squashed'
2015-11-12 14:20:24 -05:00
Nick Mathewson
8b4e5b7ee9
Experimentally decouple the main body of circuit_mark_for_close
2015-11-12 14:20:16 -05:00
Joan Queralt
b370052ae4
+ and / usage clarification - Fixes #13158
2015-11-12 14:01:00 -05:00
Nick Mathewson
d20a3d07e3
Merge branch 'karsten_bug13192_026_03_teor'
2015-11-12 11:40:58 -05:00
Nick Mathewson
1f7ba115a4
Rename cast_double_to_int64 to clamp_double_to_int64
2015-11-12 11:33:48 -05:00
Nick Mathewson
0694263b75
Make round_to_next_multiple_of always round upwards.
...
Yes, even if it has to return a non-multiple. This prevents us from
ever having a bug where we try to use it for allocation, and under-allocate.
2015-11-12 11:32:14 -05:00
Nick Mathewson
0a3eed5f20
Merge branch 'bug17549'
2015-11-10 10:40:31 -05:00
Nick Mathewson
05c34b3330
appease check-spaces
2015-11-10 10:40:19 -05:00
Nick Mathewson
39e8fa81f7
every version of openssl we support has SSL_get_state
2015-11-10 10:14:58 -05:00
Nick Mathewson
3aebeeffa5
Every openssl we support has ERR_remove_thread_state
2015-11-10 10:13:04 -05:00
Nick Mathewson
c32a43a4d2
Move openssl version compatibility defines into a new header.
2015-11-10 10:02:21 -05:00
teor (Tim Wilson-Brown)
0d5a439292
Mark fallback directoriess as too busy after a 503 response
...
Mark fallback directory mirrors as "too busy" when they return
a 503 response. Previously, the code just marked authorities as busy.
Unless clients set their own fallback directories, they will never see
this bug. (There are no default fallbacks yet.)
Fixes bug 17572; bugfix on 5c51b3f1f0
released in 0.2.4.7-alpha.
Patch by "teor".
2015-11-10 09:47:48 +11:00
Yawning Angel
6512df34a4
Fix the tortls.c unit tests to pass with OpenSSL 1.1.0-dev.
...
The string description for the states got changed slightly.
2015-11-06 19:42:39 +00:00
Yawning Angel
89cb2e467d
Fix compilation with OpenSSL 1.1.0 --enable-gcc-warnings is set.
2015-11-06 19:12:43 +00:00
Yawning Angel
3e3ec750cd
Fix compilation with OpenSSL 1.1.0-dev.
...
OpenSSL changed the API:
* 5998e29035
* b0700d2c8d
2015-11-06 19:02:56 +00:00
Nick Mathewson
af80d472f7
"And now a better patch which builds the tests if LibreSSL is used."
...
Works on the latest LibreSSL (in OpenBSD-current).
(Patch from 'rubiate' on #17253 .
2015-11-06 10:58:00 -05:00
Yawning Angel
b71f6d6a47
Fix SipHash-2-4 performance for non multiple of 8 buffers.
...
Code cribbed from Andrew Moon's Public Domain SipHash-2-4
implementation (which IMO is also cleaner).
Fixes bug 17544.
2015-11-05 18:21:43 +00:00
Nick Mathewson
5a37061885
Delete trailing whitespace in md files
2015-11-05 09:53:05 -05:00
Nick Mathewson
43ce4626f1
add release notes
2015-11-05 09:46:40 -05:00