aboutsummaryrefslogtreecommitdiff
path: root/src/or
Commit message (Collapse)AuthorAge
* Consensus method 18: Add a base64 ID digest to the microdescNick Mathewson2014-05-05
| | | | | This is a stopgap measure to make sure that microdescriptors never collide; see bug 11743.
* Don't start sandbox except for CMD_RUN_TORNick Mathewson2014-05-05
| | | | | This was crashing on --verify-config in the debian startup script, if you had sandboxing enabled. Fixes 11609; fix on 0.2.5.1-alpha.
* have only one code path for #9635 loggingNick Mathewson2014-05-01
|
* Merge remote-tracking branch 'public/bug9635'Nick Mathewson2014-05-01
|\
| * Give specific warnings when client-side onionskin handshakes failNick Mathewson2014-03-27
| | | | | | | | Fix for bug9635.
* | Merge branch 'bug11654_squashed'Nick Mathewson2014-05-01
|\ \
| * | Fix a misuse of strlcpy() introduced by the #11156 patch.George Kadianakis2014-05-01
| | |
* | | whitespace fixNick Mathewson2014-05-01
| | |
* | | Merge remote-tracking branch 'public/valgrind_tests'Nick Mathewson2014-05-01
|\ \ \
| * | | Fix leaks in dir voting testsNick Mathewson2014-04-29
| | | |
| * | | Fix memory leaks in test_circuit_timeoutNick Mathewson2014-04-26
| | | | | | | | | | | | | | | | Found with valgrind.
* | | | Merge remote-tracking branch 'public/bug4345a_024'Nick Mathewson2014-05-01
|\ \ \ \
| * | | | Check spawn_func() return valueNick Mathewson2014-01-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we don't, we can wind up with a wedged cpuworker, and write to it for ages and ages. Found by skruffy. This was a bug in 2dda97e8fd898757, a.k.a. svn revision 402. It's been there since we have been using cpuworkers.
* | | | | Merge remote-tracking branch 'public/bug10849_025'Nick Mathewson2014-05-01
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/or/config.c
| * | | | | Remove TunnelDirConns and PreferTunnelledDirConnsNick Mathewson2014-02-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These options were added back in 0.1.2.5-alpha, but no longer make any sense now that all directories support tunneled connections and BEGIN_DIR cells. These options were on by default; now they are always-on. This is a fix for 10849, where TunnelDirConns 0 would break hidden services -- and that bug arrived, I think, in 0.2.0.10-alpha.
* | | | | | Merge remote-tracking branch 'andrea/bug11476'Nick Mathewson2014-05-01
|\ \ \ \ \ \
| * | | | | | Make --disable-buf-freelists build and pass unit testsAndrea Shepard2014-04-29
| | | | | | |
* | | | | | | Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson2014-04-30
|\ \ \ \ \ \ \ | |_|_|_|_|/ / |/| | | | | |
| * | | | | | Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4Nick Mathewson2014-04-30
| |\ \ \ \ \ \
| | * \ \ \ \ \ Merge remote-tracking branch 'public/bug10849_023_bruteforce' into maint-0.2.3Nick Mathewson2014-04-30
| | |\ \ \ \ \ \
| | | * | | | | | Forbid TunneledDirConns 0 and PreferTunneledDirConns 0 if being a HSNick Mathewson2014-04-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes bug 10849; bugfix on 0.2.1.1-alpha (I believe)
| * | | | | | | | Drop the MaxMemInCellQueues lower limit down to 256 MB.Nick Mathewson2014-04-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | on #9686, gmorehose reports that the 500 MB lower limit is too high for raspberry pi users. This is a backport of 647248729fa65f0e51d062e2af8f4e8b38592bf5 to 0.2.4. Note that in 0.2.4, the option is called MaxMemInCellQueues.
* | | | | | | | | Quench gcc's complaints about discarding constness in TO_ORIGIN_CIRCUIT.dana koch2014-04-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was previously satisfied by using a temporary variable, but there are three other instances in circuitlist.c that gcc is now bothered by, so now introduce a CONST_TO_ORIGIN_CIRCUIT that takes a const circuit_t instead.
* | | | | | | | | Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson2014-04-29
|\| | | | | | | | | |_|_|/ / / / / |/| | | | | | |
| * | | | | | | Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4Nick Mathewson2014-04-29
| |\| | | | | |
| | * | | | | | Stop leaking memory in error cases of md parsingNick Mathewson2014-04-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When clearing a list of tokens, it's important to do token_clear() on them first, or else any keys they contain will leak. This didn't leak memory on any of the successful microdescriptor parsing paths, but it does leak on some failing paths when the failure happens during tokenization. Fixes bug 11618; bugfix on 0.2.2.6-alpha.
| * | | | | | | Merge remote-tracking branch 'public/bug9229_024' into maint-0.2.4Nick Mathewson2014-04-23
| |\ \ \ \ \ \ \
| | * | | | | | | Update ns downloads when we receive a bridge descriptorNick Mathewson2014-03-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This prevents long stalls when we're starting with a state file but with no bridge descriptors. Fixes bug 9229. I believe this bug has been present since 0.2.0.3-alpha.
* | | | | | | | | Fix capitalization of MaxMemInQueuesNick Mathewson2014-04-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This won't affect anybody's configuration, but it makes it match what we documented. Fixes part of 11634.
* | | | | | | | | Actually put ExtORPortCookieAuthFile into config.cNick Mathewson2014-04-28
| |_|_|_|_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | Fixes bug 11635; bugfix on 0.2.5.1-alpha.
* | | | | | | | Merge branch 'scanbuild_fixes'Nick Mathewson2014-04-25
|\ \ \ \ \ \ \ \
| * | | | | | | | scan-build: sizeof(ptr*) in a debugging log in ext_orport.cNick Mathewson2014-04-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of taking the length of a buffer, we were taking the length of a pointer, so that our debugging log would cover only the first sizeof(void*) bytes of the client nonce.
| * | | | | | | | scan-build: bulletproof last-chance errormsg generation in rendservice.cNick Mathewson2014-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If 'intro' is NULL in these functions, I'm pretty sure that the error message must be set before we hit the end. But scan-build doesn't notice that, and is worried that we'll do a null-pointer dereference in the last-chance errormsg generation.
| * | | | | | | | scan-build: Have clear_pending_onions walk the lists more obviouslyNick Mathewson2014-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As it stands, it relies on the fact that onion_queue_entry_remove will magically remove each onionskin from the right list. This patch changes the logic to be more resilient to possible bugs in onion_queue_entry_remove, and less confusing to static analysis tools.
| * | | | | | | | scan-build: in cpuworker, initialize tv_startNick Mathewson2014-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | scan-build doesn't realize that a request can't be timed at the end unless it's timed at the start, and so it's not possible for us to be subtracting start from end without start being set. Nevertheless, let's not confuse it.
| * | | | | | | | scan-build: get_proxy_addrport should always set its outputsNick Mathewson2014-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When get_proxy_addrport returned PROXY_NONE, it would leave addr/port unset. This is inconsistent, and could (if we used the function in a stupid way) lead to undefined behavior. Bugfix on 5b050a9b0, though I don't think it affects tor-as-it-is.
| * | | | | | | | scan-build: when logging a path length, check build_state.Nick Mathewson2014-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Throughout circuituse, when we log about a circuit, we log its desired path length from build_state. scan-build is irrationally concerned that build_state might be NULL.
| * | | | | | | | scan-build: Be consistent with a needless check in circuitmux.cNick Mathewson2014-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In circuitmux_detach_all_circuits, we check whether an HT iterator gives us NULL. That should be impossible for an HT iterator. But our checking it has confused scan-build (justly) into thinking that our later use of HT_NEXT_RMV might not be kosher. I'm taking the coward's route here and strengthening the check. Bugfix on fd31dd44. (Not a real bug though)
| * | | | | | | | scan-build: Avoid crashing on BUG in circuit_get_by_rend_token_and_purposeNick Mathewson2014-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we fail in circuit_get_by_rend_token_and_purpose because the circuit has no rend_info, don't try to reference fiends from its rend_info when logging an error. Bugfix on 8b9a2cb68, which is going into Tor 0.2.5.4-alpha.
| * | | | | | | | scan-build: circuit_cpath_support_ntor had a dead initializationNick Mathewson2014-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were initializing cpath twice, which doesn't make sense.
| * | | | | | | | scan-build: check impossible null-pointer case in buffers.cNick Mathewson2014-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When maintaining buffer freelists, we don't skip more than there are, so (*chp) can't be null to begin with. scan-build has no way to know that.
* | | | | | | | | whitespace fixNick Mathewson2014-04-24
| | | | | | | | |
* | | | | | | | | Merge remote-tracking branch 'public/bug11553_025'Nick Mathewson2014-04-24
|\ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ Merge remote-tracking branch 'public/bug11553_024' into bug11553_025Nick Mathewson2014-04-23
| |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/or/circuitbuild.c
| | * | | | | | | | | Improvements to #11553 fix based on reviewNick Mathewson2014-04-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use a per-channel ratelim_t to control the rate at which we report failures for each channel. Explain why I picked N=32. Never return a zero circID. Thanks to Andrea and to cypherpunks.
| * | | | | | | | | | Merge remote-tracking branch 'public/bug11553_024' into bug11553_025Nick Mathewson2014-04-18
| |\| | | | | | | | |
| | * | | | | | | | | Add a rate-limiter for the other circuitID exhaustion warningNick Mathewson2014-04-18
| | | | | | | | | | |
| * | | | | | | | | | Diagnostic warning to see if it's pending destroys causing 11553Nick Mathewson2014-04-18
| | | | | | | | | | |
| * | | | | | | | | | Merge remote-tracking branch 'public/bug11553_024' into bug11553_025Nick Mathewson2014-04-18
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/or/channel.h
| | * | | | | | | | | Switch to random allocation on circuitIDs.Nick Mathewson2014-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes a possible root cause of 11553 by only making 64 attempts at most to pick a circuitID. Previously, we would test every possible circuit ID until we found one or ran out. This algorithm succeeds probabilistically. As the comment says: This potentially causes us to give up early if our circuit ID space is nearly full. If we have N circuit IDs in use, then we will reject a new circuit with probability (N / max_range) ^ MAX_CIRCID_ATTEMPTS. This means that in practice, a few percent of our circuit ID capacity will go unused. The alternative here, though, is to do a linear search over the whole circuit ID space every time we extend a circuit, which is not so great either. This makes new vs old clients distinguishable, so we should try to batch it with other patches that do that, like 11438.