Commit Graph

3917 Commits

Author SHA1 Message Date
Nick Mathewson
2741dd5741 r11755@Kushana: nickm | 2006-12-29 11:49:20 -0500
Calculate the length of policy strings correctly again.


svn:r9215
2006-12-29 16:49:33 +00:00
Nick Mathewson
a77bbe2346 r11753@Kushana: nickm | 2006-12-29 11:30:28 -0500
Fix flipped sign in compare: make descriptors buildable again.


svn:r9214
2006-12-29 16:31:37 +00:00
Nick Mathewson
6fbf17e7b0 r11749@Kushana: nickm | 2006-12-29 00:51:42 -0500
Remove dead code; make targets of addressmap commands/configs use AllowNonRFC953Hostnames


svn:r9211
2006-12-29 05:51:50 +00:00
Nick Mathewson
0e172d9f6e r11745@Kushana: nickm | 2006-12-29 00:00:28 -0500
Close any directory connection on which we have received 10MB or more of data.  This prevents a malicious directory cache from running us out of memory by spooling an infinite amount of data.  (Not a terribly good attack, but hey, every one helps.)


svn:r9210
2006-12-29 05:07:25 +00:00
Nick Mathewson
8728e2826f r11744@Kushana: nickm | 2006-12-28 23:43:53 -0500
Refactor connection_write_to_buf_zlib back into connection_write_to_buf.  Hooray for dumping duplicate code.


svn:r9209
2006-12-29 05:07:04 +00:00
Nick Mathewson
26c0d6ec58 r11743@Kushana: nickm | 2006-12-28 23:13:21 -0500
Refactor _connection_controller_force_write back into conncetion_handle_write.  Again, the line count goes down: groovy!


svn:r9208
2006-12-29 05:06:47 +00:00
Nick Mathewson
361998d0f3 r11741@Kushana: nickm | 2006-12-28 22:41:29 -0500
Count TLS bytes accurately: previously, we counted only the number of bytes read or transmitted via tls, not the number of extra bytes used to do so.  This has been a lonstanding wart.  The fix "Works for me".


svn:r9207
2006-12-29 03:42:46 +00:00
Nick Mathewson
7cfdac1bf6 r11737@Kushana: nickm | 2006-12-28 18:32:13 -0500
Remove some dead code; refactor some duplicated code.


svn:r9206
2006-12-29 02:49:12 +00:00
Nick Mathewson
b59573949e r11736@Kushana: nickm | 2006-12-28 17:46:23 -0500
Mark a pile of XXXX comments as targetted for 0.1.2: some because they look important, some because they look easy.


svn:r9205
2006-12-29 02:47:51 +00:00
Nick Mathewson
0bbbf98be4 r11727@Kushana: nickm | 2006-12-28 16:27:17 -0500
If we only have a single nameserver, raise the threshold to decide that the nameserver is dead.  (Another fumbling attempt to do something about bug 326.)


svn:r9203
2006-12-28 21:29:37 +00:00
Nick Mathewson
3996fd1d9d r11726@Kushana: nickm | 2006-12-28 16:24:06 -0500
Expose a function from eventdns.c to set options without having to make a fake configuration file.  Also, add more settable options


svn:r9202
2006-12-28 21:29:31 +00:00
Nick Mathewson
460a476efa r11725@Kushana: nickm | 2006-12-28 14:44:56 -0500
Partial solution to 326: downgrade single-nameserver failures to INFO.


svn:r9201
2006-12-28 21:29:26 +00:00
Nick Mathewson
d9f1f3533d r11724@Kushana: nickm | 2006-12-28 14:22:35 -0500
Refactor and unify my-ip-addr-changed logic.  Make change in IP address or in nameservers reset and relaunch DNS hijacking tests.


svn:r9200
2006-12-28 21:29:20 +00:00
Nick Mathewson
e5f5b96ca6 r11723@Kushana: nickm | 2006-12-28 13:52:48 -0500
Fix bug 364: check for whether popular hostnames (curently google, yahoo, mit, and slashdot) are getting wildcarded.  If they are, we are probably behind a DNS server that is useless: change our exit policy to reject *:*.


svn:r9199
2006-12-28 21:29:11 +00:00
Nick Mathewson
1df04d70f7 r11718@Kushana: nickm | 2006-12-26 16:57:44 -0500
Add client-side caching for reverse DNS.


svn:r9194
2006-12-26 22:41:43 +00:00
Nick Mathewson
58ae3cd648 r11713@Kushana: nickm | 2006-12-24 22:42:08 -0500
Better handling of internal addresses wrt X-Your-Address-Is (never believe them; never provide them.) Also, report something useful for X-Your-Address-Is with one-hop tunneled connections.


svn:r9191
2006-12-25 03:42:38 +00:00
Nick Mathewson
3ab84c5f48 r11711@Kushana: nickm | 2006-12-24 21:42:57 -0500
Stop counting 503s against the total number of failures allowed for a download.


svn:r9190
2006-12-25 02:47:37 +00:00
Nick Mathewson
a71a5d4bf2 r11706@Kushana: nickm | 2006-12-24 01:50:52 -0500
Fix 2 bugs in last patch.  (VS has weird ideas about const, and I have weird ideas about block structure.)


svn:r9186
2006-12-24 06:50:57 +00:00
Nick Mathewson
bae366eff0 r11702@Kushana: nickm | 2006-12-24 01:31:59 -0500
Patch from Edmanm, slightly modified.  Original change list:
   - Support running the Tor service with a torrc not in the
     same directory as tor.exe (Bug #356) and default to using the torrc
     located in the %appdata%\Tor\ of the user who installed the service
   - Removed the supposedly misleading error message mentioned in Bug #294
   - Fixed some CloseHandle()s that should've been CloseServiceHandle()s
   - Fixed some nt_service_foo() return values to be consistent
   - Resolved some nt_service_foo() DOCDOCs
   - Fixed one trivial typo that I happened to randomly notice
 
 Changes:
   - Make more comments into "imperative" house style.
   - Remove special handling for "-f"; only use --options.
   - Quote all options.
   - Clean up whitespace
 


svn:r9185
2006-12-24 06:32:24 +00:00
Nick Mathewson
c12a1f1e3a r11701@Kushana: nickm | 2006-12-24 01:24:39 -0500
fix warning on win32.


svn:r9184
2006-12-24 06:32:20 +00:00
Nick Mathewson
2e538d9918 r11694@Kushana: nickm | 2006-12-23 23:09:20 -0500
Add a version entry to networkstatus documents; have this entry get parsed and used to calculate whether begin_dir is supported.


svn:r9181
2006-12-24 04:09:48 +00:00
Nick Mathewson
339384238c r11693@Kushana: nickm | 2006-12-23 22:42:11 -0500
Stop requiring the "opt" keyword before unrecognized directory items.


svn:r9180
2006-12-24 04:09:42 +00:00
Nick Mathewson
baac5389a1 r11690@Kushana: nickm | 2006-12-23 22:09:53 -0500
Hmm. Maybe I should have been compiling these before I checked them in.


svn:r9178
2006-12-24 03:09:58 +00:00
Nick Mathewson
d76b2a4ec0 r11688@Kushana: nickm | 2006-12-23 22:08:36 -0500
Fix "r may be used uninitialized" warning from last patch.


svn:r9177
2006-12-24 03:08:44 +00:00
Nick Mathewson
bf1014692f r11686@Kushana: nickm | 2006-12-23 22:05:57 -0500
More changes wrt unnecessary disk writes.


svn:r9176
2006-12-24 03:06:03 +00:00
Nick Mathewson
f3fd5d9032 r11680@Kushana: nickm | 2006-12-23 21:45:05 -0500
Remove code to look for keys in their old locations: we havent stored them there since 0.0.7.2.


svn:r9175
2006-12-24 02:45:53 +00:00
Nick Mathewson
bba5a3533f r11679@Kushana: nickm | 2006-12-23 21:38:41 -0500
Update the state file less often when AvoidDiskWrites is set.


svn:r9174
2006-12-24 02:45:46 +00:00
Nick Mathewson
9efdf6acc5 r11677@Kushana: nickm | 2006-12-23 21:17:54 -0500
Track when we get 503s from directory servers.  Do not use directory servers that have given us a 503 until either an hour has passed, or we are are out of non-busy servers.


svn:r9172
2006-12-24 02:45:35 +00:00
Nick Mathewson
4d948281c3 r11676@Kushana: nickm | 2006-12-23 20:42:17 -0500
Add an orport option to dirserver lines so that clients can tell where to connect to open an encrypted tunnel to a dirserver even before they have its descriptor.


svn:r9171
2006-12-24 02:45:27 +00:00
Roger Dingledine
488b4726a7 reinstate the most important dead chickens for limiting
impact of directory writes now that we're write limiting.

a few more dead chickens remain.


svn:r9170
2006-12-23 08:48:16 +00:00
Nick Mathewson
bf74dcd855 r11658@Kushana: nickm | 2006-12-20 15:58:44 -0500
Remove long-deprecated log and accounting options.


svn:r9164
2006-12-20 21:02:10 +00:00
Nick Mathewson
2e1e919d65 r11657@Kushana: nickm | 2006-12-20 15:11:19 -0500
Fixes to check-docs script; add some docs; mark some options as deprecated in the online docs.


svn:r9163
2006-12-20 21:02:02 +00:00
Nick Mathewson
e9ad1650c0 r11651@Kushana: nickm | 2006-12-20 12:05:04 -0500
Add a maintainer script and a new make target "make check-docs" to get a quick dump of which options are undocumented where, and which documentation refers to nonexistent options.


svn:r9160
2006-12-20 17:05:48 +00:00
Roger Dingledine
00257212c7 Take out the '5 second' timeout from the connection retry
schedule. Now the first connect attempt will wait a full 10
seconds before switching to a new circuit. Perhaps this will help
a lot. Based on observations from Mike Perry.


svn:r9159
2006-12-20 09:43:28 +00:00
Roger Dingledine
858d7295e7 minor cleanups
svn:r9158
2006-12-20 09:25:58 +00:00
Nick Mathewson
baadf35c63 r11646@Kushana: nickm | 2006-12-19 14:40:38 -0500
Resolve bug 363: do not fall back to 127.0.0.1 when no nameservers are configured.  Instead, have the admin fix resolv.conf or configure a nameserver.


svn:r9157
2006-12-19 19:49:03 +00:00
Nick Mathewson
bf6702cf8b r11645@Kushana: nickm | 2006-12-19 14:22:36 -0500
Reject hostnames with invalid characters, in an attempt to catch more errors earlier.  Add an option to disable this behavior.


svn:r9156
2006-12-19 19:48:58 +00:00
Nick Mathewson
280692d65f r11643@Kushana: nickm | 2006-12-19 13:15:14 -0500
Stop recommmending exits as guards when the exit bandwidth is less than a third of the total bandwidth.


svn:r9154
2006-12-19 19:48:48 +00:00
Roger Dingledine
e66b6f0d50 Reject *:563 (NTTPS) in the default exit policy. We already reject
NNTP by default, so this seems like a sensible addition.
(suggested by bug 331)


svn:r9149
2006-12-18 08:25:34 +00:00
Roger Dingledine
ad5ce3c7ed fix whitespace; add a todo item
svn:r9148
2006-12-18 08:24:22 +00:00
Nick Mathewson
973baa1673 r11630@Kushana: nickm | 2006-12-17 22:02:24 -0500
Add a typedef to (try to) make eventdns work on mingw.  Man, I need a buildbot for this.


svn:r9147
2006-12-18 03:02:30 +00:00
Nick Mathewson
952b34d610 r11627@Kushana: nickm | 2006-12-17 11:37:39 -0500
Remove an artificial upper bound on expected bandwidth.  More immediately, fix a VC warning.


svn:r9146
2006-12-17 16:37:46 +00:00
Roger Dingledine
b3b75a3bef write-limiting fix: avoid a rare bug where we don't remember
that there's stuff on the outbuf we want to flush.


svn:r9142
2006-12-16 11:36:36 +00:00
Roger Dingledine
0cc7eaf302 remove some dead comments, and resolve some XXXs
svn:r9141
2006-12-16 11:34:12 +00:00
Roger Dingledine
f175aca3a8 and then revert half of r9138
svn:r9140
2006-12-16 07:04:26 +00:00
Nick Mathewson
80b8abf7be r11618@Kushana: nickm | 2006-12-16 02:00:52 -0500
Make router_is_me work without calling router_rebuild_descriptor.


svn:r9139
2006-12-16 07:00:59 +00:00
Roger Dingledine
9cd8feb649 fix an infinite loop and a memory leak in r9131
svn:r9138
2006-12-16 06:56:58 +00:00
Nick Mathewson
31e09bb524 r11614@Kushana: nickm | 2006-12-15 17:39:42 -0500
Implement SETEVENTS GUARD.  Needs review and testing.


svn:r9137
2006-12-15 22:40:20 +00:00
Nick Mathewson
251f007b75 r11609@Kushana: nickm | 2006-12-15 16:42:21 -0500
Implement GETINFO fingerprint.


svn:r9136
2006-12-15 21:51:24 +00:00
Roger Dingledine
ce51a1d349 a changelog for write limiting. also, disable the "advertise dirport
until we reach our max bandwidth if it's tiny" trick now that we
do the bandwidth self-test on boot.


svn:r9134
2006-12-15 21:39:35 +00:00
Nick Mathewson
f53a269928 r11598@Kushana: nickm | 2006-12-15 15:59:00 -0500
Add internal documentation for a bunch of configuration options.  We should do something to keep this list, the canonical list, the tor.1 list, and the torrc.complete list in sync.


svn:r9133
2006-12-15 21:27:19 +00:00
Nick Mathewson
078aab810b r11597@Kushana: nickm | 2006-12-15 15:49:27 -0500
Add a rudimentary line-wrapping function for use in dumping comments in config files.


svn:r9132
2006-12-15 21:26:23 +00:00
Nick Mathewson
ab2fc7bd62 r11596@Kushana: nickm | 2006-12-15 10:57:12 -0500
Mark some TODO items as done.  Also, never include ourself in our family list.


svn:r9131
2006-12-15 21:26:15 +00:00
Roger Dingledine
bdf470c263 turn TunnelDirConns on by default.
that's what alpha releases are for, right?


svn:r9129
2006-12-15 21:06:21 +00:00
Roger Dingledine
c4ed331d8d oh, and catch the other instance we should fix
svn:r9122
2006-12-15 08:14:32 +00:00
Roger Dingledine
0bc0688668 if we rotate our onion key, publish a new descriptor, and
die soon after, we want to stick with that onion key when
we restart.


svn:r9121
2006-12-15 07:58:31 +00:00
Nick Mathewson
38bd6837db r11588@Kushana: nickm | 2006-12-15 02:04:32 -0500
Add a LastRotatedOnionKey variable to the state file, so we can rotate onion keys a week after they change even if we never stay up for a whole week at a time.  Should fix bug 368.


svn:r9120
2006-12-15 07:04:37 +00:00
Roger Dingledine
2ae9615a0b take the broken obsolete url out again.
seriously, this line should stay out.
how can we make this happen?


svn:r9119
2006-12-15 06:22:52 +00:00
Nick Mathewson
62f711fcf3 r11585@Kushana: nickm | 2006-12-15 01:11:49 -0500
Tabify eventdns so that it matches libevent house style.


svn:r9118
2006-12-15 06:12:14 +00:00
Nick Mathewson
b16aa6412e r11584@Kushana: nickm | 2006-12-15 01:10:45 -0500
Try to reconcile (except for whitespace) eventdns with version in libevent, so it is easier for me to send merges.  These changes should be cosmetic. (Ha!)


svn:r9117
2006-12-15 06:12:01 +00:00
Nick Mathewson
fdb10ff0b5 r11580@Kushana: nickm | 2006-12-15 00:09:46 -0500
Resolve bug 369: Check for integer underflow when printing "bytes left" accounting numbers.  Also fix a copyright date that I noticed while reading the bug.  Also make a buffer big enough that strings will not get truncated.  All are backport candidates.


svn:r9115
2006-12-15 05:12:42 +00:00
Roger Dingledine
c44dd3870e clarify our use of local time vs GMT
svn:r9109
2006-12-14 23:39:14 +00:00
Roger Dingledine
30e4f4f6ce when we're doing a write split over the end of a circular
buffer, make sure our tls_get_forced_write_size doesn't
make it write whatever's after the buffer.

this hasn't triggered yet, but it would be rare, so let's
leave it in.


svn:r9107
2006-12-14 03:26:42 +00:00
Nick Mathewson
c9c8072bd3 r11569@Kushana: nickm | 2006-12-13 17:59:58 -0500
fix last fix


svn:r9106
2006-12-13 23:00:05 +00:00
Nick Mathewson
43e06eba8b r11566@Kushana: nickm | 2006-12-13 17:46:24 -0500
Try to fix an assert failure in new write limiting code: make buffers.c aware of previous "forced" write sizes from tortls.


svn:r9105
2006-12-13 22:46:42 +00:00
Roger Dingledine
5cce710e2b Some more documentation and specs for CONNECT_DIR and BEGIN_DIR.
Demand that BEGIN_DIR cells have an empty payload.


svn:r9104
2006-12-13 22:42:52 +00:00
Roger Dingledine
04409f202d reenable write limiting. nick finally convinced me this was
a smart move.

more todo sub-items remain for it.


svn:r9101
2006-12-13 07:08:36 +00:00
Roger Dingledine
97c83a4c09 finish enabling begin-dir cells. require one-hop circs for
socks-command-connect-dir streams, so we don't open new anonymity
questions.


svn:r9099
2006-12-13 02:49:45 +00:00
Roger Dingledine
0dbf725927 Infrastructure to test BEGIN_DIR cells.
New socks command CONNECT_DIR. New config option TunnelDirConns that
builds a circ ending at the directory server and delivers a BEGIN_DIR
cell if it's running 0.1.2.2-alpha or later. We still need to make
one-hop circs when appropriate, while making other conns avoid them.


svn:r9098
2006-12-13 00:28:56 +00:00
Roger Dingledine
f5164ba61d remove an XXXX that asked to get removed
svn:r9097
2006-12-13 00:05:28 +00:00
Roger Dingledine
477438e6c7 a better fix. puts r8446 to bed.
svn:r9096
2006-12-12 21:09:30 +00:00
Roger Dingledine
1efd377428 Fix a bug in 0.1.2.2-alpha that prevented clients from asking
to resolve an address at a given exit node even when they ask for
it by name.


svn:r9095
2006-12-12 20:23:17 +00:00
Roger Dingledine
7217f3ca47 couldn't handle leaving this typo in
svn:r9094
2006-12-12 20:20:48 +00:00
Roger Dingledine
ee144598c8 minor cleanups and notes
svn:r9093
2006-12-12 20:19:54 +00:00
Nick Mathewson
9fa707f5d3 r11552@Kushana: nickm | 2006-12-12 13:34:13 -0500
fix a signed/unsigned comparison in eventdns.c


svn:r9092
2006-12-12 18:34:22 +00:00
Nick Mathewson
a3a00df69d r11548@Kushana: nickm | 2006-12-12 00:44:51 -0500
Merge whitespace and other changes from libevent


svn:r9090
2006-12-12 05:45:19 +00:00
Nick Mathewson
494e45482a r11536@Kushana: nickm | 2006-12-11 22:48:21 -0500
Add ipv6 functionality to evdns.


svn:r9089
2006-12-12 03:48:46 +00:00
Nick Mathewson
35d92f8245 r11498@Kushana: nickm | 2006-12-11 21:40:24 -0500
Document all structures and (non-exported) functions.  External documentation will probably wind up being a manpage, hopefully written by somebody else.


svn:r9087
2006-12-12 02:57:02 +00:00
Nick Mathewson
097aec8e9d r11497@Kushana: nickm | 2006-12-11 21:17:45 -0500
Rename nameserver functions: every one should now have "server" in the name.


svn:r9086
2006-12-12 02:56:54 +00:00
Nick Mathewson
707429e9a3 r11496@Kushana: nickm | 2006-12-11 19:39:37 -0500
Clean up XXXX comments in evdns code.  Make server_ports actually go away when their refcnt reaches zero.


svn:r9085
2006-12-12 02:56:47 +00:00
Nick Mathewson
d22deb61d6 r11495@Kushana: nickm | 2006-12-11 19:11:14 -0500
More evdns: tab fixes.  Dont make users worry about flags.  Set truncated flag correctly when generating responses, rather than just bailing out.


svn:r9084
2006-12-12 02:56:41 +00:00
Nick Mathewson
abc1304aef r11494@Kushana: nickm | 2006-12-11 14:50:20 -0500
Export DNS types and classes in eventdns.h so that server code can use them.


svn:r9083
2006-12-12 02:56:35 +00:00
Nick Mathewson
fc125b1ef4 r11493@Kushana: nickm | 2006-12-11 14:28:42 -0500
Oops; apparently DNS replies are supposed to include the questions.  Revise "add_ptr_reply" to accept an inaddr_arpa name instead of just the sockaddr_in. Also, add a "-servertest" function to the test code to see whether the DNS server logic is working.


svn:r9082
2006-12-12 02:56:28 +00:00
Nick Mathewson
e53bca15e7 r11492@Kushana: nickm | 2006-12-11 12:30:23 -0500
Implement dns server reply retry logic.


svn:r9081
2006-12-12 02:56:23 +00:00
Nick Mathewson
c58d9494df r11491@Kushana: nickm | 2006-12-11 12:12:57 -0500
More DNS server hacking: everything except testing, and retries, and documentation, and Tor integration.


svn:r9080
2006-12-12 02:56:20 +00:00
Nick Mathewson
991308fac9 svn:r9079 2006-12-12 02:56:17 +00:00
Nick Mathewson
ff029a635d svn:r9077 2006-12-12 02:54:48 +00:00
Nick Mathewson
e190acf780 r9254@Kushana: nickm | 2006-10-17 17:23:36 -0400
Implement dns label compression.  Clients do not need this much; dns servers definitely do.


svn:r9073
2006-12-12 02:50:17 +00:00
Nick Mathewson
e9d67b1162 r9099@Kushana: nickm | 2006-10-05 17:42:55 -0400
start fleshing out some logic to build server support into eventdns.  Still needs work and testing.


svn:r9068
2006-12-12 02:49:45 +00:00
Roger Dingledine
ea93289590 fix another bug in r9052, pointed out by robert hogan
svn:r9063
2006-12-10 17:30:33 +00:00
Roger Dingledine
e206d22297 some more cleanups and a bugfix on r9052
svn:r9062
2006-12-10 08:04:50 +00:00
Roger Dingledine
733882315d resolve a buffer overflow / crash from r9051
svn:r9061
2006-12-10 04:50:33 +00:00
Roger Dingledine
f7319a0b6d correction and cleanups on r9047
svn:r9060
2006-12-09 19:40:16 +00:00
Roger Dingledine
29099a98c2 fix xiando's bug -- we were reporting stuff about hibernation
even though it wasn't enabled.


svn:r9055
2006-12-09 02:55:40 +00:00
Nick Mathewson
81be0ad1e5 r11486@Kushana: nickm | 2006-12-08 00:58:47 -0500
Fix a longstanding bug in eventdns related to timeouts:  The timeout count was never actually reset to 0.  Argh.  Now we reset it to zero after we get a successful request, or after we notice that a nameserver is back up, or after we decide the nameserver is down because of timeouts.  This may fix bug 326.


svn:r9054
2006-12-08 05:59:21 +00:00
Nick Mathewson
cf04e1e6e7 r11479@Kushana: nickm | 2006-12-07 23:38:54 -0500
Refactor GETINFO into a table-driven dispatch, as suggested by arma.  My brain hurts.


svn:r9052
2006-12-08 04:39:13 +00:00
Nick Mathewson
1567e13dc8 r11475@Kushana: nickm | 2006-12-07 20:49:21 -0500
Make GETINFO dir/status/... work even when we are not a directory.  Needs a little cleanup.  Closes bug 263.


svn:r9051
2006-12-08 01:50:02 +00:00
Roger Dingledine
566543a4f8 more changes on r9041
svn:r9049
2006-12-07 20:14:29 +00:00
Nick Mathewson
b4a90ca8a3 r11469@Kushana: nickm | 2006-12-07 15:11:04 -0500
Round stored/transmitted values for bandwidth usage.  This might make some attacks work less well.  This might well be voodoo, but it gives me a warm fuzzy feeling.


svn:r9048
2006-12-07 20:11:36 +00:00
Nick Mathewson
7c79495137 r11468@Kushana: nickm | 2006-12-07 14:56:57 -0500
Revise logic used to flush state to disk. Now, we try to batch non-urgent changes so that we do not do too many writes, and we save very-non-urgent changes every once in a rare while, and we never save more than once per second.


svn:r9047
2006-12-07 20:11:30 +00:00