| Commit message (Expand) | Author | Age |
* | Merge branch 'maint-0.2.2' | Roger Dingledine | 2011-09-28 |
|\ |
|
| * | bug 4115: make bridges use begindir for their dir fetches•••removes another avenue for enumerating bridges.
| Roger Dingledine | 2011-09-28 |
* | | Report reason for generating descriptor in an HTTP header•••Suggested by arma; based on 3327.
| Nick Mathewson | 2011-09-07 |
* | | Clean up HTTP request header generation a little•••Use a list of headers rather than trying to printf every header that
might exist.
| Nick Mathewson | 2011-09-07 |
* | | Merge remote-tracking branch 'public/split_entry_conn'•••Conflicts:
src/or/connection.c
src/or/connection_edge.c
src/or/connection_edge.h
src/or/dnsserv.c
Some of these were a little tricky, since they touched code that
changed because of the prop171 fixes.
| Nick Mathewson | 2011-09-07 |
|\ \ |
|
| * | | Move entry-only fields from edge_connection_t to entry_connection_t•••Also, refactor the code accordingly.
| Nick Mathewson | 2011-07-21 |
* | | | Fix a bufferevent-related bug that killed tunneled dirserv conns•••Because tunneled connections are implemented with buffervent_pair,
writing to them can cause an immediate flush. This means that
added to them and then checking to see whether their outbuf is
empty is _not_ an adequate way to see whether you added anything.
This caused a problem in directory server connections, since they
would try spooling a little more data out, and then close the
connection if there was no queued data to send.
This fix should improve matters; it only closes the connection if
there is no more data to spool, and all of the spooling callbacks
are supposed to put the dirconn into dir_spool_none on completion.
This is bug 3814; Sebastian found it; bugfix on 0.2.3.1-alpha.
| Nick Mathewson | 2011-08-26 |
|/ / |
|
* | | Implement sensible isolation for tunneled directory conns•••One-hop dirconn streams all share a session group, and get the
ISO_SESSIONGRP flag: they may share circuits with each other and
nothing else.
Anonymized dirconn streams get a new internal-use-only ISO_STREAM
flag: they may not share circuits with anything, including each other.
| Nick Mathewson | 2011-07-19 |
* | | Only download microdesc consensus from caches that support it•••Bugfix on 0.2.3.1-alpha; found by arma; never got a bug number.
| Nick Mathewson | 2011-07-14 |
* | | Make a function static•••Now that connection_dir_about_to_close() is in directory.c, there's
no reason to expose connection_dir_request_failed().
| Nick Mathewson | 2011-07-11 |
* | | Split connection_about_to_close_connection into separate functions•••This patch does NOTHING but:
- move code
- add declarations and includes as needed to make the new code
work
- declare the new functions.
| Nick Mathewson | 2011-07-11 |
* | | Kill redundant checks around routerset_contains_*()•••All of the routerset_contains*() functions return 0 if their
routerset_t argument is NULL. Therefore, there's no point in
doing "if (ExcludeNodes && routerset_contains*(ExcludeNodes...))",
for example.
This patch fixes every instance of
if (X && routerstatus_contains*(X,...))
Note that there are other patterns that _aren't_ redundant. For
example, we *don't* want to change:
if (EntryNodes && !routerstatus_contains(EntryNodes,...))
Fixes #2797. No bug here; just needless code.
| Nick Mathewson | 2011-07-07 |
* | | Don't shadow parameters with local variables•••This is a little error-prone when the local has a different type
from the parameter, and is very error-prone with both have the same
type. Let's not do this.
Fixes CID #437,438,439,440,441.
| Nick Mathewson | 2011-07-01 |
* | | Merge remote-tracking branch 'rransom-tor/bug3332-v2' | Nick Mathewson | 2011-06-15 |
|\ \ |
|
| * | | Assert that HS operations are not performed using single-hop circuits•••(with fixes by Nick Mathewson to unbreak the build)
| Robert Ransom | 2011-06-14 |
* | | | Make the get_options() return const•••This lets us make a lot of other stuff const, allows the compiler to
generate (slightly) better code, and will make me get slightly fewer
patches from folks who stick mutable stuff into or_options_t.
const: because not every input is an output!
| Nick Mathewson | 2011-06-14 |
|/ / |
|
* | | Merge remote-tracking branch 'origin/maint-0.2.2'•••The conflicts were mainly caused by the routerinfo->node transition.
Conflicts:
src/or/circuitbuild.c
src/or/command.c
src/or/connection_edge.c
src/or/directory.c
src/or/dirserv.c
src/or/relay.c
src/or/rendservice.c
src/or/routerlist.c
| Nick Mathewson | 2011-05-30 |
|\| |
|
| * | Merge branch 'bug3045' into maint-0.2.2•••Conflicts:
src/or/circuitbuild.c
| Nick Mathewson | 2011-05-30 |
| |\ |
|
| | * | Log descriptions of nodes, not just nicknames.•••This patch introduces a few new functions in router.c to produce a
more helpful description of a node than its nickame, and then tweaks
nearly all log messages taking a nickname as an argument to call these
functions instead.
There are a few cases where I left the old log messages alone: in
these cases, the nickname was that of an authority (whose nicknames
are useful and unique), or the message already included an identity
and/or an address. I might have missed a couple more too.
This is a fix for bug 3045.
| Nick Mathewson | 2011-05-15 |
* | | | Merge remote-tracking branch 'origin/maint-0.2.2' | Nick Mathewson | 2011-05-28 |
|\| | |
|
| * | | Fix GCC 4.6's new -Wunused-but-set-variable warnings.•••Most instances were dead code; for those, I removed the assignments.
Some were pieces of info we don't currently plan to use, but which
we might in the future. For those, I added an explicit cast-to-void
to indicate that we know that the thing's unused. Finally, one was
a case where we were testing the wrong variable in a unit test.
That one I fixed.
This resolves bug 3208.
| Nick Mathewson | 2011-05-23 |
* | | | Merge remote-tracking branch 'origin/maint-0.2.2' | Nick Mathewson | 2011-05-16 |
|\| | |
|
| * | | Merge remote-tracking branch 'origin/maint-0.2.1' into maint-0.2.2•••Fixed trivial conflict due to headers moving into their own .h files
from or.h.
Conflicts:
src/or/or.h
| Nick Mathewson | 2011-05-16 |
| |\ \
| | |/
| |/| |
|
| | * | Check fetched rendezvous descriptors' service IDs | Robert Ransom | 2011-05-16 |
* | | | Merge remote-tracking branch 'origin/maint-0.2.2' | Nick Mathewson | 2011-05-15 |
|\| | |
|
| * | | Merge branch 'bug3026' into maint-0.2.2 | Nick Mathewson | 2011-05-15 |
| |\ \ |
|
| | * | | bug 3026: do not upload our vote to ourself | Nick Mathewson | 2011-05-12 |
| * | | | Merge remote-tracking branch 'public/bug3122_memcmp_022' into maint-0.2.2 | Nick Mathewson | 2011-05-12 |
| |\ \ \
| | |/ /
| |/| | |
|
* | | | | Merge remote-tracking branch 'public/bug3122_memcmp_023' | Nick Mathewson | 2011-05-12 |
|\ \ \ \ |
|
| * \ \ \ | Merge remote-tracking branch 'public/bug3122_memcmp_022' into bug3122_memcmp_023•••Conflicts in various places, mainly node-related. Resolved them in
favor of HEAD, with copying of tor_mem* operations from bug3122_memcmp_022.
src/common/Makefile.am
src/or/circuitlist.c
src/or/connection_edge.c
src/or/directory.c
src/or/microdesc.c
src/or/networkstatus.c
src/or/router.c
src/or/routerlist.c
src/test/test_util.c
| Nick Mathewson | 2011-05-11 |
| |\ \ \ \
| | | |/ /
| | |/| | |
|
| | * | | | Merge remote-tracking branch 'public/3122_memcmp_squashed' into bug3122_memcm...•••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
| Nick Mathewson | 2011-05-11 |
| | |\ \ \
| | | | |/
| | | |/| |
|
| | | * | | Hand-conversion and audit phase of memcmp transition•••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.
| Nick Mathewson | 2011-05-11 |
| | | * | | Automated conversion of memcmp to tor_memcmp/tor_mem[n]eq•••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
| Nick Mathewson | 2011-05-11 |
* | | | | | Merge remote-tracking branch 'origin/maint-0.2.2' | Nick Mathewson | 2011-05-12 |
|\ \ \ \ \
| |/ / / /
|/| | | /
| | |_|/
| |/| | |
|
| * | | | Merge branch 'bug1352' into maint-0.2.2 | Nick Mathewson | 2011-05-12 |
| |\ \ \
| | |/ /
| |/| | |
|
| | * | | Rate-limit v2 networkstatus download fail warnings•••This fixes part of 1352. We don't care deeply about these warnings,
since v2 networkstatuses aren't a big deal.
| Nick Mathewson | 2011-04-28 |
| | * | | Rename connection_dir_download_networkstatus_failed: be clear that it means v2 | Nick Mathewson | 2011-04-28 |
* | | | | Merge remote-tracking branch 'origin/maint-0.2.2'•••Conflicts:
src/or/directory.c
| Nick Mathewson | 2011-05-09 |
|\| | | |
|
| * | | | Only authorities should automatically download v2 networkstatus documents•••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.
| Nick Mathewson | 2011-04-28 |
| |/ / |
|
* | | | Fix check-spaces issues in master | Nick Mathewson | 2011-05-05 |
* | | | Code to make clients fetch and use microdescriptors for circuit building•••To turn this on, set UseMicrodescriptors to "1" (or "auto" if you
want it on-if-you're-a-client). It should go auto-by-default once
0.2.3.1-alpha is released.
Because of our node logic, directory caches will never use
microdescriptors when they have the right routerinfo available.
| Nick Mathewson | 2011-05-05 |
* | | | Replace _AUTHORITY enum values with _DIRINFO values (automted) | Nick Mathewson | 2011-05-05 |
* | | | Automated rename from authority_type_t to dirinfo_type_t•••We were already overloading this type to mean "a directory that can
serve us X" in addition to "a directory that is an authority for X."
| Nick Mathewson | 2011-05-05 |
* | | | Merge maint-0.2.2 for the bug1090-part1-squashed branch•••Resolved conflicts in:
doc/tor.1.txt
src/or/circuitbuild.c
src/or/circuituse.c
src/or/connection_edge.c
src/or/connection_edge.h
src/or/directory.c
src/or/rendclient.c
src/or/routerlist.c
src/or/routerlist.h
These were mostly releated to the routerinfo_t->node_t conversion.
| Nick Mathewson | 2011-04-27 |
|\| | |
|
| * | | handle excludenodes for dir fetch/post•••If we're picking a random directory node, never pick an excluded one.
But if we've chosen a specific one (or all), allow it unless strictnodes
is set (in which case warn so the user knows it's their fault).
When warning that we won't connect to a strictly excluded node,
log what it was we were trying to do at that node.
When ExcludeNodes is set but StrictNodes is not set, we only use
non-excluded nodes if we can, but fall back to using excluded nodes
if none of those nodes is usable.
| Roger Dingledine | 2011-04-26 |
* | | | Merge remote-tracking branch 'origin/maint-0.2.2'•••Conflicts:
src/common/address.c
src/common/compat_libevent.c
src/common/memarea.c
src/common/util.h
src/or/buffers.c
src/or/circuitbuild.c
src/or/circuituse.c
src/or/connection.c
src/or/directory.c
src/or/networkstatus.c
src/or/or.h
src/or/routerlist.c
| Nick Mathewson | 2011-04-07 |
|\| | |
|
| * | | Remove workaround code for bug539•••We fixed bug 539 (where directories would say "503" but send data
anyway) back in 0.2.0.16-alpha/0.1.2.19. Because most directory
versions were affected, we added workaround to make sure that we
examined the contents of 503-replies to make sure there wasn't any
data for them to find. But now that such routers are nonexistent,
we can remove this code. (Even if somebody fired up an 0.1.2.19
directory cache today, it would still be fine to ignore data in its
erroneous 503 replies.)
| Nick Mathewson | 2011-03-25 |
| * | | Triage the XXX022 and XXX021 comments remaining in the code•••Remove some, postpone others, leave some alone. Now the only
remaining XXX022s are ones that seem important to fix or investigate.
| Nick Mathewson | 2011-03-25 |
* | | | Merge remote-tracking branch 'public/bug2381' | Nick Mathewson | 2011-04-06 |
|\ \ \ |
|
| * | | | Fix infinite recursion when connect() fails in microdesc consensus fetch•••The underlying fix is to stop indicating requests "ns" consensuses by
putting NULL in their requested_resource field: we already had a
specialized meaning for requested_resource==NULL, which was (more or
less) "Treat a failure here as a network failure, since it's too early
to possibly be a resource or directory failure." Overloading the two
meant that very early microdesc consensus download failures would get
treated as ns consensus download failures, so the failure count there
would get incremented, but the microdesc download would get retried
immediately in an infinite loop.
Fix for bug2381. Diagnosed by mobmix.
| Nick Mathewson | 2011-02-23 |