Nick Mathewson
6c499804bb
r8686@Kushana: nickm | 2006-08-30 18:01:35 -0400
...
Remove bogus whitespace
svn:r8307
2006-08-30 23:34:49 +00:00
Nick Mathewson
8138d1c0a4
r8654@Kushana: nickm | 2006-08-28 16:50:36 -0400
...
I bet real programmers even have programs that compile.
svn:r8278
2006-08-28 20:50:47 +00:00
Nick Mathewson
dc4951314f
r8652@Kushana: nickm | 2006-08-28 16:41:44 -0400
...
Resolve bug 324: strdup the right variable.
svn:r8277
2006-08-28 20:42:14 +00:00
Roger Dingledine
2499d1db7c
and make the comment better, while i'm at it
...
svn:r8273
2006-08-28 19:02:57 +00:00
Roger Dingledine
2a4d5782ef
an even better check -- now servers hang up if they can't write
...
for a while, and clients hang up if they can't read for a while.
svn:r8272
2006-08-28 19:00:17 +00:00
Roger Dingledine
f75ef94f27
fix bug found by Adam J. Richter: directory clients shouldn't
...
hang up five minutes after they begin. but directory servers
should still hang up after 5 minutes of failing to deliver
any bytes.
svn:r8271
2006-08-28 18:51:36 +00:00
Roger Dingledine
a76e032b14
put some symbols on the eventdns logging. leave the haphazard
...
formatting alone.
svn:r8270
2006-08-28 08:24:36 +00:00
Nick Mathewson
dbe0c6f6ef
r8609@Kushana: nickm | 2006-08-27 17:24:27 -0400
...
Add some doxygen, concentrated in dns.c
svn:r8256
2006-08-28 03:16:02 +00:00
Nick Mathewson
54ca0387a5
r8608@Kushana: nickm | 2006-08-27 16:57:47 -0400
...
Make it possible to change nameserver options while Tor is running.
svn:r8255
2006-08-28 03:15:55 +00:00
Nick Mathewson
be7054c626
r8607@Kushana: nickm | 2006-08-27 15:45:42 -0400
...
Change configuration strategy for eventdns. Instead of elaborate option set, just allow the user to specify another resolv.conf to use.
svn:r8254
2006-08-28 03:15:50 +00:00
Nick Mathewson
d62f9a03fb
r8605@Kushana: nickm | 2006-08-27 14:01:11 -0400
...
divide eventdns log messages into warn and info messages.
svn:r8252
2006-08-28 03:15:38 +00:00
Roger Dingledine
e17276b2f1
comment out an unused variable; nick, feel free to excise it further.
...
svn:r8241
2006-08-27 06:58:30 +00:00
Roger Dingledine
94afe807ac
stop a big memory leak: we were leaking the whole contents
...
of cached-routers.new every time we read it.
svn:r8236
2006-08-27 02:12:12 +00:00
Roger Dingledine
9f5856c03d
stop three memory leaks. nick, fix these if i'm wrong.
...
svn:r8235
2006-08-27 02:07:54 +00:00
Roger Dingledine
24ad1e06cf
i'm guessing nick meant to check the return value of dns_init.
...
and revise some log severities to match the convention.
svn:r8234
2006-08-27 01:41:08 +00:00
Roger Dingledine
8297608217
fix typo
...
svn:r8233
2006-08-27 01:33:35 +00:00
Roger Dingledine
c0cb1c7bd2
remove some more vestiges of cvs
...
svn:r8229
2006-08-26 06:51:02 +00:00
Roger Dingledine
171a00ec50
fix a log level -- err is for things that kill tor, warn is for
...
things that tor can recover from.
also, avoid situations where people who don't read their logs
accumulate ten thousand useless files in their datadir.
svn:r8227
2006-08-26 04:48:50 +00:00
Nick Mathewson
fd36eb0788
r8576@Kushana: nickm | 2006-08-25 17:16:01 -0400
...
Fix bug 314: Instead of checking address_in_virtualrange, check addressmap_have_mapping(). This should be more accurate. [Rename to addressmap_have_mapping() from addressmap_already_mapped().]
svn:r8226
2006-08-25 21:16:22 +00:00
Nick Mathewson
7739c5c49a
r8573@Kushana: nickm | 2006-08-25 16:55:19 -0400
...
Resolve bug 321 when using dnsworkers: append a period to every address we resolve at the exit node, so that we do not accidentally pick up local addresses, and so that failing searches are retried in the resolver search domains. (This is already solved for eventdns.)
svn:r8225
2006-08-25 21:02:01 +00:00
Nick Mathewson
c82c4a9e8b
r8572@Kushana: nickm | 2006-08-25 16:35:49 -0400
...
Fix for bug 308: When we have a state file we cannot parse, tell the user, and move it aside.
svn:r8224
2006-08-25 21:01:56 +00:00
Roger Dingledine
0649fa14c1
make our socks5 handling more robust to broken socks clients:
...
throw out everything waiting on the buffer in between socks
handshake phases, since they can't possibly (so the theory
goes) have predicted what we plan to respond to them.
svn:r8223
2006-08-24 04:51:55 +00:00
Roger Dingledine
9ebaf01096
clean up logging conventions in do_list_fingerprint()
...
svn:r8222
2006-08-24 00:54:18 +00:00
Roger Dingledine
41d8d77c8b
tor --verify-config now exits with -1(255) or 0 depending on whether
...
the config options are bad or good.
svn:r8221
2006-08-23 23:45:03 +00:00
Nick Mathewson
0f5bfc1521
r7411@Kushana: nickm | 2006-08-17 19:00:25 -0400
...
patch suggested by Karsten Loesing: respond to SIGNAL command before we execute the signal, in case the signal shuts us down.
svn:r7072
2006-08-17 23:00:32 +00:00
Nick Mathewson
ae5ee4c924
r7405@Kushana: nickm | 2006-08-16 14:38:46 -0400
...
Implement reverse DNS lookup in eventdns: add new entry point; rename old entry point; revise TODO a little; add facility for parsing dns names.
svn:r7070
2006-08-16 18:47:24 +00:00
Roger Dingledine
6650470575
automatically avoid picking more than one node from the same
...
/16 network when constructing a circuit.
svn:r7068
2006-08-16 03:44:13 +00:00
Roger Dingledine
d8fc598a2a
dns.c:173: warning: control reaches end of non-void function
...
svn:r7067
2006-08-16 02:18:55 +00:00
Nick Mathewson
163dd78282
r7398@Kushana: nickm | 2006-08-15 00:49:50 -0400
...
Add missing backslash
svn:r7065
2006-08-15 04:50:33 +00:00
Nick Mathewson
67b775bc6e
r7397@Kushana: nickm | 2006-08-15 00:46:18 -0400
...
Fix eventdns version of dns.c. Man, we need to get rid of this eventdns/dnsworker split.
svn:r7064
2006-08-15 04:50:17 +00:00
Nick Mathewson
7bfb2cf4e8
r7393@Kushana: nickm | 2006-08-14 23:51:07 -0400
...
remove extraneous #endif
svn:r7063
2006-08-15 03:54:13 +00:00
Nick Mathewson
273ee3e814
r7392@Kushana: nickm | 2006-08-14 23:50:32 -0400
...
Only do the expensive version of router_have_minimum_dir_info() when the dir info has changed. Backport candidate, since oprofile suggests that this function and ones it calls account for 25-35% of oprofile samples.
svn:r7062
2006-08-15 03:54:09 +00:00
Nick Mathewson
bc21df6a5c
r7386@Kushana: nickm | 2006-08-14 17:43:44 -0400
...
Patch from Adam Langley.
* I meant getaddrinfo_a, not getaddrinfo_r - fixed
* Added more checks to the parsing code.
* It seems you switched an alloca to a malloc, but didn't add any frees
svn:r7061
2006-08-14 21:44:45 +00:00
Nick Mathewson
200e24981a
r7046@Kushana: nickm | 2006-08-05 13:57:04 -0400
...
Make it possible for dns_init() to fail; note failure of eventdns configuratoin.
svn:r7059
2006-08-14 21:44:34 +00:00
Nick Mathewson
a5c0aa43a0
r7383@Kushana: nickm | 2006-08-14 16:16:03 -0400
...
Stop walking entire dns cache for every request, now that we found our hash table bug.
svn:r7057
2006-08-14 20:16:21 +00:00
Roger Dingledine
5194b91053
avoid complaining about our SOCKS proxy proxy.
...
svn:r7053
2006-08-14 10:00:15 +00:00
Roger Dingledine
9b10f11d39
fix typos and stuff
...
svn:r7049
2006-08-14 08:55:41 +00:00
Roger Dingledine
bf10d8a06a
simplify compare_cached_resolves_by_expiry() to make it match
...
the idioms of other compare functions. hopefully i didn't
break it?
svn:r7048
2006-08-14 07:08:29 +00:00
Nick Mathewson
6da96f0ed7
r7369@Kushana: nickm | 2006-08-14 02:03:10 -0400
...
Shortening fields is only one part of making structs shorter. You must also consider alignment padding. Whee.
svn:r7045
2006-08-14 06:03:26 +00:00
Roger Dingledine
2c27cfc38e
save 3-7 bytes per edge connection
...
svn:r7044
2006-08-14 05:53:57 +00:00
Roger Dingledine
6fdc63aed2
simplify the connection_write_to_buf_zlib() wrapper.
...
svn:r7042
2006-08-13 23:38:30 +00:00
Roger Dingledine
f294575469
fix funny-looking assignment that crashes unit tests
...
svn:r7027
2006-08-11 07:41:21 +00:00
Roger Dingledine
5647e5c7e6
fix typo, add explanatory comment
...
svn:r7026
2006-08-11 07:31:16 +00:00
Nick Mathewson
9b5a643475
r7328@Kushana: nickm | 2006-08-11 00:04:26 -0700
...
remove an assert that can never be false (an array in a non-null struct cannot be null).
svn:r7024
2006-08-11 07:09:52 +00:00
Nick Mathewson
04bf4b0fc4
r7327@Kushana: nickm | 2006-08-11 00:00:36 -0700
...
Fix a pedantic warning
svn:r7023
2006-08-11 07:09:45 +00:00
Nick Mathewson
09a895e222
r7324@Kushana: nickm | 2006-08-10 23:23:15 -0700
...
Add more warnings to the list of those we tolerate. Start using GCC attributes more, for better error checking and better code generation.
svn:r7020
2006-08-11 07:09:17 +00:00
Nick Mathewson
02d42d9138
Fix crash in first-time option validation. Oops.
...
svn:r7018
2006-08-10 19:56:10 +00:00
Nick Mathewson
7ddd9e8cd9
r7304@Kushana: nickm | 2006-08-10 01:58:05 -0700
...
Fix verbose compilation errors; make sure transparent proxy fails when no method is configured.
svn:r7012
2006-08-10 09:02:26 +00:00
Nick Mathewson
3da737ac98
r7303@Kushana: nickm | 2006-08-10 01:52:19 -0700
...
whitespace fixes
svn:r7011
2006-08-10 09:02:12 +00:00
Nick Mathewson
74df271e00
r7302@Kushana: nickm | 2006-08-10 01:48:44 -0700
...
Warn about open TransListenAddress values.
svn:r7010
2006-08-10 09:02:02 +00:00
Nick Mathewson
cd560d8528
r7301@Kushana: nickm | 2006-08-10 01:41:27 -0700
...
Only open /dev/pf once.
svn:r7009
2006-08-10 09:01:54 +00:00
Nick Mathewson
d893d8c52e
r7300@Kushana: nickm | 2006-08-10 01:36:40 -0700
...
Distinguish netfilter vs pf at configure time based on headers, not on OS.
svn:r7008
2006-08-10 09:01:46 +00:00
Nick Mathewson
5cff4164a0
r7299@Kushana: nickm | 2006-08-10 01:08:58 -0700
...
Patch from Tup to add support for transparent AP connections: this basically bundles the functionality of trans-proxy-tor into the tor mainline. Now hosts with compliant pf/netfilter implementations can redirect TCP connections straight to Tor without diverting through SOCKS.
svn:r7007
2006-08-10 09:01:37 +00:00
Roger Dingledine
8075928b2a
a way to make tor more stable in crummy situations
...
svn:r7005
2006-08-10 08:00:54 +00:00
Nick Mathewson
35f0881802
Experimentally re-enable kqueue on OSX when using libevent 1.1b or later. Log when we are doing this, so we can diagnose it when it fails.
...
svn:r7004
2006-08-10 08:00:13 +00:00
Nick Mathewson
f2a0df4d02
Recommend libevent 1.1b for kqueue and win32 methods; deprecate libevent 1.0b harder; make libevent recommendation system saner.
...
svn:r7003
2006-08-10 07:39:47 +00:00
Nick Mathewson
7c596c166b
r7029@Kushana: nickm | 2006-08-04 14:08:41 -0700
...
Remove now-spurious size and data arguments from tor_mmap_file
svn:r6987
2006-08-05 17:53:21 +00:00
Nick Mathewson
714d1b66aa
r7027@Kushana: nickm | 2006-08-04 13:06:48 -0700
...
Oops. Fix downcast macro.
svn:r6985
2006-08-05 17:52:51 +00:00
Roger Dingledine
bc2e040669
make svn trunk link again. nick can fix this if it's wrong.
...
svn:r6982
2006-08-04 20:30:45 +00:00
Nick Mathewson
bf72878cad
r7012@Kushana: nickm | 2006-08-03 19:21:25 -0700
...
Add an "mmap handle" type to encapsulate bookkeeping elements of mmap issues; add prelim win32 impl
svn:r6980
2006-08-04 18:32:43 +00:00
Nick Mathewson
abe27b807e
svn:r6979
2006-08-04 18:31:13 +00:00
Nick Mathewson
2c33f385f7
r7011@Kushana: nickm | 2006-08-03 13:26:34 -0700
...
eventdns: Document functions added to API; make suspended requests go to the front of the queue; check (or explicitly ignore) return values on libevent functions.
svn:r6978
2006-08-04 18:27:10 +00:00
Nick Mathewson
e8f28a71e8
r7010@Kushana: nickm | 2006-08-03 10:47:36 -0700
...
Enable log message format checking in eventdns.c when __GNUC__ is defined.
svn:r6977
2006-08-04 18:26:40 +00:00
Nick Mathewson
3fa1cdafce
r7009@Kushana: nickm | 2006-08-03 10:44:58 -0700
...
Add functions to eventdns to allow detecting whether we have any nameservers configured, and to change the list of nameservers after initial configuration.
svn:r6976
2006-08-04 18:26:13 +00:00
Nick Mathewson
87939813c3
r7008@Kushana: nickm | 2006-08-03 10:03:39 -0700
...
Oops. We shouldnt initialize eventdns when we are not being a server and not resolving anything.
svn:r6975
2006-08-04 18:24:41 +00:00
Nick Mathewson
a122bfb439
r7007@Kushana: nickm | 2006-08-03 09:58:30 -0700
...
Export and use eventdns_config_windows_nameservers(); clean up some comments and log messages.
svn:r6974
2006-08-04 18:24:25 +00:00
Nick Mathewson
19cf66c0f1
Patch from Frediano Ziglio: Windows compilation fixes on eventdns.c.
...
svn:r6971
2006-08-03 07:46:25 +00:00
Roger Dingledine
3152d44c3a
fix a seg fault on exit for clients; and fix a comment.
...
svn:r6969
2006-08-03 04:22:25 +00:00
Roger Dingledine
ed567c6feb
more compile options mean more codepaths
...
svn:r6963
2006-07-31 20:25:57 +00:00
Nick Mathewson
b9082682fd
r6982@Kushana: nickm | 2006-07-31 13:47:19 -0400
...
documentation and naming tweaks in dns.c
svn:r6961
2006-07-31 18:01:49 +00:00
Nick Mathewson
58c0ac77be
r6981@Kushana: nickm | 2006-07-31 13:23:26 -0400
...
More asserts for cache correctness.
svn:r6960
2006-07-31 18:01:45 +00:00
Nick Mathewson
d934607069
r6979@Kushana: nickm | 2006-07-31 13:16:58 -0400
...
Add assert_ok functions for strmap and digestmap; use them in unit test code.
svn:r6958
2006-07-31 18:01:27 +00:00
Nick Mathewson
fd0bafb0de
r6977@Kushana: nickm | 2006-07-31 13:01:28 -0400
...
Solve timing-out pending connections. Add pending resolves to expiry queue; when we find an answer, change the pending resolve to "done" and stick the actual answer in the expiry queue as a new entry. This uses a little more memory, but makes the code simpler than other solutions.
svn:r6956
2006-07-31 18:01:18 +00:00
Nick Mathewson
ccf9c1345e
svn:r6955
2006-07-31 18:00:47 +00:00
Nick Mathewson
46574319a2
r6959@Kushana: nickm | 2006-07-29 22:33:18 -0400
...
start restructuring dns to use priority queues for expiring entries.
svn:r6954
2006-07-31 18:00:18 +00:00
Nick Mathewson
2fe537c57a
r6958@Kushana: nickm | 2006-07-29 18:54:15 -0400
...
Looks like we might need a priority queue.
svn:r6953
2006-07-31 17:59:37 +00:00
Nick Mathewson
8ba913c660
r6952@Kushana: nickm | 2006-07-28 11:09:37 -0400
...
Add completely untested find-my-nameservers code for win32.
svn:r6952
2006-07-31 17:59:11 +00:00
Roger Dingledine
798b580695
fix assert found by DreadWingKnight: now that rendezvous streams
...
are attached to p_streams, the p_streams list can consist of both AP
and EXIT conns.
svn:r6945
2006-07-30 04:54:13 +00:00
Roger Dingledine
2bcb081cb1
defense in depth
...
svn:r6939
2006-07-30 04:32:58 +00:00
Roger Dingledine
c3b79ebf13
a bit more debugging for phobos
...
svn:r6937
2006-07-30 03:34:44 +00:00
Nick Mathewson
84c2a6c16b
r6950@Kushana: nickm | 2006-07-28 10:32:08 -0400
...
Document split fields better. Now, I think we can take a break from type splitting for a bit.
svn:r6935
2006-07-28 15:11:28 +00:00
Nick Mathewson
85f381153b
r6949@Kushana: nickm | 2006-07-28 10:17:38 -0400
...
Shave another 8 bytes from connection_t: turn inbuf_reached_eof into a bit, and lower timestamp_lastempty to or_connection_t
svn:r6934
2006-07-28 15:11:20 +00:00
Nick Mathewson
6dc13cdbeb
r6948@Kushana: nickm | 2006-07-28 10:10:35 -0400
...
Identify some likely target fields for lowering; lower global_identifier (since we only use it for AP streams and origin circs).
svn:r6933
2006-07-28 15:11:11 +00:00
Roger Dingledine
a5e5074807
resolve typo
...
svn:r6927
2006-07-27 19:35:11 +00:00
Nick Mathewson
c2f28615ed
More asserts in dns.c
...
svn:r6926
2006-07-27 18:35:56 +00:00
Nick Mathewson
45c3a4365f
Get better numbers out of HT_REP_OK
...
svn:r6924
2006-07-27 17:37:37 +00:00
Nick Mathewson
dc2b7e9af0
Add more asserts in dns_found_answer. This may confirm my theory that dns_purge_resolve is the culprit.
...
svn:r6922
2006-07-27 17:16:10 +00:00
Nick Mathewson
5227395aba
r6922@Kushana: nickm | 2006-07-26 16:32:24 -0400
...
Rename some fields, compress a bitfield, and document some structs and fields
svn:r6919
2006-07-27 05:03:57 +00:00
Nick Mathewson
dd779d99ea
Fix comments that implied that only dir connections had a purpose field, and the code that believed in those comments.
...
svn:r6918
2006-07-27 04:10:51 +00:00
Nick Mathewson
0bc741ba7f
r6918@Kushana: nickm | 2006-07-26 15:22:28 -0400
...
Fix compilation for eventdns dns.c with split structs.
svn:r6908
2006-07-26 19:29:30 +00:00
Nick Mathewson
ec82db6995
r6909@Kushana: nickm | 2006-07-26 13:05:58 -0400
...
Clean up wide lines from last patch.
svn:r6907
2006-07-26 19:07:37 +00:00
Nick Mathewson
4ff4577beb
r6908@Kushana: nickm | 2006-07-26 12:38:52 -0400
...
Refactor connection_t into edge, or, dir, control, and base subtypes. This might save some RAM on busy exit servers, but really matters most in terms of correctness.
svn:r6906
2006-07-26 19:07:26 +00:00
Nick Mathewson
18771e851f
r6907@Kushana: nickm | 2006-07-25 19:03:43 -0400
...
Realign circuit structs to avoid wasted space.
svn:r6905
2006-07-26 19:07:23 +00:00
Nick Mathewson
e61d28dfb8
r6903@Kushana: nickm | 2006-07-25 18:22:48 -0400
...
No circuit can be both an intro point and a rend point, so we can merge both the cookie and the pk digest into one "rend_token" field for or circuits. This saves another 20 bytes per or circuit.
svn:r6904
2006-07-26 19:05:41 +00:00
Nick Mathewson
a88ec48a39
r6902@Kushana: nickm | 2006-07-25 17:30:27 -0400
...
Move rend_query to origin_circuit_t where it belongs; save another 17 bytes per OR circuit.
svn:r6903
2006-07-26 19:05:34 +00:00
Nick Mathewson
96bcbb1e1c
Remove code to special-case "-cvs" ending, since it has not actually mattered since 0.0.9. Perhaps we can special-case even more...
...
svn:r6898
2006-07-25 04:34:14 +00:00
Peter Palfrader
521c006fd5
Remove .cvsignore files from trunk
...
svn:r6891
2006-07-25 01:00:48 +00:00
Roger Dingledine
c9b8458f59
publish a new descriptor after we hup. this is important if our
...
config has changed such that we'll want to start advertising our
dirport now, etc.
svn:r6819
2006-07-23 11:50:03 +00:00
Nick Mathewson
d27cbf5d4b
Fix another segfault in assert_circuit_ok.
...
svn:r6818
2006-07-23 08:13:45 +00:00
Nick Mathewson
7239262f71
Don't tell anybody, but we're going OO here. This patch splits
...
circuit_t into origin_circuit_t and or_circuit_t. I fixed some
segaults; there may be more. We still need to move more rendezvous
stuff into subtypes.
This is a trial run for splitting up connection_t; if the approach is
insane, please say so soon so we can do something smarter.
Also, this discards the old HALF_OPEN code, which nobody seems to
want.
svn:r6817
2006-07-23 07:37:35 +00:00
Roger Dingledine
40cc536307
rewrite conn->address for GET commands as well as POST commands.
...
svn:r6815
2006-07-23 06:41:02 +00:00
Roger Dingledine
0b5ad1bcfb
use tor_mem_is_zero() in more places.
...
svn:r6814
2006-07-23 05:52:27 +00:00
Nick Mathewson
4280218a42
Delete trailing whitespace in eventdns.c
...
svn:r6813
2006-07-23 05:40:24 +00:00
Nick Mathewson
1c0f02f657
Add (void) lines for unused parameters in eventdns.c
...
svn:r6812
2006-07-23 05:39:37 +00:00
Nick Mathewson
f4e506f423
Remove STRUCT_OFFSET from config.c
...
svn:r6811
2006-07-23 05:33:10 +00:00
Roger Dingledine
ee789052b8
whitespace and docs
...
svn:r6808
2006-07-23 05:18:29 +00:00
Roger Dingledine
00aefaab6b
think harder about my logic
...
svn:r6806
2006-07-22 07:19:11 +00:00
Roger Dingledine
2d6a4d283b
i lied, that won't work at all. maybe this will.
...
svn:r6805
2006-07-22 07:15:34 +00:00
Roger Dingledine
444f096d2d
more bulletproof reachability testing
...
svn:r6804
2006-07-22 05:29:31 +00:00
Nick Mathewson
64c14d8ce3
These asserts will either cause spurious crashes or help debug the pend->conn->s == -1 issue.
...
svn:r6803
2006-07-21 22:02:58 +00:00
Roger Dingledine
2249180b60
bugfix: if you find yourself reachable, then don't ever make any client
...
requests (so you stop predicting circuits), then hup, then later your
IP changes, you won't think circuits are working so you won't try to
test reachability, so you won't publish.
svn:r6800
2006-07-21 07:55:35 +00:00
Roger Dingledine
4d5fab4f9a
tweak
...
svn:r6799
2006-07-21 07:53:21 +00:00
Roger Dingledine
9283ddb760
an entry guard that is "unlisted", as well as not known to be "down", is
...
not therefore "up".
svn:r6798
2006-07-21 07:06:18 +00:00
Roger Dingledine
237c7ecbfd
tweak
...
svn:r6796
2006-07-20 23:45:26 +00:00
Roger Dingledine
97a14b2018
tweak
...
svn:r6795
2006-07-20 23:33:11 +00:00
Roger Dingledine
db657ea0af
don't squeal if the first few retries fail.
...
svn:r6791
2006-07-18 04:48:59 +00:00
Roger Dingledine
892f671f59
Define a schedule for how long to wait between retrying
...
application connections. Rather than waiting a fixed amount of
time between each retry, we wait only 5 seconds for the first,
10 seconds for the second, and 15 seconds for each retry after
that. Hopefully this will improve the expected experience.
Addresses bug 297.
svn:r6790
2006-07-18 04:42:32 +00:00
Roger Dingledine
e1f30a5f21
when we find our dirport to be reachable, mark our descriptor
...
dirty so we'll tell the world. (fixes bug 306 reported by pnx)
svn:r6787
2006-07-18 03:06:55 +00:00
Roger Dingledine
ac258d2cc8
Start publishing one minute or so after we find our ORPort
...
to be reachable. This will help reduce the number of descriptors
we have for ourselves floating around, since it's quite likely
other things (e.g. DirPort) will change during that minute too.
svn:r6786
2006-07-18 03:06:12 +00:00
Nick Mathewson
7fcb267e24
Oh. And apparently, msvc6 doesnt think very much of doing u64-and-double arithmetic either.
...
svn:r6785
2006-07-18 02:24:01 +00:00
Roger Dingledine
388ac4126a
If we are using an exit enclave and we can't connect, e.g. because
...
its webserver is misconfigured to not listen on localhost, then back
off and try connecting from somewhere else before we fail.
svn:r6783
2006-07-18 00:59:46 +00:00
Roger Dingledine
a8444c6f53
pick a log domain; resolve an xxxx
...
svn:r6782
2006-07-18 00:01:12 +00:00
Roger Dingledine
c85745cfe2
parameterize the loudness of log_addr_has_changed(), since it's the
...
only place where we inform the user of a new IP address, if we're
guessing it from external sources.
svn:r6780
2006-07-17 19:33:54 +00:00
Roger Dingledine
542adb88d7
Make a louder statement the first time we learn a guessed
...
IP address.
svn:r6779
2006-07-17 08:17:51 +00:00
Roger Dingledine
c055a34cdb
huge bugfix: we weren't ever writing an http header when sending
...
out network statuses! so clients were downloading the whole thing,
and then discarding them because they're malformed.
svn:r6778
2006-07-17 08:11:27 +00:00
Roger Dingledine
a2a89da693
and don't try to build the descriptor every second, if it's dirty
...
but we don't have a known address.
svn:r6777
2006-07-17 06:59:56 +00:00
Roger Dingledine
42e2057d67
fix some more places where we shouldn't crash if we can't build
...
our own descriptor yet.
svn:r6775
2006-07-17 06:54:28 +00:00
Roger Dingledine
9db7b2c068
Allow servers with no hostname or IP address to learn their IP address
...
by asking the directory authorities. This code only kicks in when you
would normally have exited with a "no address" error.
This design is flawed, though, since the X-Your-Address-Is header is not
authenticated, and doing it this way introduces too many new attacks. The
right answer is to give IP address hints inside the HELLO cell; much of
this code can be reused when we switch.
svn:r6774
2006-07-17 06:35:06 +00:00
Nick Mathewson
e572d5990c
MSVC6 is apparently terrified of unnatural cross-breeding between uint64_t and double, and needs more persuasion than usual to cast one to the other. Issue identified by Frediano Ziglio; patch revised for minimal impact on non-MSVC6 compilers.
...
svn:r6768
2006-07-17 00:39:05 +00:00
Roger Dingledine
886b10bbe2
whitespace/etc cleanups
...
svn:r6765
2006-07-16 05:57:11 +00:00
Roger Dingledine
ee5f512e13
parameterize the loudness of resolve_my_address(), and call things
...
IP addresses, not IPs.
svn:r6764
2006-07-15 20:26:05 +00:00
Roger Dingledine
3d79eb52ab
stick to nick's nul/null convention
...
svn:r6763
2006-07-15 19:21:30 +00:00
Roger Dingledine
c4411841d2
Avoid an integer underflow when the dir authority decides whether a
...
router is stable: we might wrongly label it stable, and compute a slightly
wrong median stability, when a descriptor is published later than now.
Inspired by Matt's Vidalia checkin:
http://trac.vidalia-project.net/changeset/1074
svn:r6758
2006-07-14 03:14:02 +00:00
Nick Mathewson
a0cf95e1c9
Add some debugging asserts to dns.c; these are too expensive to leave in permanently.
...
svn:r6756
2006-07-11 20:51:58 +00:00
Nick Mathewson
c32e19b4ed
OR_CONN_EVENT_NEW: we should probably handle that , should we not? Especially since 23:26 < phobos> nickm: grep -c "Unrecognized status code 4" tor.log
...
svn:r6752
2006-07-11 03:33:16 +00:00
Nick Mathewson
39344fc301
Add a const; fix a (probably harmless) bug when storing a resolve we forgot we asked for.
...
svn:r6751
2006-07-10 18:38:57 +00:00
Nick Mathewson
a7a1d4e3d3
First part of making mmap-based stuff work on win32: save descriptors as "binary" (no LF->CRLF tanslation) so that we can mmap them properly later. Patch from Frediano Ziglio.
...
svn:r6748
2006-07-09 22:28:12 +00:00
Roger Dingledine
51454157a0
Fix a crash if you enable FascistFirewall but not FirewallPorts.
...
Reported by Frediano Ziglio.
svn:r6746
2006-07-08 17:38:46 +00:00
Nick Mathewson
0bbc4aca9b
Spellcheck and remove spurious include in eventdns.c
...
svn:r6745
2006-07-07 19:08:44 +00:00
Nick Mathewson
a40ad152b1
When using eventdns: suppress logging of addresses when SafeLogging is active, and make set of nameservers configurable from torrc.
...
svn:r6744
2006-07-07 17:33:30 +00:00
Nick Mathewson
f33c4f9781
eventdns: check for malloc() failures.
...
svn:r6743
2006-07-07 17:31:56 +00:00
Roger Dingledine
85fd582192
rename X-You-Are to something slightly better.
...
svn:r6735
2006-07-06 03:05:01 +00:00
Roger Dingledine
7f01dc9c1c
whitespace/tab fixes
...
svn:r6734
2006-07-06 02:45:46 +00:00
Roger Dingledine
fad85f173a
when an exit node gets a malformed begin cell, don't complain to
...
the node operator, since he can't do anything about it.
svn:r6733
2006-07-06 02:44:07 +00:00
Nick Mathewson
3c4205c872
Clean up eventdns messages.
...
svn:r6730
2006-07-05 21:42:18 +00:00
Nick Mathewson
54779025e2
Spelling fix.
...
svn:r6729
2006-07-05 21:33:46 +00:00
Nick Mathewson
42ef3bd90c
Add plausile logging support to eventdns; stop putting stuff onto stdout.
...
svn:r6728
2006-07-05 21:28:37 +00:00
Roger Dingledine
0ec293b189
actually, that excludenodes fix was redundant. take it out.
...
svn:r6727
2006-07-05 18:19:42 +00:00
Roger Dingledine
98c6bf6192
oops, we were ignoring options->ExcludeNodes when picking entry guards.
...
it is still the case that we ignore it with respect to entry guards
that we've already picked.
svn:r6726
2006-07-04 20:25:17 +00:00
Roger Dingledine
4fc7426b93
Make the X-You-Are header more accurate when there's a proxy in the middle.
...
svn:r6722
2006-07-04 18:18:08 +00:00
Roger Dingledine
05d0b70573
Get rid of the router_retry_connections notion. Now routers no longer
...
try to rebuild long-term connections to directory authorities, and
directory authorities no longer try to rebuild long-term connections to
all servers.
We still don't hang up connections in these two cases though -- we need
to look at it more carefully to avoid flapping, and we likely need to
wait til 0.1.1.x is obsolete.
svn:r6712
2006-07-04 03:31:27 +00:00
Roger Dingledine
ff1b4764e9
No longer permit create cells to have the wrong circ_id_type. No
...
running Tors should still have this bug.
svn:r6711
2006-07-04 03:27:09 +00:00
Roger Dingledine
dc79dd6a46
minor fixes
...
svn:r6709
2006-07-04 03:19:59 +00:00
Nick Mathewson
9fce316d1c
Oops. Headers work better when named right.
...
svn:r6707
2006-07-01 21:51:21 +00:00
Nick Mathewson
60de51993a
Unify HTTP response code into one place so it is easier to add headers. Add an X-You-Are header, which we should probably rename. NOTE that we should not use this field for things where it matters if dirs lie.
...
svn:r6705
2006-06-30 10:50:43 +00:00
Roger Dingledine
d45757ebcb
also remove word 'middleman' from a log notice
...
svn:r6704
2006-06-29 13:11:23 +00:00
Nick Mathewson
475eb5d6fe
Apparent 311 fix: apparently passing Z_FINISH an empty string is problematic.
...
svn:r6702
2006-06-29 11:19:52 +00:00
Nick Mathewson
4b49d298eb
complete_only == !allow_partial. This enables useful use of partial desc downloads. Backport candidate
...
svn:r6700
2006-06-29 11:04:42 +00:00
Roger Dingledine
c22c7b96f5
tab-man strikes again
...
svn:r6699
2006-06-28 15:39:02 +00:00
Nick Mathewson
8b08ab52fd
Fix another idiot bug causing symptom 309. Why cant I program?
...
svn:r6698
2006-06-28 15:36:28 +00:00
Nick Mathewson
96bfefeeb6
Add a check to try to make cache rebuild fail fast if it is going to fail
...
svn:r6697
2006-06-28 11:03:34 +00:00
Nick Mathewson
4dac383f5a
Aaand re-disable the bogus test in get_body()
...
svn:r6696
2006-06-28 08:57:41 +00:00
Nick Mathewson
d547ecc916
Make sure that our calculated offsets for routers is correct; again. This time bug 309 may be gone gone gone.
...
svn:r6695
2006-06-28 08:55:53 +00:00
Nick Mathewson
d3784ff1df
Likely fix for bug 309: when we calculate offsets after rebuilding the descriptor cache, do not reset the offset pointer half-way through.
...
svn:r6693
2006-06-27 15:52:51 +00:00
Roger Dingledine
f88d555ce0
refuse to write an iso_time which we can't parse, when dumping
...
bandwidth state. this fixes the particular incident in bug 308,
but the general issue remains.
svn:r6684
2006-06-24 04:57:59 +00:00
Nick Mathewson
b4b8da5d23
Turn a while into a do/while; save a redundant test
...
svn:r6683
2006-06-24 02:10:21 +00:00
Nick Mathewson
b82dfdd4a3
Make some more verbose gcc warnings go away.
...
svn:r6680
2006-06-22 07:34:04 +00:00
Nick Mathewson
52b8dfa95a
Fix a bunch of spaces.
...
svn:r6678
2006-06-22 07:25:15 +00:00
Nick Mathewson
89a1453776
Set offset properly when parsing cache.
...
svn:r6677
2006-06-22 07:19:28 +00:00
Nick Mathewson
58b05fc84d
#if out test that was failing because of an extra newline.
...
svn:r6676
2006-06-22 07:10:37 +00:00
Nick Mathewson
b7910202a3
Next batch of memory miserdom: mmap cached-routers file. This is sure to break somewhere.
...
svn:r6675
2006-06-22 07:01:54 +00:00
Nick Mathewson
e2697a62ac
When requesting or serving resources via fingerprint/digest, request and respond in-order, removing duplicates.
...
svn:r6673
2006-06-21 04:57:12 +00:00
Peter Palfrader
7b6c435066
<nickm> ooh, that log shouldn't be there. can you take it out?
...
svn:r6671
2006-06-20 23:11:15 +00:00
Nick Mathewson
0799154ae1
Fix bug in networkstatus spooling: spool more than the first networkstatus.
...
svn:r6670
2006-06-20 23:06:52 +00:00
Nick Mathewson
0e09b26112
Fishy, but harmless.
...
svn:r6669
2006-06-20 16:48:32 +00:00
Roger Dingledine
ef78e4245f
add a note for nick to fix
...
svn:r6668
2006-06-20 13:14:07 +00:00
Nick Mathewson
a9e1a4c33c
Ah. We need a new zlib_state for each networkstatus we spool out.
...
svn:r6667
2006-06-20 06:27:13 +00:00
Nick Mathewson
4283b81a48
Start spooling v2 networkstatus docs as well.
...
svn:r6664
2006-06-20 00:48:23 +00:00
Nick Mathewson
3f7f069a05
Fix a tricky crash: making the_directory heap-allocated (so we could refcount it and have multiple instances as neeeded) means that calls to dirserv_regenerate_directory could invalidate the auth_dir value passed to dirserv_pick_cached_dir_obj. Big fun.
...
svn:r6663
2006-06-18 21:30:03 +00:00
Nick Mathewson
2552d5e60f
Fix an assert that still isnt the assert we are hunting.
...
svn:r6662
2006-06-18 21:15:01 +00:00
Roger Dingledine
37c441d96f
correct a function comment in compute_preferred_testing_list()
...
svn:r6660
2006-06-18 21:07:45 +00:00
Nick Mathewson
f1993b8b30
Become capable of noticing that we are done sending a directory.
...
svn:r6659
2006-06-18 20:58:27 +00:00
Nick Mathewson
5c0d7fb016
Resolve control flow warning.
...
svn:r6658
2006-06-18 20:39:46 +00:00
Nick Mathewson
0932f463ff
Ah. That seems to work.
...
svn:r6657
2006-06-18 16:39:26 +00:00
Nick Mathewson
5ba72d0ae5
another write_to_buf_zlib fix.
...
svn:r6656
2006-06-18 16:20:38 +00:00
Nick Mathewson
b5c599412f
Backport candidate: implement the "is this uptime change cosmetic" test properly.
...
svn:r6654
2006-06-18 16:05:54 +00:00
Nick Mathewson
a9cffd2ff0
Re-enable buffer RAM guard values.
...
svn:r6653
2006-06-18 15:53:54 +00:00
Nick Mathewson
11c2e97d51
Another _zlib fix.
...
svn:r6652
2006-06-18 09:03:48 +00:00
Nick Mathewson
337ad6420b
Make connection_write_to_buf_zlib set outbuf_flushlen right.
...
svn:r6651
2006-06-18 08:53:09 +00:00
Nick Mathewson
537104c908
write_to_buf != connection_write_to_buf. Also, add a connection_write_to_buf_zlib wrapper that sucks.
...
svn:r6650
2006-06-18 08:46:55 +00:00
Nick Mathewson
10b7b57616
Temporarily disable sentinels on buffers
...
svn:r6649
2006-06-18 08:44:34 +00:00
Nick Mathewson
9376d901ed
make zlib buffer function set buf_highwater properly
...
svn:r6648
2006-06-18 08:21:27 +00:00
Nick Mathewson
4d02ccfed8
Stop trying to refresh when we are out of data.
...
svn:r6647
2006-06-18 08:19:35 +00:00
Nick Mathewson
b9013cbe98
And actually check the url when it exists. that might work better.
...
svn:r6646
2006-06-18 08:16:05 +00:00
Nick Mathewson
c374340c70
That dir_refresh_src fix will only work if I enable it.
...
svn:r6645
2006-06-18 08:13:45 +00:00
Nick Mathewson
347bcec84a
Fix a couple of bugs in last patch.
...
svn:r6644
2006-06-18 08:07:16 +00:00
Nick Mathewson
c58cc8c16c
add coverage for a default case
...
svn:r6643
2006-06-18 07:57:47 +00:00
Nick Mathewson
b1a8b7869a
Oops. conn->requested_resource is client only.
...
svn:r6642
2006-06-18 07:55:04 +00:00
Nick Mathewson
1d9923da7c
Instead of adding servers and v1 directories to buffers en masse, directory servers add them on the fly as their outbufs are depleted. This will save ram on busy dirservers.
...
svn:r6641
2006-06-18 07:38:55 +00:00
Nick Mathewson
8fa8616ec7
Add tests for several of the more recently committed functions.
...
svn:r6639
2006-06-18 07:35:10 +00:00
Nick Mathewson
cd38511a1e
Part of incremental encryption logic for buffers: there is a subtle yucky point documented in a comment.
...
svn:r6637
2006-06-18 07:27:47 +00:00
Peter Palfrader
2ff24dbc26
And a minor bugfix to the weaselhack
...
svn:r6629
2006-06-15 23:14:01 +00:00
Roger Dingledine
af0e47c921
fix spacing
...
svn:r6628
2006-06-15 22:59:07 +00:00
Peter Palfrader
bc64becd12
Add a /tor/dir-all-weaselhack directory resource so I do not have to update my scripts
...
svn:r6627
2006-06-15 22:52:56 +00:00
Roger Dingledine
4e4cc9aa27
lower the number of seconds before we yell about clock jump.
...
and make the yelling only happen if you're a server.
svn:r6625
2006-06-15 09:03:15 +00:00
Roger Dingledine
de7a9c83d8
upgrade the severity of the 'clock jump' warn, and ask people
...
to report if it occurs.
svn:r6623
2006-06-14 22:28:16 +00:00
Roger Dingledine
09dfe1b265
bugfix: discourage picking directory authorities as our TestVia
...
hops, even if they're running the right versions, since we probably
already have a connection established to them.
svn:r6622
2006-06-14 11:06:43 +00:00
Nick Mathewson
66db3afb74
eventdns: Apply a couple of patches from AGL; start working on windows compat; note some TODOs.
...
svn:r6621
2006-06-13 21:49:56 +00:00
Roger Dingledine
977574e48d
back off and add the $ at the beginning of the preferrednodes list
...
we generate.
svn:r6620
2006-06-13 12:57:19 +00:00
Roger Dingledine
2cd349903c
be more lax about recognizing valid hexdigests.
...
svn:r6619
2006-06-13 12:05:59 +00:00
Roger Dingledine
b4e415ba3c
now we can tell dirserv_dump_directory_to_string() whether we want
...
it to include down/invalid descriptors or not.
svn:r6618
2006-06-13 11:11:19 +00:00
Roger Dingledine
88dadc917c
bugfix in exit_policy_is_general_exit() that weasel found.
...
this time for sure!
svn:r6617
2006-06-13 10:48:26 +00:00
Roger Dingledine
23e2c6a7dd
first cut at a workaround for the reachability bug: explicitly find a
...
server running the right version, if we can, and ask for that one.
svn:r6616
2006-06-13 10:25:22 +00:00
Roger Dingledine
31b51849b5
export the default exit policy via the control port, so controllers
...
don't need to guess what it is / will be later.
svn:r6615
2006-06-13 09:16:09 +00:00
Roger Dingledine
279e86f3c8
Defense in depth: fix the reachability bug a second way too.
...
Now if we establish a connection with the right digest, regardless
of what the addr/port is, and we have pending create cells, use it.
svn:r6614
2006-06-13 05:51:28 +00:00
Roger Dingledine
a20a384b09
harmless typo
...
svn:r6613
2006-06-13 05:50:24 +00:00
Roger Dingledine
ab61c40661
Fix the bug that was causing servers to not find themselves
...
reachable if they changed IP addresses. This happened because
middle servers knew the old descriptor, and kept swapping the
addr/port we asked for with the one they thought was right.
So the create cell never got sent, because it was asking for a
different addr/port than we believed we had connected to.
svn:r6610
2006-06-13 05:36:35 +00:00
Roger Dingledine
19408cf8d7
reintroduce the logic to exit_policy_is_general_exit() to count
...
how many ports are allowd. require two ports open, not just one.
svn:r6609
2006-06-13 02:48:06 +00:00
Peter Palfrader
cce8ae1190
Make the Exit tag in status documents actually work in head too
...
svn:r6608
2006-06-12 22:03:25 +00:00
Roger Dingledine
87e3800dfc
Finally solve the "closing wedged cpuworkers" bug. Woo.
...
This happened when we got two create cells in a row from the same TLS
connection. It would hand one to the cpuworker, and then immediately
handle the second one -- after it had registered that the first one was
busy, but before it had updated the timestamp that we use to decide how
*long* it's been busy.
svn:r6606
2006-06-12 11:59:19 +00:00
Roger Dingledine
cbc4cd93ac
allow people to start their tor with runasdaemon set but
...
with no logs set at all.
svn:r6604
2006-06-12 06:03:15 +00:00
Roger Dingledine
14687fc443
take out the reachability bandaid in 0.1.2.x as well.
...
maybe we will actually be able to fix it, instead.
svn:r6585
2006-06-10 00:57:12 +00:00
Roger Dingledine
889b8d5bac
Add a new config option TestVia, that lets you specify preferred middle
...
hops to use for testing circuits. Perhaps this will let me debug the
reachability problem better.
svn:r6581
2006-06-10 00:26:39 +00:00
Roger Dingledine
6531a31aad
actually, don't fix it that far. we should still do some
...
error checking.
svn:r6576
2006-06-09 09:07:59 +00:00
Roger Dingledine
0071d67efd
when only one router is labelled as a guard, and we've
...
already picked him, we would cycle endlessly picking him
again, being unhappy about it, and so forth.
now we specifically exclude guards when picking a new guard.
svn:r6575
2006-06-09 09:02:32 +00:00
Roger Dingledine
30f6c57fd7
and forward-port too.
...
svn:r6573
2006-06-09 06:52:49 +00:00
Roger Dingledine
a91be49402
fix a bootstrapping check we ignored that prevents us from running
...
with only one dir authority.
svn:r6570
2006-06-09 02:45:39 +00:00
Roger Dingledine
11dcb7f4ae
try a better string at the top of torrc's autogenerated torrc.
...
svn:r6569
2006-06-09 02:20:42 +00:00
Roger Dingledine
bb18168fae
ok, ok, maybe *this* time my rep_hist_circbuilding_dormant() will work.
...
svn:r6568
2006-06-08 22:36:13 +00:00
Roger Dingledine
18eb8192db
remove a bit more obsolete code
...
svn:r6566
2006-06-08 09:35:20 +00:00
Roger Dingledine
a18766e50c
ah, that explains why we weren't going dormant with
...
respect to descriptor fetches. maybe now it will work.
svn:r6565
2006-06-08 09:20:58 +00:00
Roger Dingledine
91bd12c20d
re-enable per-connection rate limiting. get rid of the "OP bandwidth"
...
concept. lay groundwork for "bandwidth classes" -- separate global
buckets that apply depending on what sort of conn it is.
svn:r6563
2006-06-07 09:18:53 +00:00
Roger Dingledine
741b11df45
put a bandaid in place so servers will have an easier time
...
believing that they're reachable. this may help resolve the
servers-on-dynamic-ip-addresses problem.
svn:r6561
2006-06-07 08:42:24 +00:00
Roger Dingledine
1e9b35aee3
make connection_or_nonopen_was_started_here() based on something less
...
voodooey. it turns out we already do keep a flag like that around.
svn:r6560
2006-06-07 07:11:42 +00:00
Roger Dingledine
8cf45df230
and now the exciting part: there is now no such thing as doing
...
a client-only tls, that is, one with no certs.
svn:r6558
2006-06-07 06:21:11 +00:00
Roger Dingledine
0bfef523df
simplify the tortls api: we only support being a "server", that
...
is, even tor clients do the same sort of handshake.
this has been true for years, so it's best to get rid of the
stale code.
svn:r6557
2006-06-07 06:10:54 +00:00
Roger Dingledine
96914760bc
fix the bug where we sometimes would fail to send some create cells
...
once we'd connected to a(nother) tor server.
svn:r6552
2006-06-06 03:33:24 +00:00
Nick Mathewson
5e4b4451ec
Also, add a temporary hack to make sure eventdns.c is distributd.
...
svn:r6551
2006-06-06 00:12:22 +00:00
Roger Dingledine
5c57348acd
We got an obscure report of an assert error on a windows Tor server with
...
connection_add being called with socket = -1. The only places I can see
where that happen would be if our tor_socketpair succeeds but it hands
back negative values for some of its file descriptors. Perhaps this will
produce more useful assert errors next time.
svn:r6550
2006-06-06 00:06:52 +00:00
Roger Dingledine
411f37d534
fix typo
...
svn:r6549
2006-06-06 00:05:39 +00:00
Roger Dingledine
07c35b4f52
ship the event*.h files too. perhaps this will make my 'make dist'
...
produce a tarball that i can build.
svn:r6548
2006-06-06 00:04:52 +00:00
Nick Mathewson
2bd7c19b73
Try to log useful messages at info and debug about what we are resolving and what answers we are getting wrt eventdns.
...
svn:r6547
2006-06-05 23:01:22 +00:00
Roger Dingledine
542b8af592
don't tell people that the testing circuit failed if we already
...
consider ourselves reachable. this just confuses them.
svn:r6546
2006-06-05 10:01:52 +00:00
Roger Dingledine
a2fec314b6
scream louder if you've got a pending circuit for a given
...
addr/port but the intended n_conn digest is wrong.
svn:r6544
2006-06-05 09:47:19 +00:00
Roger Dingledine
45065f1466
simplify code now that libevent considers all sockets pollable.
...
what we really mean now is ">= 0", which is clearer to test for.
svn:r6543
2006-06-05 09:08:10 +00:00
Roger Dingledine
4e773352c2
bugfix: if we are making our first ever connection to any entry
...
guard, then don't mark it down at first. we had this implemented
but it was disabled due to a bug.
svn:r6541
2006-06-05 08:58:18 +00:00
Roger Dingledine
8f3bb66ebc
simplify some code, since circuit_build_failed() is only called
...
on non-open circuits.
svn:r6540
2006-06-05 08:25:02 +00:00
Roger Dingledine
152d6d13b4
remove some unused code (i think)
...
svn:r6539
2006-06-05 08:02:04 +00:00
Roger Dingledine
bf09898f79
Note a bug that causes servers to sometimes never send the pending
...
create cell. Nick, is this a bug? If so, is my fix right?
svn:r6538
2006-06-05 07:27:48 +00:00
Nick Mathewson
b7ca697faf
More eventdns.c patches: use HAVE_ALLOCA_H; print IP addrs as dotted quads.
...
svn:r6535
2006-06-05 01:59:12 +00:00
Nick Mathewson
3db785ef73
Hm. Where did we put that ntohl the last time we were juggling it? (hoop-lah).
...
svn:r6534
2006-06-05 00:32:31 +00:00
Nick Mathewson
008a0c7c46
Some eventdns.c fixes for windows correctness. More will doubtless be needed, especially around the #includes.
...
svn:r6533
2006-06-04 23:23:53 +00:00
Nick Mathewson
853e2d99b6
Add a new warning to our "warn a lot" list: unused parameters. This means we have to explicitly "use" unuseds, but it can catch bugs. (It caught two coding mistakes so far.)
...
svn:r6532
2006-06-04 22:42:13 +00:00
Roger Dingledine
c4647545a0
if we insist on printing pointer values, at least make it stop
...
complaining on (my particular) 64 bit platform.
svn:r6530
2006-06-04 06:17:32 +00:00
Roger Dingledine
603b09b59b
punctuation and spelling
...
svn:r6529
2006-06-04 06:16:20 +00:00
Nick Mathewson
c18fab5366
Make eventdns.[ch] into good C90; remove signed/unsigned comparisons.
...
svn:r6528
2006-06-03 22:05:23 +00:00
Nick Mathewson
2700e5a1ab
Oops. When we dont get a TTL, we should default to the default, not to the minimum.
...
svn:r6527
2006-06-03 21:47:26 +00:00
Nick Mathewson
c660a0f6a2
More DNS fixes. Send meaningful TTLs back to the client when
...
possible. Cache at the server side independently from the TTL, to
prevent attackers from probing the server to see who has been asking
for what hostnames. (Hi, Dan Kaminski!)
Also, clean some whitespace.
svn:r6526
2006-06-03 21:41:14 +00:00
Nick Mathewson
85a25c8a29
Make dns.c use eventdns.c -- but only when you pass the --enable-eventdns argument to configure.in. This will *so* not work on Windows yet.
...
svn:r6525
2006-06-03 20:52:24 +00:00
Nick Mathewson
7cb3232ade
Add async dns code from Adam Langley, tweaked to build on OSX. Long-term, we may want to switch to libevnet/c-ares, if they ever handle 10k fd situations properly. This one still needs work too, but at least it is small. This code is disabled by default, and not integrated with dns.c.
...
svn:r6524
2006-06-03 19:49:42 +00:00
Roger Dingledine
8f902e4b58
don't stop fetching server descriptors if we're a server and
...
haven't found ourselves reachable yet.
svn:r6522
2006-06-03 02:56:44 +00:00
Roger Dingledine
1bf0f99b66
connection_t kept the identity_pkey but all it did was store it and
...
free it. perhaps we don't need it after all?
svn:r6518
2006-05-30 06:23:44 +00:00
Roger Dingledine
9000a5aff1
and get grammar right
...
svn:r6517
2006-05-30 06:19:48 +00:00
Roger Dingledine
ae2648fb1c
stop fetching descriptors if we're not a dir mirror and we
...
haven't tried to establish any circuits lately.
svn:r6516
2006-05-30 06:19:06 +00:00
Roger Dingledine
1f0e20806b
END_CIRC_REASON_OR_IDENTITY apparently means that we were told to
...
connect to a different OR than lives on the addr:port we connected
to. we don't actually remember whether that was the case, currently.
so call it END_CIRC_REASON_OR_CONN_CLOSED as a compromise.
svn:r6515
2006-05-30 06:17:28 +00:00
Roger Dingledine
60abe23158
tentative change: if you have your dirport set, you are a directory
...
mirror, whether or not your orport is set.
svn:r6513
2006-05-30 06:11:36 +00:00
Roger Dingledine
1e4923652b
simplify a log message
...
svn:r6512
2006-05-30 05:29:03 +00:00
Roger Dingledine
f6ff3e6f0e
directory authorities should be more tolerant of failed reachability
...
tests before crying foul to the server operator.
svn:r6509
2006-05-28 16:14:26 +00:00
Roger Dingledine
48be472e4f
clean up a comment
...
svn:r6508
2006-05-28 16:07:44 +00:00
Roger Dingledine
7f611f4732
if we're a server and some peer has a broken tls certificate, don't
...
shout about it unless we want to hear about protocol violations.
svn:r6507
2006-05-26 16:32:16 +00:00
Roger Dingledine
82ae38f649
be more verbose about testing reachability of our ORPort.
...
svn:r6506
2006-05-26 16:29:33 +00:00
Roger Dingledine
f579478687
correct a false log message, since we actually reset all our
...
downloading stats every hour, and sometimes more often.
svn:r6505
2006-05-26 16:29:20 +00:00
Roger Dingledine
3cd01ca9a1
make cookie authentication for the controller work again, maybe.
...
it sure doesn't now.
svn:r6494
2006-05-24 23:03:28 +00:00
Roger Dingledine
6066d68ac3
make options->RedirectExit work again; resolve bug 293.
...
svn:r6492
2006-05-24 11:13:03 +00:00
Roger Dingledine
13c4590dd1
ignore RunAsDaemon more thoroughly when we're running on windows.
...
svn:r6471
2006-05-23 07:04:55 +00:00
Roger Dingledine
6b058bd563
add a few more debugging lines to help mikec track down his
...
11 minute jump into the future.
svn:r6465
2006-05-23 03:08:30 +00:00
Nick Mathewson
55c38f88b9
Remove string size limit on NEWDESC messages; solve bug 291.
...
svn:r6463
2006-05-22 23:24:06 +00:00
Roger Dingledine
295ad74fda
Tor servers are also giving spurious "you're invalid" warnings.
...
This is because we get a lot of network statuses that don't list
us at all, and we conclude that they all think we're invalid.
The long-term fix is to get better logic, and the short-term fix
is to downgrade the log severity.
svn:r6448
2006-05-09 09:47:47 +00:00
Roger Dingledine
27624a3024
stop telling people that "tor -h" will help them in any way.
...
svn:r6447
2006-05-08 04:28:49 +00:00
Roger Dingledine
e24e5475fb
forward-port the ORPort==0 patch
...
svn:r6430
2006-05-03 18:29:44 +00:00
Nick Mathewson
2b720b5746
Start remembering *where* we are storing routerdescs. This will make us easier to move from a RAM-mirrors-disk model to a RAM-caches-disk model, and save maybe around 10MB on a directory server.
...
svn:r6427
2006-04-29 18:42:26 +00:00
Nick Mathewson
15dbe02c04
shorten some too-wide lines
...
svn:r6426
2006-04-29 17:44:31 +00:00
Roger Dingledine
701341ef8a
put one of the XXX's back in
...
svn:r6422
2006-04-25 07:06:48 +00:00
Roger Dingledine
3c86402cc2
petty cleanups
...
svn:r6421
2006-04-25 07:00:04 +00:00
Nick Mathewson
5bce102cd2
Only warn about a down node once
...
svn:r6420
2006-04-25 06:20:47 +00:00
Nick Mathewson
5f9612216c
you wanted it spelled properly too? And me not even funded!
...
svn:r6418
2006-04-25 06:02:46 +00:00
Nick Mathewson
d6c04216ef
fix a segfault in last bug-285-related commit.
...
svn:r6417
2006-04-25 05:59:31 +00:00
Nick Mathewson
c70f1e7eb3
Possible partial fix for 285; needs review
...
svn:r6414
2006-04-24 17:51:31 +00:00
Roger Dingledine
934e9c49bb
Regenerate our local descriptor if it's dirty and some local
...
function asks for it. This may resolve bug 286.
svn:r6412
2006-04-23 23:09:03 +00:00
Roger Dingledine
c74c24a989
make more hibernate log messages use local time. we should audit
...
to see what other log messages keep switching back and forth
between GMT and local.
svn:r6411
2006-04-23 23:05:34 +00:00
Roger Dingledine
2d78d74c80
Raise the timeout for complaining about wedged cpuworkers.
...
This value is high because some servers with low memory/cpu
sometimes spend an hour or more swapping, and Tor starves.
svn:r6406
2006-04-18 19:48:06 +00:00
Roger Dingledine
5721747de2
class B really means /16 here
...
svn:r6404
2006-04-18 05:03:09 +00:00
Nick Mathewson
735a2131b8
require at least 2**16 assignable virtual addresses
...
svn:r6402
2006-04-18 04:57:07 +00:00
Nick Mathewson
7484ca06a5
[Forward-port ]Test and document last patch.
...
svn:r6400
2006-04-18 03:51:18 +00:00
Nick Mathewson
0df40a393b
[forward-port] Implement an option, VirtualAddrMask, to set which addresses get handed out in response to mapaddress requests. Needs testing and docs!
...
svn:r6398
2006-04-18 03:36:28 +00:00
Nick Mathewson
6ebd886511
forward-port: "Resolve" all XXX011 items, mostly by marking them non-011.
...
svn:r6396
2006-04-18 03:07:24 +00:00
Roger Dingledine
47d3e23155
note another bug: we complain that a router doesn't exist,
...
because it's down so we never fetched it so it doesn't exist.
svn:r6394
2006-04-17 06:46:20 +00:00
Roger Dingledine
34bc0866d4
slightly clearer log message when you use a nickname rather than
...
a key for an unnamed server.
svn:r6393
2006-04-17 06:43:27 +00:00
Roger Dingledine
07ff409876
no need to escape the address for our connections -- they are
...
always IP addresses.
svn:r6389
2006-04-16 22:34:00 +00:00
Roger Dingledine
0cee3e1fc7
if the bottom eighth of the servers by bandwidth is really crummy,
...
try the bottom quartile instead.
svn:r6387
2006-04-15 07:15:23 +00:00
Roger Dingledine
3791d3daaa
forward-port the n_named log severity downgrade.
...
svn:r6385
2006-04-14 20:19:33 +00:00
Roger Dingledine
64041d2dbf
ok, put moria1 back in, since it's v1 and thus we need to send
...
our rendezvous descriptors to it.
eventually we might make a 'v1only' tag that explains it's only
for rendezvous descriptors.
svn:r6382
2006-04-11 14:12:04 +00:00
Roger Dingledine
e720cc6589
drop moria1 from the list of authorities.
...
svn:r6381
2006-04-10 21:40:43 +00:00
Peter Palfrader
beb9e0721a
Stop assuming every authority is a v1 authority
...
svn:r6377
2006-04-10 21:29:29 +00:00
Nick Mathewson
1fbc74661f
Remove DER64 functions in trunk: they will never be used again unless the directory authorities switch back to 0.0.9tooearly.
...
svn:r6376
2006-04-10 21:23:00 +00:00
Roger Dingledine
12d461a245
make DirFetchPeriod and StatusFetchPeriod truly obsolete.
...
svn:r6373
2006-04-10 20:16:46 +00:00
Roger Dingledine
f89b0ea09f
be willing to add our own routerinfo into the routerlist.
...
this means authorities will include themselves in their
directories and network-statuses.
svn:r6369
2006-04-10 20:00:31 +00:00
Peter Palfrader
fe6c1b0192
Remove redundant includes. They are all hanled in torint.h which we already do include.
...
svn:r6364
2006-04-10 19:39:26 +00:00
Roger Dingledine
b190c451b8
and one more kick to consider all live network statuses for versions
...
svn:r6359
2006-04-10 08:40:16 +00:00
Roger Dingledine
a9e7737c3a
consider all live network statuses we have when deciding whether
...
our version is bad. also, unfix one of the unbugs from before.
svn:r6358
2006-04-10 08:37:16 +00:00
Nick Mathewson
1064bbc62a
Fix a wide line
...
svn:r6357
2006-04-10 08:05:00 +00:00
Nick Mathewson
71f1a77371
fix bugs in compute_recommended_versions
...
svn:r6356
2006-04-10 08:02:56 +00:00
Nick Mathewson
53f7a1bb0c
In fairness to gcc, a char** is often _not_ usable as a const void **.
...
svn:r6355
2006-04-10 07:50:38 +00:00
Nick Mathewson
eb3e28ba79
Oops. _compare_tor_version_str_ptr wants ptr-to-ptr. Ow.
...
svn:r6354
2006-04-10 07:40:39 +00:00
Roger Dingledine
acc2eb445d
and get rid of an extra variable
...
svn:r6349
2006-04-10 05:48:04 +00:00
Roger Dingledine
ac2070b35b
stop being so picky about when we can start building circuits.
...
now clients are more likely to have circuits up soon after their
tor starts.
svn:r6346
2006-04-10 05:44:54 +00:00
Nick Mathewson
e258276c2b
Change a dumb interface. Also, increment trusted_dir_server_t.n_networkstatus_failures when an all.z download fails entirely or partially.
...
svn:r6345
2006-04-10 01:35:56 +00:00
Roger Dingledine
21263982e4
Don't yell loudly about failed internal/bridge connections. These
...
are reachability testing and rendserv upload/downloads, and they
have their own failure messages elsewhere.
svn:r6343
2006-04-09 21:36:37 +00:00
Roger Dingledine
b6b534c9dd
quiet a bootstrapping message
...
svn:r6342
2006-04-09 20:19:56 +00:00
Roger Dingledine
760934b175
fix typo
...
svn:r6340
2006-04-09 10:43:03 +00:00
Roger Dingledine
ed38f46ebc
lower the minimum required number of fd's to 1000, so we can
...
have some overhead for valgrind on linux, where the default
ulimit -n is 1024.
svn:r6338
2006-04-09 10:28:00 +00:00
Roger Dingledine
b18d20ce32
Here is an attempted fix for directory mirrors that are frozen
...
in fear because they don't have all the networkstatuses. There's
no reason not to proceed if all the other checks are ok -- we just
shouldn't warn about certain things yet.
svn:r6337
2006-04-09 10:10:09 +00:00
Roger Dingledine
0871f4ef90
Remove about 30% of the v1 directory bulk by not including down or
...
invalid nodes.
This will make exitlist's running on v1 not very good. I feel sorry for
them, but not as sorry as I feel for the directory mirrors.
svn:r6332
2006-04-09 01:00:24 +00:00
Roger Dingledine
d48cdbe2e0
When fetching rendezvous descriptors, we were willing to ask
...
v2 authorities too. And of course they did not have a copy.
svn:r6331
2006-04-09 00:36:15 +00:00
Roger Dingledine
b7cadc0db5
If you're not a versioning dirserver, don't put the string
...
"client-versions \nserver-versions \n" in your network status.
svn:r6329
2006-04-08 21:59:15 +00:00
Roger Dingledine
a589650496
i like the name FetchUselessDescriptors better.
...
svn:r6327
2006-04-08 21:48:14 +00:00
Roger Dingledine
2a94c8b493
add a new config option FetchUselessRouters, off by default, for
...
when you plan to run "exitlist" on this client and you want to know
about even the non-running descriptors.
svn:r6326
2006-04-08 21:35:17 +00:00
Roger Dingledine
3a5758e212
If we think of ourselves as authoritative, even if we're not
...
in the DirServers config lines, then we still are. This way we
give ourselves the "Authority" flag in our network-status.
svn:r6325
2006-04-08 21:19:40 +00:00
Roger Dingledine
24b2e0530a
clean up the log lines more, and note a future work.
...
svn:r6324
2006-04-08 21:12:07 +00:00
Roger Dingledine
b5737aab91
add dizum as the fifth authoritative directory server.
...
svn:r6323
2006-04-08 21:03:49 +00:00
Roger Dingledine
f1692ebefc
when we do reachability testing and the tls cert at the other
...
end disagrees with a descriptor we already have, be more useful
at explaining it.
svn:r6322
2006-04-08 20:35:19 +00:00
Roger Dingledine
fab1feee26
complain when we hit wsaenobufs on recv or write too.
...
perhaps this will help us hunt the bug.
svn:r6321
2006-04-08 07:54:11 +00:00
Roger Dingledine
557b174b8d
Break out the checks to see if a routerstatus is something we
...
would use. This way when we're deciding if we have "enough" descriptors
to start building circuits, we can count them accurately.
svn:r6320
2006-04-08 06:56:38 +00:00
Roger Dingledine
de8ce0aae8
fix a typo that was confusing me
...
svn:r6319
2006-04-08 06:55:10 +00:00
Nick Mathewson
5d466b7611
Fix a couple of things that make GCC complain with verbose warnings on. Also, fix some whitespace.
...
svn:r6317
2006-04-08 05:43:52 +00:00
Nick Mathewson
7a804572ab
fix an infinite loop; answer a question
...
svn:r6316
2006-04-07 22:55:46 +00:00
Nick Mathewson
c6d010b218
Dont warn about our own status unless weve tried and failed 4 times (or succeeded) for each authority.
...
svn:r6315
2006-04-07 04:52:32 +00:00
Roger Dingledine
c4fb9d22cf
if there's more than one match for router-get-my-nickname,
...
try to pick one that's running.
svn:r6313
2006-04-04 03:46:40 +00:00
Roger Dingledine
0825f61102
fix crash bug reported in flyspray 279.
...
svn:r6312
2006-04-04 03:25:36 +00:00
Roger Dingledine
453062b028
fix typo, remove extraneous variable
...
svn:r6311
2006-04-03 11:24:14 +00:00
Roger Dingledine
7198af7fbe
one more edge case that could paralyze a client with fear
...
svn:r6310
2006-04-03 06:59:07 +00:00
Roger Dingledine
a324871603
phrase the threshold comparison in the way we've been
...
phrasing it. these are equivalent, right?
svn:r6309
2006-04-03 06:37:35 +00:00
Roger Dingledine
4b6ff2b084
bugfix in sort_version_list() so it doesn't screw up the sorting.
...
svn:r6308
2006-04-03 06:30:48 +00:00
Nick Mathewson
eba6204315
fix some xxxs.
...
svn:r6307
2006-04-03 06:23:24 +00:00
Roger Dingledine
2cb3aeb4e1
another point that needs more thinking
...
svn:r6306
2006-04-03 06:22:54 +00:00
Roger Dingledine
9549d81d95
two more thresholds to look at
...
svn:r6305
2006-04-03 06:10:33 +00:00
Roger Dingledine
64a40b5137
nick: there *is* no MAX_SERVER_INTERVAL_WITHOUT_REQUEST. true?
...
svn:r6300
2006-04-03 02:20:32 +00:00
Nick Mathewson
4130460f8e
Change networkstatus dl logic: try to have all networkstatuses live; insist on having all of them live or tried-at-least-once. Also, answer a XXXX comment.
...
svn:r6297
2006-04-02 23:02:52 +00:00
Nick Mathewson
d663bfa306
Versions that drop connections for having used idle circs are as bad for stable as for guard
...
svn:r6296
2006-04-02 23:01:01 +00:00
Nick Mathewson
785d25e06c
If I could forget that I had enabled StrictExitNodes, others will too.
...
svn:r6295
2006-04-02 22:59:59 +00:00
Roger Dingledine
b34032b87d
but the \r\n is handy too i hear.
...
svn:r6294
2006-04-02 22:19:01 +00:00
Roger Dingledine
e84cd412d4
if you give mapaddress no args at all, it should answer
...
something more than \r\n.
svn:r6293
2006-04-02 22:13:34 +00:00
Roger Dingledine
1e04b70d49
make NoPublish (even though deprecated) work again.
...
svn:r6287
2006-04-02 02:59:48 +00:00
Roger Dingledine
dfb3c5f47a
if you ask for getinfo dir/status/ but your dirport is off,
...
log a complaint.
svn:r6286
2006-04-01 22:17:37 +00:00
Roger Dingledine
6fb27741ba
Fix dirserv_get_networkstatus_v2's api: its function comments
...
did not at all match its behavior, and I can't think of a case
when it should return anything other than 0.
This fix may allow getinfo dir/status/foo to work.
svn:r6285
2006-04-01 22:00:49 +00:00
Roger Dingledine
e754664d62
bugfix: when we fail to bind or listen on an incoming or outgoing
...
socket, we should close it before failing. otherwise we just
leak it. (thanks to weasel for finding.)
svn:r6284
2006-04-01 10:22:57 +00:00
Roger Dingledine
e47075e771
more helpful error message
...
svn:r6283
2006-04-01 09:54:54 +00:00
Roger Dingledine
314f24870d
Start sending back 512 and 451 errors if mapaddress fails,
...
rather than not sending anything back at all.
svn:r6282
2006-04-01 09:50:43 +00:00
Roger Dingledine
4c996757ae
We can remove about 30% of the v1 directory bulk by taking
...
out down or invalid nodes. We should do this once we're ready.
svn:r6273
2006-03-29 09:21:23 +00:00
Roger Dingledine
db1209a852
Refactor the decision of whether to include a router's descriptor
...
in the v1 directory. No actual changes yet.
svn:r6272
2006-03-29 08:56:39 +00:00
Roger Dingledine
1f4d0d2479
When deciding whether a router is Fast or Guard-worthy, consider
...
his advertised BandwidthRate and not just the BandwidthCapacity.
This is a bug in 0.1.0.x as well, but let's not bother backporting.
svn:r6266
2006-03-28 12:01:58 +00:00
Nick Mathewson
685bceed1c
Make the max number of old descriptors to hold rise with the number of authorities.
...
svn:r6254
2006-03-27 17:29:53 +00:00
Peter Palfrader
03302dc67d
On our dirport return a robots.txt so maybe google doesn't index all those server descriptors anymore
...
svn:r6252
2006-03-27 07:33:13 +00:00
Nick Mathewson
2421724853
Code to implement networkstatus fetch from controllers. Only works when dirport is set for now; should be good enough to make serifos html front-end not be as wrong.
...
svn:r6251
2006-03-27 06:49:25 +00:00
Roger Dingledine
56df81199a
that extra punctuation distracts me
...
svn:r6250
2006-03-27 05:30:16 +00:00
Nick Mathewson
cd271dbca9
re-order to avoid free-then-use. Thank goodness tor_free() zeroes things.
...
svn:r6249
2006-03-27 05:27:47 +00:00
Nick Mathewson
c74bd877e2
Oops. We may not have a networkstatus list when we first parse the cached routers.
...
svn:r6248
2006-03-27 05:12:07 +00:00
Nick Mathewson
3e8c9a485f
Fix for "but need_to_mirror=1" annoyance; is bug 273 fixed?
...
svn:r6247
2006-03-27 05:07:57 +00:00
Roger Dingledine
6f08d121d9
Refactor and consolidate addr/exit policies into a new policies.c.
...
Fix some minor bugs and memory leaks along the way.
svn:r6246
2006-03-27 02:25:34 +00:00
Roger Dingledine
e20aad8d46
remove obsolete address policy code
...
svn:r6243
2006-03-26 09:38:17 +00:00
Roger Dingledine
e1c8e3ca6e
also send syntax and parse errors back to the controller.
...
svn:r6242
2006-03-26 08:09:19 +00:00
Roger Dingledine
b899b9592a
When the controller's *setconf commands fail, collect an error message
...
in a string and hand it back. This starts to resolve bug 275.
svn:r6241
2006-03-26 06:51:26 +00:00
Peter Palfrader
e90bebf27b
Say private address instead of internal address.
...
Both are wrong or at least not entirely correct but nobody would
understand "special-use address as listed in RFC3330" I guess.
svn:r6236
2006-03-25 21:24:28 +00:00
Roger Dingledine
f2abd7a69b
fix a wordo, don't be so quick to yell at servers, and ask a question.
...
svn:r6235
2006-03-24 21:11:14 +00:00
Roger Dingledine
7edfec2ae6
bump up the magic number for how quickly we start notifying
...
a server that it's unreachable.
svn:r6234
2006-03-24 20:57:55 +00:00
Peter Palfrader
444e3b8eb2
Note a magic 2 that probably should be replaced now that we have more dirservers
...
svn:r6232
2006-03-23 20:21:54 +00:00
Roger Dingledine
5b87b0bf55
update getinfo info/names to reflect that we now support
...
getinfo dir/server/*
svn:r6231
2006-03-22 21:53:09 +00:00
Roger Dingledine
20e66a799b
Resolve problem found by weasel: the v1 directory was including
...
servers as much as 48 hours old, because that's how the new
routerlist->routers works. Now only include them if they're
20 hours old or less.
svn:r6230
2006-03-22 21:32:42 +00:00
Peter Palfrader
58307cd8de
Maybe it compiles for devilproxy now
...
svn:r6229
2006-03-22 11:23:00 +00:00
Roger Dingledine
0d7efbe65d
Note a vulnerability with our current recommended-version concensus
...
building.
Make the warnings about invalid and unnamed nodes scale better, and
update the text of the warnings.
Change router_have_minimum_dir_info() to only be happy when it has
enough network-statuses ("more than half") to be willing to actually
build circuits.
Not yet done: when we fail to get a networkstatus that we wanted, and
!router_have_minimum_dir_info(), we should retry it quicker than a whole
minute from now.
svn:r6227
2006-03-22 06:22:12 +00:00
Roger Dingledine
51a3981d10
stop caching the v1 directory so often.
...
svn:r6226
2006-03-22 06:18:27 +00:00
Roger Dingledine
6fb2b6785d
whoops. inform circuits again when we failed to connect to their
...
first hop, so they don't have to time out.
svn:r6225
2006-03-22 04:09:30 +00:00
Roger Dingledine
1db263ac3c
stop writing the "router.desc" file, ever. nothing uses it anymore.
...
svn:r6224
2006-03-22 03:45:17 +00:00
Peter Palfrader
805754fdd9
Log server fingerprint on startup
...
svn:r6223
2006-03-22 03:40:59 +00:00
Roger Dingledine
216e349cb2
parameterize two more timeout constants in circuit-land.
...
svn:r6220
2006-03-22 00:52:37 +00:00
Roger Dingledine
ad236d4b8b
freeing is not the same as setting to null
...
svn:r6219
2006-03-22 00:03:51 +00:00
Roger Dingledine
28fafb9022
new config option SocksTimeout: How long do we let a socks connection
...
wait unattached before we fail it?
Use this value for controller socks timeout, for normal socks
timeout, and for hidden-service socks timeout.
svn:r6217
2006-03-21 23:27:43 +00:00
Roger Dingledine
5399e394a8
and dirservers don't call you a guard if you're running a
...
buggy version either.
svn:r6216
2006-03-21 23:10:26 +00:00
Roger Dingledine
f11509e494
when upgrading to newer versions, throw away entry guards
...
picked by the old wrong algorithms.
svn:r6215
2006-03-21 23:06:47 +00:00
Roger Dingledine
8a8a84dd52
don't call circuit_n_conn_done() if the closing conn is already open.
...
svn:r6214
2006-03-21 22:22:48 +00:00
Roger Dingledine
a3329036a8
Bugfix: looks like clients since 0.1.1.10-alpha have been
...
expiring connections whenever 5 minutes pass and they *do*
have circuits on them.
svn:r6213
2006-03-21 21:58:00 +00:00
Roger Dingledine
65b575c03d
Be more patient before giving up on in-progress circuits.
...
I have absolutely no idea if this change helps or hurts.
Somebody should study this.
svn:r6212
2006-03-21 21:22:52 +00:00
Roger Dingledine
0e68ec0846
put lefkada on port 80, officially.
...
svn:r6209
2006-03-21 16:57:03 +00:00
Roger Dingledine
073d574a3f
Point out a potential DoS flaw in caching untrusted network
...
statuses to disk. We should resolve sometime.
svn:r6206
2006-03-21 05:27:35 +00:00
Roger Dingledine
415c9e878a
add lefkada as a fourth auth dir server.
...
svn:r6205
2006-03-21 04:41:20 +00:00
Nick Mathewson
08aba015ab
Make guard bandwidth threshold higher than fast bandwidth threshold.
...
svn:r6204
2006-03-20 21:49:55 +00:00
Nick Mathewson
1272485cd4
Make "Fast" based on median capacity, just like "Stable" is based on median uptime.
...
svn:r6203
2006-03-20 21:41:12 +00:00
Roger Dingledine
d1d0813cf3
Allow non-printable characters for exit streams (both for
...
connecting and for resolving). Now we tolerate applications
that don't follow the RFCs. But continue to block malformed
names at the socks side.
svn:r6193
2006-03-19 03:55:48 +00:00
Roger Dingledine
726e825b09
i'm a little teapot, short and stout
...
svn:r6192
2006-03-19 01:59:02 +00:00
Roger Dingledine
d8195e4128
Implement Jason Holt's SafeSocks config option.
...
Also put a URL in the warning message for unsafe socks4 use --
previously we'd only had the URL for unsafe socks5 use. Oops.
svn:r6190
2006-03-19 01:44:53 +00:00
Roger Dingledine
c06e6ddadd
Finish the transition from the word 'verified' to the words
...
'named' and 'valid'.
svn:r6188
2006-03-19 01:21:59 +00:00
Roger Dingledine
7e2aa67fcb
simplify when we're picking a default address for
...
when people ask for "serifos.exit".
svn:r6187
2006-03-18 22:54:08 +00:00
Roger Dingledine
868d456c3b
make it so there is one place to edit for new dirservers, not two.
...
svn:r6186
2006-03-18 22:37:27 +00:00
Roger Dingledine
cc37c2f71e
fix some typos
...
svn:r6185
2006-03-18 09:29:05 +00:00
Roger Dingledine
67b61fe475
authdirs shouldn't complain about unreachability when they
...
fetch a descriptor from somebody else. this is not the right
time to increment the failure count.
svn:r6184
2006-03-18 05:37:15 +00:00
Roger Dingledine
581795f41d
auth dir servers were only modifying a server's is_running field
...
when they created a network status. so if nobody asked for a
network status, they would never discover that any servers are
is_running, so they could never build a circuit.
svn:r6183
2006-03-18 01:24:04 +00:00
Roger Dingledine
cf6ba3e76f
let an authdir that's not a naming authdir start even
...
if it doesn't have an approved-routers file. if it does,
read it and parse it as usual.
svn:r6182
2006-03-18 00:22:23 +00:00
Roger Dingledine
4f14826cb3
Actually, only v1 auth dir servers need to define recommendedversions.
...
But versioning dirservers do need to cause recommendclientversions
and recommendedserverversions to somehow be non-empty.
svn:r6181
2006-03-17 23:25:40 +00:00
Roger Dingledine
c7839a17f5
when we're an auth dir server but don't claim to be a versioning
...
auth dir server, don't demand that we define RecommendedVersions.
svn:r6180
2006-03-17 23:21:42 +00:00
Roger Dingledine
51fc6799ad
right now we don't support entryguards on auth dirservers,
...
but that doesn't mean we need to remind them every time
they start up.
svn:r6179
2006-03-17 23:19:51 +00:00
Roger Dingledine
817556315a
Implement router purposes, and don't choose a non-general
...
purpose router when picking random nodes for a circuit.
Also implement SETROUTERPURPOSE and modify +POSTDESCRIPTOR.
This concludes bug 250 assuming it all works.
svn:r6178
2006-03-17 22:08:59 +00:00
Roger Dingledine
7d141c6776
but i made the line too long
...
svn:r6176
2006-03-17 19:25:36 +00:00
Roger Dingledine
f1bcc2d6f8
stop tricking server operators into thinking they got their
...
torrc perfect, just because tor could build a circuit.
svn:r6175
2006-03-17 19:20:07 +00:00
Nick Mathewson
053411e827
Comments: cleanups and additions.
...
svn:r6174
2006-03-17 05:50:41 +00:00
Nick Mathewson
0f0e14c6e3
normalize whitespace.
...
svn:r6173
2006-03-17 04:43:37 +00:00
Nick Mathewson
215e377224
Only warn about lack of name binding for self if we have tried downloading every networkstatus.
...
svn:r6172
2006-03-17 04:41:57 +00:00
Roger Dingledine
9a5df4cef5
resume being printist: if the hostname contains non-printable
...
characters, then fail. this time don't even bother telling the
server operator about these cases, because what's he going to do?
if it turns out that some significant population somewhere in the
world uses non-printable hostnames and wants to use tor, then i
hereby assume that they will contact us.
svn:r6171
2006-03-15 23:36:57 +00:00
Roger Dingledine
8d1f65a222
quiet another entry guard log message
...
svn:r6169
2006-03-15 22:48:48 +00:00
Roger Dingledine
e8fd871d8b
Stop being printist: just because our local platform doesn't
...
consider an alleged destination to be printable doesn't mean
nobody in the world will want to use it.
svn:r6167
2006-03-15 19:17:34 +00:00
Nick Mathewson
13cf54b9c1
Interim fix for 272: Only warn that we are not named if we have status docs from some naming authorities.
...
svn:r6166
2006-03-15 05:37:27 +00:00
Nick Mathewson
fb7b5545ce
Implement GETINFO(dir/server/foo); status will be harder.
...
svn:r6165
2006-03-15 05:06:56 +00:00
Nick Mathewson
d0f24b1e46
(Missing header change) Do not warn about unknown servers in our family when they are given as hex digests.
...
svn:r6164
2006-03-15 05:06:26 +00:00
Nick Mathewson
3c0a5f6365
Do not warn about unknown servers in our family when they are given as hex digests.
...
svn:r6163
2006-03-15 05:04:11 +00:00
Roger Dingledine
903183ea28
if we as a directory mirror don't know of any v1 directory
...
authorities, then don't try to cache any v1 directories.
svn:r6162
2006-03-15 00:10:13 +00:00
Peter Palfrader
a4ec555228
change INET_NTOA_BUF_LEN+1 to INET_NTOA_BUF_LEN
...
add a comment in a few places where we add weird numbers to buffer lengths
svn:r6161
2006-03-14 23:40:37 +00:00
Peter Palfrader
866f6293ff
I wonder what an internal internet protocol is
...
svn:r6159
2006-03-14 22:52:20 +00:00
Peter Palfrader
86a964d868
When we try to be a server and Address is not explicitly set
...
and our hostname resolves to a private IP address, try
to use an interface address if it has a public address.
svn:r6158
2006-03-14 22:51:15 +00:00
Peter Palfrader
2ef8f772a1
Fix an off-by-one buffer size in dirserv.c that magically never hit our
...
three authorities but broke sjmurdoch's own tor network.
svn:r6157
2006-03-14 22:43:52 +00:00
Roger Dingledine
499eeced44
when event_add or event_del fail, tell us why.
...
svn:r6156
2006-03-13 19:33:46 +00:00
Peter Palfrader
ebfb3fea6d
Fix minor semantic error with no real effect:
...
we were doing "is_internal_IP(htonl(in.s_addr))" but in.s_addr is
in network order and is_internal_IP wants host order. Change to
"is_internal_IP(ntohl(in.s_addr))".
svn:r6155
2006-03-13 19:09:52 +00:00
Nick Mathewson
dad60905a8
Be a little more careful when our calculated bandwidth is so high that we could never ever exhaust our bandwidth limit. This should resolve bug 130.
...
svn:r6146
2006-03-13 01:06:55 +00:00
Nick Mathewson
bd8ffccae7
More cleanups noticed by weasel; also, remove macros that nobody uses.
...
svn:r6143
2006-03-12 23:31:16 +00:00
Nick Mathewson
474c60b743
Cleanup on time-relaqted constants. New conventions:
...
1) Surround all constants by (parens), whether we'll be using them
in a denominator or not.
2) Express all time periods as products (24*60*60), not as multiplied-out
constants (86400).
3) Comments like "(60*60) /* one hour */" are as pointless as comments
like "c = a + b; /* set c to the sum of a and b */". Remove them.
4) All time periods should be #defined constants, not given inline.
5) All time periods should have doxygen comments.
6) All time periods, unless specified, are in seconds. It's not necessary
to say so.
To summarize, the old (lack of) style would allow:
#define FOO_RETRY_INTERVAL 60*60 /* one hour (seconds) */
next_try = now + 3600;
The new style is:
/** How often do we reattempt foo? */
#define FOO_RETRY_INTERVAL (60*60)
next_try = now + RETRY_INTERVAL;
svn:r6142
2006-03-12 22:48:18 +00:00
Roger Dingledine
b67a5ba498
lower the reachability timeout, so we're more likely to act
...
quickly if a server stops being reachable.
svn:r6141
2006-03-12 21:24:03 +00:00
Roger Dingledine
1fc5eb329b
We screwed up in anticipating how to add new dirservers:
...
Old servers won't realize they're supposed to stay connected
to the new dirservers, so they'll expire connections to them,
but that means the dirservers will list them as unreachable.
So the fix is to stop requiring an open connection when deciding
if a server is reachable. This makes us slightly less accurate,
but at least it will work.
svn:r6140
2006-03-12 20:57:52 +00:00
Roger Dingledine
ef447507ff
a better clean-up
...
svn:r6139
2006-03-12 20:51:02 +00:00
Roger Dingledine
a98b25137c
and another fix
...
svn:r6138
2006-03-12 20:48:59 +00:00
Roger Dingledine
98476c71d2
make tor --verify-config closer to working
...
svn:r6137
2006-03-12 20:46:00 +00:00
Roger Dingledine
a4da44c2b9
Now do address rewriting when the controller asks us to attach
...
to a particular circuit too. This will let Blossom specify
"moria2.exit" without having to learn what moria2's IP address is.
It may also cause other controller authors some angst. Let us know.
svn:r6136
2006-03-12 05:04:16 +00:00
Roger Dingledine
d80d5370e0
when we get funny-looking lines on our dirport, shut up about it.
...
svn:r6135
2006-03-12 04:36:17 +00:00
Roger Dingledine
b5c6a990d3
fix assert while attachstream'ing a connect-wait or
...
resolve-wait stream.
svn:r6134
2006-03-12 04:33:29 +00:00
Roger Dingledine
80f0492a65
avoid shadowing a variable so we don't get sad later.
...
svn:r6133
2006-03-12 04:07:21 +00:00
Roger Dingledine
0bd46086c3
fix bug reported by gozu: if we get a linelist or linelist_s
...
config option from the torrc and it has no value, warn and
skip rather than silently resetting it to its default.
svn:r6125
2006-03-11 18:40:33 +00:00
Roger Dingledine
c8e2a051ac
huge warning sign for esc_router_info()
...
svn:r6124
2006-03-11 17:52:55 +00:00
Nick Mathewson
4d3e709c4b
Use escaped() for remaining cases.
...
svn:r6117
2006-03-11 02:21:30 +00:00
Roger Dingledine
86a72f73b9
make entry guard logs even quieter
...
svn:r6116
2006-03-10 16:51:26 +00:00
Roger Dingledine
e11f900a2a
stop printing a log message at every iteration through the
...
event loop when holding open a conn for flushing but it
doesn't want to flush any more bytes yet.
svn:r6114
2006-03-09 06:34:33 +00:00
Roger Dingledine
5f8d26496d
Let the controller attachstream conns that are in connect_wait
...
or resolve_wait: we detach them first and then act as before.
Resolves bug 264.
svn:r6112
2006-03-09 06:29:53 +00:00
Roger Dingledine
82d1fdbaea
don't abandon entry guards until they've been dead a whole month.
...
make entry guard log messages quieter.
svn:r6106
2006-03-09 00:55:55 +00:00
Roger Dingledine
44107f6ec4
Implement NEWNYM. Nick, did I do a bad thing?
...
svn:r6105
2006-03-09 00:18:16 +00:00
Roger Dingledine
0f39033b9f
clean up typo
...
svn:r6103
2006-03-09 00:10:28 +00:00
Roger Dingledine
946317ae13
start using OR_CONN_EVENT_NEW.
...
also fixes a seg fault in tor (bug 261).
svn:r6101
2006-03-08 22:29:08 +00:00
Roger Dingledine
8db1e363c9
remove some redundant code now that we compress exit policies
...
after parsing them
svn:r6099
2006-03-08 19:34:34 +00:00
Nick Mathewson
1ce3713889
Possible bug 265 fix: authorities must be more strict than clients about age of acceptable routers; make routers publish every 12 hours; client ROUTER_MAX_AGE must be greater than NETWORKSTATUS_MAX_AGE+authoirty ROUTER_MAX_AGE.
...
svn:r6095
2006-03-08 06:29:52 +00:00
Roger Dingledine
a2d71f917e
mark bug 261
...
svn:r6089
2006-03-06 19:47:54 +00:00
Nick Mathewson
5dc5380984
Add some "to-be-safe" escaped() wrappers to log statements in rend*.c, though I am not 100% sure that each one is necessary.
...
svn:r6088
2006-03-06 00:25:39 +00:00
Nick Mathewson
5777ee0e1a
Add some functions to escape values from the network before sending them to the log. Use them everywhere except for routerinfo->plaftorm, routerinfo->contact_info, and rend*.c. (need sleep now)
...
svn:r6087
2006-03-05 09:50:26 +00:00
Nick Mathewson
6a4e304d9e
Allow private:* in routerdescs; not generated yet (because older Tors do not understand it); needs testing.
...
svn:r6086
2006-03-05 05:27:59 +00:00
Roger Dingledine
329af979e0
Add a new circuit purpose 'controller' to let the controller
...
ask for a circuit that Tor won't try to use.
Extend the EXTENDCIRCUIT controller command to let you specify
the purpose if you're starting a new circuit.
Add a new SETCIRCUITPURPOSE controller command to let you
change a circuit's purpose after it's been created.
svn:r6075
2006-02-23 06:51:09 +00:00
Roger Dingledine
2bfd2a2400
clean up a log message
...
svn:r6074
2006-02-21 17:54:56 +00:00
Roger Dingledine
25ed4b66e3
be quieter about hidserv descriptors that are too old or too new.
...
we can't do anything about them anyway.
svn:r6073
2006-02-21 06:23:57 +00:00
Roger Dingledine
89b07b458b
i missed the other half of that grammar fix
...
svn:r6058
2006-02-21 03:55:47 +00:00
Roger Dingledine
16f265fa0d
when saveconf fails in controller v1, we were returning a malformed
...
error string.
svn:r6053
2006-02-20 01:24:26 +00:00
Roger Dingledine
498c13b4df
make the NoPublish option obsolete.
...
svn:r6052
2006-02-20 01:21:48 +00:00
Roger Dingledine
0408adb728
tweak
...
svn:r6051
2006-02-20 01:15:38 +00:00
Roger Dingledine
276a7bd038
the other half of fixing bug 257. catch an error in more places.
...
svn:r6050
2006-02-20 01:06:27 +00:00
Roger Dingledine
57bcdcecf1
try to address bug 257: if rename() fails during saveconf, tell
...
the controller.
svn:r6049
2006-02-19 23:12:26 +00:00
Roger Dingledine
6a52867846
New config options to address bug 251:
...
FetchServerDescriptors and FetchHidServDescriptors for whether
to fetch server info and hidserv info or let the controller do it,
and also PublishServerDescriptor and PublishHidServDescriptors.
Add AllDirActionsPrivate undocumented option -- if you set it, you'll
need the controller to bootstrap you enough to build your first circuits.
svn:r6047
2006-02-19 22:02:02 +00:00
Peter Palfrader
c4f389420c
Improve the "we have been waiting for 1140377851 seconds" log
...
svn:r6046
2006-02-19 19:44:09 +00:00
Roger Dingledine
266254f42b
clean up the Reachable*Addresses changes
...
svn:r6041
2006-02-19 08:31:47 +00:00
Roger Dingledine
a9fcf4ced2
this is why you're not supposed to cut-and-paste code
...
svn:r6037
2006-02-18 06:46:01 +00:00
Peter Palfrader
aa5443551d
Make it compile with VC7. It does not yet link.
...
svn:r6033
2006-02-18 02:02:21 +00:00
Roger Dingledine
42cd0dcde8
fix typo found in phobos's logs
...
svn:r6020
2006-02-15 03:47:38 +00:00
Roger Dingledine
f6d80d60e0
don't warn when we get a server descriptor from the controller
...
but it's too old. that's not something tor should fix.
svn:r6019
2006-02-15 03:01:53 +00:00
Peter Palfrader
c7f2970777
Just because both are obsolete does not mean we prefer the newer
...
svn:r6016
2006-02-14 17:48:51 +00:00
Peter Palfrader
0bab094d5d
Explain why we only expire open connections
...
svn:r6015
2006-02-14 17:30:04 +00:00
Roger Dingledine
ae249fc5a3
document the frequency for reachability testing by the
...
directory authorities.
svn:r6014
2006-02-14 04:33:59 +00:00
Peter Palfrader
84295f9f43
Do not mark connections obsolete before they have done their TLS handshake or are at least 60 seconds old
...
svn:r6013
2006-02-14 04:23:05 +00:00
Peter Palfrader
761da5b97f
Our connection_or_get_by_identity_digest() was slightly wrong. If best
...
didn't have any circuits on it, but conn had circuits, we would not make
conn our new best unless it was also newer. Also, restructure the code
a bit to maybe make it clearer.
svn:r6012
2006-02-14 00:08:19 +00:00
Peter Palfrader
0cc2390f8c
Warn if ReachableAddresses is set when also ReachableDirAddresses and ReachableORAddresses are set.
...
svn:r6010
2006-02-13 22:29:37 +00:00
Peter Palfrader
5eea6c76df
Split ReachableAddresses into ReachableDirAddresses and ReachableORAddresses
...
svn:r6009
2006-02-13 21:17:20 +00:00
Roger Dingledine
259c65ab08
the last of the log convention conversion. finally.
...
svn:r6005
2006-02-13 10:33:00 +00:00
Roger Dingledine
aa63a84fe1
the things we do for our windows users.
...
i hope they appreciate it.
svn:r6004
2006-02-13 09:37:53 +00:00
Roger Dingledine
d113b75da6
more log conversions.
...
whee.
svn:r6003
2006-02-13 09:02:35 +00:00
Roger Dingledine
36484f873a
convert some more source files to the new log convention
...
svn:r6002
2006-02-13 08:28:42 +00:00
Roger Dingledine
7d80921afa
resolve too-long-lines
...
svn:r6001
2006-02-13 08:22:57 +00:00
Nick Mathewson
2a4555fedd
Style on config_addr_policy_intersectes, which looks ok to me.
...
svn:r5998
2006-02-13 07:16:32 +00:00
Roger Dingledine
350313d77a
Let the users set ControlListenAddress in the torrc.
...
This can be dangerous, but there are some cases (like a secured
LAN) where it makes sense.
svn:r5997
2006-02-13 06:25:16 +00:00
Peter Palfrader
6c4d873591
Compress exit policies even more. please review
...
svn:r5995
2006-02-13 01:54:31 +00:00
Nick Mathewson
2cc66125b8
try to fix bug with spurious "everything is broken" warning
...
svn:r5994
2006-02-13 00:26:43 +00:00
Roger Dingledine
b7781ea208
bugfix: we were ignoring the IS_FAST flag in the directory
...
status, meaning we were willing to pick trivial-bandwidth nodes
for "fast" connections.
svn:r5992
2006-02-13 00:09:30 +00:00
Nick Mathewson
dba155ecff
Generate 18.0.0.0/8 address policy format in descs when we can; warn when the mask is not reducible to a bit-prefix.
...
svn:r5991
2006-02-12 23:58:22 +00:00
Roger Dingledine
b99f903e34
and don't warn when it happens here either, unless the user
...
wants to hear it.
svn:r5990
2006-02-12 23:44:02 +00:00
Roger Dingledine
97571a1cb4
don't tell ordinary users about broken directory servers.
...
it's a shame that they're broken, but most people are just
confused by the warning.
svn:r5988
2006-02-12 23:31:47 +00:00
Nick Mathewson
98ec124c6a
Drop redundant exit policy entries, not just identical ones.
...
svn:r5987
2006-02-12 22:59:38 +00:00
Nick Mathewson
e7b2d5cd47
Retain unrecognized options in state file, so that we can be forward-compatible.
...
svn:r5985
2006-02-12 22:28:30 +00:00
Nick Mathewson
ae4f0467c8
enforce whitespace style
...
svn:r5984
2006-02-12 22:27:09 +00:00
Roger Dingledine
3c4e68488b
Clients now honor the "guard" flag in the router status when
...
picking entry guards, rather than looking at is_fast or is_stable.
Now dirservers can change how they define it and clients will
automatically use their new definition.
svn:r5979
2006-02-12 03:43:39 +00:00
Roger Dingledine
b5ac6fc707
more helpful log message when running servers on obsolete windows.
...
svn:r5975
2006-02-12 00:14:58 +00:00
Roger Dingledine
094ccd34a9
bump up the period for forcing a hidden service descriptor upload
...
from 20 minutes to 1 hour.
svn:r5972
2006-02-12 00:12:36 +00:00
Roger Dingledine
981815146a
compress exit policies even more -- look for duplicate lines
...
and remove them.
svn:r5971
2006-02-12 00:03:06 +00:00
Roger Dingledine
6c093a17a9
bugfix in config_cmp_addr_policies() -- we were treating a pair
...
of exit policies if they were equal even if one said accept and
the other said reject.
svn:r5970
2006-02-11 23:47:24 +00:00
Roger Dingledine
fdf18fbbdb
stop leaking that
...
svn:r5969
2006-02-11 23:16:13 +00:00
Roger Dingledine
e847085c04
When a client asks for an old-style directory and our write bucket
...
is empty, don't give it to him. This way small servers can continue
to serve the directory *sometimes*, without getting overloaded.
svn:r5968
2006-02-11 23:15:40 +00:00
Nick Mathewson
f1b91924b2
Keep running if we ask for an impossible stdout log; just warn.
...
svn:r5964
2006-02-11 21:56:03 +00:00
Nick Mathewson
1dc90be4f0
Retry pending server downloads as well as pending networkstatus downloads when we unexpectedly get an app connection
...
svn:r5962
2006-02-11 21:29:12 +00:00
Nick Mathewson
91847124bf
Warn if running obsolete windows as a server.
...
svn:r5961
2006-02-11 21:26:40 +00:00
Roger Dingledine
85a64b4fd0
get our grammar right when complaining about un-recommended versions
...
svn:r5950
2006-02-09 06:08:59 +00:00
Roger Dingledine
5f051574d5
Happy new year!
...
svn:r5949
2006-02-09 05:46:49 +00:00
Roger Dingledine
fd0fcdf17c
stop calling it a "libevent poll" -- the word "poll" has
...
other meaning in this context that are confusing.
svn:r5936
2006-02-09 03:09:52 +00:00
Roger Dingledine
dbea401305
correct the comments that don't realize it's the opposite
...
svn:r5934
2006-02-09 02:59:26 +00:00
Roger Dingledine
31f2705d9a
and make sure that never happens again
...
svn:r5932
2006-02-09 02:42:33 +00:00
Roger Dingledine
2c221dd8db
fix bug 245: When modifying the orconn_circid_map map, we would
...
sometimes decrement conn->n_circuits even when there was no circuit
originally. This caused conn->n_circuits to go negative.
We noticed this because we were checking if connections can be
closed based on conn->n_circuits == 0, so we were never closing
any connection that had ever had a circuit on it.
svn:r5931
2006-02-09 02:42:15 +00:00
Roger Dingledine
1c596156aa
tweak comment
...
svn:r5930
2006-02-09 00:08:23 +00:00
Nick Mathewson
e5a574ce2e
Move "sort list of versions" logic into routerparse.c; make version-checking code say which versions it would have accepted. (not tested.)
...
svn:r5927
2006-02-06 05:04:27 +00:00
Nick Mathewson
2bb4fd24de
char *x = "y"; is not good C.
...
svn:r5926
2006-02-06 05:01:44 +00:00
Nick Mathewson
50e1005327
Only v1 authorities get hidden service descriptors with current protocol
...
svn:r5924
2006-02-06 04:56:18 +00:00
Nick Mathewson
97bff8edaa
Fix a const-non-const warning
...
svn:r5923
2006-02-06 04:55:27 +00:00
Roger Dingledine
a9c87fe251
more typos and nits
...
svn:r5918
2006-02-05 05:28:52 +00:00
Nick Mathewson
157e6a025a
Stupid cut-and-paste bug.
...
svn:r5917
2006-02-05 05:11:24 +00:00
Roger Dingledine
555a64e06d
as soon as we've fetched some more directory info, that's time
...
to think about downloading more server descriptors. this way
we don't have a 10 second pause in initial bootstrapping.
svn:r5916
2006-02-05 03:42:34 +00:00
Roger Dingledine
d602d0d298
cosmetic fix
...
svn:r5915
2006-02-05 03:42:04 +00:00
Roger Dingledine
640882c76c
clean up tabs and wide-lines from weasel's commit
...
svn:r5914
2006-02-05 03:23:16 +00:00
Roger Dingledine
6535087845
when building v2 statuses or v1 running-routers, don't admit the
...
existence of descriptors older than a day.
we still cache them in case anybody asks, but we don't actively
mention them.
svn:r5913
2006-02-05 02:33:40 +00:00
Roger Dingledine
53f86cdf5d
fix bug: we were caching the newest descriptor for each server,
...
well, forever. i imagine this just keeps growing in size.
svn:r5912
2006-02-05 02:07:28 +00:00
Roger Dingledine
4c1fa73c7e
typos and nits
...
svn:r5911
2006-02-05 01:57:27 +00:00
Roger Dingledine
a53a73a782
forward-port the part where ordinary users try to fetch directories
...
less often. not critical but might as well stay in sync with stable.
svn:r5910
2006-02-05 01:57:07 +00:00
Roger Dingledine
640c555f02
Fix a major load balance bug: we were round-robining in 16 KB chunks, and
...
servers with bandwidthrate of 20 KB, while downloading a 600 KB directory,
would starve their other connections. Now we try to be a bit more fair.
svn:r5906
2006-02-04 08:58:51 +00:00
Peter Palfrader
94fb3f06b3
Fix compiler warning on 64 bit archs
...
svn:r5903
2006-02-03 22:26:43 +00:00
Peter Palfrader
390bbb0a0c
Try to make tor work better through squid: Limit number of descriptors we fetch
...
to 96 (was 128 previously).
We limit this number even when we do not have a http proxy explicitly
configured as some people mistakenly believe transparent proxies are a neat
idea.
svn:r5901
2006-02-03 15:17:48 +00:00
Roger Dingledine
a1dd751f30
when we fail to bind a listener, try to provide a more useful log msg.
...
svn:r5900
2006-02-03 12:26:10 +00:00
Roger Dingledine
1800fbe486
don't warn when we receive a 503 from a dirserver/cache -- this
...
will pave the way for them being able to tell us to screw off
if they're busy.
svn:r5898
2006-02-03 12:08:31 +00:00
Roger Dingledine
0fadf0aad6
Fix bug 225: now "attachstream 0" treats conn like it just connected,
...
doing address remapping, handling .exit and .onion idioms, and so on.
Now we are more uniform in making sure that the controller hears about
all new connections, and making sure it hears when they close.
svn:r5897
2006-02-03 11:37:19 +00:00
Roger Dingledine
92ef9e37e7
Add a new config option ExitPolicyRejectPrivate which defaults to 1.
...
This means all exit policies will begin with rejecting private addresses,
unless the server operator explicitly turns it off.
Also, make our code to remove redundancies in the exit policy smarter,
so it can detect "reject foo, reject bar, reject *" patterns.
Lastly, we can get rid of the "exit policy implicitly accepts" code,
since we make everything more explicit now.
svn:r5888
2006-02-01 03:53:52 +00:00
Roger Dingledine
bdba6e42dc
avoid a minor confusing log message
...
svn:r5887
2006-02-01 03:05:52 +00:00
Peter Palfrader
bf514e5dc5
Try to fix policy_includes_addr_mask_implicitly()
...
svn:r5886
2006-02-01 02:52:55 +00:00
Peter Palfrader
61ea27620a
Also catch 0/8 in exit_policy_implicitly_allows_local_networks()
...
svn:r5885
2006-02-01 02:31:27 +00:00
Roger Dingledine
686508a04a
don't try to upload hidden service descriptors until we have
...
established a circuit.
svn:r5884
2006-02-01 02:19:46 +00:00
Roger Dingledine
e05d4e45d2
provide a more useful warn message when our onion queue
...
gets full.
svn:r5881
2006-01-31 08:17:00 +00:00
Roger Dingledine
8fc44169e5
only start testing reachability once we've established a circuit.
...
this will make startup on dirservers less noisy.
it may also break things in subtle ways.
svn:r5878
2006-01-29 01:11:41 +00:00
Roger Dingledine
f8b9a8d457
bump the default bandwidthrate to 3 MB, and burst to 6 MB
...
svn:r5874
2006-01-28 08:28:15 +00:00
Roger Dingledine
35f91db15f
a slightly more useful message when you get a sighup
...
svn:r5869
2006-01-26 19:11:06 +00:00
Nick Mathewson
bfe285be61
Add a missing printf arg
...
svn:r5861
2006-01-24 04:01:13 +00:00
Roger Dingledine
2eabf190e9
make it louder when we're running an unrecommended version.
...
also, we need to tell them what versions *are* recommended.
i'll add that to the todo.
svn:r5859
2006-01-24 03:45:58 +00:00
Nick Mathewson
9f42c9d650
Make dirservers generate a separate "guard" flag to mean, "would make a good entry guard". Make clients parse it and vote on it.
...
svn:r5856
2006-01-24 00:31:16 +00:00
Roger Dingledine
1756ebdd4e
Jan 23 02:39:44.856 [warn] rend_mid_rendezvous(): Rejecting RENDEZVOUS1 cell with unrecognized rendezvous cookie AFC097FD.
...
This is not anything that the server admin can deal with, so don't
complain this loudly.
svn:r5851
2006-01-23 09:26:22 +00:00
Roger Dingledine
de13ddd26f
Stop complaining loudly whenever some poor client falls off
...
the network before we finish writing to him.
svn:r5850
2006-01-23 09:23:04 +00:00
Roger Dingledine
b9540285af
remove unused code
...
svn:r5847
2006-01-20 20:54:42 +00:00
Roger Dingledine
f6084cf831
Jan 18 18:42:05.671 [debug] Encountered eof
...
Jan 18 18:42:05.671 [debug] Got data, not eof. Leaving on inbuf.
that's not very smart.
svn:r5843
2006-01-19 11:21:28 +00:00
Roger Dingledine
4a66f5a896
when the controller asks for a signal we don't recognize, don't
...
include the whitespace/newline/etc in our complaint.
svn:r5841
2006-01-19 02:21:24 +00:00
Roger Dingledine
d682c84e79
attempted patch for bug 220: don't assert when we've tried all the
...
intro points for a hidden service and we try fetching the service
descriptor again.
svn:r5838
2006-01-17 04:16:59 +00:00
Roger Dingledine
d5acef191c
add another assert to make sure we're not scribbling on the stack.
...
svn:r5837
2006-01-17 04:14:04 +00:00
Roger Dingledine
cca9a2f7b0
oh, and the other bits of the commit
...
svn:r5836
2006-01-17 04:03:23 +00:00
Roger Dingledine
21be9dc3c0
when you tried to set orport through the controller, it would
...
trigger an assert because you hadn't made your onion keys yet
you wanted to launch cpu workers.
now init keys first, reset uptime, and tell the user that we're
starting the reachability testing.
svn:r5835
2006-01-17 04:01:32 +00:00
Roger Dingledine
76f1b7415b
try to detect an assert error earlier
...
svn:r5834
2006-01-17 02:31:04 +00:00
Nick Mathewson
1057516a07
Clients should not download descriptors for non-running descriptors.
...
svn:r5830
2006-01-16 20:52:30 +00:00
Roger Dingledine
f0d4b3d18f
turn crypto hardware acceleration off by default, until we find
...
somebody smart who can test it for us.
svn:r5829
2006-01-16 20:08:33 +00:00
Nick Mathewson
2dd566d5d5
Indirect access to the signed_descriptor field to make it easier to keep them lazily on disk.
...
svn:r5827
2006-01-12 18:04:17 +00:00
Roger Dingledine
0e51d5d274
When the controller was submitting a descriptor, we were checking to make
...
sure some network-status we had referred to it, and refusing it if not.
This is bad for people who want to insert descriptors that aren't part of
the current Tor network. Now we accept them, and also give a more useful
warn message if we ask a dir mirror for a given descriptor and it gives us
one we weren't expecting.
svn:r5824
2006-01-12 03:43:39 +00:00
Roger Dingledine
54a7285e99
oh hey. we were hanging up on every tor client because he
...
was obsolete as soon as he started. big oops.
svn:r5807
2006-01-11 22:34:07 +00:00
Nick Mathewson
c562ca494a
add missing warning
...
svn:r5806
2006-01-11 20:09:37 +00:00
Nick Mathewson
fefa34d525
Fix double-free of torrc_fname
...
svn:r5805
2006-01-11 20:01:47 +00:00
Nick Mathewson
adbe0f0ada
Fix bug 240: dont dump descriptions when not dumping actual config lines.
...
svn:r5804
2006-01-11 19:43:14 +00:00
Nick Mathewson
099b9ce2f9
Fix bug 230: add a rollback function to reverse all changes since the last mark_logs_temp(), and move log initialization into the two-phase part of option setting.
...
svn:r5803
2006-01-11 19:40:14 +00:00
Roger Dingledine
5ca40affeb
we were leaking a smartlist every time we built a circuit
...
svn:r5795
2006-01-11 04:14:10 +00:00
Nick Mathewson
d60faa7c93
Fix another memleak. I love you, valgrind!
...
svn:r5794
2006-01-11 04:09:40 +00:00
Nick Mathewson
8907391ad6
Fix wide lines
...
svn:r5793
2006-01-11 04:04:42 +00:00
Nick Mathewson
5c78c89471
Appease verbose gcc warning: make dirserv_compute_stable_uptime() static.
...
svn:r5792
2006-01-11 03:59:55 +00:00
Roger Dingledine
284fe9cad5
if we learn that a down entry guard is up, count our working entry
...
guards correctly when logging.
svn:r5791
2006-01-11 03:58:59 +00:00
Nick Mathewson
eb78295e4e
Fix memory leak in routerlist_remove_old_routers().
...
svn:r5790
2006-01-11 03:58:07 +00:00
Nick Mathewson
6a9ca9e790
Convert some more ints to long longs in rephist.c, as suggested by windows compiler.
...
svn:r5789
2006-01-11 03:57:01 +00:00
Roger Dingledine
d1baa0c4a6
we were leaking 3KB every time the entry guards changed, every time
...
the controller called saveconf, and every 20 minutes.
svn:r5788
2006-01-11 03:20:53 +00:00
Roger Dingledine
8f271f2f5a
we changed the name of AccountingBytesReadInInterval
...
change its state file description too
svn:r5785
2006-01-10 23:26:59 +00:00
Roger Dingledine
7d1f675c85
entry nodes are now entry guards.
...
this is our last easy chance for a wholesale change. heave ho.
svn:r5782
2006-01-10 22:42:44 +00:00
Roger Dingledine
210d9db54d
and even more so
...
svn:r5776
2006-01-10 21:01:30 +00:00
Roger Dingledine
aea0a78254
make entry node logging slightly less chatty.
...
still quite chatty. it's an alpha, that's ok.
svn:r5775
2006-01-10 20:59:39 +00:00
Nick Mathewson
bef879540a
#undef FOO is cleaner than #define FOO_XX
...
svn:r5774
2006-01-10 20:50:22 +00:00
Nick Mathewson
4a7ee9bd3d
Make unittests pass again.
...
svn:r5773
2006-01-10 20:47:24 +00:00
Roger Dingledine
b2d79f278b
or_state_validate() needs an extra arg too or it will crash
...
svn:r5772
2006-01-10 20:38:33 +00:00
Roger Dingledine
f4299f0f44
hack to address bug 238.
...
needs a better fix, but not for 0.1.1.11.
svn:r5771
2006-01-10 20:27:47 +00:00
Roger Dingledine
d114ea7125
implement getinfo desc/all-recent
...
closes bug 237.
svn:r5770
2006-01-10 20:09:31 +00:00
Roger Dingledine
f71273c216
fix bug 235
...
svn:r5768
2006-01-10 20:06:24 +00:00
Nick Mathewson
7fc62029d4
Refuse to use RunAsDaemon when torrc is a relative path. Fixes bug 229.
...
svn:r5767
2006-01-10 20:00:20 +00:00
Nick Mathewson
e1d1ce3da8
Warn about actual offending hiddenservice* config option, now that more than one is possible. Closes bug 239.
...
svn:r5766
2006-01-10 19:28:31 +00:00
Nick Mathewson
2fda7140e8
Fix bug 221 and bug 201: For 221, check return value from connection_add() when adding a rendezvous post connection. For 201, do not include a content-length 0 with a GET request.
...
svn:r5765
2006-01-10 19:24:40 +00:00
Roger Dingledine
c8e6003412
balance the reachability testing so a smidgen of it happens
...
every 10 seconds. this way we don't try to do 500 tls's at
once every 20 minutes.
svn:r5763
2006-01-10 07:21:01 +00:00
Nick Mathewson
43a4f8c7f3
Be more aggressive about throwing away expired router descriptors: they are of no use to anybody. Better still: dont serve expired descriptors by fingerprint. The only people who ask for them are busted 0.1.1.10 Tors that will throw them away and re-request them after 30 minutes.
...
svn:r5762
2006-01-10 04:57:12 +00:00
Nick Mathewson
56c55c343e
When picking a random directory, prefer non-authorities if any are known.
...
svn:r5761
2006-01-09 23:39:07 +00:00
Nick Mathewson
bec9b705cc
Instrument directory client bytes as well as server bytes.
...
svn:r5760
2006-01-09 23:13:53 +00:00
Nick Mathewson
10100c4315
Make instrmentation code a little cleaner.
...
svn:r5759
2006-01-08 22:19:41 +00:00
Roger Dingledine
fa05c1b21b
remove the loud logging of busted rendezvous descriptors
...
svn:r5758
2006-01-08 22:16:30 +00:00
Roger Dingledine
6dcbbda43b
remove typo
...
svn:r5757
2006-01-08 22:16:09 +00:00
Nick Mathewson
ff9cfa9644
Instrument how many directory bytes we are serving in what kind of request.
...
svn:r5756
2006-01-08 22:09:54 +00:00
Nick Mathewson
5d709e8517
Fix bug in last commit. Also, fix bug 231: authorities should never treat their own descriptor changes as cosmetic.
...
svn:r5755
2006-01-08 21:33:15 +00:00
Nick Mathewson
e30516f33f
Fix bug 236: caches should cache up to 16 unrecognized network-status docs.
...
svn:r5754
2006-01-08 21:26:33 +00:00
Roger Dingledine
1dd8ebf615
bugfix: we were leaving open duplicate connections to other ORs
...
for a week, rather than closing them once we detect a duplicate.
also, avoid some duplicate mark-for-closes in connection-housekeeping.
svn:r5752
2006-01-07 03:56:56 +00:00
Roger Dingledine
9796733e89
"Pending" is a bad term for a circuit that uses your server as its last hop.
...
svn:r5751
2006-01-07 02:31:14 +00:00
Roger Dingledine
d4d7a49411
fix typo
...
svn:r5750
2006-01-07 02:12:38 +00:00
Roger Dingledine
af54b73985
and get the log arguments right
...
svn:r5747
2006-01-07 01:43:09 +00:00
Roger Dingledine
ba339b8a4d
a more correct log message
...
svn:r5746
2006-01-07 01:41:17 +00:00
Roger Dingledine
654b61a2e8
Jan 05 19:39:27.356 [warn] connection_edge_process_end_not_open():
...
Got an end because of misc error, but we're not an AP. Closing.
svn:r5744
2006-01-07 01:02:21 +00:00
Roger Dingledine
f88fa3efc1
helper nodes are dead
...
svn:r5743
2006-01-07 00:41:50 +00:00
Nick Mathewson
50b6b3258d
Dont call directory_get_from_dirserver when you have a particular dirserver in mind; remove fetch-from-authority special-case in directory_get_from_dirserver.
...
svn:r5741
2006-01-06 18:19:17 +00:00
Nick Mathewson
f0fb9f6b0c
Directory authorities should go to the proper authority when asking for a networkstatus, even when they want a compressed one. (Also, bullet-proof the logic in case we ever accidentally request a networkstatus for a non-authority.)
...
svn:r5740
2006-01-06 18:05:48 +00:00
Nick Mathewson
65f76bad4f
Add descriptions for state variables; rename AccountingBytesRead{In}Interval; remove extraneous and unused struct member.
...
svn:r5739
2006-01-06 15:43:03 +00:00
Nick Mathewson
447e6ffffd
Fix bug where OPs would try to generate descriptor and crash.
...
svn:r5738
2006-01-06 15:40:34 +00:00
Nick Mathewson
878962bee1
Add reasons to DESTROY and RELAY_TRUNCATED cells.
...
svn:r5734
2006-01-05 21:23:03 +00:00
Roger Dingledine
d8e3bc0288
fix a wrong string
...
svn:r5733
2006-01-05 12:18:34 +00:00
Roger Dingledine
6aaa92f736
short-circuit half the cost of node-picking in the general case.
...
svn:r5732
2006-01-05 10:59:46 +00:00
Roger Dingledine
f8a59965a1
cleanups, and remove some unreachable code.
...
svn:r5727
2006-01-04 06:43:03 +00:00
Roger Dingledine
485aa9415d
authdirs now stop whining so loudly about bad descriptors that they fetch
...
from other dirservers. now when there's a log complaint, it's for sure
from a freshly uploaded descriptor.
svn:r5726
2006-01-04 04:42:10 +00:00
Roger Dingledine
6b2a6a8239
Bugfix: dyndns tor servers were needing to wait 18 hours before they
...
could start doing reachability testing using the new IP address and
ports. This is because we were using the internal descriptor to learn
what to test, yet we were only rebuilding the descriptor once we
decided we were reachable.
svn:r5723
2006-01-03 23:34:42 +00:00
Roger Dingledine
f6f65c66b5
oh, it was supposed to compile?
...
svn:r5721
2006-01-03 13:12:17 +00:00
Roger Dingledine
da06f3553c
don't try to build circuits until we have 3 running servers;
...
and for networks that are very small, having more than a quarter
of the descriptors is much harder than having equal to or more than
a quarter of the descriptors -- follow the spec.
svn:r5720
2006-01-03 13:09:49 +00:00
Roger Dingledine
5d28b7b884
we're done with tree.h. long live ht.h.
...
svn:r5715
2006-01-03 12:35:58 +00:00
Roger Dingledine
9af33ef39c
when we choose not to use a server descriptor from our cache, don't
...
log it so loudly.
svn:r5713
2006-01-03 10:42:20 +00:00
Roger Dingledine
16ee6830b6
only print bandwidth lines to the state file if we're being a server.
...
otherwise this is pointless and probably bad for security.
svn:r5704
2006-01-02 12:19:28 +00:00
Roger Dingledine
1d474e14d7
strictentrynodes means we should clear the current entry_nodes list.
...
svn:r5703
2006-01-02 11:33:14 +00:00
Roger Dingledine
c5a5161fb5
prevent auth dir servers from enabling entry nodes.
...
svn:r5702
2006-01-02 08:40:58 +00:00
Roger Dingledine
358052416d
bugfix: only try to use the EntryNodes config option if it is set.
...
svn:r5701
2006-01-02 05:14:21 +00:00
Roger Dingledine
ddf070e204
bugfix: we were failing to parse a tor version that started with
...
"Tor ", even though we said we could.
svn:r5699
2006-01-02 05:11:31 +00:00
Roger Dingledine
ea6ea8ec22
Make UseEntryNodes true by default. Let the fun begin.
...
svn:r5698
2006-01-02 05:00:03 +00:00
Roger Dingledine
aa604ef2c2
bugfix: only try to parse the TorVersion if there is one.
...
svn:r5697
2006-01-02 04:58:12 +00:00
Roger Dingledine
839111b85a
tolerate a mal-formed or unrecognized tor version in the state file.
...
svn:r5696
2006-01-02 04:45:18 +00:00
Roger Dingledine
0bd25f5d43
save and validate TorVersion in the state file.
...
svn:r5694
2006-01-02 04:14:52 +00:00
Roger Dingledine
2efa056777
make the "stable" flag in network-status be the median of the uptimes
...
of running valid servers. that way the cutoff adapts to the stability
of the network as a whole.
svn:r5693
2006-01-02 03:32:55 +00:00
Nick Mathewson
4868d77ab8
Possible fix to state-load bug reported by weasel.
...
svn:r5692
2006-01-02 00:42:19 +00:00
Peter Palfrader
3dc69d3add
Make tor compile again
...
svn:r5688
2005-12-31 11:52:13 +00:00
Roger Dingledine
6c693dbda6
add a TorVersion state string.
...
not yet set to anything.
svn:r5687
2005-12-31 08:16:07 +00:00
Roger Dingledine
e9e7dc176c
Some tor servers process billions of cells in a matter of days.
...
These statistics need to be uint64_t's.
svn:r5686
2005-12-31 08:09:26 +00:00
Roger Dingledine
1a11b97b15
get rid of the special case for 'testing' circuits
...
svn:r5684
2005-12-31 06:37:34 +00:00
Roger Dingledine
5947388968
Finish implementing config's EntryNodes and StrictEntryNodes option.
...
The logging is way verbose for now.
svn:r5683
2005-12-31 06:32:57 +00:00
Roger Dingledine
0dc8e284f8
load balance a bit better by taking some load off the really
...
fast servers.
this might slow things down more, or it might not. hm.
svn:r5681
2005-12-30 04:46:43 +00:00
Roger Dingledine
c051e82f69
fix a typo
...
svn:r5680
2005-12-30 04:44:10 +00:00
Nick Mathewson
fc850273bd
Appease some verbose GCC warnings.
...
svn:r5679
2005-12-29 20:25:53 +00:00
Roger Dingledine
2904c6f024
log how big the failed rend descriptor is, and if it's small, log
...
a base16 of the whole thing.
svn:r5678
2005-12-29 04:57:19 +00:00
Roger Dingledine
14ea2e0b56
when we reject a rend descriptor, tell us where it came from.
...
svn:r5677
2005-12-29 04:43:24 +00:00
Roger Dingledine
dbd7b97eff
helper nodes are dead. long live entry nodes.
...
(config options EntryNodes and StrictEntryNodes still not
implemented.)
svn:r5673
2005-12-28 09:07:31 +00:00
Roger Dingledine
5d9256a367
but only close the new conn if one of the earlier helper nodes
...
that we mark up is actually reachable, fast enough, etc to use.
svn:r5672
2005-12-28 07:27:41 +00:00
Roger Dingledine
c1145138ea
but only close it if we have marked an earlier helper as up.
...
that way we don't close it too needlessly.
svn:r5671
2005-12-28 07:20:33 +00:00
Roger Dingledine
60cd03069a
when we connect to a helper node for the first time, close
...
that connection and its circuits. this lets us go back to
using the old helper nodes rather than immediately using
the last one in the list.
svn:r5670
2005-12-28 07:19:55 +00:00
Roger Dingledine
bbc4c8cef8
fix a spacing problem introduced by our 80-column requirement
...
svn:r5669
2005-12-27 10:11:29 +00:00
Roger Dingledine
d2171cb7a4
if the network is down, and we try to connect to a conn because we
...
have a circuit in mind, and we timeout (30 seconds) because the
network never answers, we were expiring the circuit, but we weren't
obsoleting the connection or telling the helper functions. now do that.
svn:r5668
2005-12-27 09:25:50 +00:00
Roger Dingledine
4088f7dfd1
fix typo
...
svn:r5667
2005-12-27 09:04:36 +00:00
Roger Dingledine
f46c135fac
when we succeed at connecting to a helper that we've never connected
...
to before, mark all the previous helpers as up. This is handy if the
network went away and then returned.
svn:r5666
2005-12-27 08:54:37 +00:00
Roger Dingledine
25fcb5fa9c
helpful log
...
svn:r5665
2005-12-27 08:38:22 +00:00
Roger Dingledine
976bf06463
slightly more accurate log messages
...
svn:r5664
2005-12-27 07:37:21 +00:00
Roger Dingledine
25052c6f4b
first cut of the new helper stuff. seems to work in the normal
...
case, but many edge cases still need testing.
svn:r5663
2005-12-27 07:23:52 +00:00
Nick Mathewson
9ef54a3d0c
Make directory caches a little less chatty when logging
...
svn:r5662
2005-12-27 06:05:54 +00:00
Nick Mathewson
fa0d5aa894
Make insert_old try hard to never add a duplicate.
...
svn:r5661
2005-12-27 05:58:12 +00:00
Nick Mathewson
ece9865020
Implement new directory logic: download by descriptor digest, not by key digest. Caches try to download all listed digests from authorities; clients try to download "best" digests from caches.
...
svn:r5659
2005-12-27 05:26:03 +00:00
Nick Mathewson
d94b9fd7d2
normalize spaces
...
svn:r5658
2005-12-27 04:52:34 +00:00
Roger Dingledine
94bff33357
and compiling would be good too
...
svn:r5657
2005-12-27 02:48:35 +00:00
Roger Dingledine
370dcbc7ba
and some comments
...
svn:r5656
2005-12-27 02:48:02 +00:00
Roger Dingledine
5807bd0635
make it clearer in the auto-generated config file that you
...
probably shouldn't be editing this one yourself.
svn:r5655
2005-12-27 02:46:53 +00:00
Roger Dingledine
b038dc9ecc
disambiguate some debug entries
...
svn:r5654
2005-12-26 22:42:22 +00:00
Roger Dingledine
815df977cf
comments? i'll show you comments.
...
svn:r5652
2005-12-26 05:52:44 +00:00
Roger Dingledine
40c267a89f
prevent a rare infinite loop on two-byte architectures,
...
and be more thorough and starting over when the clock jumps.
svn:r5647
2005-12-25 04:37:33 +00:00
Roger Dingledine
7e0d62b14a
stop being sneaky, especially if we're being incorrectly sneaky
...
svn:r5646
2005-12-24 23:39:20 +00:00
Roger Dingledine
b0144276db
more comments, and start to use the made_contact entry.
...
svn:r5645
2005-12-24 23:32:35 +00:00
Roger Dingledine
7cc53c2281
clean up some comments
...
svn:r5644
2005-12-24 23:32:15 +00:00
Roger Dingledine
35986a2374
simplify because we weren't using those return values anyway
...
svn:r5643
2005-12-24 22:48:12 +00:00
Roger Dingledine
3a2ce447b4
start to document the helper node functions
...
svn:r5642
2005-12-24 20:07:19 +00:00
Peter Palfrader
4bd65f0f98
Keep bandwidth history accross restarts/crashes
...
svn:r5637
2005-12-23 23:56:42 +00:00
Roger Dingledine
eecb835527
stop shipping tree.h, since we don't use anymore. (woo.)
...
svn:r5628
2005-12-20 07:17:42 +00:00
Roger Dingledine
bb4662365b
when we fail three times to resolve or connect, we were telling the
...
user it was because we failed to resolve.
svn:r5620
2005-12-19 21:56:43 +00:00
Roger Dingledine
da01657c34
more asserts in case weasel can trigger them
...
svn:r5616
2005-12-19 00:35:18 +00:00
Roger Dingledine
7cd46d7f95
fix a seg fault when you finish connecting to a server but
...
at that moment you dump his server descriptor, and you also
happen to be logging at loglevel info.
(found by weasel)
svn:r5615
2005-12-18 22:59:47 +00:00
Roger Dingledine
34249e8861
fix segfault when specifying DirServer without nickname
...
(reported by weasel)
svn:r5614
2005-12-18 22:45:27 +00:00
Roger Dingledine
a2186b9999
fix a ! that got left out
...
svn:r5612
2005-12-18 22:34:24 +00:00
Nick Mathewson
6b5fc9d46f
Instead of "Network down", say "Is your network connection down?"
...
svn:r5607
2005-12-15 22:10:03 +00:00
Roger Dingledine
a6afef700a
nother typo
...
svn:r5605
2005-12-15 21:51:12 +00:00
Roger Dingledine
edde3fcf25
ah ha, that variable was static. not useless after all.
...
svn:r5604
2005-12-15 21:44:23 +00:00
Roger Dingledine
002c9b3589
clean up a lot message, and remove a line that does nothing.
...
svn:r5603
2005-12-15 21:41:27 +00:00
Nick Mathewson
89eded7b17
Add "panic" option to reject all servers not in fingerprint list.
...
svn:r5601
2005-12-15 21:39:38 +00:00
Nick Mathewson
cf8c70b79c
fix compile
...
svn:r5600
2005-12-15 21:38:59 +00:00
Nick Mathewson
280c62314e
Make clients look at the fast and stable flags in networkstatus, not at the bandwidth and uptime declared in the router descriptors.
...
svn:r5599
2005-12-15 21:30:57 +00:00
Roger Dingledine
3489066433
put back in a todo comment, so we don't forget.
...
svn:r5598
2005-12-15 21:26:52 +00:00
Roger Dingledine
dadcb19d17
fix typo
...
svn:r5597
2005-12-15 21:26:39 +00:00
Nick Mathewson
24e79df0b6
Whitespace fixes; comments.
...
svn:r5596
2005-12-15 21:17:40 +00:00
Nick Mathewson
713c995adb
Do not mark directories as down simply because they dont have the router descs we want.
...
svn:r5595
2005-12-15 21:15:16 +00:00
Nick Mathewson
5965b3849e
Remove some redundant and obsolete code from routerparse
...
svn:r5594
2005-12-15 20:58:51 +00:00
Nick Mathewson
6b1305aeeb
Flip a misplaced not
...
svn:r5593
2005-12-15 20:56:46 +00:00
Nick Mathewson
3ea32f51cb
add a few clarifying comments
...
svn:r5592
2005-12-15 20:49:01 +00:00
Nick Mathewson
ce71b17224
Clean fake_status a bit. Switch from has_fetched_directory to have_minimum_dir_info, and make the latter function smarter.
...
svn:r5591
2005-12-15 20:44:15 +00:00
Roger Dingledine
25e1ad02fa
implement weasel's suggestion to fix the bug that newly bootstrapped
...
tor networks couldn't do hidden services until they had nodes with high
uptime: if you're trying to pick a node for your circuit and you demand
uptime or capacity and nothing works, then abandon your need for uptime
and capacity.
svn:r5589
2005-12-15 09:53:00 +00:00
Nick Mathewson
7af95e5c06
When we mark a router as down, also mark its local_routerstatus as not running. This way, we do not use directories that are believed to be down.
...
svn:r5587
2005-12-14 22:05:10 +00:00
Nick Mathewson
9482b1b9d5
Choose directory servers from routerstatus list, not from routerinfo list. This way, as soon was we have a networkstatus, we can ask a cache to give us routers, rather than needing to ask the directories.
...
svn:r5586
2005-12-14 22:00:58 +00:00
Nick Mathewson
c02c6b5823
Shave off 8 bytes per connection and 4 bytes per circuit by paying attention to padding warnings, moving fields around, and acknowledging that we have no files with over 64 kilolines.
...
svn:r5583
2005-12-14 21:03:51 +00:00
Nick Mathewson
1af630d32c
Bite the bullet and limit all our source lines to 80 characters, the way IBM intended.
...
svn:r5582
2005-12-14 20:40:40 +00:00
Nick Mathewson
7e632a7564
another possible patch related to circuit_free and memory stomping.
...
svn:r5580
2005-12-14 18:55:17 +00:00
Nick Mathewson
4f38670328
Fix a potential memory stomp on servers running hidden services. Found by weasel with valgrind. Backport candidate.
...
svn:r5579
2005-12-14 02:19:27 +00:00
Roger Dingledine
86d69218ef
orconn_identity_map was another static variable that started
...
out NULL and didn't change until it needed to change.
svn:r5578
2005-12-14 01:02:35 +00:00
Roger Dingledine
c9f6e6b0a0
sometimes, when we just started tor, we haven't created that
...
smartlist yet. so don't free it.
svn:r5577
2005-12-14 00:52:15 +00:00
Roger Dingledine
d853c9a009
bugfix: when we removed a dead helper node, we never committed that
...
change to disk.
svn:r5576
2005-12-13 02:52:38 +00:00
Roger Dingledine
ea760fa149
extendcircuit and attachstream would complain about not enough
...
arguments, but then just keep on going anyway.
svn:r5575
2005-12-12 16:50:55 +00:00
Nick Mathewson
27a201ac80
Have dirctory authorites note which servers make good V2 directory caches in publishe network-status.
...
svn:r5574
2005-12-12 01:03:28 +00:00
Nick Mathewson
32126cced1
Make directory authorities ignore router uploads that have only cosmetic differences: now regardless of version!
...
svn:r5573
2005-12-12 01:02:08 +00:00
Roger Dingledine
bf4da967c1
Don't use helper nodes for circuits with purpose 'testing'.
...
Also, when picking the helper node for a given circuit,
exclude the circuit's exit from your choices.
svn:r5569
2005-12-11 12:14:26 +00:00
Roger Dingledine
a131783c8b
when removing dead helpers, only write or_state to disk once at the
...
end, not for every helper you remove.
svn:r5568
2005-12-11 11:56:17 +00:00
Roger Dingledine
5981169440
mark the helper node as down if we time-out on the circuit handshake
...
with him.
svn:r5567
2005-12-11 11:55:41 +00:00
Roger Dingledine
dded1dd8bd
don't mark the helper node as down when we fail to connect to
...
our https proxy.
svn:r5566
2005-12-11 11:54:55 +00:00
Roger Dingledine
9c01fa3d59
fix yet another time comparison bug. we were abandoning helpers
...
as soon as they became unavailable. (is this true?)
svn:r5565
2005-12-11 11:23:36 +00:00
Roger Dingledine
f3349d6ed3
fix an error in reporting why we abandoned a helper node
...
svn:r5564
2005-12-11 11:20:26 +00:00
Roger Dingledine
b974f67c01
choose helper nodes to have high capacity always
...
svn:r5563
2005-12-11 11:20:01 +00:00
Roger Dingledine
77c0f6d456
a first go at fixing a bug matt edman reported: when he tries
...
to "setconf log" via the controller, it is friendly and gives
him a log to stdout, even though he didn't ask for one.
svn:r5562
2005-12-11 10:01:21 +00:00
Roger Dingledine
79f09b2f17
setconf orport=9001
...
513 Unrecognized option value
it's not unrecognized. it's unacceptable. (in this case, i still
have to consult the logs to figure out why, but at least i have
an inkling that maybe i should.)
svn:r5561
2005-12-11 09:33:38 +00:00
Roger Dingledine
46d563fe00
whenever we hupped or did a controller setconf, we were prepending
...
another reachableaddresses *:80,*:443 if fascistfirewall was set,
and we were appending another reject *:* regardless.
svn:r5560
2005-12-11 09:18:25 +00:00
Roger Dingledine
a4e1014f4d
i think fascistfirewall still has its uses. it's a synonym
...
for a certain reachableaddresses line, but it's easier to
remember and people already understand it. i think we should
think about undeprecating it.
svn:r5559
2005-12-11 08:59:02 +00:00
Roger Dingledine
defa3804cf
explain why 0.1.1.9-alpha-cvs is a special version.
...
svn:r5552
2005-12-10 21:07:21 +00:00
Roger Dingledine
58366ffd24
when we changed from log_fn to debug/info/notice/warn/err,
...
we screwed up the formatting in wild and unpredictable ways.
fix it before it becomes convention to format logs in wild and
unpredictable ways.
still need to do src/common/ someday.
svn:r5551
2005-12-10 09:36:26 +00:00
Roger Dingledine
9b0a40ec78
crank the max line limit down to 150 chars.
...
svn:r5550
2005-12-10 08:27:01 +00:00
Nick Mathewson
39265dd72e
In my private little universe, terminals are still 80 columns. Impose a 160-character-per-line limit; this will creep down.
...
svn:r5548
2005-12-09 05:37:26 +00:00
Nick Mathewson
95e471c9a6
Normalize whitespace
...
svn:r5547
2005-12-09 05:22:15 +00:00
Nick Mathewson
33c4445846
For some bizarre reason, MSVC does not implement GCC extensions. Who would have thought?
...
svn:r5546
2005-12-09 05:20:02 +00:00
Roger Dingledine
a438f2abcd
let the user configure a sockslistenaddress on other private IPs
...
besides 127.x.y.z without complaining.
and give a better message in the log.
svn:r5544
2005-12-09 02:46:46 +00:00
Nick Mathewson
d57029ffe8
Make code to handle "private" alias work when assume_action is set.
...
svn:r5542
2005-12-08 23:58:23 +00:00
Roger Dingledine
8730190914
when we're checking reachability, make it clearer in the logs
...
what to expect.
svn:r5538
2005-12-08 21:12:47 +00:00
Roger Dingledine
d3dcea08af
remove a redundant memcpy when extending to a new server
...
and attaching circuits to it.
svn:r5537
2005-12-08 20:33:57 +00:00
Nick Mathewson
338f23114f
Oops. 0.0.0.0/8 and 169.254.0.0/16 are also special.
...
svn:r5536
2005-12-08 19:58:14 +00:00
Nick Mathewson
2d585941b8
Release memory from conn_circid_circuit_map on exit.
...
svn:r5535
2005-12-08 19:46:22 +00:00
Nick Mathewson
1b770817c0
Add private:* as an alias in configuration for policies.
...
svn:r5534
2005-12-08 19:40:24 +00:00
Nick Mathewson
898968b3ac
Warn when binding to a public address for socks. This warning needs to be improved. Also, make options_validate() only warn when an option is changed to a bad value.. (Previously, it warned when an option was bad and any option was changed.)
...
svn:r5532
2005-12-08 18:56:32 +00:00
Nick Mathewson
e9b66ec906
Document CREATE_FAST better in the code. Move our key expansion algorithm into a separate function in crypto.c
...
svn:r5530
2005-12-08 17:38:32 +00:00
Nick Mathewson
617f71e4ba
Whitespace normalization
...
svn:r5528
2005-12-08 04:03:12 +00:00
Nick Mathewson
f031ee8246
Make clients use CREATE_FAST cells. add an option to disable this.
...
svn:r5524
2005-12-07 22:09:02 +00:00
Roger Dingledine
4902ece698
what the heck is wrong with this little piece of code?
...
why can none of us get it right?
it looks so simple.
svn:r5521
2005-12-07 04:43:39 +00:00
Roger Dingledine
b0ffa34219
tell the controller about new .onion streams too.
...
svn:r5520
2005-12-06 23:43:52 +00:00
Roger Dingledine
5c0338dca3
the other half of weasel's patch, so old gcc's can build cvs again.
...
svn:r5517
2005-12-06 21:03:48 +00:00
Peter Palfrader
0dbb622f26
Old gccs want you to do your variable declarations first
...
svn:r5516
2005-12-06 17:01:36 +00:00
Roger Dingledine
3347762fa4
when we're giving up on a circuit and retrying on a new one,
...
log the name of the exit node. perhaps people will find this
useful, or see patterns, or something.
svn:r5515
2005-12-06 07:21:17 +00:00
Nick Mathewson
b1d034d2ab
Fix bug 212: Directory authorities should not try to download server descriptors that they know they will reject.
...
svn:r5514
2005-12-06 06:55:43 +00:00
Nick Mathewson
d2123388ad
Better fix for last bug: avoids trying to double-mark circuits.
...
svn:r5511
2005-12-05 19:45:54 +00:00
Nick Mathewson
fedc9c8a60
We were neglecting to unlink marked circuits from soon-to-close OR connections.
...
svn:r5510
2005-12-05 19:26:09 +00:00
Nick Mathewson
b03e8733f3
Change how OR conns get removed from the identity map; fix some warnings on shutdown.
...
svn:r5509
2005-12-05 19:15:27 +00:00
Nick Mathewson
f0abb1a74b
Check magic when removing old connection from map.
...
svn:r5508
2005-12-05 19:01:34 +00:00
Nick Mathewson
835f06a77c
Set chosen_exit_name to something we are not about to zero.
...
svn:r5507
2005-12-05 06:16:24 +00:00
Nick Mathewson
98290e4115
When parsing foo.exit, if foo is unknown, and we are leaving circuits unattached, set the chosen_exit field and leave the address empty
...
svn:r5504
2005-12-05 04:38:21 +00:00
Roger Dingledine
26b49dbc09
Bugfix for trackhostexits: write down the fingerprint of the chosen exit,
...
not its nickname, because the chosen exit might not be verified.
svn:r5499
2005-12-05 00:15:42 +00:00
Roger Dingledine
40cbe550f3
fix a log message to be mildly more helpful
...
svn:r5498
2005-12-04 23:06:48 +00:00
Roger Dingledine
bb8dc691eb
Fix another time comparison bug in circuit_stream_is_being_handled().
...
Nick, can you confirm this one?
This is also a backport candidate.
svn:r5497
2005-12-04 22:23:24 +00:00
Roger Dingledine
ef000fd82e
ok, i know this one was a bug. we were expiring open general
...
circuits after they had been around for 30 seconds.
svn:r5496
2005-12-04 22:19:04 +00:00
Roger Dingledine
7d032bd300
take back half of my bugfix. comparing times sucks.
...
but leave the other half.
svn:r5495
2005-12-04 21:59:15 +00:00
Roger Dingledine
d60f514f4c
fix the first bug with our optimization to circuit_expire_building():
...
we were killing off rendezvous circuits unless they magically time-warped
to be too old before we got around to killing them, in which case we
would leave them alone. this made it hard to rendezvous with hidden
services.
svn:r5494
2005-12-04 21:51:50 +00:00
Nick Mathewson
1b0134dda8
Clean up some comments; remove some dead code
...
svn:r5493
2005-12-03 16:32:29 +00:00
Nick Mathewson
61c5a9ae2b
Use a switch statement and some mild refactoring to try to speed up circuit_expire_building
...
svn:r5492
2005-12-03 05:29:05 +00:00
Nick Mathewson
979fc3e69d
cvs diff -u src/or/circuitlist.c | less almost never does what you want in C.
...
svn:r5491
2005-12-03 03:36:32 +00:00
Nick Mathewson
77a494dd55
Expunge remaining places where we used "tree" to mean "associative array".
...
svn:r5490
2005-12-03 02:21:31 +00:00
Nick Mathewson
148a1e969d
Shave off another 4.7%: remove a linear search when figuring out which circuits wanted us to open a given OR connection.
...
svn:r5489
2005-12-03 02:12:37 +00:00
Nick Mathewson
502cb59611
Remove "tree" references from dns.
...
svn:r5488
2005-12-03 02:01:18 +00:00