Nick Mathewson
4b23b398a3
Merge branch 'bug8546_squashed'
...
Conflicts:
src/or/connection.c
src/or/or.h
src/or/relay.c
2015-01-16 09:31:50 -05:00
Nick Mathewson
13dac5e463
Move entry_port_cfg_t fields in entry_connection_t
...
Also rename some options for uniformity, and apply this script:
@@
entry_connection_t *conn;
@@
conn->
+entry_cfg.
\(
isolation_flags
\|
session_group
\|
socks_prefer_no_auth
\|
ipv4_traffic
\|
ipv6_traffic
\|
prefer_ipv6
\|
cache_ipv4_answers
\|
cache_ipv6_answers
\|
use_cached_ipv4_answers
\|
use_cached_ipv6_answers
\|
prefer_ipv6_virtaddr
\)
2015-01-16 09:22:58 -05:00
Nick Mathewson
d8b7dcca8d
Merge remote-tracking branch 'andrea/ticket12585_v3'
2015-01-13 12:50:55 -05:00
Nick Mathewson
732c885b32
Fix a conversion warning on 32-bit clang
2015-01-12 22:33:10 -05:00
Andrea Shepard
cb047f4078
Fix ipv4/ipv6 traffic bits on AF_UNIX socks listeners and remove hacky workarounds for brokenness
2015-01-13 00:18:17 +00:00
Nick Mathewson
cacea9102a
reindent cell_queues_check_size()
2015-01-12 13:59:50 -05:00
Nick Mathewson
c2e200cef8
Merge branch 'bug13806_squashed'
...
Conflicts:
src/or/relay.c
2015-01-12 13:59:26 -05:00
Nick Mathewson
3033ba9f5e
When OOM, free cached hidden service descriptors too.
2015-01-12 13:47:52 -05:00
Jacob Appelbaum
8d59ddf3cb
Commit second draft of Jake's SOCKS5-over-AF_UNIX patch. See ticket #12585 .
...
Signed-off-by: Andrea Shepard <andrea@torproject.org>
2015-01-07 17:42:57 +00:00
Nick Mathewson
cf2ac8e255
Merge remote-tracking branch 'public/feature11791'
2015-01-06 13:52:54 -05:00
Nick Mathewson
f54e54b0b4
Bump copyright dates to 2015, in case someday this matters.
2015-01-02 14:27:39 -05:00
Nick Mathewson
a28df3fb67
Merge remote-tracking branch 'andrea/cmux_refactor_configurable_threshold'
...
Conflicts:
src/or/or.h
src/test/Makefile.nmake
2014-11-27 22:39:46 -05:00
Nick Mathewson
734ba5cb0a
Use smaller zlib objects when under memory pressure
...
We add a compression level argument to tor_zlib_new, and use it to
determine how much memory to allocate for the zlib object. We use the
existing level by default, but shift to smaller levels for small
requests when we have been over 3/4 of our memory usage in the past
half-hour.
Closes ticket 11791.
2014-11-17 11:43:50 -05:00
Nick Mathewson
fcdcb377a4
Add another year to our copyright dates.
...
Because in 95 years, we or our successors will surely care about
enforcing the BSD license terms on this code. Right?
2014-10-28 15:30:16 -04:00
Nick Mathewson
fc5cab4472
Merge remote-tracking branch 'origin/maint-0.2.5'
2014-10-16 13:29:14 -04:00
Nick Mathewson
ab4b29625d
Downgrade 'unexpected sendme cell from client' to PROTOCOL_WARN
...
Closes 8093.
2014-10-16 13:04:11 -04:00
Andrea Shepard
9eea42f844
Make channel_flush_from_first_active_circuit() mockable
2014-09-30 23:14:02 -07:00
Andrea Shepard
4f567c8cc8
Let the new scheduler handle writes
2014-09-30 22:49:03 -07:00
Andrea Shepard
d438cf1ec9
Implement scheduler mechanism to track lists of channels wanting cells or writes; doesn't actually drive the cell flow from it yet
2014-09-30 22:48:24 -07:00
Nick Mathewson
dd22ab519a
Merge remote-tracking branch 'public/bug12700_024' into maint-0.2.5
2014-09-09 10:51:39 -04:00
Nick Mathewson
59e114832e
Merge branch 'bug11792_1_squashed'
...
Conflicts:
src/or/circuitlist.c
2014-08-24 13:09:08 -04:00
Nick Mathewson
8e55cafd67
Count zlib buffer memory towards OOM totals.
...
Part of 11792.
(Uses the zlib-endorsed formula for memory needs for inflate/deflate
from "zconf.h".)
2014-08-24 13:04:27 -04:00
Nick Mathewson
01a0ab02a3
Merge branch 'bug10116_squashed'
2014-08-20 14:52:24 -04:00
Nick Mathewson
764cebb4d9
Merge remote-tracking branch 'public/bug12700_024'
2014-08-20 09:00:41 -04:00
Nick Mathewson
1196ed7cc4
Fix relay_command_to_string(); solve 12700.
...
Two bugs here:
1) We didn't add EXTEND2/EXTENDED2 to relay_command_to_string().
2) relay_command_to_string() didn't log the value of unrecognized
commands.
Both fixed here.
2014-08-18 13:21:40 -04:00
Nick Mathewson
6969bd9a02
Autoconvert most circuit-list iterations to smartlist iterations
...
Breaks compilation.
Used this coccinelle script:
@@
identifier c;
typedef circuit_t;
iterator name TOR_LIST_FOREACH;
iterator name SMARTLIST_FOREACH_BEGIN;
statement S;
@@
- circuit_t *c;
...
- TOR_LIST_FOREACH(c, \(&global_circuitlist\|circuit_get_global_list()\), head)
+ SMARTLIST_FOREACH_BEGIN(circuit_get_global_list(), circuit_t *, c)
S
+ SMARTLIST_FOREACH_END(c);
2014-08-15 16:23:22 -04:00
Nick Mathewson
a58d94fb7c
Merge branch 'bug12184_diagnostic_squashed'
2014-06-14 11:01:04 -04:00
Nick Mathewson
8f3e3279c1
Try to diagnose bug 12184
...
Check for consistency between the queued destroy cells and the marked
circuit IDs. Check for consistency in the count of queued destroy
cells in several ways. Check to see whether any of the marked circuit
IDs have somehow been marked longer than the channel has existed.
2014-06-14 11:00:44 -04:00
Nick Mathewson
e8dd34f165
Merge remote-tracking branch 'public/not_bug8093'
2014-06-11 09:24:16 -04:00
Nick Mathewson
b16321425f
Bulletproof our 11246 fix a little, based on recommendation from andrea.
2014-06-04 12:27:42 -04:00
Nick Mathewson
d9564d5285
Use uint32 !=, not tor_memneq, for relay cell integrity checking
...
tor_memeq has started to show up on profiles, and this is one of the
most frequent callers of that function, appearing as it does on every
cell handled for entry or exit.
59f9097d5c
introduced tor_memneq here;
it went into Tor 0.2.1.31. Fixes part of 12169.
2014-06-01 14:05:10 -04:00
Andrea Shepard
170e0df741
Eliminate #ifdef ENABLE_MEMPOOLS in packed_cell_new/free()
2014-05-21 10:53:25 -07:00
Andrea Shepard
39d4e67be8
Add --disable-mempools configure option
2014-05-12 18:23:34 -07:00
Nick Mathewson
da908a593f
Unit tests for connection_edge_process_resolved_cell
...
Also rename a function to be more accurate (resolve->resolved)
2014-04-02 15:38:00 -04:00
Nick Mathewson
c230ff4ca9
Look at all of a RESOLVED cell; not just the first answer.
...
Also, stop accepting the old kind of RESOLVED cells with no TTL
fields; they haven't been sent since 0.1.1.6-alpha.
This patch won't work without the fix to #10468 -- it will break
DNSPorts unless they set the proper ipv4/6 flags on entry_connection_t.
2014-04-02 15:38:00 -04:00
Nick Mathewson
4fb3ae69a6
Extract code to handle RESOLVED cells
...
No other changes have been made; only code has been moved.
2014-04-01 23:30:41 -04:00
Nick Mathewson
1a74360c2d
Test code for implementation of faster circuit_unlink_all_from_channel
...
This contains the obvious implementation using the circuitmux data
structure. It also runs the old (slow) algorithm and compares
the results of the two to make sure that they're the same.
Needs review and testing.
2014-03-14 11:57:51 -04:00
Nick Mathewson
ab225aaf28
Merge branch 'bug10169_025_v2'
...
Conflicts:
src/test/test.c
2014-03-04 11:03:30 -05:00
Nick Mathewson
bb37544214
Merge remote-tracking branch 'public/bug10169_024' into bug10169_025_v2
...
Conflicts:
src/common/compat_libevent.h
src/or/relay.c
2014-03-04 11:00:02 -05:00
Nick Mathewson
46118d7d75
Merge remote-tracking branch 'public/bug10169_023' into bug10169_024
...
Conflicts:
src/or/relay.c
2014-03-04 10:54:54 -05:00
Nick Mathewson
833d027778
Monotonize the OOM-killer data timers
...
In a couple of places, to implement the OOM-circuit-killer defense
against sniper attacks, we have counters to remember the age of
cells or data chunks. These timers were based on wall clock time,
which can move backwards, thus giving roll-over results for our age
calculation. This commit creates a low-budget monotonic time, based
on ratcheting gettimeofday(), so that even in the event of a time
rollback, we don't do anything _really_ stupid.
A future version of Tor should update this function to do something
even less stupid here, like employ clock_gettime() or its kin.
2014-02-26 09:51:30 -05:00
Nick Mathewson
c3800f631b
Merge remote-tracking branch 'public/no_itime_queue' into maint-0.2.4
2014-02-25 15:58:53 -05:00
Nick Mathewson
9a07ec751f
Refactor OOM-handling functions for more testability
...
This patch splits out some of the functions in OOM handling so that
it's easier to check them without involving the rest of Tor or
requiring that the circuits be "wired up".
2014-02-12 12:48:20 -05:00
Nick Mathewson
87fb1e324c
Merge remote-tracking branch 'public/bug10169_024' into bug10169_025_v2
...
Conflicts:
src/or/circuitlist.c
2014-02-12 12:44:58 -05:00
Nick Mathewson
0ee449ca92
Merge remote-tracking branch 'origin/maint-0.2.4'
2014-02-11 18:58:58 -05:00
Nick Mathewson
5b55e0e181
Merge remote-tracking branch 'public/no_itime_queue'
...
The conflicts here were tricky, and required me to eliminate the
command-queue as well. That wasn't so hard.
Conflicts:
src/or/or.h
src/or/relay.c
2014-02-10 15:04:23 -05:00
Nick Mathewson
3133cde3c1
Excise the insertion_time_elem_t logic
...
It's now redundant with the inserted_time field in packed_cell_t
Fixes bug 10870.
2014-02-10 13:55:27 -05:00
Nick Mathewson
b15f75b632
Don't treat END_STREAM_REASON_INTERNAL as total circuit failure
...
It can happen because we sent something that got an ENETUNREACH
response.
Bugfix on 0.2.4.8-alpha; fixes a part of bug 10777.
2014-02-09 21:35:14 -05:00
Nick Mathewson
5c45a333c3
Merge remote-tracking branch 'public/bug10169_023' into bug10169_024
...
Conflicts:
doc/tor.1.txt
src/or/config.c
src/or/or.h
The conflicts were all pretty trivial.
2014-01-03 10:53:22 -05:00
Nick Mathewson
e572ec856d
Rename MaxMemInCellQueues to MaxMemInQueues
2013-11-20 12:12:23 -05:00