aboutsummaryrefslogtreecommitdiff
path: root/src/or
AgeCommit message (Collapse)Author
2015-01-07Merge remote-tracking branch 'origin/maint-0.2.5'Nick Mathewson
2015-01-07Enlarge the buffer for a line in a bw fileSebastian Hahn
2015-01-06Spelling -- readyness->readiness.Nick Mathewson
2015-01-06Merge remote-tracking branch 'public/bug13661_025'Nick Mathewson
2015-01-06Merge branch 'exitnode_10067_squashed'Nick Mathewson
Conflicts: src/or/or.h
2015-01-06Add an ExitRelay option to override ExitPolicyNick Mathewson
If we're not a relay, we ignore it. If it's set to 1, we obey ExitPolicy. If it's set to 0, we force ExitPolicy to 'reject *:*' And if it's set to auto, then we warn the user if they're running an exit, and tell them how they can stop running an exit if they didn't mean to do that. Fixes ticket 10067
2015-01-06Merge remote-tracking branch 'public/bug14116_025'Nick Mathewson
2015-01-06Merge remote-tracking branch 'public/bug12509_025'Nick Mathewson
2015-01-06Merge remote-tracking branch 'public/feature11791'Nick Mathewson
2015-01-06Merge remote-tracking branch 'tvdw/from-the-archive'Nick Mathewson
2015-01-06Whitespace fixTom van der Woerdt
2015-01-06Minor IPv6-related memory leak fixesTom van der Woerdt
2015-01-06Minor documentation fixesTom van der Woerdt
2015-01-06make "make test-stem" run stem tests on torNick Mathewson
Closes ticket 14107.
2015-01-06Don't crash on malformed EXTENDCIRCUIT.Nick Mathewson
Fixes 14116; bugfix on ac68704f in 0.2.2.9-alpha.
2015-01-05Tolerate starting up with missing hidden service directoryNick Mathewson
Fixes bug 14106; bugfix on 0.2.6.2-alpha Found by stem tests.
2015-01-04Prevent changes to other options from removing . from AutomapHostsSuffixesNick Mathewson
This happened because we changed AutomapHostsSuffixes to replace "." with "", since a suffix of "" means "match everything." But our option handling code for CSV options likes to remove empty entries when it re-parses stuff. Instead, let "." remain ".", and treat it specially when we're checking for a match. Fixes bug 12509; bugfix on 0.2.0.1-alpha.
2015-01-02Bump copyright dates to 2015, in case someday this matters.Nick Mathewson
2014-12-30Coalesce v0 and v1 fields of rend_intro_cell_tNick Mathewson
This saves a tiny bit of code, and makes a longstanding coverity false positive go away.
2014-12-30Merge remote-tracking branch 'yawning/bug13315_fixup'Nick Mathewson
2014-12-30Allow IPv4 and IPv6 addresses in SOCKS5 FQDN requests.Yawning Angel
Supposedly there are a decent number of applications that "support" IPv6 and SOCKS5 using the FQDN address type. While said applications should be using the IPv6 address type, allow the connection if SafeSocks is not set. Bug not in any released version.
2014-12-30Missing semicolon; my badNick Mathewson
2014-12-30Merge branch 'no-exit-bootstrap-squashed'Nick Mathewson
2014-12-30Fix Reachability self-tests in test networksteor
Stop assuming that private addresses are local when checking reachability in a TestingTorNetwork. Instead, when testing, assume all OR connections are remote. (This is necessary due to many test scenarios running all nodes on localhost.) This assists in bootstrapping a testing Tor network. Fixes bugs 13718 & 13924.
2014-12-30Add "internal" to some bootstrap statuses when no exits are available.teor
If the consensus does not contain Exits, Tor will only build internal circuits. In this case, relevant statuses will contain the word "internal" as indicated in the Tor control-spec.txt. When bootstrap completes, Tor will be ready to handle an application requesting an internal circuit to hidden services at ".onion" addresses. If a future consensus contains Exits, exit circuits may become available. Tor already notifies the user at "notice" level if they have no exits in the consensus, and can therefor only build internal paths. Consequential change from #13718.
2014-12-30Avoid building exit circuits from a consensus with no exitsteor
Tor can now build circuits from a consensus with no exits. But if it tries to build exit circuits, they fail and flood the logs. The circuit types in the Exit Circuits list below will only be built if the current consensus has exits. If it doesn't, only the Internal Circuits will be built. (This can change with each new consensus.) Fixes bug #13814, causes fewer path failures due to #13817. Exit Circuits: Predicted Exit Circuits User Traffic Circuits Most AP Streams Circuits Marked Exit Build Timeout Circuits (with exits) Internal Circuits: Hidden Service Server Circuits Hidden Service Client Circuits Hidden Service AP Streams Hidden Service Intro Point Streams Circuits Marked Internal Build Timeout Circuits (with no exits) Other Circuits?
2014-12-30Allow tor to build circuits using a consensus with no exitsteor
If the consensus has no exits (typical of a bootstrapping test network), allow tor to build circuits once enough descriptors have been downloaded. When there are no exits, we always have "enough" exit descriptors. (We treat the proportion of available exit descriptors as 100%.) This assists in bootstrapping a testing Tor network. Fixes bug 13718. Makes bug 13161's TestingDirAuthVoteExit non-essential. (But still useful for speeding up a bootstrap.)
2014-12-30Check if there are exits in the consensusteor
Add router_have_consensus_path() which reports whether the consensus has exit paths, internal paths, or whether it just doesn't know. Used by #13718 and #13814.
2014-12-30Refactor count_usable_descriptors to use named enums for exit_onlyteor
count_usable_descriptors now uses named exit_only values: USABLE_DESCRIPTOR_ALL USABLE_DESCRIPTOR_EXIT_ONLY Add debug logging code for descriptor counts. This (hopefully) resolves nickm's request in bug 13718 to improve argument readability in nodelist.c.
2014-12-30Avoid excluding guards from path building in minimal test networksteor
choose_good_entry_server() now excludes current entry guards and their families, unless we're in a test network, and excluding guards would exclude all nodes. This typically occurs in incredibly small tor networks, and those using TestingAuthVoteGuard * This is an incomplete fix, but is no worse than the previous behaviour, and only applies to minimal, testing tor networks (so it's no less secure). Discovered as part of #13718.
2014-12-30Merge remote-tracking branch 'dgoulet/bug13667_025_v4'Nick Mathewson
2014-12-29Fix: mitigate as much as we can HS port scanningDavid Goulet
Make hidden service port scanning harder by sending back REASON_DONE which does not disclose that it was in fact an exit policy issue. After that, kill the circuit immediately to avoid more bad requests on it. This means that everytime an hidden service exit policy does match, the user (malicious or not) needs to build a new circuit. Fixes #13667. Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2014-12-29Merge branch 'resolvemyaddr_squashed'Nick Mathewson
2014-12-29Adding comprehensive test cases for resolve_my_address.rl1987
Also, improve comments on resolve_my_address to explain what it actually does.
2014-12-26Improve a notice message in dirvote.c. (Roger asked for this.)Nick Mathewson
2014-12-26Fix grammar in comment on running_long_enough_to_decide_unreachableteor
2014-12-26Fix a function name in a comment in config.cteor
2014-12-26Fix log messages in channeltls.cteor
Add hop number in debug "Contemplating intermediate hop..." Fix capitalisation on warn "Failed to choose an exit server"
2014-12-23Merge remote-tracking branch 'teor/bug13718-consensus-interval'Nick Mathewson
2014-12-24Fix If-Modified-Since in rapidly updating Tor networksteor
When V3AuthVotingInterval is low, decrease the delay on the If-Modified-Since header passed to directory servers. This allows us to obtain consensuses promptly when the consensus interval is very short. This assists in bootstrapping a testing Tor network. Fixes bugs 13718 & 13963.
2014-12-24Allow consensus interval of 10 seconds when testingteor
Decrease minimum consensus interval to 10 seconds when TestingTorNetwork is set. (Or 5 seconds for the first consensus.) Fix code that assumes larger interval values. This assists in quickly bootstrapping a testing Tor network. Fixes bugs 13718 & 13823.
2014-12-24Fix TestingMinExitFlagThreshold 0teor
Stop requiring exits to have non-zero bandwithcapacity in a TestingTorNetwork. Instead, when TestingMinExitFlagThreshold is 0, ignore exit bandwidthcapacity. This assists in bootstrapping a testing Tor network. Fixes bugs 13718 & 13839. Makes bug 13161's TestingDirAuthVoteExit non-essential.
2014-12-23Merge remote-tracking branch 'public/bug13811_025'Nick Mathewson
2014-12-23Fix Matthews code to actually use tmpFrancisco Blas Izquierdo Riera (klondike)
Matthew's autoaddr code returned an undecorated address when trying to check that the code didn't insert an undecorated one into the map. This patch fixes this by actually storing the undecorated address in tmp instead of buf as it was originally intended. This patch is released under the same license as the original file as long as the author iscredited. Signed-off-by: Francisco Blas Izquierdo Riera (klondike) <klondike@gentoo.org>
2014-12-23Fix compilation on platforms without IP6T_SO_ORIGINAL_DSTNick Mathewson
2014-12-23Adjust systemd watchdog supportNick Mathewson
Document why we divide it by two. Check for > 0 instead of nonzero for success, since that's what the manpage says. Allow watchdog timers greater than 1 second.
2014-12-23Add support for systemd watchdog protocolMichael Scherer
It work by notifying systemd on a regular basis. If there is no notification, the daemon is restarted. This requires a version newer than the 209 version of systemd, as it is not supported before.
2014-12-23add support for systemd notification protocolMichael Scherer
This permit for now to signal readiness in a cleaner way to systemd.
2014-12-23tweak whitespace; log bad socket family if bug occursNick Mathewson
2014-12-23Use the appropriate call to getsockopt for IPv6 socketsFrancisco Blas Izquierdo Riera (klondike)
The original call to getsockopt to know the original address on transparently proxyed sockets using REDIRECT in iptables failed with IPv6 addresses because it assumed all sockets used IPv4. This patch fixes this by using the appropriate options and adding the headers containing the needed definitions for these. This patch is released under the same license as the original file as long as the author iscredited. Signed-off-by: Francisco Blas Izquierdo Riera (klondike) <klondike@gentoo.org>