Nick Mathewson
59a6df8882
Merge remote-tracking branch 'public/bug3122_memcmp_022' into maint-0.2.2
2011-05-12 19:25:14 -04:00
Nick Mathewson
bdff7e3299
Unmap microdesc cache before replacing it.
...
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-12 11:19:52 -04:00
Nick Mathewson
8fb38331c3
Hand-tune the new tor_memcmp instances in 0.2.2
2011-05-11 16:32:30 -04:00
Nick Mathewson
0cbcbc3412
Re-apply the automated conversion to 0.2.2 to make handle any memcmps that snuck in
2011-05-11 16:27:27 -04:00
Sebastian Hahn
1827e60976
Fix a potential null deref when rebuilding md cache
...
Issue discovered using clang's static analyzer
2011-05-09 13:19:45 -04:00
Nick Mathewson
68ae5afa5a
Change who calls microdesc_cache_rebuild().
...
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-03 17:28:28 -04:00
Nick Mathewson
cb6c909664
Rebuild the microdesc cache when a sufficient number of bytes are dropped
...
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-03 17:03:49 -04:00
Nick Mathewson
56fbd728c2
Backport microdesc_cache_clean to 0.2.2
...
Otherwise we have no way to keep authorities' microdesc caches in 0.2.2
from growing without bound.
2011-05-03 16:45:15 -04:00
Nick Mathewson
970715dd8f
Fix a check for when to rebuild the microdesc cache. (Backport from 0.2.3.
2011-05-03 16:29:39 -04:00
Nick Mathewson
698fa0fc67
Add missing code to set cache->journal_len when reading microdesc journal
...
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-05-03 16:22:31 -04:00
Nick Mathewson
30b3475e6d
Bump copyright statements to 2011 (0.2.2)
2011-01-03 11:52:09 -05:00
Karsten Loesing
15379a7254
Fix compilation with --with-dmalloc
...
Fixes 1832; bugfix on 0.2.2.6-alpha
2010-08-16 00:14:06 -04:00
Sebastian Hahn
05072723cb
Create routerparse.h
2010-07-27 10:00:46 +02:00
Sebastian Hahn
86d6bfe448
Create microdesc.h
2010-07-27 07:58:16 +02:00
Sebastian Hahn
c4f8f1316e
Create config.h
2010-07-27 07:58:14 +02:00
Nick Mathewson
da220157a9
Update copyright dates for files not in maint-0.2.1
2010-02-27 17:19:00 -05:00
Karsten Loesing
7e65871ccc
Fix a memory corruption bug while collecting bridge stats
...
We accidentally freed the internal buffer for bridge stats when we
were writing the bridge stats file or honoring a control port
request for said data. Change the interfaces for
geoip_get_bridge_stats* to prevent these problems, and remove the
offending free/add a tor_strdup.
Fixes bug 1208.
2010-01-26 11:55:43 +01:00
Nick Mathewson
a93cabd9ab
Since dump_microdescriptor() can return -1; make its type ssize_t
2010-01-24 16:24:47 -05:00
Peter Palfrader
256861023e
Handle errors reported by fwrite() in dump_microdescriptor()
...
Does not deal with error handling in dump_microdescriptor's callers.
2010-01-24 15:05:20 -05:00
Nick Mathewson
0c1b3070cf
Now that FOO_free(NULL) always works, remove checks before calling it.
2009-12-12 02:07:59 -05:00
Sebastian Hahn
740806c453
Fix compile with warnings problems on Snow Leopard
2009-10-19 01:30:46 +02:00
Nick Mathewson
bb22d8fc45
Add functions to serve microdescs and flavored consensuses.
2009-10-18 18:46:12 -04:00
Nick Mathewson
200c39b66c
Document the microdescriptor code better.
2009-10-18 18:46:12 -04:00
Nick Mathewson
d61b5df9c1
Fix various bugs in microdescriptor caching.
2009-10-18 18:46:07 -04:00
Nick Mathewson
e1ddee8bbe
Code to generate, store, and parse microdescriptors and consensuses.
...
The consensus documents are not signed properly, not served, and not
exchanged yet.
2009-10-15 15:17:13 -04:00