aboutsummaryrefslogtreecommitdiff
path: root/src/or
AgeCommit message (Collapse)Author
2011-05-13When TrackExitHosts changes, remove all no-longer-valid mappingsNick Mathewson
This bug couldn't happen when TrackExitHosts changed in torrc, since the SIGHUP to reload the torrc would clear out all the transient addressmap entries before. But if you used SETCONF to change TrackExitHosts, old entries would be left alone: that's a bug, and so this is a bugfix on Tor 0.1.0.1-rc.
2011-05-13Raise the TrackHostExits membership code into its own functionNick Mathewson
2011-05-13Don't clear out transient addressmap entries on HUPNick Mathewson
If you really want to purge the client DNS cache, the TrackHostExits mappings, and the virtual address mappings, you should be using NEWNYM instead. Fixes bug 1345; bugfix on Tor 0.1.0.1-rc. Note that this needs more work: now that we aren't nuking the transient addressmap entries on HUP, we need to make sure that configuration changes to VirtualAddressMap and TrackHostExits actually have a reasonable effect.
2011-05-13Add a ControlPortFileGroupWritable optionNick Mathewson
2011-05-13Write automatically-chosen control ports to a file.Nick Mathewson
2011-05-13new GETINFO command to return list of listeners of a given typeNick Mathewson
2011-05-13Advertise correct DirPort/ORPort when configured with "auto"Nick Mathewson
We'll eventually want to do more work here to make sure that the ports are stable over multiple invocations. Otherwise, turning your node on and off will get you a new DirPort/ORPort needlessly.
2011-05-13Correct the signature for is_listening_on_low_port for "auto" portsNick Mathewson
2011-05-13Teach retry_listener about "auto" ports.Nick Mathewson
Otherwise, it will just immediately close any port declared with "auto" on the grounds that it wasn't configured. Now, it will allow "auto" to match any port. This means FWIW if you configure a socks port with SocksPort 9999 and then transition to SocksPort auto, the original socksport will not get closed and reopened. I'm considering this a feature.
2011-05-13"(Socks|Control|etc)Port auto" now tells Tor to open an arbitrary portNick Mathewson
This is the major part of the implementation for trac issue 3076.
2011-05-12Downgrade the "we launched 10 circuits for this stream" message. (See bug 3080)Nick Mathewson
2011-05-12Merge remote-tracking branch 'public/bug3122_memcmp_022' into maint-0.2.2Nick Mathewson
2011-05-12Fixes ticket #2503mikey99
HTTPS error code 403 is now reported as: "The https proxy refused to allow connection". Used a switch statement for additional error codes to be explained in the future.
2011-05-12Unmap microdesc cache before replacing it.Nick Mathewson
If we do a replace-then-munmap, windows will never actually rewrite the microdesc cache. Found by wanoskarnet; bugfix on 0.2.2.6-alpha.
2011-05-12Merge branch 'bug1352' into maint-0.2.2Nick Mathewson
2011-05-11Merge remote-tracking branch 'origin/maint-0.2.1' into maint-0.2.2Nick Mathewson
2011-05-11Fix crash when read_file_to_string() fails in SAVECONFNick Mathewson
The new behavior is to try to rename the old file if there is one there that we can't read. In all likelihood, that will fail too, but at least we tried, and at least it won't crash.
2011-05-11Hand-tune the new tor_memcmp instances in 0.2.2Nick Mathewson
2011-05-11Re-apply the automated conversion to 0.2.2 to make handle any memcmps that ↵Nick Mathewson
snuck in
2011-05-11Merge remote-tracking branch 'public/3122_memcmp_squashed' into ↵Nick Mathewson
bug3122_memcmp_022 Conflicts throughout. All resolved in favor of taking HEAD and adding tor_mem* or fast_mem* ops as appropriate. src/common/Makefile.am src/or/circuitbuild.c src/or/directory.c src/or/dirserv.c src/or/dirvote.c src/or/networkstatus.c src/or/rendclient.c src/or/rendservice.c src/or/router.c src/or/routerlist.c src/or/routerparse.c src/or/test.c
2011-05-11Hand-conversion and audit phase of memcmp transitionNick Mathewson
Here I looked at the results of the automated conversion and cleaned them up as follows: If there was a tor_memcmp or tor_memeq that was in fact "safe"[*] I changed it to a fast_memcmp or fast_memeq. Otherwise if there was a tor_memcmp that could turn into a tor_memneq or tor_memeq, I converted it. This wants close attention. [*] I'm erring on the side of caution here, and leaving some things as tor_memcmp that could in my opinion use the data-dependent fast_memcmp variant.
2011-05-11Automated conversion of memcmp to tor_memcmp/tor_mem[n]eqNick Mathewson
This commit is _exactly_ the result of perl -i -pe 's/\bmemcmp\(/tor_memcmp\(/g' src/*/*.[ch] perl -i -pe 's/\!\s*tor_memcmp\(/tor_memeq\(/g' src/*/*.[ch] perl -i -pe 's/0\s*==\s*tor_memcmp\(/tor_memeq\(/g' src/*/*.[ch] perl -i -pe 's/0\s*!=\s*tor_memcmp\(/tor_memneq\(/g' src/*/*.[ch] git checkout src/common/di_ops.[ch] git checkout src/or/test.c git checkout src/common/test.h
2011-05-11Add a data-independent variant of memcmp and a d-i memeq function.Nick Mathewson
The tor_memcmp code is by Robert Ransom, and the tor_memeq code is by me. Both incorporate some ideas from DJB's stuff.
2011-05-09Merge remote-tracking branch 'public/bug3022_v2' into maint-0.2.2Nick Mathewson
2011-05-09Remove some dead code, found by clangSebastian Hahn
2011-05-09Remove a duplicated line, found by clangSebastian Hahn
2011-05-09Fix potential null pointer deref during dirvoteSebastian Hahn
Found by using clang's analyzer.
2011-05-09Fix a potential null deref when rebuilding md cacheSebastian Hahn
Issue discovered using clang's static analyzer
2011-05-09CONN_LOG_PROTECT()'s first argument may not be 0Sebastian Hahn
Make that explicit by adding an assert and removing a null-check. All of its callers currently depend on the argument being non-null anyway. Silences a few clang complaints.
2011-05-09Appease clang - and my tortured mindSebastian Hahn
This possible div by 0 warning from clang's analyzer was quite fun to track down. Turns out the current behaviour is safe.
2011-05-09Add an assert to un-confuse clang's analyzerSebastian Hahn
The analyzer assumed that bootstrap_percent could be less than 0 when we call control_event_bootstrap_problem(), which would mean we're calling log_fn() with undefined values. The assert makes it clear this can't happen.
2011-05-09Fix a docstringSebastian Hahn
2011-05-05Fix up some check-spaces issuesNick Mathewson
2011-05-04Merge remote-tracking branch 'rransom/bug3106' into maint-0.2.2Nick Mathewson
2011-05-04Handle crypto_pk_get_digest failures semi-sensiblyRobert Ransom
Fixes bug 3106.
2011-05-04Merge remote-tracking branch 'sebastian/win_warning' into maint-0.2.2Nick Mathewson
2011-05-05Fix compile warning on windowsSebastian Hahn
2011-05-03Fix circuit_list_path_impl(): internal circuits do not have an "exit". ↵Nick Mathewson
Trivial fix for 3079.
2011-05-03Change who calls microdesc_cache_rebuild().Nick Mathewson
Previously we ensured that it would get called periodically by doing it from inside the code that added microdescriptors. That won't work though: it would interfere with our code that tried to read microdescs from disk initially. Instead, we should consider rebuilding the cache periodically, and on startup.
2011-05-03Rebuild the microdesc cache when a sufficient number of bytes are droppedNick Mathewson
Previously on 0.2.2, we'd never clean the cache. Now that we can clean it, we want to add a condition to rebuild it: that should happen whenever we have dropped enough microdescriptors that we could save a lot of space. No changes file, since 0.2.3 doesn't need one and 0.2.2 already has some changes files for the backport of the microdesc_clean_cahce() function.
2011-05-03Backport microdesc_cache_clean to 0.2.2Nick Mathewson
Otherwise we have no way to keep authorities' microdesc caches in 0.2.2 from growing without bound.
2011-05-03Fix a check for when to rebuild the microdesc cache. (Backport from 0.2.3.Nick Mathewson
2011-05-03Add missing code to set cache->journal_len when reading microdesc journalNick Mathewson
This could be one reason that authorities' journals would grow without bound; related to bug 2230. Bugfix on 0.2.2.6-alpha. Fix by "cypherpunks".
2011-04-29Clean up a warning a bitNick Mathewson
2011-04-28Rate-limit v2 networkstatus download fail warningsNick Mathewson
This fixes part of 1352. We don't care deeply about these warnings, since v2 networkstatuses aren't a big deal.
2011-04-28Rename connection_dir_download_networkstatus_failed: be clear that it means v2Nick Mathewson
2011-04-28Merge remote-tracking branch 'arma/bug3012' into maint-0.2.2Nick Mathewson
2011-04-28relays checkpoint their state file twice a dayRoger Dingledine
2011-04-28Only authorities should automatically download v2 networkstatus documentsNick Mathewson
Clients and relays haven't used them since early 0.2.0.x. The only remaining use by authorities learning about new relays ahead of scedule; see proposal 147 for what we intend to do about that. We're leaving in an option (FetchV2Networkstatus) to manually fetch v2 networkstatuses, because apparently dnsel and maybe bwauth want them. This fixes bug 3022.
2011-04-28Merge remote-tracking branch 'arma/bug3039' into maint-0.2.2Nick Mathewson