aboutsummaryrefslogtreecommitdiff
path: root/src/or/relay.c
AgeCommit message (Collapse)Author
2015-02-23Remove lingering mempool codecypherpunks
2015-02-02Merge remote-tracking branch 'public/bug9635_warnings_025'Nick Mathewson
Conflicts: src/test/test.c
2015-01-19Make check-spaces happier.Nick Mathewson
2015-01-16Merge branch 'bug8546_squashed'Nick Mathewson
Conflicts: src/or/connection.c src/or/or.h src/or/relay.c
2015-01-16Move entry_port_cfg_t fields in entry_connection_tNick Mathewson
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-13Merge remote-tracking branch 'andrea/ticket12585_v3'Nick Mathewson
2015-01-12Fix a conversion warning on 32-bit clangNick Mathewson
2015-01-13Fix ipv4/ipv6 traffic bits on AF_UNIX socks listeners and remove hacky ↵Andrea Shepard
workarounds for brokenness
2015-01-12reindent cell_queues_check_size()Nick Mathewson
2015-01-12Merge branch 'bug13806_squashed'Nick Mathewson
Conflicts: src/or/relay.c
2015-01-12When OOM, free cached hidden service descriptors too.Nick Mathewson
2015-01-07Commit second draft of Jake's SOCKS5-over-AF_UNIX patch. See ticket #12585.Jacob Appelbaum
Signed-off-by: Andrea Shepard <andrea@torproject.org>
2015-01-06Merge remote-tracking branch 'public/feature11791'Nick Mathewson
2015-01-02Bump copyright dates to 2015, in case someday this matters.Nick Mathewson
2014-11-27Merge remote-tracking branch 'andrea/cmux_refactor_configurable_threshold'Nick Mathewson
Conflicts: src/or/or.h src/test/Makefile.nmake
2014-11-17Use smaller zlib objects when under memory pressureNick Mathewson
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-10-28Add another year to our copyright dates.Nick Mathewson
Because in 95 years, we or our successors will surely care about enforcing the BSD license terms on this code. Right?
2014-10-16Merge remote-tracking branch 'origin/maint-0.2.5'Nick Mathewson
2014-10-16Downgrade 'invalid result from curve25519 handshake: 4' warningNick Mathewson
Also, refactor the way we handle failed handshakes so that this warning doesn't propagate itself to "onion_skin_client_handshake failed" and "circuit_finish_handshake failed" and "connection_edge_process_relay_cell (at origin) failed." Resolves warning from 9635.
2014-10-16Downgrade 'unexpected sendme cell from client' to PROTOCOL_WARNNick Mathewson
Closes 8093.
2014-09-30Make channel_flush_from_first_active_circuit() mockableAndrea Shepard
2014-09-30Let the new scheduler handle writesAndrea Shepard
2014-09-30Implement scheduler mechanism to track lists of channels wanting cells or ↵Andrea Shepard
writes; doesn't actually drive the cell flow from it yet
2014-09-09Merge remote-tracking branch 'public/bug12700_024' into maint-0.2.5Nick Mathewson
2014-08-24Merge branch 'bug11792_1_squashed'Nick Mathewson
Conflicts: src/or/circuitlist.c
2014-08-24Count zlib buffer memory towards OOM totals.Nick Mathewson
Part of 11792. (Uses the zlib-endorsed formula for memory needs for inflate/deflate from "zconf.h".)
2014-08-20Merge branch 'bug10116_squashed'Nick Mathewson
2014-08-20Merge remote-tracking branch 'public/bug12700_024'Nick Mathewson
2014-08-18Fix relay_command_to_string(); solve 12700.Nick Mathewson
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-15Autoconvert most circuit-list iterations to smartlist iterationsNick Mathewson
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-06-14Merge branch 'bug12184_diagnostic_squashed'Nick Mathewson
2014-06-14Try to diagnose bug 12184Nick Mathewson
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-11Merge remote-tracking branch 'public/not_bug8093'Nick Mathewson
2014-06-04Bulletproof our 11246 fix a little, based on recommendation from andrea.Nick Mathewson
2014-06-01Use uint32 !=, not tor_memneq, for relay cell integrity checkingNick Mathewson
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. 59f9097d5c3dc010847c359888d31757d1c97904 introduced tor_memneq here; it went into Tor 0.2.1.31. Fixes part of 12169.
2014-05-21Eliminate #ifdef ENABLE_MEMPOOLS in packed_cell_new/free()Andrea Shepard
2014-05-12Add --disable-mempools configure optionAndrea Shepard
2014-04-02Unit tests for connection_edge_process_resolved_cellNick Mathewson
Also rename a function to be more accurate (resolve->resolved)
2014-04-02Look at all of a RESOLVED cell; not just the first answer.Nick Mathewson
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-01Extract code to handle RESOLVED cellsNick Mathewson
No other changes have been made; only code has been moved.
2014-03-14Test code for implementation of faster circuit_unlink_all_from_channelNick Mathewson
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-04Merge branch 'bug10169_025_v2'Nick Mathewson
Conflicts: src/test/test.c
2014-03-04Merge remote-tracking branch 'public/bug10169_024' into bug10169_025_v2Nick Mathewson
Conflicts: src/common/compat_libevent.h src/or/relay.c
2014-03-04Merge remote-tracking branch 'public/bug10169_023' into bug10169_024Nick Mathewson
Conflicts: src/or/relay.c
2014-02-26Monotonize the OOM-killer data timersNick Mathewson
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-25Merge remote-tracking branch 'public/no_itime_queue' into maint-0.2.4Nick Mathewson
2014-02-12Refactor OOM-handling functions for more testabilityNick Mathewson
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-12Merge remote-tracking branch 'public/bug10169_024' into bug10169_025_v2Nick Mathewson
Conflicts: src/or/circuitlist.c
2014-02-11Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson
2014-02-10Merge remote-tracking branch 'public/no_itime_queue'Nick Mathewson
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