Commit Graph

11753 Commits

Author SHA1 Message Date
Sebastian Hahn f3003d588f Add proposal 170 "Configuration options regarding circuit building" 2010-03-03 23:56:59 -05:00
Peter Palfrader 9d3a985a83 Note an exception to when we use OutboundBindAddress 2010-03-02 12:58:50 -05:00
Nick Mathewson 9caecc1e48 Merge branch 'fix_routerparse_bug' 2010-02-28 13:48:05 -05:00
Nick Mathewson da220157a9 Update copyright dates for files not in maint-0.2.1 2010-02-27 17:19:00 -05:00
Nick Mathewson b006e3279f Merge remote branch 'origin/maint-0.2.1'
Conflicts:
	src/common/test.h
	src/or/test.c
2010-02-27 17:16:31 -05:00
Nick Mathewson c3e63483b2 Update Tor Project copyright years 2010-02-27 17:14:21 -05:00
Nick Mathewson 27a8a56e6c Fix a consensus-extension bug found by outofwords
When the bandwidth-weights branch added the "directory-footer"
token, and began parsing the directory footer at the first
occurrence of "directory-footer", it made it possible to fool the
parsing algorithm into accepting unsigned data at the end of a
consensus or vote.  This patch fixes that bug by treating the footer
as starting with the first "directory-footer" or the first
"directory-signature", whichever comes first.
2010-02-27 17:07:05 -05:00
Nick Mathewson 1c25077b1c fix some wide lines in routerparse.c 2010-02-27 16:33:22 -05:00
Nick Mathewson 937b5cdd41 Merge remote branch 'origin/maint-0.2.1'
Conflicts:
	ChangeLog
	src/or/routerparse.c
2010-02-27 15:34:02 -05:00
Sebastian Hahn b67657bd95 Properly handle non-terminated strings
Treat strings returned from signed_descriptor_get_body_impl() as not
NUL-terminated. Since the length of the strings is available, this is
not a big problem.

Discovered by rieo.
2010-02-27 02:13:22 +01:00
Sebastian Hahn 1c39dbd53a Don't segfault when checking the consensus 2010-02-26 08:01:40 +01:00
Nick Mathewson 1e1d471002 Don't believe unauthenticated info in a consensus.
Don't allow anything but directory-signature tokens in a consensus after
the first directory-signature token.  Fixes bug in bandwidth-weights branch.
Found by "outofwords."
2010-02-26 01:02:20 -05:00
Sebastian Hahn 86828e2004 Proper NULL checking in circuit_list_path_impl()
Another dereference-then-NULL-check sequence. No reports of this bug
triggered in the wild. Fixes bugreport 1256.

Thanks to ekir for discovering and reporting this bug.
2010-02-26 05:53:26 +01:00
Sebastian Hahn f36c36f4a8 Proper NULL checking for hsdesc publication
Fix a dereference-then-NULL-check sequence. This bug wasn't triggered
in the wild, but we should fix it anyways in case it ever happens.
Also make sure users get a note about this being a bug when they
see it in their log.

Thanks to ekir for discovering and reporting this bug.
2010-02-26 05:49:34 +01:00
Sebastian Hahn a9802d3322 Zero a cipher completely before freeing it
We used to only zero the first ptrsize bytes of the cipher. Since
cipher is large enough, we didn't zero too many bytes. Discovered
and fixed by ekir. Fixes bug 1254.
2010-02-26 05:47:25 +01:00
Nick Mathewson 0950d95aee add .exe files to gitignore 2010-02-25 17:02:02 -05:00
Nick Mathewson 512cebadad For integers, if !(E<G), then we can infer that E>=G.
This means that "if (E<G) {abc} else if (E>=G) {def}" can be replaced with
"if (E<G) {abc} else {def}"

Doing the second test explicitly made my mingw gcc nervous that we might
never be initializing casename.
2010-02-25 17:00:14 -05:00
Nick Mathewson f0b5f87eab Add the MIN and MAX macros for platforms that lack them 2010-02-25 16:48:39 -05:00
Nick Mathewson eb10d441b6 Fix 64-bit printf issues in consensus-bw-weights5-merge.
For my 64-bit Linux system running with GCC 4.4.3-fc12-whatever, you
can't do 'printf("%lld", (int64_t)x);' Instead you need to tell the
compiler 'printf("%lld", (long long int)x);' or else it doesn't
believe the types match.  This is why we added U64_PRINTF_ARG; it
looks like we needed an I64_PRINTF_ARG too.
2010-02-25 16:22:40 -05:00
Nick Mathewson 2ab3389ed6 Merge remote branch 'mikeperry/consensus-bw-weights5-merge'
Conflicts:
	ChangeLog
2010-02-25 16:22:29 -05:00
Mike Perry 215930a7de Check snprintf return values in format_networkstatus_vote.
Maybe this is what parakeep was complaining about? Really wish he
would stick around more. Playing these guessing games is not fun :(
2010-02-25 11:59:35 -08:00
Mike Perry 50d6960332 Cast our weights down to ints from int64.
They are capped to be between 0 and weight_scale (10000) by the code
just before the snprintf.
2010-02-25 11:42:45 -08:00
Mike Perry 00f9a35678 Update dir-spec.txt with begin_dir weights. 2010-02-25 11:42:24 -08:00
Nick Mathewson 8b93dacbcf Merge remote branch 'sebastian/manpage' 2010-02-25 14:32:22 -05:00
Nick Mathewson cf886e296c Merge remote branch 'sebastian/polipo' 2010-02-25 14:31:53 -05:00
Sebastian Hahn 2917c0596c Restrict PerConnBWRate|Burst to INT32_MAX, update manpage
All other bandwidthrate settings are restricted to INT32_MAX, but
this check was forgotten for PerConnBWRate and PerConnBWBurst. Also
update the manpage to reflect the fact that specifying a bandwidth
in terabytes does not make sense, because that value will be too
large.
2010-02-25 12:33:15 +01:00
Mike Perry 0da26162a3 Make unit tests work.
Still not sure why they generate an empty consensus document..
Too much frobbing going on there.
2010-02-24 11:17:31 -08:00
Sebastian Hahn f31db269a0 Update a section of the exit notice file, give it a changelog. 2010-02-23 20:11:07 +01:00
Sebastian Hahn e3ba1094a0 Fix some urls in the exit notice
Patch by Christian Kujau to fix some links in the exit notice file
(the file you'd use for your DirPortFrontPage), as well as making
the file xhtml compatible. Thanks!
2010-02-23 19:55:46 +01:00
Sebastian Hahn e52353d779 Update polipo build instructions for OS X 10.6 2010-02-23 17:15:47 +01:00
Sebastian Hahn c8f154e173 Proper NULL checking for hsdesc publication
Fix a dereference-then-NULL-check sequence. This bug wasn't triggered
in the wild, but we should fix it anyways in case it ever happens.
Also make sure users get a note about this being a bug when they
see it in their log.

Thanks to ekir for discovering and reporting this bug.
2010-02-23 17:09:02 +01:00
Sebastian Hahn 7681e355ed Fix another coverity-spotted memleak 2010-02-23 15:05:39 +01:00
Mike Perry 4311318f7d Update consensus methods in spec. 2010-02-22 18:43:44 -08:00
Mike Perry b3fde4d309 Add consensus method #defines. 2010-02-22 18:43:13 -08:00
Roger Dingledine 3ae5bee303 bump to 0.2.2.9-alpha-dev 2010-02-22 21:23:06 -05:00
Nick Mathewson 2e159967c9 Mark 160 and 161 as Finished. tor-0.2.2.9-alpha 2010-02-22 20:52:32 -05:00
Mike Perry bce0021d96 Add a changelog entry for the bandwidth weightings. 2010-02-22 17:12:48 -08:00
Mike Perry f4d6315afa Remove misc unnecessary newlines found by new check. 2010-02-22 16:52:11 -08:00
Mike Perry 21f91dcb50 Patch from karsten to detect unnecessary \n's.
Also fix a spacing issue.
2010-02-22 16:52:11 -08:00
Mike Perry 245be159af Always weight routers by bandwidth.
Also always predict that we need a high capacity circuit or internal
circuit.
2010-02-22 16:52:11 -08:00
Mike Perry 5d4f5ef07d Update specs for weight computation and use. 2010-02-22 16:52:11 -08:00
Mike Perry 87a0430a74 Clearly mark directory footer so we parse the new weight line. 2010-02-22 16:52:11 -08:00
Mike Perry 931e073a4f Implement bw weighting selection algorithm. 2010-02-22 16:52:11 -08:00
Mike Perry df1ef2f0f0 Add parsing+verification for bw weight values. 2010-02-22 16:52:11 -08:00
Mike Perry f9d40649fe Perform calculation of consensus bandwidth weights.
Also add bwweightscale consensus param. Use it as our
fixed-point calculation width.
2010-02-22 16:52:11 -08:00
Mike Perry 95aad71678 Add %lld compat defines. 2010-02-22 16:52:10 -08:00
Roger Dingledine 8ce1cb174d elevate a changelog entry, and get my mailto out of the man page 2010-02-22 16:19:35 -05:00
Nick Mathewson 295e6557a9 Merge remote branch 'sebastian/coverity' 2010-02-22 12:46:43 -05:00
Nick Mathewson c084ae145e Merge remote branch 'sebastian/bug1254' 2010-02-22 12:45:01 -05:00
Nick Mathewson d35b8dc582 Make expand_filename into a tor_strdup() alias on windows.
On Windows, we don't have a notion of ~ meaning "our homedir", so we
were deliberately using an #ifdef to avoid calling expand_filename()
in multiple places.  This is silly: The right place to turn a function
into a no-op on a single platform is in the function itself, not in
every single call-site.
2010-02-22 12:42:31 -05:00