Roger Dingledine
06047bcec9
Avoid going directly to the directory authorities even if you're a
...
relay, if you haven't found yourself reachable yet or if you've
decided not to advertise your dirport yet. Addresses bug 556.
svn:r13172
2008-01-18 04:42:22 +00:00
Roger Dingledine
55e052b0a5
Assert error introduced in r11957:
...
Fix an assert if we post a general-purpose descriptor via the
control port but that descriptor isn't mentioned in our current
network consensus. Bug reported by Jon McLachlan; bugfix on
0.2.0.9-alpha.
svn:r13153
2008-01-17 05:25:21 +00:00
Nick Mathewson
4a3b7496f0
r17639@catbus: nickm | 2008-01-15 19:09:21 -0500
...
Fix some hard to trigger but nonetheless real memory leaks spotted by an anonymous contributor. Needs review. Partial backport candidate.
svn:r13147
2008-01-16 05:27:19 +00:00
Nick Mathewson
24aae484c9
r17624@catbus: nickm | 2008-01-15 00:42:01 -0500
...
Fixes to more anonymously-reported typos and logic errors.
svn:r13136
2008-01-15 05:57:19 +00:00
Nick Mathewson
a984011814
r17623@catbus: nickm | 2008-01-15 00:22:04 -0500
...
bulletproof option_get_canonical_name()
svn:r13135
2008-01-15 05:57:14 +00:00
Nick Mathewson
89dfec02d8
r17614@catbus: nickm | 2008-01-14 13:55:25 -0500
...
Add a missing "goto err" when parsing v2 ns docs
svn:r13133
2008-01-14 19:00:33 +00:00
Nick Mathewson
581ba51c5c
r17612@catbus: nickm | 2008-01-14 13:46:04 -0500
...
Oops; fix compile
svn:r13131
2008-01-14 19:00:26 +00:00
Nick Mathewson
3b8f76aa51
r17611@catbus: nickm | 2008-01-14 13:44:16 -0500
...
add some missing checks for failing return values.
svn:r13130
2008-01-14 19:00:23 +00:00
Nick Mathewson
e49229caf8
r17610@catbus: nickm | 2008-01-14 13:20:49 -0500
...
Fix a bogus free() call on a base64 failure in router_append_dirobj_signature().
svn:r13129
2008-01-14 19:00:19 +00:00
Nick Mathewson
edf5e70784
r15891@tombo: nickm | 2008-01-12 19:20:24 -0500
...
Basic hacks to get TLS handshakes working: remove dead code; fix post-handshake logic; keep servers from writing while the client is supposed to be renegotiating. This may work. Needs testing.
svn:r13122
2008-01-13 00:20:47 +00:00
Nick Mathewson
ae6df065ed
r15890@tombo: nickm | 2008-01-12 17:19:51 -0500
...
Add a --disable-buffer-freelists configure argument to build without buffer RAM chunk freelists, so we can benchmark the impact of this.
svn:r13121
2008-01-13 00:20:44 +00:00
Nick Mathewson
705b4670d3
r17580@catbus: nickm | 2008-01-11 20:40:30 -0500
...
Fix policies.c build on gcc 4.2 with warnings.
svn:r13112
2008-01-12 05:52:59 +00:00
Roger Dingledine
4e9a701d4b
fix unit tests after r13092
...
svn:r13100
2008-01-10 23:11:13 +00:00
Nick Mathewson
b84955285a
r17564@catbus: nickm | 2008-01-10 13:19:59 -0500
...
Fix bug in r13094: be sure to set the purpose and send_unencrypted fields correctly in our own routerinfo and extrainfo.
svn:r13098
2008-01-10 18:20:04 +00:00
Nick Mathewson
10d86f7615
r17558@catbus: nickm | 2008-01-10 13:07:41 -0500
...
If we do not serve v2 directory info, and our cached v2 networkstatus files are very old, remove them. If the directory is old, remove that too. (We already did this for obsolete routers files.)
svn:r13096
2008-01-10 18:08:42 +00:00
Roger Dingledine
2ac1e36248
minor cleanups
...
svn:r13095
2008-01-10 17:54:24 +00:00
Nick Mathewson
04263648c4
r17554@catbus: nickm | 2008-01-10 12:48:29 -0500
...
Do not send bridge descriptors over unencrypted connections.
svn:r13094
2008-01-10 17:48:40 +00:00
Nick Mathewson
29b0f51a73
r17553@catbus: nickm | 2008-01-10 12:18:27 -0500
...
Add connection_dir_is_encrypted() so that we can refrain from sending bridge descriptors over an unencrypted link.
svn:r13093
2008-01-10 17:48:36 +00:00
Nick Mathewson
59fdab43cd
r17552@catbus: nickm | 2008-01-10 12:13:43 -0500
...
Make bridge geoip data get rounded up, not down.
svn:r13092
2008-01-10 17:48:32 +00:00
Nick Mathewson
ca5f670fab
r17548@catbus: nickm | 2008-01-10 11:08:12 -0500
...
Make proposal-109 behavior optional.
svn:r13090
2008-01-10 16:08:47 +00:00
Roger Dingledine
a7eef34a03
Jan 08 19:55:01.865 [notice] Added -2 pending signatures while building consensus.
...
svn:r13080
2008-01-09 01:06:19 +00:00
Roger Dingledine
7d3bf1608b
Set up gabelmoo (run by Karsten Loesing) as the fifth v3 directory
...
authority.
svn:r13079
2008-01-08 23:51:48 +00:00
Roger Dingledine
8609c825e9
our defensive programming plan hid a bug. switch to offensive programming.
...
svn:r13078
2008-01-08 23:35:03 +00:00
Roger Dingledine
50f4cd10ad
don't rebuild the router store for all those times when we
...
fetch one descriptor and then we don't like it
svn:r13077
2008-01-08 23:31:25 +00:00
Roger Dingledine
58d88dfc7f
make new v3 authorities that aren't in the DirServers list believe
...
in themselves again. bug experienced by karsten.
svn:r13076
2008-01-08 23:08:39 +00:00
Nick Mathewson
177d5102d5
r17503@catbus: nickm | 2008-01-07 14:15:30 -0500
...
Change set_current_consensus interface to take a flags variable. Do not try to fetch certificates until after we have tried loading the fallback consensus. Should fix bug 583.
svn:r13058
2008-01-07 19:15:34 +00:00
Nick Mathewson
a62ab48d30
r17500@catbus: nickm | 2008-01-07 13:54:51 -0500
...
More messing about with bug 557 issues: do not let bizarre settings for myfamily or contactinfo muck with generated router descriptors.
svn:r13057
2008-01-07 18:54:58 +00:00
Nick Mathewson
dd35fe59c4
r17499@catbus: nickm | 2008-01-07 13:39:46 -0500
...
Bugfix on fix for 557: Make values containing special characters work right with getconf, setconf, and saveconf. Document this in control-spec.txt
svn:r13056
2008-01-07 18:54:55 +00:00
Nick Mathewson
a63eb68fe1
r17495@catbus: nickm | 2008-01-07 12:48:56 -0500
...
Consequence of fix for 539: when a client gets a 503 response with a nontrivial body, pretend it got a 200 response. This lets clients use information erroneously sent to them by old buggy servers.
svn:r13054
2008-01-07 17:49:13 +00:00
Roger Dingledine
ea2280ada7
hack at networkstatus.c until we actually try to load our
...
fallback consensus. nick, can you take a closer look at this,
and add a changelog entry if it's a valid fix?
svn:r13050
2008-01-07 15:41:47 +00:00
Roger Dingledine
5a912aa1c8
cleanups on r13037
...
svn:r13045
2008-01-06 23:37:48 +00:00
Nick Mathewson
d73b791969
r17473@catbus: nickm | 2008-01-05 22:15:05 -0500
...
Add a reverse mapping from SSL to tor_tls_t*: we need this in order to do a couple of things the sensible way from inside callbacks. Also, add a couple of missing cases in connection_or.c
svn:r13040
2008-01-06 03:16:11 +00:00
Roger Dingledine
5aa7ce2915
patch from karsten to complain less when a node loses
...
its hsdir status
svn:r13037
2008-01-06 01:54:09 +00:00
Nick Mathewson
17036de8b7
r17469@catbus: nickm | 2008-01-05 20:14:07 -0500
...
Fix bug 579: Count DNSPort and hidden services when checking whether Tor is going to do anything. Change "no configured ports" from fatal to warning.
svn:r13036
2008-01-06 01:14:11 +00:00
Nick Mathewson
614dc52623
r17467@catbus: nickm | 2008-01-05 19:54:20 -0500
...
fix whitespace
svn:r13035
2008-01-06 00:54:22 +00:00
Nick Mathewson
58de695f90
r15787@tombo: nickm | 2008-01-02 01:59:07 -0500
...
Allow config values in quotes to contain special characters, with full C escape syntax. With tests. Addresses bug 557.
svn:r13021
2008-01-02 06:59:15 +00:00
Nick Mathewson
86f5180853
r15786@tombo: nickm | 2008-01-02 01:11:51 -0500
...
Push the strdups used for parsing configuration lines into parse_line_from_string(). This will make it easier to parse more complex value formats, which in turn will help fix bug 557
svn:r13020
2008-01-02 06:59:12 +00:00
Nick Mathewson
c0ec281565
r15784@tombo: nickm | 2008-01-02 00:38:06 -0500
...
Fix bug 575: protect the list of logs with a mutex. I couldn't find any appreciable change in logging performance on osx, but ymmv. You can undef USE_LOG_MUTEX to see if stuff gets faster for you.
svn:r13019
2008-01-02 05:38:53 +00:00
Nick Mathewson
feb1c60e9d
r15782@tombo: nickm | 2008-01-01 23:57:43 -0500
...
Bugfix for bug 569: do not try to download nonexistant certificates with signing key 000000000000000.
svn:r13018
2008-01-02 04:57:48 +00:00
Nick Mathewson
11fff225fa
r15779@tombo: nickm | 2008-01-01 23:43:24 -0500
...
Use reference-counting to avoid allocating a zillion little addr_policy_t objects. (This is an old patch that had been sitting on my hard drive for a while.)
svn:r13017
2008-01-02 04:43:44 +00:00
Nick Mathewson
48d7adca8a
r15768@tombo: nickm | 2007-12-31 16:12:09 -0500
...
Patch from Tup: make NS events work again.
svn:r13009
2007-12-31 21:12:16 +00:00
Nick Mathewson
46a27c2f93
r15750@tombo: nickm | 2007-12-29 19:12:51 -0500
...
Make HTTP-processing code in buffers.c faster: do not pull up 50K of text into the first chunk if the headers end earlier than that.
svn:r13006
2007-12-30 00:13:07 +00:00
Nick Mathewson
cd85eac0d3
r17433@catbus: nickm | 2007-12-29 12:35:57 -0500
...
Incomplete code to avoid doing needless pull-ups on HTTP. Also, use memstr instead of strstr to find the content-length header.
svn:r13005
2007-12-29 17:36:03 +00:00
Nick Mathewson
f4f5dc4aca
r15745@tombo: nickm | 2007-12-29 00:15:17 -0500
...
Try even harder not to allocate chunks bigger than MAX_CHUNK_ALLOC.
svn:r13003
2007-12-29 05:16:30 +00:00
Nick Mathewson
bd32982c77
r17426@catbus: nickm | 2007-12-28 21:12:29 -0500
...
Remove need for buf_pullup in fetch_line_from_buf().
svn:r13002
2007-12-29 02:33:42 +00:00
Nick Mathewson
d7f5a73173
r17410@catbus: nickm | 2007-12-27 09:20:27 -0500
...
Exciting new entries in buf_dump_freelist_sizes() to make sure our freelist sizes are reasonable.
svn:r12996
2007-12-27 14:20:30 +00:00
Nick Mathewson
1a2b6c2ae3
r17407@catbus: nickm | 2007-12-27 00:18:31 -0500
...
Fix windows compile error
svn:r12995
2007-12-27 05:18:36 +00:00
Nick Mathewson
119b4e1edf
r17405@catbus: nickm | 2007-12-26 22:27:37 -0500
...
And clean up an assertion failure.
svn:r12993
2007-12-27 03:27:48 +00:00
Nick Mathewson
148e2e1c48
r17403@catbus: nickm | 2007-12-26 22:23:50 -0500
...
Apparently loops work better when you actually increment/decrement the loop variable. Who knew?
svn:r12992
2007-12-27 03:23:57 +00:00
Nick Mathewson
1503021ee5
r15723@tombo: nickm | 2007-12-26 19:25:51 -0500
...
Actually trim freelists.
svn:r12991
2007-12-27 00:25:54 +00:00
Nick Mathewson
3a5bee150f
r15721@tombo: nickm | 2007-12-26 17:07:10 -0500
...
Fix a nasty infinite loop in flush_buf[_tls].
svn:r12990
2007-12-26 22:07:14 +00:00
Nick Mathewson
27220fb395
r15719@tombo: nickm | 2007-12-26 14:02:12 -0500
...
More tweaks on 0-byte TLS writes.
svn:r12989
2007-12-26 19:02:15 +00:00
Nick Mathewson
80151b42df
r15717@tombo: nickm | 2007-12-26 13:55:53 -0500
...
Oops. flush_buf_tls can request more than the requested number of bytes. When that happens, do not let the size_t sz wrap around.
svn:r12988
2007-12-26 18:55:56 +00:00
Nick Mathewson
84b6e26c50
r15715@tombo: nickm | 2007-12-26 13:09:27 -0500
...
Peacetime managed to run overnight in paranoia mode. Disabling paranoia, so that buffers.c can be a little speedy again.
svn:r12987
2007-12-26 18:09:36 +00:00
Nick Mathewson
fb8cbc8642
r15710@tombo: nickm | 2007-12-25 19:36:03 -0500
...
Fix in flush_buf_tls: it is okay to flush an empty buffer, since we may have a partial TLS record pending.
svn:r12984
2007-12-26 00:36:05 +00:00
Nick Mathewson
a7ef07b4bd
r15693@tombo: nickm | 2007-12-25 19:11:29 -0500
...
Here, have some terribly clever new buffer code. It uses a mbuf-like strategy rather than a ring buffer strategy, so it should require far far less extra memory to hold any given amount of data. Also, it avoids access patterns like x=malloc(1024);x=realloc(x,1048576);x=realloc(x,1024);append_to_freelist(x) that might have been contributing to memory fragmentation. I've tested it out a little on peacetime, and it seems to work so far. If you want to benchmark it for speed, make sure to remove the #define PARANOIA; #define NOINLINE macros at the head of the module.
svn:r12983
2007-12-26 00:12:08 +00:00
Roger Dingledine
c6788cc0de
The bridge GeoIP stats were counting other relays, for example
...
self-reachability and authority-reachability tests.
svn:r12960
2007-12-25 00:07:13 +00:00
Roger Dingledine
5925bc972c
tweaks
...
svn:r12959
2007-12-24 23:51:22 +00:00
Roger Dingledine
15c048bdc5
Fix several remotely triggerable asserts based on DirPort requests
...
for a v2 or v3 networkstatus object before we were prepared. This
was particularly bad for 0.2.0.13 and later bridge relays, who
would never have a v2 networkstatus and would thus always crash
when used. Bugfixes on 0.2.0.x.
Estimate the v3 networkstatus size more accurately, rather than
estimating it at zero bytes and giving it artificially high priority
compared to other directory requests. Bugfix on 0.2.0.x.
svn:r12952
2007-12-24 11:25:45 +00:00
Roger Dingledine
4fb573fddd
bugfix on r10612:
...
When we load a bridge descriptor from the cache,
and it was previously unreachable, mark it as retriable so we won't
just ignore it. Also, try fetching a new copy immediately.
svn:r12950
2007-12-24 10:31:39 +00:00
Nick Mathewson
da06bfb80f
r15653@tombo: nickm | 2007-12-23 14:15:12 -0500
...
Refactor circuit_launch* functions to take a bitfield of flags rather than 4 separate nonconsecutive flags arguments. Also, note a possible but in circuit_find_to_cannibalize, which seems to be ignoring its purpose argument.
svn:r12948
2007-12-23 19:15:22 +00:00
Nick Mathewson
473725e1a4
r15648@tombo: nickm | 2007-12-23 13:27:30 -0500
...
Support building for iPhone; patch from cjacker huang.
svn:r12946
2007-12-23 18:27:47 +00:00
Roger Dingledine
c10faf5085
fix some irix compile complaints; make "kbytes" work as a memory unit
...
svn:r12936
2007-12-23 04:22:55 +00:00
Roger Dingledine
9dcde682f5
minor other things in my sandbox
...
svn:r12934
2007-12-23 01:28:25 +00:00
Roger Dingledine
61bd5583d9
If we receive a general-purpose descriptor and then receive an
...
identical bridge-purpose descriptor soon after, don't discard
the next one as a duplicate.
svn:r12933
2007-12-23 01:18:14 +00:00
Roger Dingledine
fe006ad880
and clean up after myself
...
svn:r12930
2007-12-22 11:54:33 +00:00
Roger Dingledine
88503e25c7
If bridge authorities set BridgePassword, they will serve a
...
snapshot of known bridge routerstatuses from their DirPort to
anybody who knows that password. Unset by default.
svn:r12929
2007-12-22 11:48:17 +00:00
Roger Dingledine
87a616e128
Fix a crash on startup if you install Tor 0.2.0.13-alpha fresh
...
without a datadirectory from a previous Tor install. Reported
by Zax.
svn:r12928
2007-12-22 11:42:12 +00:00
Roger Dingledine
abf9fadcca
start working on serving bridge status from the dirport, for
...
bridge communities.
svn:r12927
2007-12-22 10:54:21 +00:00
Roger Dingledine
ce636beff9
If the user sets RelayBandwidthRate but doesn't set
...
RelayBandwidthBurst, then make them equal rather than erroring out.
svn:r12925
2007-12-22 09:13:24 +00:00
Roger Dingledine
be906a836a
If BridgeRelay is set to 1, then the default for
...
PublishServerDescriptor is now "bridge" rather than "v2,v3".
svn:r12923
2007-12-22 09:04:46 +00:00
Roger Dingledine
39d910e97b
Make PublishServerDescriptor default to 1, so the default doesn't
...
have to change as we invent new directory protocol versions.
svn:r12922
2007-12-22 08:27:42 +00:00
Roger Dingledine
6097e46420
Fix a crash when we load a bridge descriptor from disk but we don't
...
currently have a Bridge line for it in our torrc. Bugfix on
0.2.0.12-alpha.
svn:r12921
2007-12-22 06:11:49 +00:00
Roger Dingledine
366c273d27
Make "GETINFO/desc-annotations/id/<OR digest>" actually work.
...
svn:r12919
2007-12-22 05:27:30 +00:00
Roger Dingledine
869858bf57
add a little note about matt's 0.2.0.12-alpha crash
...
svn:r12918
2007-12-22 05:26:36 +00:00
Roger Dingledine
a223f5db03
Fix a crash when accessing hidden services: it would work the first
...
time you use a given introduction point for your service, but
on subsequent requests we'd be using garbage memory. Fixed by
Karsten Loesing. Bugfix on 0.2.0.12-alpha.
svn:r12913
2007-12-21 23:28:23 +00:00
Roger Dingledine
73ff2e5d5e
Fix a crash when we fetch a descriptor that turns out to be
...
unexpected (it used to be in our networkstatus when we started
fetching it, but it isn't in our current networkstatus), and we
aren't using bridges. Bugfix on 0.2.0.x.
svn:r12911
2007-12-21 22:58:22 +00:00
Roger Dingledine
c1af7de6e4
the better fix for the unit tests
...
svn:r12907
2007-12-21 10:44:10 +00:00
Roger Dingledine
46bb4a40ee
Make the unit tests build again.
...
svn:r12905
2007-12-21 10:40:40 +00:00
Roger Dingledine
3f4080d15d
tiny tweaks on r12900
...
svn:r12901
2007-12-21 09:33:11 +00:00
Roger Dingledine
90fcfade4e
revert r12841 and r12842, and commit karsten's "patch 13"
...
svn:r12900
2007-12-21 09:28:22 +00:00
Roger Dingledine
7b60d6c526
Directory authorities should only automatically download Extra Info
...
documents if they're v1, v2, or v3 authorities.
svn:r12898
2007-12-21 06:33:02 +00:00
Roger Dingledine
e2dc45a2e1
some more refactoring
...
svn:r12897
2007-12-21 06:28:59 +00:00
Roger Dingledine
9ebf86bb66
new config option FetchDirInfoEarly for tup/ioerror and the tordnsel
...
svn:r12896
2007-12-21 06:08:00 +00:00
Roger Dingledine
f0e7c4f0da
Only Tors that want to mirror the v2 directory info should
...
create the "cached-status" directory in their datadir. All Tors
used to create it. Bugfix on 0.1.2.x.
Bridge relays with DirPort set to 0 no longer cache v1 or v2
directory information; there's no point. Bugfix on trunk.
svn:r12887
2007-12-20 06:47:59 +00:00
Roger Dingledine
acd8bc1fd9
make r12871 do what i meant
...
svn:r12886
2007-12-20 06:36:44 +00:00
Nick Mathewson
2f922937d3
r17274@catbus: nickm | 2007-12-20 01:14:09 -0500
...
Don't try to create the datadir when we are only verifying the configuration or hashing a password. Resolves bug 540.
svn:r12884
2007-12-20 06:15:09 +00:00
Nick Mathewson
6de2b484cf
r17270@catbus: nickm | 2007-12-20 00:04:21 -0500
...
When we decide to send a 503 in response to a request for server descriptors, disable spooling so that we do not then send the descriptors anyway. Fixes bug 539.
svn:r12882
2007-12-20 05:06:02 +00:00
Nick Mathewson
5c33c0632e
r17268@catbus: nickm | 2007-12-19 23:53:53 -0500
...
Initialize [un]named_server_map to empty strmaps when router_reload_consensus_networkstatus fails completely. Resolves bug 538.
svn:r12881
2007-12-20 04:54:06 +00:00
Roger Dingledine
4aa5e678cd
and the obligatory 'make it compile' follow-up
...
svn:r12872
2007-12-19 05:04:05 +00:00
Roger Dingledine
f405f9b614
Make getinfo ns/purpose/bridge actually work
...
Also, dump our bridge router status entries to disk every 30 minutes.
svn:r12871
2007-12-19 04:58:58 +00:00
Nick Mathewson
a697573ce9
r15562@tombo: nickm | 2007-12-18 23:23:59 -0500
...
Remove the LearnAuthorityAddrFromCerts option; make it always-on. One option down, ~160 options to go.
svn:r12870
2007-12-19 04:24:05 +00:00
Nick Mathewson
95fecd6fbc
r15560@tombo: nickm | 2007-12-18 23:18:21 -0500
...
Add a bit of missing documentation.
svn:r12869
2007-12-19 04:18:28 +00:00
Nick Mathewson
95d500f33f
r15558@tombo: nickm | 2007-12-18 22:55:23 -0500
...
Re-parse annotations in another place. Good catch, arma.
svn:r12868
2007-12-19 03:55:40 +00:00
Roger Dingledine
07c7f9e9e7
When we were reading router descriptors from cache, we were ignoring
...
the annotations -- including reading in bridge-purpose descriptors
as general-purpose descriptors.
svn:r12867
2007-12-19 03:11:02 +00:00
Nick Mathewson
d07122ba47
r17246@catbus: nickm | 2007-12-18 18:45:17 -0500
...
Fix some xxx020 items.
svn:r12864
2007-12-18 23:45:24 +00:00
Nick Mathewson
076097281d
r17239@catbus: nickm | 2007-12-18 16:57:02 -0500
...
Sort GeoIP results in descending order of IP counts.
svn:r12863
2007-12-18 23:45:19 +00:00
Roger Dingledine
74d05f4b2c
answer getinfo ns/purpose/bridge queries
...
svn:r12860
2007-12-18 22:39:15 +00:00
Roger Dingledine
b63a247c68
Make bridge authorities test reachability of bridges.
...
Added two XXX020's that we need to think harder about.
svn:r12859
2007-12-18 21:37:58 +00:00
Nick Mathewson
d2fe8542df
r17232@catbus: nickm | 2007-12-18 16:22:10 -0500
...
Whitespace fix.
svn:r12857
2007-12-18 21:27:10 +00:00