Nick Mathewson
14f9b537d1
r8835@totoro: nickm | 2006-10-02 12:54:41 -0400
...
Improve error messages from AUTHENTICATE attempts to controller.
svn:r8574
2006-10-02 18:08:46 +00:00
Roger Dingledine
a3efc8e3d1
- V1 authorities should set "HSAuthoritativeDir 1" to continue being
...
hidden service authorities too.
- Just because your DirPort is open doesn't mean people should be
able to remotely teach you about hidden service descriptors. Now
only accept rendezvous posts if you've got HSAuthoritativeDir set.
svn:r8573
2006-10-01 22:16:55 +00:00
Nick Mathewson
57ffca883d
r8826@totoro: nickm | 2006-10-01 17:58:45 -0400
...
Disprefer exit nodes for entry, middle positions (fixes bug 200). Also, switch to using a uint64_t to hold "total bandwidth for all nodes" under consideration; crypt_rand_int would have died at 2GB/s network capacity.
svn:r8571
2006-10-01 21:59:09 +00:00
Roger Dingledine
3fcf736c83
misc touchups
...
svn:r8568
2006-10-01 21:42:44 +00:00
Nick Mathewson
ce72a9914e
r8822@totoro: nickm | 2006-10-01 16:24:22 -0400
...
Fix bug 303: reject attempts to use Tor as a one-hop proxy.
svn:r8566
2006-10-01 20:50:11 +00:00
Roger Dingledine
7ed921708f
Track down a seg fault that's been bothering me a while: if you
...
enable your dirport as a client, you'll crash.
svn:r8561
2006-10-01 07:53:17 +00:00
Roger Dingledine
4096e577c5
if we fail to build a circuit to an intended enclave, and it's
...
not mandatory that we use that enclave, stop wanting it.
svn:r8559
2006-10-01 06:41:13 +00:00
Roger Dingledine
96a4cb1dfa
touchups
...
svn:r8558
2006-10-01 04:55:12 +00:00
Roger Dingledine
e6f4431722
stop trying to hammer router_rebuild_descriptor() when we don't
...
have a public address we like yet.
svn:r8554
2006-09-30 20:40:26 +00:00
Roger Dingledine
0fb7a7de95
Bugfix: when we tunnel our dir fetches via tor, don't believe
...
the X-Forwarded-For header.
svn:r8553
2006-09-30 20:14:15 +00:00
Nick Mathewson
fc9dd98d4c
r8805@totoro: nickm | 2006-09-30 16:07:13 -0400
...
Oops; nameserver list is circular.
svn:r8552
2006-09-30 20:07:37 +00:00
Roger Dingledine
075cb54d9b
make hidden service predicted circuits correct rather than
...
exactly incorrect. i wonder how much this will help.
svn:r8550
2006-09-30 19:22:24 +00:00
Nick Mathewson
723ff1c93d
r8800@totoro: nickm | 2006-09-29 23:10:49 -0400
...
Resolve bug 336: When displaying circuit paths with non-named routers, use their digests, not their nicknames.
svn:r8548
2006-09-30 03:11:13 +00:00
Nick Mathewson
2cb956d1f5
r9036@Kushana: nickm | 2006-09-29 18:59:51 -0400
...
I am glad that arma reviews my patches.
svn:r8546
2006-09-29 22:59:59 +00:00
Nick Mathewson
c2d304366b
r9032@Kushana: nickm | 2006-09-29 18:51:42 -0400
...
Now, all log messages should be distinct.
svn:r8545
2006-09-29 22:51:47 +00:00
Nick Mathewson
7d366f61cb
r9025@Kushana: nickm | 2006-09-29 18:33:13 -0400
...
Differentiate more duplicated log entries
svn:r8542
2006-09-29 22:33:40 +00:00
Nick Mathewson
8308a37908
r9023@Kushana: nickm | 2006-09-29 17:27:24 -0400
...
Make distinct all non-bug messages at notice or higher that appear 3 or more times.
svn:r8541
2006-09-29 22:33:34 +00:00
Nick Mathewson
b21e656eaf
r9007@Kushana: nickm | 2006-09-29 13:17:32 -0400
...
Make eventdns give strings for DNS errors, not just error numbers.
svn:r8535
2006-09-29 18:13:33 +00:00
Nick Mathewson
0335bd51d3
r9005@Kushana: nickm | 2006-09-29 10:37:55 -0400
...
Implement DESCCHANGED event to tell controller when our router descriptor changes.
svn:r8533
2006-09-29 18:13:25 +00:00
Nick Mathewson
8992bf6204
r8776@totoro: nickm | 2006-09-29 00:50:46 -0400
...
Reserve the nickname "Unnamed" for routers that can't pick a hostname; any
router can call itself Unnamed; directory servers will never allocate Unnamed
to any particular router; clients won't believe that any router is the
canonical Unnamed.
svn:r8529
2006-09-29 04:51:28 +00:00
Nick Mathewson
9dbfb91f17
r8997@Kushana: nickm | 2006-09-28 23:40:22 -0400
...
[Needs review.] Add a BEGIN_DIR relay cell type for an easier
in-protocol way to connect to directory servers through Tor.
Previously, clients could only connect to director servers over Tor
from exit nodes, but couldn't get directory information anonymously
from a non-exit cache without getting a directory server involved.
This needs testing, and needs client-side code to actually exercise it.
svn:r8527
2006-09-29 03:50:11 +00:00
Roger Dingledine
4791a4f1c9
combine the cutoff log entries
...
svn:r8524
2006-09-29 00:19:43 +00:00
Nick Mathewson
907fc6c73e
r8977@Kushana: nickm | 2006-09-28 19:56:41 -0400
...
Make "is a v1 authority", "is a v2 authority", and "is a hidden service authority" into separate flags so we can eventually migrate more trust away from moria.
svn:r8523
2006-09-28 23:57:59 +00:00
Nick Mathewson
1a444e089a
r8976@Kushana: nickm | 2006-09-28 17:18:57 -0400
...
Another tweak to guard logic: ignore check for the Guard flag if a server is listed on EntryNodes. (Also remove redundant checks for always-set variables.)
svn:r8522
2006-09-28 23:57:56 +00:00
Nick Mathewson
d174cccd0b
r8975@Kushana: nickm | 2006-09-28 17:13:53 -0400
...
Document entry-guard related functions
svn:r8521
2006-09-28 23:57:52 +00:00
Nick Mathewson
d3a06684bc
r8974@Kushana: nickm | 2006-09-28 17:05:59 -0400
...
Improvement to last entry guards patch: track when we last attempted to connect to a node in our state file along with how long it has been unreachable. Also clarify behavior of parse_iso_time() when it gets extra characters.
svn:r8520
2006-09-28 23:57:49 +00:00
Nick Mathewson
9988112c87
r8973@Kushana: nickm | 2006-09-28 16:53:19 -0400
...
Refactor entry guard status logic a lot; allow more factors [like not
having a Guard flag or being listed in ExcludeNodes] to render a guard
"unlisted" (now called "unusable"); track guard down status (now
called "unreachable") separately from is_running.
svn:r8519
2006-09-28 23:57:44 +00:00
Peter Palfrader
bc25e87754
r9897@danube: weasel | 2006-09-29 01:08:44 +0200
...
Add a space in a wrapped log message
svn:r8517
2006-09-28 23:08:54 +00:00
Peter Palfrader
c339bd2713
r9895@danube: weasel | 2006-09-29 01:05:00 +0200
...
Restore to previous wording that svk merging made me mess up
svn:r8516
2006-09-28 23:05:17 +00:00
Peter Palfrader
540fbaae75
r9889@danube: weasel | 2006-09-29 00:57:42 +0200
...
bandwidth is not measured in bytes
svn:r8515
2006-09-28 22:59:36 +00:00
Peter Palfrader
9e6c0b8b3b
r9888@danube: weasel | 2006-09-29 00:57:02 +0200
...
Also log guard bandwidth cutoff
svn:r8514
2006-09-28 22:59:25 +00:00
Peter Palfrader
14882b3ec0
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:r8513
2006-09-28 22:58:58 +00:00
Nick Mathewson
95132f836a
r8750@totoro: nickm | 2006-09-27 20:52:01 -0400
...
Fix some warnings on mingw; hopefully this should let us build on mingw without warnings.
svn:r8509
2006-09-28 00:53:02 +00:00
Nick Mathewson
ba7868c7b3
r8969@Kushana: nickm | 2006-09-26 18:00:36 -0400
...
Remove a signed/unsigned comparison in eventdns.c
svn:r8508
2006-09-26 22:03:26 +00:00
Nick Mathewson
cd2425ffa0
r8968@Kushana: nickm | 2006-09-26 17:53:27 -0400
...
Fix for reverse dns: only assume we will get an answer when the result was success.
svn:r8507
2006-09-26 22:03:23 +00:00
Nick Mathewson
49ad1eefa1
Add an EnforceDistinctSubnets option so that clients who know what they are doing (mainly people with private testing networks) can disable our same-/16 detection.
...
svn:r8504
2006-09-25 22:12:54 +00:00
Nick Mathewson
01f9e97d43
Minor fix: add code to eventdns so it can free memory on shutdown. This should help valgrind and dmalloc freak out less.
...
svn:r8503
2006-09-25 20:38:58 +00:00
Nick Mathewson
52e179b942
Trivial fix to make dmalloc happier: release memory held in static member of escaped().
...
svn:r8502
2006-09-25 18:46:29 +00:00
Nick Mathewson
4fe76e7b6b
Free named_server_map on shutdown.
...
svn:r8500
2006-09-25 16:06:39 +00:00
Roger Dingledine
ad430b9561
checkpoint changelog and general polishing
...
svn:r8497
2006-09-25 05:59:13 +00:00
Roger Dingledine
bc848c8740
add 6697 (ircs) as longlivedport.
...
svn:r8496
2006-09-25 05:24:43 +00:00
Roger Dingledine
bda137501e
whitespace cleanups
...
svn:r8485
2006-09-24 20:54:59 +00:00
Nick Mathewson
11b4296b0b
Marge changes from libevent evdns to our eventdns. Most are cosmetic, but one or two are stability-related. This should make it easier to push our changes back towards libevent.
...
svn:r8482
2006-09-24 17:52:23 +00:00
Nick Mathewson
d3af1f2189
Backport candidate: Fix a long-standing server-side DNS bug. When a
...
client asks us to resolve (not connect to) an address, and we have a
cached answer, give them the cached answer. Previously, we would give
them no answer at all.
svn:r8478
2006-09-24 17:05:00 +00:00
Nick Mathewson
4218f09820
r8910@Kushana: nickm | 2006-09-22 12:14:05 -0400
...
Instead of just checking known-invalid addresses for DNS hijacking, we
now check randomly generated addresses, and if too many of them map to
the same IP, we assume that IP is the destination of a DNS hijack
attempt.
A little bird tells me that some DNS hijackers think that declining to
give an A record for RFC2606 addresses (like .invalid and .example)
makes them more standards compliant. Standardswise, this is like an
illicit brothel making sure that nobody has pulled the tags off the
mattresss, but that doesn't get us out of working around it.
svn:r8465
2006-09-22 20:20:26 +00:00
Nick Mathewson
bde5939ad3
r8909@Kushana: nickm | 2006-09-22 00:38:13 -0400
...
Consider changes to has_old_dnsworkers as noncosmetic
svn:r8464
2006-09-22 20:20:21 +00:00
Roger Dingledine
aa77298819
remove 8888 as a long lived port. i can't remember why it's
...
on the list.
svn:r8461
2006-09-22 19:29:26 +00:00
Nick Mathewson
f0f3bbc63b
r8901@Kushana: nickm | 2006-09-21 20:43:48 -0400
...
I tracked a bug in server-side reverse DNS to something concerning the caching code. Ive disabled server-side cacheing for reverse DNS answers for now, and I am noting the bug in the TODO.
svn:r8454
2006-09-22 00:45:08 +00:00
Nick Mathewson
6b3f6afb58
r8895@Kushana: nickm | 2006-09-21 20:05:11 -0400
...
Debug client-side reverse dns code.
svn:r8452
2006-09-22 00:44:07 +00:00
Nick Mathewson
213658f117
r8894@Kushana: nickm | 2006-09-21 18:30:42 -0400
...
Specify and implement SOCKS5 interface for reverse hostname lookup.
svn:r8451
2006-09-22 00:43:55 +00:00
Roger Dingledine
9bc8d69dfc
remove some loud log messages
...
svn:r8450
2006-09-22 00:24:27 +00:00
Nick Mathewson
29a756af8e
Fix a couple of server-side reverse dns bugs
...
svn:r8449
2006-09-22 00:10:26 +00:00
Nick Mathewson
63395c747c
Fix stupid C mistake. Glad I caught that one fast.
...
svn:r8448
2006-09-21 22:57:07 +00:00
Nick Mathewson
58200f06a5
Fix bug in r8440: base32 uses 5 bytes per char, not 4.
...
svn:r8447
2006-09-21 22:24:45 +00:00
Nick Mathewson
4f13cb82fd
r8881@Kushana: nickm | 2006-09-21 17:27:59 -0400
...
Allow resolve requests to non-exits when they are specifically requested (via resolve foo.bar.exit).
svn:r8446
2006-09-21 21:49:36 +00:00
Nick Mathewson
59f9487225
r8880@Kushana: nickm | 2006-09-21 17:26:02 -0400
...
Trivial patch to appease warn-happy gcc: mark unused parameter
svn:r8445
2006-09-21 21:49:15 +00:00
Nick Mathewson
adade79f68
r8879@Kushana: nickm | 2006-09-21 17:20:31 -0400
...
Oops from earlier patch; add "opt eventdns" to unittests, fix bug in routerdesc generation.
svn:r8444
2006-09-21 21:49:03 +00:00
Nick Mathewson
7c21dabef1
r8878@Kushana: nickm | 2006-09-21 17:15:47 -0400
...
Trivial whitespace cleanups.
svn:r8443
2006-09-21 21:48:55 +00:00
Nick Mathewson
6a1746f98f
r8877@Kushana: nickm | 2006-09-21 17:12:33 -0400
...
Consider non-exit servers unsuitable for RESOLVE commands.
svn:r8442
2006-09-21 21:48:42 +00:00
Nick Mathewson
d273d52979
r8876@Kushana: nickm | 2006-09-21 16:58:46 -0400
...
Trivial cleanup: !!x is a weird way to spell x != NULL.
svn:r8441
2006-09-21 21:48:37 +00:00
Nick Mathewson
e4a9b4de4e
r8875@Kushana: nickm | 2006-09-21 16:46:28 -0400
...
Resolve bug 330: detect ISPs that want to hijack failing DNS requests and basically domain-squat the entire internet.
svn:r8440
2006-09-21 21:48:22 +00:00
Nick Mathewson
04bec67574
r8874@Kushana: nickm | 2006-09-21 15:22:27 -0400
...
Rename and document SearchDomains and ResolvConf options; warn if ServerDNSResolvConfFile is given but eventdns isnt enabled.
svn:r8439
2006-09-21 21:48:16 +00:00
Nick Mathewson
083e9c2b59
r8873@Kushana: nickm | 2006-09-21 14:38:22 -0400
...
Fix a bug: Remember, each call to escaped() replaces the value returned from the last call to escaped().
svn:r8438
2006-09-21 21:48:11 +00:00
Nick Mathewson
a942441615
r8872@Kushana: nickm | 2006-09-21 14:00:20 -0400
...
Implement server-side reverse DNS using eventdns. Add an option to routerdescs so we can tell which servers have eventdns enabled.
svn:r8437
2006-09-21 21:48:06 +00:00
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
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
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
Nick Mathewson
e10e921386
r8729@Kushana: nickm | 2006-09-06 16:20:40 -0400
...
Fix dns_cancel_pending_resolve() to realize pending resolves have expiry times, and should not be freed except when they fall off the pqueue.
svn:r8328
2006-09-06 20:22:05 +00:00
Nick Mathewson
365ccf0742
r8725@Kushana: nickm | 2006-09-06 04:39:29 -0400
...
spawn_func fixes: have cpuworker_main and dnsworker_main confirm to the right interfaces [casting func to void* is icky]. Also, make pthread_create() build without warnings.
svn:r8327
2006-09-06 08:42:20 +00:00
Nick Mathewson
000b7b287c
r8724@Kushana: nickm | 2006-09-06 04:32:28 -0400
...
Fix spaces; restore support for mapping files over 4GB on win32 (?)
svn:r8326
2006-09-06 08:42:16 +00:00
Mike Chiussi
6ec9c1092a
- made configure check if we are building for win32
...
- made configure link to required system dll's if building for win32
- added diffs for libevent 1.1b
- forced user to turn off eventdns if win32 is set
- cleaned up tor_mmap_file()_win32 (not sure if it's stable)
- cleaned up some warnings and typos
svn:r8322
2006-09-06 01:49:55 +00:00
Roger Dingledine
585ae26783
patch from tup
...
svn:r8321
2006-09-05 14:30:06 +00:00
Nick Mathewson
b40e639f15
r8708@Kushana: nickm | 2006-09-02 20:34:15 -0400
...
Fix warnings reported by weasel when compiling Tor on Debian woody.
svn:r8318
2006-09-03 02:13:52 +00:00
Nick Mathewson
21a7880358
r8695@Kushana: nickm | 2006-08-31 14:35:36 -0400
...
Fix two corner cases in router_dir_info_changed(). This should have no observable effect.
svn:r8311
2006-08-31 18:46:46 +00:00
Nick Mathewson
f170e5798f
r8692@Kushana: nickm | 2006-08-31 13:38:07 -0400
...
Fix bug 327 (part 2): Cast char to unsigned char before passing to toupper/tolower. (Follow the same idiom as with isupper and friends, in case we run into the same problem on SGI or whereever it was.)
svn:r8310
2006-08-31 17:39:51 +00:00
Nick Mathewson
921bfdb40a
r8687@Kushana: nickm | 2006-08-30 19:33:28 -0400
...
Apply patch from Adam Langley: fix assert() in eventdns.c. [Fuzzing, apparently, is cool.]
svn:r8308
2006-08-30 23:34:56 +00:00
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