Age | Commit message (Collapse) | Author |
|
|
|
Also clarify and improve wording of the timeout calculation section.
|
|
|
|
This only adds newline characters to make the existing text blocks act like
"blockquote" or "code block" syntax in Markdown, asciidoc, and others.
This was accomplished by manually reviewing the output of this script:
```bash
for f in *.txt; do
cat $f | python -c "import sys,re;print(re.sub(r'(\n {0,3}[^ \n][^\n]*\n)( {4,}[^\n]*)', r'\1\n\2', sys.stdin.read()))" > ${f}.tmp
mv ${f}.tmp $f
done
```
|
|
|
|
The clear standard is trailing "." after each numeric section. This fixes
the small handful of outliers. This makes it easy to convert these headers
to common markup formats, for example:
http://hyperpolyglot.org/lightweight-markup
|
|
|
|
|
|
|
|
In path-spec: explain our rules (post-21242) for waiting to build
circuits.
In guard-spec:
- explain what to do about missing descriptors
- explain parallel use of multiple primary guards, based on parameters.
|
|
Remove the old guard section of path-spec, now that guard-spec is
separate.
|
|
* ADDS new section, "ยง5.1. Guard selection algorithm", to path-spec.txt.
* FIXES #17261: https://bugs.torproject.org/17261
|
|
We use a few names for the main self-published descriptor documents...
https://trac.torproject.org/projects/tor/ticket/14987
Standardizing on the name 'server descriptor'. This change was made with a
few quick runs of sed...
% find ./* -type f -exec sed -i 's/router descriptor/server descriptor/' "{}" +;
% find ./* -type f -exec sed -i 's/Router descriptor/Server descriptor/' "{}" +;
% find ./* -type f -exec sed -i 's/Router Descriptor/Server Descriptor/' "{}" +;
... then reverting the attic changes, and scanning the rest to be sure it
doesn't include any functional impact.
|
|
|
|
If the consensus doesn't contain exits, we only build internal paths.
This is enough to allow reachability tests (which can enable exits to
bootstrap), and hidden services.
If we subsequently receive a consensus with exits, start building exit paths.
Update dir-spec and path-spec to document this.
Update control-spec to document changes in controller bootstrap messages.
Based on changes made in tor to resolve bug #13814.
|
|
|
|
Inspired by tor-talk thread "Family path selection"
|
|
|
|
|
|
We simplified this code a while back and forgot to update the spec.
|
|
Still needs parameter description.
|
|
|
|
|
|
Fixes bug 2936.
|
|
|
|
We need to make sure that the worst thing that a weird consensus param
can do to us is to break our Tor (and only if the other Tors are
reliably broken in the same way) so that the majority of directory
authorities can't pull any attacks that are worse than the DoS that
they can trigger by simply shutting down.
One of these worse things was the cbtnummodes parameter, which could
lead to heap corruption on some systems if the value was sufficiently
large.
This commit fixes this particular issue and also introduces sanity
checking for all consensus parameters.
|
|
|
|
Now people will have no excuse for not knowing what "MUST" and "MAY"
mean. Fixes bug 1310.
|
|
|
|
There are now four ways that CBT can be disabled:
1. Network-wide, with the cbtdisabled consensus param.
2. Via config, with "LearnCircuitBuildTimeout 0"
3. Via config, with "AuthoritativeDirectory 1"
4. Via a state file write failure.
|
|
|
|
|
|
This just got a little complicated, since old clients use "clipped
advertised bandwith" and new clients now use "consensus bandwidth" but
fall back to "clipped advertised bandwidth".
|
|
Tor doesn't use SVN anymore, making $Revision$, $Id$ and $Date$
meaningless. Remove them without replacement.
|
|
svn:r17215
|
|
svn:r14384
|
|
svn:r13154
|
|
b) raise the max-believable-bandwidth to 10MB/s.
svn:r11258
|
|
Use the correct formula to calculate exit weights.
svn:r10956
|
|
svn:r10415
|
|
Re-number misnumbered spec sections. No more having to refer to "the first of two section 6.1s."
svn:r9683
|
|
svn:r9566
|
|
Fix several bugs in computing recommended versions. 1) refactor is-this-version-good handling and which-vesions-are-good handling to be in the same place. 2) a version is recommended if more than half of the versioning authorities like it, not >= half. 3) "NEW_IN_SERIES" should mean, "I don't know of an 0.1.1.x this recent, and there are some 0.1.2.x versions out", not "I don't know of an 0.1.1.x this recent, but I know some older ones." This should resolve bug 383.
svn:r9523
|
|
svn:r9491
|
|
Write the entry guards section of path-spec; note a possible bug in cirbuitbuild.c; add a const; defer work on torrc.complete to be part of a bigger config documentation reorg.
svn:r9465
|
|
svn:r9387
|
|
Change to BadExit logic: Let authorities set an "I list bad exits" flag. Consider an exit bad if it is listed as bad by more than half of *those* authorities. This gives us a better migration path.
svn:r8756
|
|
Add client support for a 'BadExit' flag, so authorities can say "Server X is a poor choise for your nytimes.com connections, as it seems to direct them to HoorayForMao.com or (more likely) WouldYouLikeToBuyTheseFineEncyclopedias.com"
svn:r8690
|
|
svn:r8630
|
|
Disprefer exit nodes for entry, middle positions (fixes bug 200). Also, switch to using a uint64_t to hold "total bandwidth for all nodes" under consideration; crypt_rand_int would have died at 2GB/s network capacity.
svn:r8571
|