summaryrefslogtreecommitdiff
path: root/src/or
AgeCommit message (Collapse)Author
2018-01-31hs-v3: Remove a BUG() when storing a descriptor in the client cacheDavid Goulet
It is possible in normal circumstances that a client fetches a descriptor that has a lower revision counter than the one in its cache. This can happen due to HSDir desync. Fixes #24976 Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-01-31Merge branch 'maint-0.3.1' into maint-0.3.2Nick Mathewson
2018-01-31But in most Earth cultures, there are 60s in a minute.Nick Mathewson
2018-01-31Merge branch 'maint-0.3.1' into maint-0.3.2Nick Mathewson
2018-01-31add a rate-limit.Nick Mathewson
2018-01-31Merge branch 'maint-0.3.1' into maint-0.3.2Nick Mathewson
2018-01-26When a tor_cert_T check fails, log the reason why.Nick Mathewson
Diagnostic attempt for 24972.
2018-01-26If out-of-disk when saving a consensus cache entry, don't BUG.Nick Mathewson
Just warn instead. Fixes bug 24859.
2018-01-19Merge branch 'bug24895_031_02' into bug24895_032_02David Goulet
2018-01-19Merge branch 'bug24895_029_02' into bug24895_031_02David Goulet
2018-01-19hs: Use hs_service_max_rdv_failures consensus param, defaulting to 2Roger Dingledine
2018-01-19turn MAX_REND_FAILURES into a functionRoger Dingledine
no actual changes in behavior
2018-01-19MAX_REND_FAILURES is 1, but we would try three timesRoger Dingledine
Fix an "off by 2" error in counting rendezvous failures on the onion service side. While we thought we would stop the rendezvous attempt after one failed circuit, we were actually making three circuit attempts before giving up. Fixes bug 24895; bugfix on 0.0.6.
2018-01-18Merge branch 'maint-0.3.1' into maint-0.3.2Nick Mathewson
2018-01-18Merge branch 'bug24826_031' into maint-0.3.1Nick Mathewson
2018-01-17Merge branch 'maint-0.3.1' into maint-0.3.2Nick Mathewson
2018-01-16Improve fragile-hardening performance of consensus_split_lines.Nick Mathewson
For whatever reason, in my testing, using memchr() here improves performance over strchr() by a great deal. Fixes bug 24826; bugfix on 0.3.1.1-alpha.
2018-01-15Remove false positives from channel_is_client()Roger Dingledine
Fix a set of false positives where relays would consider connections to other relays as being client-only connections (and thus e.g. deserving different link padding schemes) if those relays fell out of the consensus briefly. Now we look only at the initial handshake and whether the connection authenticated as a relay. Fixes bug 24898; bugfix on 0.3.1.1-alpha.
2018-01-15v3 onion services now obey MAX_REND_FAILURESRoger Dingledine
New-style (v3) onion services now obey the "max rendezvous circuit attempts" logic. Previously they would make as many rendezvous circuit attempts as they could fit in the MAX_REND_TIMEOUT second window before giving up. Fixes bug 24894; bugfix on 0.3.2.1-alpha.
2018-01-08Merge branch 'maint-0.3.0' into maint-0.3.1Nick Mathewson
2018-01-08Merge branch 'maint-0.3.1' into maint-0.3.2Nick Mathewson
2018-01-08Merge branch 'maint-0.2.9' into maint-0.3.0Nick Mathewson
2018-01-08Add 7 other fallback dirs from teor's testsNick Mathewson
These are from "fallback_dirs_2018_01_06_2323_UTC_44aa1adf35_AU.inc"
2018-01-08Update the fallback_dirs.inc file: part 1Nick Mathewson
This takes the updated fallback_dirs_2018_01_06_CA.inc from pastly's scan.
2018-01-05Merge branch 'maint-0.3.0' into maint-0.3.1Nick Mathewson
2018-01-05Merge branch 'maint-0.2.9' into maint-0.3.0Nick Mathewson
2018-01-05Merge branch 'maint-0.3.1' into maint-0.3.2Nick Mathewson
2018-01-05Merge branch 'teor_ticket24681_028' into maint-0.2.9Nick Mathewson
2018-01-05fix a wide lineNick Mathewson
2018-01-03Fix some shadowed-global warnings.Nick Mathewson
These are all about local variables shadowing global functions. That isn't normally a problem, but at least one compiler we care about seems to treat this as a case of -Wshadow violation, so let's fix it. Fixes bug 24634; bugfix on 0.3.2.1-alpha.
2018-01-02Merge branch 'maint-0.3.0' into maint-0.3.1Nick Mathewson
2018-01-02Merge branch 'maint-0.2.9' into maint-0.3.0Nick Mathewson
2018-01-02Merge branch 'maint-0.3.1' into maint-0.3.2Nick Mathewson
2018-01-02Merge remote-tracking branch 'teor/bug24736_028' into maint-0.2.9Nick Mathewson
2017-12-25Clear the address when we can't choose a reachable addressteor
When the fascist_firewall_choose_address_ functions don't find a reachable address, set the returned address to the null address and port. This is a precautionary measure, because some callers do not check the return value. Fixes bug 24736; bugfix on 0.2.8.2-alpha.
2017-12-23Make the default DirAuthorityFallbackRate 0.1teor
This makes clients on the public tor network prefer to bootstrap off fallback directory mirrors. This is a follow-up to 24679, which removed weights from the default fallbacks. Implements ticket 24681.
2017-12-21Merge remote-tracking branch 'dgoulet/bug24671_032_01' into maint-0.3.2Nick Mathewson
2017-12-21Merge branch 'maint-0.3.1' into maint-0.3.2Nick Mathewson
2017-12-21Merge branch 'maint-0.3.0' into maint-0.3.1Nick Mathewson
2017-12-21Merge branch 'maint-0.2.9' into maint-0.3.0Nick Mathewson
2017-12-21Use monotime_coarse_absolute_msec() in destroy queueNick Mathewson
This way it will match the insert queue in 029 and later.
2017-12-21Merge branch 'maint-0.2.8' into maint-0.2.9Nick Mathewson
2017-12-21Merge branch 'maint-0.2.5' into maint-0.2.8maint-0.2.8Nick Mathewson
2017-12-21Move destroy cells into a separate queue type of their own, to save RAMNick Mathewson
We've been seeing problems with destroy cells queues taking up a huge amount of RAM. We can mitigate this, since while a full packed destroy cell takes 514 bytes, we only need 5 bytes to remember a circuit ID and a reason. Fixes bug 24666. Bugfix on 0.2.5.1-alpha, when destroy cell queues were introduced.
2017-12-21clarify a commentNick Mathewson
2017-12-21sched: Consider extra_space even if negative in KISTDavid Goulet
With extra_space negative, it means that the "notsent" queue is quite large so we must consider that value with the current computed tcp_space. If we end up to have negative space, we should not add more data to the kernel since the notsent queue is just too filled up. Fixes #24665 Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-12-20sched: Use lower layer cell limit with KISTLiteDavid Goulet
Instead of using INT_MAX as a write limit for KISTLite, use the lower layer limit which is using the specialized num_cells_writeable() of the channel that will down the line check the connection's outbuf and limit it to 32KB (OR_CONN_HIGHWATER). That way we don't take the chance of bloating the connection's outbuf and we keep the cells in the circuit queue which our OOM handler can take care of, not the outbuf. Finally, this commit adds a log_debug() in the update socket information function of KIST so we can get the socket information in debug. Fixes #24671 Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-12-20Merge remote-tracking branch 'dgoulet/ticket24425_032_01' into maint-0.3.2Nick Mathewson
2017-12-12Merge branch 'bug24367_032_squashed' into maint-0.3.2Nick Mathewson
2017-12-12Make sure bridges are definitely running before delaying directory fetchesteor
Retry directory downloads when we get our first bridge descriptor during bootstrap or while reconnecting to the network. Keep retrying every time we get a bridge descriptor, until we have a reachable bridge. Stop delaying bridge descriptor fetches when we have cached bridge descriptors. Instead, only delay bridge descriptor fetches when we have at least one reachable bridge. Fixes bug 24367; bugfix on 0.2.0.3-alpha.