summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2016-09-23Bump to 0.2.9.3-alpha-devNick Mathewson
2016-09-23Merge branch 'maint-0.2.8'Nick Mathewson
2016-09-23Merge remote-tracking branch 'teor/broken-028-fallbacks' into maint-0.2.8Nick Mathewson
2016-09-22Remove another fallback whose operator opted-outteor
2016-09-22bump master to 0.2.9.3-alphaNick Mathewson
2016-09-22Update versions to 0.2.8.8Nick Mathewson
2016-09-22Merge branch 'maint-0.2.8'Nick Mathewson
2016-09-22Merge branch 'bug20203_027_squashed' into maint-0.2.8Nick Mathewson
2016-09-22When clearing cells from a circuit for OOM reasons, tell cmux we did so.Nick Mathewson
Not telling the cmux would sometimes cause an assertion failure in relay.c when we tried to get an active circuit and found an "active" circuit with no cells. Additionally, replace that assert with a test and a log message. Fix for bug 20203. This is actually probably a bugfix on 0.2.8.1-alpha, specifically my code in 8b4e5b7ee902fb7fa0776 where I made circuit_mark_for_close_() do less in order to simplify our call graph. Thanks to "cypherpunks" for help diagnosing.
2016-09-22Coverity warning fix: let coverity tell we're closing socketsNick Mathewson
Our use of the (mockable) tor_close_socket() in the util/socket_.. tests confused coverity, which could no longer tell that we were actually closing the sockets.
2016-09-22Fix conflicting types errors for aes.c.Nick Mathewson
2016-09-21Merge remote-tracking branch 'isis/bug20201'Nick Mathewson
2016-09-21Update documentation for parse_bridge_line() in src/or/config.c.Isis Lovecruft
* FIXES #20201: https://bugs.torproject.org/20201
2016-09-20Merge branch 'maint-0.2.8'Nick Mathewson
2016-09-20Merge remote-tracking branch 'public/bug20103_028_v3' into maint-0.2.8Nick Mathewson
2016-09-20Merge branch 'maint-0.2.8'Nick Mathewson
2016-09-21fixup! Update hard-coded fallback list based on pre-0.2.9 checksteor
2016-09-20dns: Always enable DNS request for our DNSPortDavid Goulet
Commit 41cc1f612bd2112ab7cec0cc4fdeb68c26e231bf introduced a "dns_request" configuration value which wasn't set to 1 for an entry connection on the DNSPort leading to a refusal to resolve the given hostname. This commit set the dns_request flag by default for every entry connection made to the DNSPort. Fixes #20109 Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-09-20Don't look at any routerstatus_t when the networkstatus is inconsistentNick Mathewson
For a brief moment in networkstatus_set_current_consensus(), the old consensus has been freed, but the node_t objects still have dead pointers to the routerstatus_t objects within it. During that interval, we absolutely must not do anything that would cause Tor to look at those dangling pointers. Unfortunately, calling the (badly labeled!) current_consensus macro or anything else that calls into we_use_microdescriptors_for_circuits(), can make us look at the nodelist. The fix is to make sure we identify the main consensus flavor _outside_ the danger zone, and to make the danger zone much much smaller. Fixes bug 20103. This bug has been implicitly present for AGES; we just got lucky for a very long time. It became a crash bug in 0.2.8.2-alpha when we merged 35bbf2e4a4e8ccb to make find_dl_schedule start looking at the consensus, and 4460feaf2850ef0 which made node_get_all_orports less (accidentally) tolerant of nodes with a valid ri pointer but dangling rs pointer.
2016-09-20Update hard-coded fallback list based on pre-0.2.9 checksteor
2016-09-16Add support for AES256 and AES192Nick Mathewson
(This will be used by prop224)
2016-09-16Remove a needless level of indirection from crypto_cipher_tNick Mathewson
Now that crypto_cipher_t only contains a pointer, it no longer has any reason for an independent existence.
2016-09-16Simplify the crypto_cipher_t interface and structureNick Mathewson
Previously, the IV and key were stored in the structure, even though they mostly weren't needed. The only purpose they had was to support a seldom-used API where you could pass NULL when creating a cipher in order to get a random key/IV, and then pull that key/IV back out. This saves 32 bytes per AES instance, and makes it easier to support different key lengths.
2016-09-16In aes.c, support 192-bit and 256-bit keys.Nick Mathewson
Also, change the input types for aes_new_cipher to be unsigned, as they should have been all along.
2016-09-14Ensure that dir1 and dir2 are freed at the end of poisoning testNick Mathewson
Found by coverity.
2016-09-14Fix a bogus memwipe length in rend_service_load_auth_keys().Nick Mathewson
Bugfix on a4f46ff8ba43b1e635bc5a8543b9354e6de02e14. Found by Coverity.
2016-09-14Remove an extraneous parenthesis in IF_BUG_OHNCE__Nick Mathewson
Fixes bug 20141; bugfix on 0.2.9.1-alpha. Patch from Gisle Vanem.
2016-09-14Merge remote-tracking branch 'teor/feature20072'Nick Mathewson
2016-09-14Merge branch 'bug20081'Nick Mathewson
2016-09-14Add some chutney single onion networks to make test-network-allteor
This requires a recent version of chutney, with the single onion network flavours (git c72a652 or later). Closes ticket #20072.
2016-09-13Merge remote-tracking branch 'public/bug20063'Nick Mathewson
2016-09-13Fix a memory leak in options/validate__single_onionNick Mathewson
2016-09-13Fix a check-spaces warning.Nick Mathewson
2016-09-13options/validate__single_onion test: use new log capture apiNick Mathewson
I changed the API here in deb294ff532d074a7d4, to be less annoying to use.
2016-09-13Merge branch 'feature-17178-v7-squashed-v2'Nick Mathewson
2016-09-13Replace OnionService* with HiddenService* in option namesteor
And make consequential line-length adjustments.
2016-09-13Refactor Single Onion code to improve consistencyteor
* Check consistency between the two single onion torrc options * Use the more relevant option each time we check for single onion mode * Clarify log messages * Clarify comments * Otherwise, no behaviour change
2016-09-13Comments: prefer circuit_build_times_disabled() to LearnCircuitBuildTimeoutteor
2016-09-13Ephemeral Single Onion Services must have the NonAnonymous ADD_ONION flagteor
Tor checks that the flag matches the configured onion service anonymity. Tor refuses to create unflagged onion service using ADD_ONION, if they would be non-anonymous. The error is: 512 Tor is in non-anonymous onion mode Similarly, if the NonAnonymous flag is present, and Tor has the default anonymous onion config: 512 Tor is in anonymous onion mode
2016-09-13Refactor the hidden service code to use rend_service_pathteor
And make consequential changes to make it less error-prone. No behaviour change.
2016-09-13Allow the unit tests to pass a service list to rend_service_load_all_keysteor
2016-09-13Refactor UseEntryNodes so the original configured value is preservedteor
Parse the value to UseEntryNodes_option, then set UseEntryNodes before validating options. This way, Authorities, Tor2web, and Single Onion Services don't write spurious "UseEntryNodes 0" lines to their configs. Document the fact that these tor configurations ignore UseEntryNodes in the manual page. Also reorder options validation so we modify UseEntryNodes first, then check its value against EntryNodes. And silence a warning about disabled UseEntryNodes for hidden services when we're actually in non-anonymous single onion service mode.
2016-09-13Use CircuitBuildTimeout whenever circuit_build_times_disabled is trueteor
Previously, we checked LearnCircuitBuildTimeout directly. Fixes bug #20073 in commit 5b0b51ca3 on tor 0.2.4.12-alpha.
2016-09-13Fix a typo in a comment in rend_consider_services_intro_pointsteor
2016-09-13Fix a typo in the LearnCircuitBuildTimeout disabled log messageteor
2016-09-13When LearnCircuitBuildTimeout is disabled by other options, be quieterteor
2016-09-13Remove a duplicate non-anonymous warning log messageteor
We log this message every time we validate tor's options. There's no need to log a duplicate in main() as well. (It is impossible to run main() without validating our options.)
2016-09-13Refactor crypto init to use existing options variableteor (Tim Wilson-Brown)
2016-09-13Make Tor2web work with ReachableAddresses and CRN_DIRECT_CONNteor
The changes in #19973 fixed ReachableAddresses being applied too broadly, but they also broke Tor2web (somewhat unintentional) compatibility with ReachableAddresses. This patch restores that functionality, which makes intro and rend point selection is consistent between Tor2web and Single Onion Services.
2016-09-13Make Single Onion Service intro points respect ReachableAddressesteor