summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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-10Merge branch 'maint-0.2.1' into maint-0.2.2Roger Dingledine
2011-05-10Update to the May 1 2011 Maxmind GeoLite Country databaseRoger Dingledine
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
2011-04-28stop putting wacky values into state->lastwrittenRoger Dingledine
2011-04-28Clarify comment to say which version fixed 2722Nick Mathewson
2011-04-28Merge remote-tracking branches 'rransom/bug2722' and 'rransom/bug2722b' into ↵Nick Mathewson
maint-0.2.2
2011-04-28Merge remote-tracking branch 'sebastian/bug3020' into maint-0.2.2Nick Mathewson
2011-04-28fix a function commentRoger Dingledine
2011-04-29Correctly check elapsed time in last hibernation periodSebastian Hahn
Fix bug 3020.
2011-04-28Avoid false positives from proxy_mode()Nick Mathewson
Previously it would erroneously return true if ListenAddr was set for a client port, even if that port itself was 0. This would give false positives, which were not previously harmful... but which were about to become.
2011-04-28Fix bug 1930Robert Ransom
2011-04-28Ignore SIGNAL NEWNYM on relay-only Tor instancesRobert Ransom
2011-04-28Don't allow v0 HS auths to act as clientsRobert Ransom
A v0 HS authority stores v0 HS descriptors in the same descriptor cache that its HS client functionality uses. Thus, if the HS authority operator clears its client HS descriptor cache, ALL v0 HS descriptors will be lost. That would be bad.
2011-04-28Correct the logic from f14754fbd for tor_gmtime_rJohn Brooks
2011-04-28Detect and handle NULL returns from (gm/local)time_rNick Mathewson
These functions can return NULL for otherwise-valid values of time_t. Notably, the glibc gmtime manpage says it can return NULL if the year if greater than INT_MAX, and the windows MSDN gmtime page says it can return NULL for negative time_t values. Also, our formatting code is not guaranteed to correctly handle years after 9999 CE. This patch tries to correct this by detecting NULL values from gmtime/localtime_r, and trying to clip them to a reasonable end of the scale. If they are in the middle of the scale, we call it a downright error. Arguably, it's a bug to get out-of-bounds dates like this to begin with. But we've had bugs of this kind in the past, and warning when we see a bug is much kinder than doing a NULL-pointer dereference. Boboper found this one too.
2011-04-28Merge remote-tracking branch 'sebastian/bug2497' into maint-0.2.2Nick Mathewson
2011-04-28Clean up merge of bug3k_021Robert Ransom
2011-04-28Merge branch 'bug3k_021' into bug3k_022Sebastian Hahn
Conflicts: src/or/or.h src/or/rendclient.c
2011-04-28Fix a failure case of connection_ap_handshake_attach_circuit()Sebastian Hahn
tor_fragile_assert() might be a no-op, so we have to return something here to indicate failure to the caller.
2011-04-28Fix a bug introduced by purging rend_cache on NEWNYMRobert Ransom
If the user sent a SIGNAL NEWNYM command after we fetched a rendezvous descriptor, while we were building the introduction-point circuit, we would give up entirely on trying to connect to the hidden service. Original patch by rransom slightly edited to go into 0.2.1