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
Nick Mathewson
5488bc3e16
r17231@catbus: nickm | 2007-12-18 16:21:55 -0500
...
Document and clean-up geoip code; give it some unit tests.
svn:r12856
2007-12-18 21:27:08 +00:00
Nick Mathewson
b8ac050e85
r15532@tombo: nickm | 2007-12-17 17:41:05 -0500
...
clean up whitesapce and debug a little on geoip stuff.
svn:r12847
2007-12-17 22:44:18 +00:00
Nick Mathewson
25f78498f9
r15531@tombo: nickm | 2007-12-17 17:19:24 -0500
...
Support raw IP-to-country as well as postprocessed format. Include GEOIP summary in extrainfo of bridges.
svn:r12846
2007-12-17 22:44:16 +00:00
Nick Mathewson
820159cac5
r15530@tombo: nickm | 2007-12-17 16:54:03 -0500
...
First wodge of geoip code so bridges can figure out which countries are blocking them.
svn:r12845
2007-12-17 22:44:11 +00:00
Roger Dingledine
b3e6c66a05
and another in the unit tests
...
svn:r12842
2007-12-16 20:47:20 +00:00
Roger Dingledine
e70d9a7f4d
fix another mem leak, and point out another for karsten
...
svn:r12841
2007-12-16 20:46:23 +00:00
Roger Dingledine
98a56a386d
our unit tests leak memory like a sieve.
...
fix two actual memory leaks found while cleaning up a bit.
svn:r12829
2007-12-16 08:20:10 +00:00
Roger Dingledine
71c84abdff
cleanups on r12825
...
svn:r12826
2007-12-15 20:50:56 +00:00
Roger Dingledine
31324f3e7f
apply karsten's "patch 12"
...
svn:r12825
2007-12-15 20:28:09 +00:00
Roger Dingledine
1d8a8063b9
clean up copyrights, and assign 2007 copyrights to The Tor Project, Inc
...
svn:r12786
2007-12-12 21:09:01 +00:00
Roger Dingledine
40efd7d47b
but don't disable all the default v1 authorities quite yet
...
svn:r12778
2007-12-12 04:46:16 +00:00
Roger Dingledine
3b2dd8d763
Three new config options (AlternateDirAuthority,
...
AlternateBridgeAuthority, and AlternateHSAuthority) that let the
user selectively replace the default directory authorities, rather
than the all-or-nothing replacement that DirServer offers.
svn:r12777
2007-12-12 04:38:54 +00:00
Nick Mathewson
3208b102d6
r17089@catbus: nickm | 2007-12-11 17:33:34 -0500
...
Patch from mwenge: fix consensus status lookup by nickname when nickname is a hexdigest.
svn:r12766
2007-12-11 23:06:45 +00:00
Roger Dingledine
78f532678c
Relays were publishing their server descriptor to v1 and v2
...
directory authorities, but they didn't try publishing to v3-only
authorities. Fix this; and also stop publishing to v1 authorities.
svn:r12759
2007-12-11 20:18:12 +00:00
Roger Dingledine
52363d23d7
If we can't expand our list of entry guards (e.g. because we're
...
using bridges or we have StrictEntryNodes set), don't mark relays
down when they fail a directory request. Otherwise we're too quick
to mark all our entry points down.
svn:r12755
2007-12-10 17:16:41 +00:00
Roger Dingledine
ee6ae92670
New config options AuthDirBadDir and AuthDirListBadDirs for
...
authorities to mark certain relays as "bad directories" in the
networkstatus documents. Also supports the "!baddir" directive in
the approved-routers file.
svn:r12754
2007-12-10 16:49:54 +00:00
Roger Dingledine
d95e7c7d67
also clear the hsdir status flag in routerinfo_t when the relay is no
...
longer listed in the relevant networkstatus document.
svn:r12752
2007-12-10 16:40:14 +00:00
Roger Dingledine
25a444b698
emo teh
...
svn:r12747
2007-12-09 19:11:22 +00:00
Roger Dingledine
be337eb0ad
fix a memory leak in authority_certs_fetch_missing() every time
...
we try to call it but don't have enough dir info.
svn:r12743
2007-12-09 17:43:43 +00:00
Roger Dingledine
6dfd47467e
Allow multiple HashedControlPassword config lines, to support
...
multiple controller passwords.
svn:r12732
2007-12-09 04:59:27 +00:00
Roger Dingledine
9b162ef430
only clear the bridge list if options->Bridges is set.
...
this doesn't matter yet so we aren't adding them in other
ways yet.
svn:r12730
2007-12-09 03:38:57 +00:00
Roger Dingledine
ae1aa5a1bb
Set up lefkada (run by Geoff Goodell) as the fourth v3 directory
...
authority.
svn:r12724
2007-12-08 20:16:34 +00:00
Roger Dingledine
2b8ca7b4a4
patch from karsten to clean up documentation and to integrate
...
more fixes into rend-spec.txt.
svn:r12715
2007-12-07 21:27:58 +00:00
Nick Mathewson
2e378295d6
r16997@catbus: nickm | 2007-12-06 18:56:33 -0500
...
Make http://torproject urls into https://torproject urls. Patch from steve.
svn:r12708
2007-12-06 23:56:36 +00:00
Nick Mathewson
92372b156a
r16995@catbus: nickm | 2007-12-06 18:42:53 -0500
...
patch from steve: replace more tor.eff.org instances with torproject.org
svn:r12707
2007-12-06 23:42:59 +00:00
Roger Dingledine
75c38a2c88
Bridges now behave like clients with respect to time intervals for
...
downloading new consensus documents. Bridge users now wait until
the end of the interval, so their bridge will be sure to have a
new consensus document.
svn:r12696
2007-12-06 17:01:16 +00:00
Roger Dingledine
b277954501
put a note so the distant future developers can simplify tor
...
svn:r12691
2007-12-06 11:19:00 +00:00
Roger Dingledine
a107a1624b
extra points if it compiles
...
svn:r12688
2007-12-06 07:17:05 +00:00
Roger Dingledine
8de470cf69
Add "GETINFO/desc-annotations/id/<OR digest>" so controllers can
...
ask about source, timestamp of arrival, purpose, etc. We need
something like this to help Vidalia not do GeoIP lookups on bridge
addresses.
svn:r12687
2007-12-06 07:15:06 +00:00
Roger Dingledine
3ff63b6f4e
When the DANGEROUS_VERSION controller status event told us we're
...
running an obsolete version, it used the string "OLD" to describe
it. Yet the "getinfo" interface used the string "OBSOLETE". Now use
"OBSOLETE" in both cases.
svn:r12686
2007-12-05 19:32:58 +00:00
Roger Dingledine
343242d9ae
update an XXX020 for nick later
...
svn:r12684
2007-12-05 19:23:03 +00:00
Nick Mathewson
29045d21b3
r15155@tombo: nickm | 2007-12-05 11:11:14 -0500
...
Add a missing "not" to check of whether to use revised handshake.
svn:r12678
2007-12-05 16:11:33 +00:00
Roger Dingledine
d46b8a3eac
Stop being so aggressive about fetching dir info if your DirPort is
...
on but your ORPort is off.
Add a new config option BridgeRelay that specifies you want to
be a bridge relay. Right now the only difference is that it makes
you answer begin_dir requests, and it makes you cache dir info,
even if your DirPort isn't on.
Refactor directory_caches_dir_info() into some more functions.
svn:r12668
2007-12-04 18:35:03 +00:00
Roger Dingledine
0000c7e6e9
weasel wanted us to log the source of v3 votes we don't like
...
svn:r12665
2007-12-04 15:54:14 +00:00
Nick Mathewson
593ab7e808
r15106@tombo: nickm | 2007-12-04 00:08:35 -0500
...
Change tor_addr_t to be a tagged union of in_addr and in6_addr, not of sockaddr_in and sockaddr_in6. It's hardly used in the main code as it is, but let's get it right before it gets popular.
svn:r12660
2007-12-04 05:19:56 +00:00
Roger Dingledine
ce2cf88ebf
Stop thinking that 0.1.2.x directory servers can handle "begin_dir"
...
requests. Should ease bugs 406 and 419 where 0.1.2.x relays are
crashing or mis-answering these requests.
svn:r12658
2007-12-03 22:31:59 +00:00
Roger Dingledine
3229117d3a
minor touchups
...
svn:r12657
2007-12-03 22:04:19 +00:00
Roger Dingledine
07dbaaac16
We were ignoring our RelayBandwidthRate for the first 30 seconds
...
after opening a circuit -- even relayed circuits. Bugfix on
0.2.0.3-alpha.
svn:r12638
2007-12-02 11:24:06 +00:00
Roger Dingledine
b54240d38f
Reject uploaded descriptors and extrainfo documents if they're
...
huge. Otherwise we'll cache them all over the network and it'll
clog everything up.
svn:r12633
2007-12-02 06:11:53 +00:00
Roger Dingledine
1a254477fc
minor cleanups
...
svn:r12631
2007-12-02 04:39:56 +00:00
Roger Dingledine
f901cd064c
clean up the dirserv_add_multiple_descriptors() api
...
svn:r12630
2007-12-02 02:47:42 +00:00
Roger Dingledine
9b1b8199df
backport candidate:
...
Start purging old entries from the "rephist" database, and the
hidden service descriptor databases, even when DirPort is zero.
svn:r12628
2007-12-01 22:38:58 +00:00