Commit graph

4529 commits

Author SHA1 Message Date
Nick Mathewson
6b716fdfb9 NEEDS REVIEW. Act on previous comment, and handle named servers differently: now, we allow multiple servers with the same name in the routerlist even if that name is reserved, but we check whether names are reserved when we try to look up routers by nickname. This is a minor security fix. This makes router_add_to_routerlist O(1). This is a backport candidate.
svn:r8433
2006-09-19 23:48:14 +00:00
Nick Mathewson
5ebb949c9f Stop searching routerlist for routers with the same identity as other routers (on router insert): we already have a map for that. (We need to add an index field to routerinfo_t so we can figure out which point in the routerlist to replace.) Also, add a comment to routerlist.c; arma, please advise?
svn:r8432
2006-09-19 23:18:30 +00:00
Nick Mathewson
2d4950c837 Malloc and friends are critical-path: Thus, add an it-wont-happen branch prediction for NULL returns, and skip the malloc(0) check on platforms where malloc(0) returns a pointer.
svn:r8431
2006-09-19 22:36:48 +00:00
Nick Mathewson
7b0ec744bc Switch routerlist.c to using memcmp on digests rather than crypto_pk_cmp_keys(); speed up find_whitespace a lot (8x for me) by using a switch statement. This should speed parsing a lot of routers at once by a lot.
svn:r8430
2006-09-19 22:20:09 +00:00
Roger Dingledine
e9abe750ea eventdns patch from Adam Langley
svn:r8429
2006-09-19 21:37:03 +00:00
Nick Mathewson
4bc42f4c18 Fix a bogus free() in eventdns.c. Bug reported by xiando.
svn:r8428
2006-09-19 20:45:20 +00:00
Nick Mathewson
93beeac01d Merge in some bsockets calls, all wrapped inside #if defined(USE_BSOCKETS)
svn:r8427
2006-09-19 20:41:31 +00:00
Roger Dingledine
0494e271e7 good god, that was a bad idea. i've built 500 circuits in the past 5
minutes, trying to establish reachability of my unreachable server.


svn:r8415
2006-09-18 04:59:15 +00:00
Roger Dingledine
4920b9d1cc Fix two bugs: first, "extendcircuit" would crash if you gave it a purpose.
Second, if you give an unknown purpose, it would say:
552 Unknown purpose "purpose=foo"
Now it just says
552 Unknown purpose "foo"


svn:r8412
2006-09-18 04:24:41 +00:00
Nick Mathewson
65974f82fa r8839@Kushana: nickm | 2006-09-17 16:11:59 -0400
Add some client performance XXXXs; try to move some common case tests higher on their decision trees.


svn:r8410
2006-09-17 20:12:10 +00:00
Roger Dingledine
b049b1b014 build testing circuits more rapidly. this has a failure mode
where if circuits fail quickly, we'll fail a lot of them very
quickly and not retry for a while. so be it.


svn:r8407
2006-09-17 06:18:06 +00:00
Roger Dingledine
bfa78b3dea actually, do the bandwidth test anyway, if you've been up at
least 6 hours at your previous address.


svn:r8403
2006-09-15 18:07:11 +00:00
Roger Dingledine
a51ec44466 avoid thrashing the bandwidth exercise when we change IPs a lot.
(we avoid simply by not doing any new tests when we change IPs --
it looks like we retain our previous bandwidth estimates, so there's
no need to do new exercise. though in some cases new exercises may
still be useful. one day we'll do something smarter.)


svn:r8402
2006-09-15 18:03:53 +00:00
Roger Dingledine
c22dc94fe6 make my bandwidth exercises actually happen
svn:r8400
2006-09-15 05:53:00 +00:00
Roger Dingledine
769f9201a6 Send out a burst of long-range drop cells after we've established that
we're reachable. Spread them over 4 circuits, so hopefully a few will
be fast. This exercises our bandwidth and bootstraps us quicker.


svn:r8399
2006-09-15 05:30:25 +00:00
Peter Palfrader
ba091ae5d7 r9770@danube: weasel | 2006-09-15 07:20:05 +0200
router_set_networkstatus() gets a list of status documents we asked for from
 connection_dir_client_reached_eof().  However, as a cache we (sometimes?) just
 ask for "all".  router_set_networkstatus() would freak out over that, meaning
 it would log a warning and drop the status document instead of caching it
 as it is supposed to.  Now we let router_set_networkstatus() know if the
 data comes from an all-request so it can do the right thing.


svn:r8398
2006-09-15 05:20:16 +00:00
Peter Palfrader
5beb114744 r9767@danube: weasel | 2006-09-15 06:27:48 +0200
Minor documentation fix


svn:r8397
2006-09-15 04:29:36 +00:00
Nick Mathewson
e58b9c1151 r8819@Kushana: nickm | 2006-09-15 00:27:45 -0400
Implement a smartlist_uniq() that will with luck not end the world.


svn:r8396
2006-09-15 04:27:58 +00:00
Nick Mathewson
ce83f43629 r8817@Kushana: nickm | 2006-09-14 18:31:29 -0400
Patch from steve hildrey: Generate network status correctly on non-versioning dirservers


svn:r8395
2006-09-14 22:34:57 +00:00
Peter Palfrader
2cf6cfe189 r9758@danube: weasel | 2006-09-14 07:10:12 +0200
Add a comment


svn:r8391
2006-09-14 05:17:02 +00:00
Peter Palfrader
7fcec09560 r9753@danube: weasel | 2006-09-14 07:07:02 +0200
Remove duplicates from MyFamily


svn:r8390
2006-09-14 05:07:34 +00:00
Peter Palfrader
9d9e31dcf4 r9752@danube: weasel | 2006-09-14 07:06:49 +0200
Fix some dead code that is on occasion useful


svn:r8389
2006-09-14 05:07:26 +00:00
Nick Mathewson
4f888c9dfc r8808@senior-two-eighty: nickm | 2006-09-14 00:59:54 -0400
House style for no-args functions is old-style C, not C++


svn:r8388
2006-09-14 05:00:02 +00:00
Peter Palfrader
28cac25d7e r9749@danube: weasel | 2006-09-14 06:53:12 +0200
Do not graciously increase the size to be mmaped if the current size already is
 at a page_size boundary.  This is important since if a file has a size of zero
 and we mmap() it with length > 0, then accessing the mmaped memory area causes
 a bus error.  However, if we pass a length of 0 to mmap() it will return with -1
 and things work from there.


svn:r8387
2006-09-14 04:53:42 +00:00
Peter Palfrader
984e8f6efb r9736@danube: weasel | 2006-09-14 05:53:06 +0200
Refactor dirserv_parse_fingerprint_file(fname) into dirserv_load_fingerprint_file():
 There is not need to put together the path to the approved-routers file in more than one place.


svn:r8386
2006-09-14 04:53:23 +00:00
Nick Mathewson
1852f503cf r8776@Kushana: nickm | 2006-09-11 22:49:53 -0400
Avoid crash when telling controller stream-status and a stream is detached.  Fixes bug 334. Backport candidate.


svn:r8370
2006-09-12 02:50:14 +00:00
Roger Dingledine
e56dbb810f start remembering X-Your-Address-Is hints even if you're
a client, so you can become a server more smoothly.


svn:r8359
2006-09-09 19:36:51 +00:00
Roger Dingledine
9af3175687 parameterize the loudness of get_interface_address()
svn:r8358
2006-09-09 19:20:27 +00:00
Roger Dingledine
5f6351ceb3 fix typo, add log message
svn:r8357
2006-09-09 19:16:07 +00:00
Roger Dingledine
0c3cc15898 fix encoding in "getinfo addr-mappings" response.
fix error code when "getinfo dir/status/" fails.


svn:r8355
2006-09-09 03:38:03 +00:00
Roger Dingledine
29b6d6560e add a "getinfo address" controller command.
svn:r8354
2006-09-09 03:18:39 +00:00
Roger Dingledine
25cb9453d7 possibly make tor build and run on cygwin again.
svn:r8353
2006-09-08 20:48:43 +00:00
Peter Palfrader
fdd56dee69 r9695@danube: weasel | 2006-09-08 18:11:53 +0200
Make tor build with -O0


svn:r8352
2006-09-08 16:12:15 +00:00
Mike Chiussi
f9f281251b another typo
svn:r8351
2006-09-08 09:05:07 +00:00
Mike Chiussi
1ee88bb01a fixed typo in eventdns.c
svn:r8350
2006-09-08 09:02:14 +00:00
Nick Mathewson
c063c7b8cb r8757@Kushana: nickm | 2006-09-07 13:07:46 -0400
Fix more compile warnings on Woody.


svn:r8349
2006-09-07 19:00:51 +00:00
Nick Mathewson
8a12d9ae2e r8755@Kushana: nickm | 2006-09-07 12:31:57 -0400
Tabify eventdns


svn:r8348
2006-09-07 16:32:06 +00:00
Nick Mathewson
4246490b81 r8753@Kushana: nickm | 2006-09-07 12:23:25 -0400
Make eventdns spacing consistant


svn:r8347
2006-09-07 16:24:19 +00:00
Mike Chiussi
5d773af545 undid whitespace changes to dns.c
svn:r8346
2006-09-07 06:36:22 +00:00
Mike Chiussi
b931994c6a fixed win32 eventdns snafu
svn:r8345
2006-09-07 06:34:20 +00:00
Mike Chiussi
c40acb86f4 - got rid of tabs
svn:r8344
2006-09-07 04:02:52 +00:00
Mike Chiussi
3c85780e69 - got rid of tabs (i think)
svn:r8343
2006-09-07 03:58:46 +00:00
Mike Chiussi
5af47d1641 - added some debugging lines to load_nameservers_from_registry()
svn:r8342
2006-09-07 03:53:14 +00:00
Roger Dingledine
ae67a044f0 clean up some comments
svn:r8338
2006-09-07 01:23:15 +00:00
Roger Dingledine
43edbf0461 prefer calling it a client rather than an OP
svn:r8334
2006-09-07 01:00:37 +00:00
Mike Chiussi
879fe91d88 rm'ed a tab (sorry)
svn:r8333
2006-09-07 00:54:28 +00:00
Mike Chiussi
91d7ad660f - fixed up typos in eventdns.c
- configure lets user build with eventdns on win32


svn:r8332
2006-09-07 00:51:20 +00:00
Roger Dingledine
5a8563baed new config option AvoidDiskWrites for people running tors on
usb keys and other media that degrades when you write.
not implemented yet, so just a reminder.


svn:r8331
2006-09-07 00:30:29 +00:00
Nick Mathewson
7ed528c5c5 r8733@Kushana: nickm | 2006-09-06 17:35:22 -0400
Add some missing defines to eventdns.c for windows.


svn:r8330
2006-09-06 21:35:30 +00:00
Nick Mathewson
1e26233957 r8731@Kushana: nickm | 2006-09-06 16:33:19 -0400
Try to fix eventdns.c build on windows.


svn:r8329
2006-09-06 20:33:28 +00:00