Roger Dingledine
a0ec758f9e
stop writing arbitrary memory out on the controller port.
...
it's an ugly patch, but at least this way we can see that
it's fixed. maybe clean up the whole "@" syntax later on.
svn:r8783
2006-10-20 23:23:19 +00:00
Nick Mathewson
c9a01dea53
r9313@Kushana: nickm | 2006-10-20 17:04:11 -0400
...
Oops. Conform to spec.
svn:r8782
2006-10-20 21:04:44 +00:00
Nick Mathewson
01bc03eff4
r9312@Kushana: nickm | 2006-10-20 14:45:22 -0400
...
Add an event type to tell the controller when our opinion of a router status has changed. I might have missed some cases here.
svn:r8781
2006-10-20 21:04:39 +00:00
Roger Dingledine
0459db2c0d
checkpoint some changes as i read diffs
...
svn:r8780
2006-10-20 19:11:12 +00:00
Nick Mathewson
b27cb38dee
r9307@Kushana: nickm | 2006-10-20 13:53:54 -0400
...
Have connection_about_to_close use an end_reason field in edge_connection_t to tell what reason to tell the controller for closing the stream. Set end_reason in connection_edge_end, connection_mark_unattached_ap, and everwhere we set edge_has_sent_end. Add a changelog entry.
svn:r8779
2006-10-20 17:54:48 +00:00
Nick Mathewson
8e94097edb
r9306@Kushana: nickm | 2006-10-20 13:27:43 -0400
...
Enable reasons for stream events in all cases but CLOSED in about_to_close_connection. That one will take a little longer.
svn:r8778
2006-10-20 17:54:43 +00:00
Nick Mathewson
12af87539b
r9303@Kushana: nickm | 2006-10-20 12:07:34 -0400
...
Start implementing reason extension for stream events to match the one one used by circuit events. (Not a complete implementation yet; actual reasons are not passed to control.c)
svn:r8777
2006-10-20 17:54:36 +00:00
Nick Mathewson
c8c36dd227
r9304@dhcp-18-188-67-85: nickm | 2006-10-20 12:22:46 -0400
...
Change HT_INIT from a special-case to a macro-calling-a-function like the rest of ht.h. This might prevent errors if somebody did, I dunno, "HT_INIT(tp, hashtable++)". Based on a patch from Watson Ladd.
svn:r8776
2006-10-20 16:22:53 +00:00
Nick Mathewson
2d7cf75e42
r9298@dhcp-18-188-67-85: nickm | 2006-10-20 11:25:07 -0400
...
Weasel correctly notes that we should not discard the return value from connection_exit_begin_con. Right now, the return value is always discardable, so this does not actually cause a bug, but it might later. So fix it.
svn:r8774
2006-10-20 15:26:02 +00:00
Nick Mathewson
e5f064c983
r9290@31-35-219: nickm | 2006-10-20 10:32:33 -0400
...
Add a GETINFO target so controllers can ask Tor for the current state of a router. (Results given in networkstatus format.)
svn:r8772
2006-10-20 14:58:29 +00:00
Nick Mathewson
136ed33071
r9289@31-35-219: nickm | 2006-10-20 09:43:22 -0400
...
Fix longstanding bug in connection_exit_begin_conn(): Since connection_edge_end() exits when the connection is unattached, we were never sending RELAY_END cells back for failed RELAY_BEGIN attempts. Fix this. This might make clients that were otherwise timing out either fail faster or retry faster, which is good news for us.
svn:r8770
2006-10-20 14:57:46 +00:00
Nick Mathewson
7f8d9e8af2
r9287@Kushana: nickm | 2006-10-19 19:28:31 -0400
...
Weasel points out that a routerdesc requested by digest can never change. Weasel is right.
svn:r8766
2006-10-19 23:28:38 +00:00
Nick Mathewson
974bdee183
r9277@Kushana: nickm | 2006-10-19 19:03:05 -0400
...
Add pragma:no-cache and expires headers so that directory lookups can work better in the presence of caching HTTP proxies. (I would have used Cache-Control, but that is an HTTP/1.1 thing.) All timeouts are currently wild-assed guesses.
svn:r8765
2006-10-19 23:05:34 +00:00
Nick Mathewson
f47c49228d
r9276@Kushana: nickm | 2006-10-19 17:08:15 -0400
...
Add some more unit tests for policies.
svn:r8764
2006-10-19 23:05:25 +00:00
Nick Mathewson
96caedecc7
r9275@Kushana: nickm | 2006-10-19 16:45:19 -0400
...
Split smartlist tests into their own function, and add a couple more. Re-enable strmap iteration tests. Remove tests for code that doesnt exist any more (parse_nickname_list, identity ciphers).
svn:r8763
2006-10-19 23:05:19 +00:00
Nick Mathewson
7551c44a53
r9274@Kushana: nickm | 2006-10-19 16:16:58 -0400
...
Add unit tests for tor_mmap_file(); make tor_mmap_t.size always be the size of the file (not the size of the mapping); add an extra argument to read_file_to_str() so it can return the size of the result string.
svn:r8762
2006-10-19 23:05:02 +00:00
Nick Mathewson
126a3f699a
r9273@Kushana: nickm | 2006-10-19 15:43:39 -0400
...
Never discard a descriptor for being too old until either it is recommended by no authorities, or until we download a better (more recent and recommended) one for the same router. This will eventually make it possible for servers to publish less often.
svn:r8761
2006-10-19 23:04:56 +00:00
Nick Mathewson
bfdb93d8bd
r9272@Kushana: nickm | 2006-10-19 12:52:37 -0400
...
Fix an XXX in handling destroy cells: when we get a destroy cell with reason FOO, do not tell the controller REASON=FOO. Instead, say REASON=DESTROYED REMOTE_REASON=FOO. Suggested by a conversation with Mike Perry.
svn:r8760
2006-10-19 23:04:49 +00:00
Nick Mathewson
4443934702
r9091@totoro: nickm | 2006-10-19 11:45:28 -0400
...
Change to BadExit logic: Let authorities set an "I list bad exits" flag. Consider an exit bad if it is listed as bad by more than half of *those* authorities. This gives us a better migration path.
svn:r8756
2006-10-19 15:45:48 +00:00
Nick Mathewson
df40c2e1ca
r9080@totoro: nickm | 2006-10-19 11:00:16 -0400
...
Oops, forgot the patch: Use corect macro to detect cygwin builds (patch from Pei Hanru)
svn:r8754
2006-10-19 15:02:02 +00:00
Nick Mathewson
3c459a7397
r9077@totoro: nickm | 2006-10-18 11:41:16 -0400
...
Another patch from Mike Perry; sprintfing a NULL pointer. (with comment).
svn:r8747
2006-10-18 15:41:46 +00:00
Nick Mathewson
efbe87cb6c
r9062@totoro: nickm | 2006-10-17 11:19:43 -0400
...
Fix -Wlots with command.c (a uchar is never -1). Note also that one of our ifs is very stupid.
svn:r8741
2006-10-17 15:20:20 +00:00
Nick Mathewson
faf7445255
r9061@totoro: nickm | 2006-10-17 11:18:28 -0400
...
Oops. Libevent 1.2 exists. Add it to our enum, even though we dont care yet.
svn:r8740
2006-10-17 15:20:15 +00:00
Nick Mathewson
b713b370bf
r9060@totoro: nickm | 2006-10-17 11:12:48 -0400
...
Apply patch from Mike Perry: add more reasons for circuit destroys. (Slightly tweaked to avoid allocating a number for an "internal" reason.)
svn:r8739
2006-10-17 15:20:00 +00:00
Roger Dingledine
7d33c4b904
clean up and downgrade some log messages
...
svn:r8727
2006-10-15 07:42:51 +00:00
Roger Dingledine
584d598e8a
move the 'time jump' warning back to a higher threshold.
...
this still occurs on moria sometimes if it's swapping to death.
so be it.
svn:r8725
2006-10-15 02:32:16 +00:00
Nick Mathewson
45b16c2d9e
r9021@totoro: nickm | 2006-10-13 01:42:45 -0400
...
Fix for last patch. "", though empty, is true. This ain't Python, Nick.
svn:r8701
2006-10-13 05:42:57 +00:00
Nick Mathewson
d453fd3709
r9019@totoro: nickm | 2006-10-13 01:32:34 -0400
...
Fix extraneous space in CIRC events when path is empty.
svn:r8700
2006-10-13 05:36:00 +00:00
Nick Mathewson
78043b8478
r9017@totoro: nickm | 2006-10-13 01:27:33 -0400
...
Second patch to work on circuit close reasons from Mike Perry. Disabled partially; see comment. Whitespace cleaned up.
svn:r8699
2006-10-13 05:27:59 +00:00
Nick Mathewson
eca28f24f5
r9004@totoro: nickm | 2006-10-11 18:05:24 -0400
...
Add client support for a 'BadExit' flag, so authorities can say "Server X is a poor choise for your nytimes.com connections, as it seems to direct them to HoorayForMao.com or (more likely) WouldYouLikeToBuyTheseFineEncyclopedias.com"
svn:r8690
2006-10-11 22:06:01 +00:00
Nick Mathewson
97e17d817b
r8985@totoro: nickm | 2006-10-10 19:39:57 -0400
...
Fix a signed/unsigned compare in eventdns.c
svn:r8685
2006-10-10 23:46:33 +00:00
Roger Dingledine
552d828def
- Stop triggering asserts if the controller tries to extend hidden
...
service circuits.
(also found by mwenge)
svn:r8682
2006-10-09 22:26:21 +00:00
Roger Dingledine
655859f76b
When reporting verbose nicknames in entry_guards_getinfo(), avoid
...
printing a duplicate "$" in the keys we send. (Reported by mwenge)
svn:r8681
2006-10-09 21:26:34 +00:00
Roger Dingledine
86263acf95
Security bugfixes:
...
When the user sends a NEWNYM signal, clear the client-side DNS
cache too. Otherwise we continue to act on previous information.
svn:r8679
2006-10-09 21:11:50 +00:00
Roger Dingledine
81dd9720f2
whitespace tweaks
...
svn:r8677
2006-10-09 20:54:51 +00:00
Nick Mathewson
69e0843f7c
r8983@totoro: nickm | 2006-10-09 14:19:18 -0400
...
Add missing ! to code to generate short/verbose nicknames for orconn events.
svn:r8674
2006-10-09 18:19:32 +00:00
Nick Mathewson
26283e69ba
r8973@totoro: nickm | 2006-10-09 11:45:47 -0400
...
Touch up last patch (to add REASON to CIRC events): make some reasons
more sensible, send reasons only to controllers that have enabled
extended events, and clean up whitespace.
svn:r8672
2006-10-09 15:47:50 +00:00
Nick Mathewson
b76fd968b4
r8972@totoro: nickm | 2006-10-09 10:36:22 -0400
...
Patch from Mike Perry: add a REASON field to closed and failed circ events.
svn:r8671
2006-10-09 15:47:27 +00:00
Nick Mathewson
17abfa6a6a
r8971@totoro: nickm | 2006-10-09 10:16:23 -0400
...
Move definition of ssize_t to torint.h
svn:r8670
2006-10-09 15:47:08 +00:00
Nick Mathewson
829bf4dcd0
r8970@totoro: nickm | 2006-10-09 10:12:53 -0400
...
Win32 patch from Matt Edman: fix compilation bugs by casting to int; defining SSIZE_T; defining USE_TWOS_COMPLEMENT in windows orconfig.h; and using the proper names for win32 functions on GetProcAddress. Also fixes bug 295.
svn:r8669
2006-10-09 15:46:21 +00:00
Roger Dingledine
c639fd8258
was this one we missed?
...
svn:r8666
2006-10-09 06:22:31 +00:00
Nick Mathewson
e618c15aff
r8967@totoro: nickm | 2006-10-08 23:38:50 -0400
...
Fix some test and warn failures in last commit
svn:r8665
2006-10-09 03:39:06 +00:00
Nick Mathewson
c6f2d725d0
r8957@totoro: nickm | 2006-10-08 22:35:17 -0400
...
The otherwise regrettable MIPSpro C compiler warns about values set but never used, and about mixing enums and ints; these are good warnings, and so should be fixed. This removes some dead code and some potential bugs. Thanks to pnx.
svn:r8664
2006-10-09 02:35:51 +00:00
Nick Mathewson
c341255034
r8956@totoro: nickm | 2006-10-08 22:25:27 -0400
...
Fix bug with handling EVENT_NEW_DESC with verbose nicknames enabled. Also, check for tor_vsnprintf failure in controller messages.
svn:r8663
2006-10-09 02:35:43 +00:00
Roger Dingledine
604b13c910
remove some old debugging code
...
svn:r8657
2006-10-08 23:20:43 +00:00
Nick Mathewson
d1c8fd9759
r8947@totoro: nickm | 2006-10-08 17:04:30 -0400
...
Fix signed/unsigned compare warning in eventdns.c
svn:r8654
2006-10-08 21:05:06 +00:00
Andrew Lewman
5227531744
Remove spurious void which causes builds to fail in mingw.
...
svn:r8650
2006-10-08 18:44:02 +00:00
Roger Dingledine
538c54e376
try dirport reachability testing five times less often.
...
it's already so darn thorough per test -- it chews through
like four circuits before giving up.
svn:r8646
2006-10-08 06:33:02 +00:00
Nick Mathewson
ea00437f74
r8933@totoro: nickm | 2006-10-07 20:33:16 -0400
...
whitespace fixes; add changelog for last commit.
svn:r8644
2006-10-08 00:33:43 +00:00
Nick Mathewson
1c01797c16
r8932@totoro: nickm | 2006-10-07 20:29:03 -0400
...
Try to make mingw capable of producing a working tor binary for win98: make all NT-service-related functions get lazy-loaded on demand. I have no idea if this even compiles.
svn:r8643
2006-10-08 00:33:35 +00:00
Nick Mathewson
e230fe8ea6
r8926@totoro: nickm | 2006-10-07 15:56:14 -0400
...
refactor circuit_list_path and circuit_list_path_verbose into a common _impl function.
svn:r8642
2006-10-07 19:56:49 +00:00
Nick Mathewson
f07f7a7a12
r8923@totoro: nickm | 2006-10-07 11:44:33 -0400
...
More doxygen comments
svn:r8637
2006-10-07 16:25:28 +00:00
Roger Dingledine
9fb98b269c
finish poking and prodding. i'm all happy now.
...
svn:r8633
2006-10-07 09:13:30 +00:00
Roger Dingledine
f2bd0e2f16
more minor cleanups
...
svn:r8630
2006-10-07 06:28:50 +00:00
Roger Dingledine
4f3827f1d1
resolve the entryguard uptime/capacity question. and mark a
...
new xxx that we'll want to address one day.
svn:r8628
2006-10-07 02:55:44 +00:00
Roger Dingledine
06e5b2283c
minor cleanups
...
svn:r8622
2006-10-07 00:50:39 +00:00
Roger Dingledine
1cf37f90c4
bugfix and cleanups re: entry guards.
...
svn:r8620
2006-10-06 23:37:07 +00:00
Roger Dingledine
864069f5c7
fix a size_t-to-len compile warning
...
svn:r8618
2006-10-06 22:37:10 +00:00
Roger Dingledine
1d4bd3990f
fetch all the v1 directory stuff way less often. plus, move
...
around some housecleaning calls so they still occur often.
are some of these redundant or in the wrong order? there are
so many of them, maybe they should be put into a separate
function that has better documentation.
svn:r8607
2006-10-06 09:04:11 +00:00
Roger Dingledine
d1b9de222e
cleanups, closer to a changelog
...
svn:r8606
2006-10-06 07:50:57 +00:00
Roger Dingledine
b6e590a1a5
reapply a patch from adam langley that got clobbered when
...
nick merged something back in
svn:r8605
2006-10-06 06:46:08 +00:00
Roger Dingledine
baf208d7b3
bugfix: When testing reachability of our dirport, don't launch a new
...
test if there's already one in progress.
svn:r8604
2006-10-06 04:02:27 +00:00
Nick Mathewson
c15dc2d94c
r9101@Kushana: nickm | 2006-10-05 23:05:11 -0400
...
Trivial fix for solaris build. Libevent will want to use its own fix here, and probably already has.
svn:r8601
2006-10-06 03:05:19 +00:00
Nick Mathewson
4767d533f7
r9097@Kushana: nickm | 2006-10-05 14:51:57 -0400
...
Make eventdns.c formatting a little closer to evdns.c in libevent; add some bulletproofing to APPEND16 macro; clean some messages.
svn:r8600
2006-10-05 19:22:26 +00:00
Roger Dingledine
64b5fd3194
checkpoint some cleanups
...
svn:r8599
2006-10-05 08:23:21 +00:00
Nick Mathewson
5391ceb21a
r9087@Kushana: nickm | 2006-10-04 01:19:15 -0400
...
We're trying to catch the kind of jerk who'd hijack zy6pzwohtnlq.test,
not the kind of lunatic who'd hijack zy6pzwohtnlq%s.test, though
apparently those exist too.
svn:r8595
2006-10-04 05:19:40 +00:00
Nick Mathewson
50320ac420
r8862@totoro: nickm | 2006-10-03 14:54:14 -0400
...
Make verbose names get used (when appropriate and selected) in responses to getinfo requests.
svn:r8593
2006-10-03 19:00:18 +00:00
Nick Mathewson
4c10464e13
r8861@totoro: nickm | 2006-10-03 14:49:54 -0400
...
Fix bug in r8579: TrackHostExits .foo.bar implies TrackHostExits foo.bar; also fix logic error.
svn:r8592
2006-10-03 19:00:12 +00:00
Nick Mathewson
1ae7282d9b
r8857@totoro: nickm | 2006-10-03 13:54:21 -0400
...
Implement ORCONN with verbose names.
svn:r8588
2006-10-03 18:59:52 +00:00
Nick Mathewson
55bd42d50f
r8841@totoro: nickm | 2006-10-02 15:59:21 -0400
...
Add EXTENDED_EVENTS to the USEFEATURE command; move flag from connection_t into control_conn, since we will probably grow more of these.
svn:r8585
2006-10-03 18:58:56 +00:00
Nick Mathewson
c796adc7df
r8840@totoro: nickm | 2006-10-02 15:56:16 -0400
...
Add USEFEATURE to control changes to control protocol. Use like __future__ directive from Python. Will spec before pushing changes. No, really. :)
svn:r8584
2006-10-03 18:58:52 +00:00
Nick Mathewson
eb0f51f2a3
r8839@totoro: nickm | 2006-10-02 15:31:49 -0400
...
Make a field longer to accomodate verbose nicknames; note that verbose nicknames will never reach this point.
svn:r8583
2006-10-03 18:58:47 +00:00
Nick Mathewson
6e0b90a902
r8838@totoro: nickm | 2006-10-02 15:24:39 -0400
...
Partial implementation of revised nickname syntax for controllers. Implement ability to look up routers by "verbose" nicknames; add a per-v1-control-connection flag to turn the feature on in events. Needs testing, spec, ability to actually turn on the flag, double-checking that we wont overflow any nickname buffers, and changelog.
svn:r8582
2006-10-03 18:58:40 +00:00
Roger Dingledine
246fecb585
the other half of the is_local_IP patch
...
svn:r8581
2006-10-03 05:45:58 +00:00
Nick Mathewson
4c56ac93ca
r8851@totoro: nickm | 2006-10-02 18:13:27 -0400
...
Remove/clarify some XXXs for no longer being accurate; for begin things we do not indend to fix; for already being parts of big todo issues (like "/* XXX ipv6 */"); etc. Also fix some spaces.
svn:r8580
2006-10-02 22:13:42 +00:00
Nick Mathewson
4de9f45d6f
r8850@totoro: nickm | 2006-10-02 17:21:11 -0400
...
Make TrackExitHosts case-insensitive, and fix the behavior of .suffix TrackExitHosts items to avoid matching in the middle of an address. (Resolves an XXXX)
svn:r8579
2006-10-02 22:13:37 +00:00
Nick Mathewson
bff83b666c
r8846@totoro: nickm | 2006-10-02 16:59:57 -0400
...
Move is_local_IP to config.c; have it check for same-/24; make it used only for reachability (not for banwidth, because that is probably not what we want). Fixes an XXX.
svn:r8578
2006-10-02 21:00:35 +00:00
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
Peter Palfrader
0cc2390f8c
Warn if ReachableAddresses is set when also ReachableDirAddresses and ReachableORAddresses are set.
...
svn:r6010
2006-02-13 22:29:37 +00:00
Peter Palfrader
5eea6c76df
Split ReachableAddresses into ReachableDirAddresses and ReachableORAddresses
...
svn:r6009
2006-02-13 21:17:20 +00:00
Roger Dingledine
259c65ab08
the last of the log convention conversion. finally.
...
svn:r6005
2006-02-13 10:33:00 +00:00
Roger Dingledine
aa63a84fe1
the things we do for our windows users.
...
i hope they appreciate it.
svn:r6004
2006-02-13 09:37:53 +00:00
Roger Dingledine
d113b75da6
more log conversions.
...
whee.
svn:r6003
2006-02-13 09:02:35 +00:00
Roger Dingledine
36484f873a
convert some more source files to the new log convention
...
svn:r6002
2006-02-13 08:28:42 +00:00
Roger Dingledine
7d80921afa
resolve too-long-lines
...
svn:r6001
2006-02-13 08:22:57 +00:00
Nick Mathewson
2a4555fedd
Style on config_addr_policy_intersectes, which looks ok to me.
...
svn:r5998
2006-02-13 07:16:32 +00:00
Roger Dingledine
350313d77a
Let the users set ControlListenAddress in the torrc.
...
This can be dangerous, but there are some cases (like a secured
LAN) where it makes sense.
svn:r5997
2006-02-13 06:25:16 +00:00
Peter Palfrader
6c4d873591
Compress exit policies even more. please review
...
svn:r5995
2006-02-13 01:54:31 +00:00
Nick Mathewson
2cc66125b8
try to fix bug with spurious "everything is broken" warning
...
svn:r5994
2006-02-13 00:26:43 +00:00
Roger Dingledine
b7781ea208
bugfix: we were ignoring the IS_FAST flag in the directory
...
status, meaning we were willing to pick trivial-bandwidth nodes
for "fast" connections.
svn:r5992
2006-02-13 00:09:30 +00:00
Nick Mathewson
dba155ecff
Generate 18.0.0.0/8 address policy format in descs when we can; warn when the mask is not reducible to a bit-prefix.
...
svn:r5991
2006-02-12 23:58:22 +00:00
Roger Dingledine
b99f903e34
and don't warn when it happens here either, unless the user
...
wants to hear it.
svn:r5990
2006-02-12 23:44:02 +00:00
Roger Dingledine
97571a1cb4
don't tell ordinary users about broken directory servers.
...
it's a shame that they're broken, but most people are just
confused by the warning.
svn:r5988
2006-02-12 23:31:47 +00:00
Nick Mathewson
98ec124c6a
Drop redundant exit policy entries, not just identical ones.
...
svn:r5987
2006-02-12 22:59:38 +00:00
Nick Mathewson
e7b2d5cd47
Retain unrecognized options in state file, so that we can be forward-compatible.
...
svn:r5985
2006-02-12 22:28:30 +00:00
Nick Mathewson
ae4f0467c8
enforce whitespace style
...
svn:r5984
2006-02-12 22:27:09 +00:00
Roger Dingledine
3c4e68488b
Clients now honor the "guard" flag in the router status when
...
picking entry guards, rather than looking at is_fast or is_stable.
Now dirservers can change how they define it and clients will
automatically use their new definition.
svn:r5979
2006-02-12 03:43:39 +00:00
Roger Dingledine
b5ac6fc707
more helpful log message when running servers on obsolete windows.
...
svn:r5975
2006-02-12 00:14:58 +00:00
Roger Dingledine
094ccd34a9
bump up the period for forcing a hidden service descriptor upload
...
from 20 minutes to 1 hour.
svn:r5972
2006-02-12 00:12:36 +00:00
Roger Dingledine
981815146a
compress exit policies even more -- look for duplicate lines
...
and remove them.
svn:r5971
2006-02-12 00:03:06 +00:00
Roger Dingledine
6c093a17a9
bugfix in config_cmp_addr_policies() -- we were treating a pair
...
of exit policies if they were equal even if one said accept and
the other said reject.
svn:r5970
2006-02-11 23:47:24 +00:00
Roger Dingledine
fdf18fbbdb
stop leaking that
...
svn:r5969
2006-02-11 23:16:13 +00:00
Roger Dingledine
e847085c04
When a client asks for an old-style directory and our write bucket
...
is empty, don't give it to him. This way small servers can continue
to serve the directory *sometimes*, without getting overloaded.
svn:r5968
2006-02-11 23:15:40 +00:00
Nick Mathewson
f1b91924b2
Keep running if we ask for an impossible stdout log; just warn.
...
svn:r5964
2006-02-11 21:56:03 +00:00
Nick Mathewson
1dc90be4f0
Retry pending server downloads as well as pending networkstatus downloads when we unexpectedly get an app connection
...
svn:r5962
2006-02-11 21:29:12 +00:00
Nick Mathewson
91847124bf
Warn if running obsolete windows as a server.
...
svn:r5961
2006-02-11 21:26:40 +00:00
Roger Dingledine
85a64b4fd0
get our grammar right when complaining about un-recommended versions
...
svn:r5950
2006-02-09 06:08:59 +00:00
Roger Dingledine
5f051574d5
Happy new year!
...
svn:r5949
2006-02-09 05:46:49 +00:00
Roger Dingledine
fd0fcdf17c
stop calling it a "libevent poll" -- the word "poll" has
...
other meaning in this context that are confusing.
svn:r5936
2006-02-09 03:09:52 +00:00
Roger Dingledine
dbea401305
correct the comments that don't realize it's the opposite
...
svn:r5934
2006-02-09 02:59:26 +00:00
Roger Dingledine
31f2705d9a
and make sure that never happens again
...
svn:r5932
2006-02-09 02:42:33 +00:00
Roger Dingledine
2c221dd8db
fix bug 245: When modifying the orconn_circid_map map, we would
...
sometimes decrement conn->n_circuits even when there was no circuit
originally. This caused conn->n_circuits to go negative.
We noticed this because we were checking if connections can be
closed based on conn->n_circuits == 0, so we were never closing
any connection that had ever had a circuit on it.
svn:r5931
2006-02-09 02:42:15 +00:00
Roger Dingledine
1c596156aa
tweak comment
...
svn:r5930
2006-02-09 00:08:23 +00:00
Nick Mathewson
e5a574ce2e
Move "sort list of versions" logic into routerparse.c; make version-checking code say which versions it would have accepted. (not tested.)
...
svn:r5927
2006-02-06 05:04:27 +00:00
Nick Mathewson
2bb4fd24de
char *x = "y"; is not good C.
...
svn:r5926
2006-02-06 05:01:44 +00:00
Nick Mathewson
50e1005327
Only v1 authorities get hidden service descriptors with current protocol
...
svn:r5924
2006-02-06 04:56:18 +00:00
Nick Mathewson
97bff8edaa
Fix a const-non-const warning
...
svn:r5923
2006-02-06 04:55:27 +00:00
Roger Dingledine
a9c87fe251
more typos and nits
...
svn:r5918
2006-02-05 05:28:52 +00:00
Nick Mathewson
157e6a025a
Stupid cut-and-paste bug.
...
svn:r5917
2006-02-05 05:11:24 +00:00
Roger Dingledine
555a64e06d
as soon as we've fetched some more directory info, that's time
...
to think about downloading more server descriptors. this way
we don't have a 10 second pause in initial bootstrapping.
svn:r5916
2006-02-05 03:42:34 +00:00
Roger Dingledine
d602d0d298
cosmetic fix
...
svn:r5915
2006-02-05 03:42:04 +00:00
Roger Dingledine
640882c76c
clean up tabs and wide-lines from weasel's commit
...
svn:r5914
2006-02-05 03:23:16 +00:00
Roger Dingledine
6535087845
when building v2 statuses or v1 running-routers, don't admit the
...
existence of descriptors older than a day.
we still cache them in case anybody asks, but we don't actively
mention them.
svn:r5913
2006-02-05 02:33:40 +00:00
Roger Dingledine
53f86cdf5d
fix bug: we were caching the newest descriptor for each server,
...
well, forever. i imagine this just keeps growing in size.
svn:r5912
2006-02-05 02:07:28 +00:00
Roger Dingledine
4c1fa73c7e
typos and nits
...
svn:r5911
2006-02-05 01:57:27 +00:00
Roger Dingledine
a53a73a782
forward-port the part where ordinary users try to fetch directories
...
less often. not critical but might as well stay in sync with stable.
svn:r5910
2006-02-05 01:57:07 +00:00
Roger Dingledine
640c555f02
Fix a major load balance bug: we were round-robining in 16 KB chunks, and
...
servers with bandwidthrate of 20 KB, while downloading a 600 KB directory,
would starve their other connections. Now we try to be a bit more fair.
svn:r5906
2006-02-04 08:58:51 +00:00
Peter Palfrader
94fb3f06b3
Fix compiler warning on 64 bit archs
...
svn:r5903
2006-02-03 22:26:43 +00:00
Peter Palfrader
390bbb0a0c
Try to make tor work better through squid: Limit number of descriptors we fetch
...
to 96 (was 128 previously).
We limit this number even when we do not have a http proxy explicitly
configured as some people mistakenly believe transparent proxies are a neat
idea.
svn:r5901
2006-02-03 15:17:48 +00:00
Roger Dingledine
a1dd751f30
when we fail to bind a listener, try to provide a more useful log msg.
...
svn:r5900
2006-02-03 12:26:10 +00:00
Roger Dingledine
1800fbe486
don't warn when we receive a 503 from a dirserver/cache -- this
...
will pave the way for them being able to tell us to screw off
if they're busy.
svn:r5898
2006-02-03 12:08:31 +00:00
Roger Dingledine
0fadf0aad6
Fix bug 225: now "attachstream 0" treats conn like it just connected,
...
doing address remapping, handling .exit and .onion idioms, and so on.
Now we are more uniform in making sure that the controller hears about
all new connections, and making sure it hears when they close.
svn:r5897
2006-02-03 11:37:19 +00:00
Roger Dingledine
92ef9e37e7
Add a new config option ExitPolicyRejectPrivate which defaults to 1.
...
This means all exit policies will begin with rejecting private addresses,
unless the server operator explicitly turns it off.
Also, make our code to remove redundancies in the exit policy smarter,
so it can detect "reject foo, reject bar, reject *" patterns.
Lastly, we can get rid of the "exit policy implicitly accepts" code,
since we make everything more explicit now.
svn:r5888
2006-02-01 03:53:52 +00:00
Roger Dingledine
bdba6e42dc
avoid a minor confusing log message
...
svn:r5887
2006-02-01 03:05:52 +00:00
Peter Palfrader
bf514e5dc5
Try to fix policy_includes_addr_mask_implicitly()
...
svn:r5886
2006-02-01 02:52:55 +00:00
Peter Palfrader
61ea27620a
Also catch 0/8 in exit_policy_implicitly_allows_local_networks()
...
svn:r5885
2006-02-01 02:31:27 +00:00
Roger Dingledine
686508a04a
don't try to upload hidden service descriptors until we have
...
established a circuit.
svn:r5884
2006-02-01 02:19:46 +00:00
Roger Dingledine
e05d4e45d2
provide a more useful warn message when our onion queue
...
gets full.
svn:r5881
2006-01-31 08:17:00 +00:00
Roger Dingledine
8fc44169e5
only start testing reachability once we've established a circuit.
...
this will make startup on dirservers less noisy.
it may also break things in subtle ways.
svn:r5878
2006-01-29 01:11:41 +00:00
Roger Dingledine
f8b9a8d457
bump the default bandwidthrate to 3 MB, and burst to 6 MB
...
svn:r5874
2006-01-28 08:28:15 +00:00
Roger Dingledine
35f91db15f
a slightly more useful message when you get a sighup
...
svn:r5869
2006-01-26 19:11:06 +00:00
Nick Mathewson
bfe285be61
Add a missing printf arg
...
svn:r5861
2006-01-24 04:01:13 +00:00
Roger Dingledine
2eabf190e9
make it louder when we're running an unrecommended version.
...
also, we need to tell them what versions *are* recommended.
i'll add that to the todo.
svn:r5859
2006-01-24 03:45:58 +00:00
Nick Mathewson
9f42c9d650
Make dirservers generate a separate "guard" flag to mean, "would make a good entry guard". Make clients parse it and vote on it.
...
svn:r5856
2006-01-24 00:31:16 +00:00
Roger Dingledine
1756ebdd4e
Jan 23 02:39:44.856 [warn] rend_mid_rendezvous(): Rejecting RENDEZVOUS1 cell with unrecognized rendezvous cookie AFC097FD.
...
This is not anything that the server admin can deal with, so don't
complain this loudly.
svn:r5851
2006-01-23 09:26:22 +00:00
Roger Dingledine
de13ddd26f
Stop complaining loudly whenever some poor client falls off
...
the network before we finish writing to him.
svn:r5850
2006-01-23 09:23:04 +00:00
Roger Dingledine
b9540285af
remove unused code
...
svn:r5847
2006-01-20 20:54:42 +00:00
Roger Dingledine
f6084cf831
Jan 18 18:42:05.671 [debug] Encountered eof
...
Jan 18 18:42:05.671 [debug] Got data, not eof. Leaving on inbuf.
that's not very smart.
svn:r5843
2006-01-19 11:21:28 +00:00
Roger Dingledine
4a66f5a896
when the controller asks for a signal we don't recognize, don't
...
include the whitespace/newline/etc in our complaint.
svn:r5841
2006-01-19 02:21:24 +00:00
Roger Dingledine
d682c84e79
attempted patch for bug 220: don't assert when we've tried all the
...
intro points for a hidden service and we try fetching the service
descriptor again.
svn:r5838
2006-01-17 04:16:59 +00:00
Roger Dingledine
d5acef191c
add another assert to make sure we're not scribbling on the stack.
...
svn:r5837
2006-01-17 04:14:04 +00:00
Roger Dingledine
cca9a2f7b0
oh, and the other bits of the commit
...
svn:r5836
2006-01-17 04:03:23 +00:00
Roger Dingledine
21be9dc3c0
when you tried to set orport through the controller, it would
...
trigger an assert because you hadn't made your onion keys yet
you wanted to launch cpu workers.
now init keys first, reset uptime, and tell the user that we're
starting the reachability testing.
svn:r5835
2006-01-17 04:01:32 +00:00
Roger Dingledine
76f1b7415b
try to detect an assert error earlier
...
svn:r5834
2006-01-17 02:31:04 +00:00
Nick Mathewson
1057516a07
Clients should not download descriptors for non-running descriptors.
...
svn:r5830
2006-01-16 20:52:30 +00:00
Roger Dingledine
f0d4b3d18f
turn crypto hardware acceleration off by default, until we find
...
somebody smart who can test it for us.
svn:r5829
2006-01-16 20:08:33 +00:00
Nick Mathewson
2dd566d5d5
Indirect access to the signed_descriptor field to make it easier to keep them lazily on disk.
...
svn:r5827
2006-01-12 18:04:17 +00:00
Roger Dingledine
0e51d5d274
When the controller was submitting a descriptor, we were checking to make
...
sure some network-status we had referred to it, and refusing it if not.
This is bad for people who want to insert descriptors that aren't part of
the current Tor network. Now we accept them, and also give a more useful
warn message if we ask a dir mirror for a given descriptor and it gives us
one we weren't expecting.
svn:r5824
2006-01-12 03:43:39 +00:00
Roger Dingledine
54a7285e99
oh hey. we were hanging up on every tor client because he
...
was obsolete as soon as he started. big oops.
svn:r5807
2006-01-11 22:34:07 +00:00
Nick Mathewson
c562ca494a
add missing warning
...
svn:r5806
2006-01-11 20:09:37 +00:00
Nick Mathewson
fefa34d525
Fix double-free of torrc_fname
...
svn:r5805
2006-01-11 20:01:47 +00:00
Nick Mathewson
adbe0f0ada
Fix bug 240: dont dump descriptions when not dumping actual config lines.
...
svn:r5804
2006-01-11 19:43:14 +00:00
Nick Mathewson
099b9ce2f9
Fix bug 230: add a rollback function to reverse all changes since the last mark_logs_temp(), and move log initialization into the two-phase part of option setting.
...
svn:r5803
2006-01-11 19:40:14 +00:00
Roger Dingledine
5ca40affeb
we were leaking a smartlist every time we built a circuit
...
svn:r5795
2006-01-11 04:14:10 +00:00
Nick Mathewson
d60faa7c93
Fix another memleak. I love you, valgrind!
...
svn:r5794
2006-01-11 04:09:40 +00:00
Nick Mathewson
8907391ad6
Fix wide lines
...
svn:r5793
2006-01-11 04:04:42 +00:00
Nick Mathewson
5c78c89471
Appease verbose gcc warning: make dirserv_compute_stable_uptime() static.
...
svn:r5792
2006-01-11 03:59:55 +00:00
Roger Dingledine
284fe9cad5
if we learn that a down entry guard is up, count our working entry
...
guards correctly when logging.
svn:r5791
2006-01-11 03:58:59 +00:00
Nick Mathewson
eb78295e4e
Fix memory leak in routerlist_remove_old_routers().
...
svn:r5790
2006-01-11 03:58:07 +00:00
Nick Mathewson
6a9ca9e790
Convert some more ints to long longs in rephist.c, as suggested by windows compiler.
...
svn:r5789
2006-01-11 03:57:01 +00:00
Roger Dingledine
d1baa0c4a6
we were leaking 3KB every time the entry guards changed, every time
...
the controller called saveconf, and every 20 minutes.
svn:r5788
2006-01-11 03:20:53 +00:00
Roger Dingledine
8f271f2f5a
we changed the name of AccountingBytesReadInInterval
...
change its state file description too
svn:r5785
2006-01-10 23:26:59 +00:00
Roger Dingledine
7d1f675c85
entry nodes are now entry guards.
...
this is our last easy chance for a wholesale change. heave ho.
svn:r5782
2006-01-10 22:42:44 +00:00
Roger Dingledine
210d9db54d
and even more so
...
svn:r5776
2006-01-10 21:01:30 +00:00
Roger Dingledine
aea0a78254
make entry node logging slightly less chatty.
...
still quite chatty. it's an alpha, that's ok.
svn:r5775
2006-01-10 20:59:39 +00:00
Nick Mathewson
bef879540a
#undef FOO is cleaner than #define FOO_XX
...
svn:r5774
2006-01-10 20:50:22 +00:00
Nick Mathewson
4a7ee9bd3d
Make unittests pass again.
...
svn:r5773
2006-01-10 20:47:24 +00:00
Roger Dingledine
b2d79f278b
or_state_validate() needs an extra arg too or it will crash
...
svn:r5772
2006-01-10 20:38:33 +00:00
Roger Dingledine
f4299f0f44
hack to address bug 238.
...
needs a better fix, but not for 0.1.1.11.
svn:r5771
2006-01-10 20:27:47 +00:00
Roger Dingledine
d114ea7125
implement getinfo desc/all-recent
...
closes bug 237.
svn:r5770
2006-01-10 20:09:31 +00:00
Roger Dingledine
f71273c216
fix bug 235
...
svn:r5768
2006-01-10 20:06:24 +00:00
Nick Mathewson
7fc62029d4
Refuse to use RunAsDaemon when torrc is a relative path. Fixes bug 229.
...
svn:r5767
2006-01-10 20:00:20 +00:00
Nick Mathewson
e1d1ce3da8
Warn about actual offending hiddenservice* config option, now that more than one is possible. Closes bug 239.
...
svn:r5766
2006-01-10 19:28:31 +00:00
Nick Mathewson
2fda7140e8
Fix bug 221 and bug 201: For 221, check return value from connection_add() when adding a rendezvous post connection. For 201, do not include a content-length 0 with a GET request.
...
svn:r5765
2006-01-10 19:24:40 +00:00
Roger Dingledine
c8e6003412
balance the reachability testing so a smidgen of it happens
...
every 10 seconds. this way we don't try to do 500 tls's at
once every 20 minutes.
svn:r5763
2006-01-10 07:21:01 +00:00
Nick Mathewson
43a4f8c7f3
Be more aggressive about throwing away expired router descriptors: they are of no use to anybody. Better still: dont serve expired descriptors by fingerprint. The only people who ask for them are busted 0.1.1.10 Tors that will throw them away and re-request them after 30 minutes.
...
svn:r5762
2006-01-10 04:57:12 +00:00
Nick Mathewson
56c55c343e
When picking a random directory, prefer non-authorities if any are known.
...
svn:r5761
2006-01-09 23:39:07 +00:00
Nick Mathewson
bec9b705cc
Instrument directory client bytes as well as server bytes.
...
svn:r5760
2006-01-09 23:13:53 +00:00
Nick Mathewson
10100c4315
Make instrmentation code a little cleaner.
...
svn:r5759
2006-01-08 22:19:41 +00:00
Roger Dingledine
fa05c1b21b
remove the loud logging of busted rendezvous descriptors
...
svn:r5758
2006-01-08 22:16:30 +00:00
Roger Dingledine
6dcbbda43b
remove typo
...
svn:r5757
2006-01-08 22:16:09 +00:00
Nick Mathewson
ff9cfa9644
Instrument how many directory bytes we are serving in what kind of request.
...
svn:r5756
2006-01-08 22:09:54 +00:00
Nick Mathewson
5d709e8517
Fix bug in last commit. Also, fix bug 231: authorities should never treat their own descriptor changes as cosmetic.
...
svn:r5755
2006-01-08 21:33:15 +00:00
Nick Mathewson
e30516f33f
Fix bug 236: caches should cache up to 16 unrecognized network-status docs.
...
svn:r5754
2006-01-08 21:26:33 +00:00
Roger Dingledine
1dd8ebf615
bugfix: we were leaving open duplicate connections to other ORs
...
for a week, rather than closing them once we detect a duplicate.
also, avoid some duplicate mark-for-closes in connection-housekeeping.
svn:r5752
2006-01-07 03:56:56 +00:00
Roger Dingledine
9796733e89
"Pending" is a bad term for a circuit that uses your server as its last hop.
...
svn:r5751
2006-01-07 02:31:14 +00:00
Roger Dingledine
d4d7a49411
fix typo
...
svn:r5750
2006-01-07 02:12:38 +00:00
Roger Dingledine
af54b73985
and get the log arguments right
...
svn:r5747
2006-01-07 01:43:09 +00:00
Roger Dingledine
ba339b8a4d
a more correct log message
...
svn:r5746
2006-01-07 01:41:17 +00:00
Roger Dingledine
654b61a2e8
Jan 05 19:39:27.356 [warn] connection_edge_process_end_not_open():
...
Got an end because of misc error, but we're not an AP. Closing.
svn:r5744
2006-01-07 01:02:21 +00:00
Roger Dingledine
f88fa3efc1
helper nodes are dead
...
svn:r5743
2006-01-07 00:41:50 +00:00
Nick Mathewson
50b6b3258d
Dont call directory_get_from_dirserver when you have a particular dirserver in mind; remove fetch-from-authority special-case in directory_get_from_dirserver.
...
svn:r5741
2006-01-06 18:19:17 +00:00
Nick Mathewson
f0fb9f6b0c
Directory authorities should go to the proper authority when asking for a networkstatus, even when they want a compressed one. (Also, bullet-proof the logic in case we ever accidentally request a networkstatus for a non-authority.)
...
svn:r5740
2006-01-06 18:05:48 +00:00
Nick Mathewson
65f76bad4f
Add descriptions for state variables; rename AccountingBytesRead{In}Interval; remove extraneous and unused struct member.
...
svn:r5739
2006-01-06 15:43:03 +00:00
Nick Mathewson
447e6ffffd
Fix bug where OPs would try to generate descriptor and crash.
...
svn:r5738
2006-01-06 15:40:34 +00:00
Nick Mathewson
878962bee1
Add reasons to DESTROY and RELAY_TRUNCATED cells.
...
svn:r5734
2006-01-05 21:23:03 +00:00
Roger Dingledine
d8e3bc0288
fix a wrong string
...
svn:r5733
2006-01-05 12:18:34 +00:00
Roger Dingledine
6aaa92f736
short-circuit half the cost of node-picking in the general case.
...
svn:r5732
2006-01-05 10:59:46 +00:00
Roger Dingledine
f8a59965a1
cleanups, and remove some unreachable code.
...
svn:r5727
2006-01-04 06:43:03 +00:00
Roger Dingledine
485aa9415d
authdirs now stop whining so loudly about bad descriptors that they fetch
...
from other dirservers. now when there's a log complaint, it's for sure
from a freshly uploaded descriptor.
svn:r5726
2006-01-04 04:42:10 +00:00
Roger Dingledine
6b2a6a8239
Bugfix: dyndns tor servers were needing to wait 18 hours before they
...
could start doing reachability testing using the new IP address and
ports. This is because we were using the internal descriptor to learn
what to test, yet we were only rebuilding the descriptor once we
decided we were reachable.
svn:r5723
2006-01-03 23:34:42 +00:00
Roger Dingledine
f6f65c66b5
oh, it was supposed to compile?
...
svn:r5721
2006-01-03 13:12:17 +00:00
Roger Dingledine
da06f3553c
don't try to build circuits until we have 3 running servers;
...
and for networks that are very small, having more than a quarter
of the descriptors is much harder than having equal to or more than
a quarter of the descriptors -- follow the spec.
svn:r5720
2006-01-03 13:09:49 +00:00
Roger Dingledine
5d28b7b884
we're done with tree.h. long live ht.h.
...
svn:r5715
2006-01-03 12:35:58 +00:00
Roger Dingledine
9af33ef39c
when we choose not to use a server descriptor from our cache, don't
...
log it so loudly.
svn:r5713
2006-01-03 10:42:20 +00:00
Roger Dingledine
16ee6830b6
only print bandwidth lines to the state file if we're being a server.
...
otherwise this is pointless and probably bad for security.
svn:r5704
2006-01-02 12:19:28 +00:00
Roger Dingledine
1d474e14d7
strictentrynodes means we should clear the current entry_nodes list.
...
svn:r5703
2006-01-02 11:33:14 +00:00
Roger Dingledine
c5a5161fb5
prevent auth dir servers from enabling entry nodes.
...
svn:r5702
2006-01-02 08:40:58 +00:00
Roger Dingledine
358052416d
bugfix: only try to use the EntryNodes config option if it is set.
...
svn:r5701
2006-01-02 05:14:21 +00:00
Roger Dingledine
ddf070e204
bugfix: we were failing to parse a tor version that started with
...
"Tor ", even though we said we could.
svn:r5699
2006-01-02 05:11:31 +00:00
Roger Dingledine
ea6ea8ec22
Make UseEntryNodes true by default. Let the fun begin.
...
svn:r5698
2006-01-02 05:00:03 +00:00
Roger Dingledine
aa604ef2c2
bugfix: only try to parse the TorVersion if there is one.
...
svn:r5697
2006-01-02 04:58:12 +00:00
Roger Dingledine
839111b85a
tolerate a mal-formed or unrecognized tor version in the state file.
...
svn:r5696
2006-01-02 04:45:18 +00:00
Roger Dingledine
0bd25f5d43
save and validate TorVersion in the state file.
...
svn:r5694
2006-01-02 04:14:52 +00:00
Roger Dingledine
2efa056777
make the "stable" flag in network-status be the median of the uptimes
...
of running valid servers. that way the cutoff adapts to the stability
of the network as a whole.
svn:r5693
2006-01-02 03:32:55 +00:00
Nick Mathewson
4868d77ab8
Possible fix to state-load bug reported by weasel.
...
svn:r5692
2006-01-02 00:42:19 +00:00
Peter Palfrader
3dc69d3add
Make tor compile again
...
svn:r5688
2005-12-31 11:52:13 +00:00
Roger Dingledine
6c693dbda6
add a TorVersion state string.
...
not yet set to anything.
svn:r5687
2005-12-31 08:16:07 +00:00
Roger Dingledine
e9e7dc176c
Some tor servers process billions of cells in a matter of days.
...
These statistics need to be uint64_t's.
svn:r5686
2005-12-31 08:09:26 +00:00
Roger Dingledine
1a11b97b15
get rid of the special case for 'testing' circuits
...
svn:r5684
2005-12-31 06:37:34 +00:00
Roger Dingledine
5947388968
Finish implementing config's EntryNodes and StrictEntryNodes option.
...
The logging is way verbose for now.
svn:r5683
2005-12-31 06:32:57 +00:00
Roger Dingledine
0dc8e284f8
load balance a bit better by taking some load off the really
...
fast servers.
this might slow things down more, or it might not. hm.
svn:r5681
2005-12-30 04:46:43 +00:00
Roger Dingledine
c051e82f69
fix a typo
...
svn:r5680
2005-12-30 04:44:10 +00:00
Nick Mathewson
fc850273bd
Appease some verbose GCC warnings.
...
svn:r5679
2005-12-29 20:25:53 +00:00
Roger Dingledine
2904c6f024
log how big the failed rend descriptor is, and if it's small, log
...
a base16 of the whole thing.
svn:r5678
2005-12-29 04:57:19 +00:00
Roger Dingledine
14ea2e0b56
when we reject a rend descriptor, tell us where it came from.
...
svn:r5677
2005-12-29 04:43:24 +00:00
Roger Dingledine
dbd7b97eff
helper nodes are dead. long live entry nodes.
...
(config options EntryNodes and StrictEntryNodes still not
implemented.)
svn:r5673
2005-12-28 09:07:31 +00:00
Roger Dingledine
5d9256a367
but only close the new conn if one of the earlier helper nodes
...
that we mark up is actually reachable, fast enough, etc to use.
svn:r5672
2005-12-28 07:27:41 +00:00
Roger Dingledine
c1145138ea
but only close it if we have marked an earlier helper as up.
...
that way we don't close it too needlessly.
svn:r5671
2005-12-28 07:20:33 +00:00
Roger Dingledine
60cd03069a
when we connect to a helper node for the first time, close
...
that connection and its circuits. this lets us go back to
using the old helper nodes rather than immediately using
the last one in the list.
svn:r5670
2005-12-28 07:19:55 +00:00
Roger Dingledine
bbc4c8cef8
fix a spacing problem introduced by our 80-column requirement
...
svn:r5669
2005-12-27 10:11:29 +00:00
Roger Dingledine
d2171cb7a4
if the network is down, and we try to connect to a conn because we
...
have a circuit in mind, and we timeout (30 seconds) because the
network never answers, we were expiring the circuit, but we weren't
obsoleting the connection or telling the helper functions. now do that.
svn:r5668
2005-12-27 09:25:50 +00:00
Roger Dingledine
4088f7dfd1
fix typo
...
svn:r5667
2005-12-27 09:04:36 +00:00
Roger Dingledine
f46c135fac
when we succeed at connecting to a helper that we've never connected
...
to before, mark all the previous helpers as up. This is handy if the
network went away and then returned.
svn:r5666
2005-12-27 08:54:37 +00:00
Roger Dingledine
25fcb5fa9c
helpful log
...
svn:r5665
2005-12-27 08:38:22 +00:00
Roger Dingledine
976bf06463
slightly more accurate log messages
...
svn:r5664
2005-12-27 07:37:21 +00:00
Roger Dingledine
25052c6f4b
first cut of the new helper stuff. seems to work in the normal
...
case, but many edge cases still need testing.
svn:r5663
2005-12-27 07:23:52 +00:00
Nick Mathewson
9ef54a3d0c
Make directory caches a little less chatty when logging
...
svn:r5662
2005-12-27 06:05:54 +00:00
Nick Mathewson
fa0d5aa894
Make insert_old try hard to never add a duplicate.
...
svn:r5661
2005-12-27 05:58:12 +00:00
Nick Mathewson
ece9865020
Implement new directory logic: download by descriptor digest, not by key digest. Caches try to download all listed digests from authorities; clients try to download "best" digests from caches.
...
svn:r5659
2005-12-27 05:26:03 +00:00
Nick Mathewson
d94b9fd7d2
normalize spaces
...
svn:r5658
2005-12-27 04:52:34 +00:00
Roger Dingledine
94bff33357
and compiling would be good too
...
svn:r5657
2005-12-27 02:48:35 +00:00
Roger Dingledine
370dcbc7ba
and some comments
...
svn:r5656
2005-12-27 02:48:02 +00:00
Roger Dingledine
5807bd0635
make it clearer in the auto-generated config file that you
...
probably shouldn't be editing this one yourself.
svn:r5655
2005-12-27 02:46:53 +00:00
Roger Dingledine
b038dc9ecc
disambiguate some debug entries
...
svn:r5654
2005-12-26 22:42:22 +00:00
Roger Dingledine
815df977cf
comments? i'll show you comments.
...
svn:r5652
2005-12-26 05:52:44 +00:00
Roger Dingledine
40c267a89f
prevent a rare infinite loop on two-byte architectures,
...
and be more thorough and starting over when the clock jumps.
svn:r5647
2005-12-25 04:37:33 +00:00
Roger Dingledine
7e0d62b14a
stop being sneaky, especially if we're being incorrectly sneaky
...
svn:r5646
2005-12-24 23:39:20 +00:00
Roger Dingledine
b0144276db
more comments, and start to use the made_contact entry.
...
svn:r5645
2005-12-24 23:32:35 +00:00
Roger Dingledine
7cc53c2281
clean up some comments
...
svn:r5644
2005-12-24 23:32:15 +00:00
Roger Dingledine
35986a2374
simplify because we weren't using those return values anyway
...
svn:r5643
2005-12-24 22:48:12 +00:00
Roger Dingledine
3a2ce447b4
start to document the helper node functions
...
svn:r5642
2005-12-24 20:07:19 +00:00
Peter Palfrader
4bd65f0f98
Keep bandwidth history accross restarts/crashes
...
svn:r5637
2005-12-23 23:56:42 +00:00
Roger Dingledine
eecb835527
stop shipping tree.h, since we don't use anymore. (woo.)
...
svn:r5628
2005-12-20 07:17:42 +00:00
Roger Dingledine
bb4662365b
when we fail three times to resolve or connect, we were telling the
...
user it was because we failed to resolve.
svn:r5620
2005-12-19 21:56:43 +00:00
Roger Dingledine
da01657c34
more asserts in case weasel can trigger them
...
svn:r5616
2005-12-19 00:35:18 +00:00
Roger Dingledine
7cd46d7f95
fix a seg fault when you finish connecting to a server but
...
at that moment you dump his server descriptor, and you also
happen to be logging at loglevel info.
(found by weasel)
svn:r5615
2005-12-18 22:59:47 +00:00
Roger Dingledine
34249e8861
fix segfault when specifying DirServer without nickname
...
(reported by weasel)
svn:r5614
2005-12-18 22:45:27 +00:00
Roger Dingledine
a2186b9999
fix a ! that got left out
...
svn:r5612
2005-12-18 22:34:24 +00:00
Nick Mathewson
6b5fc9d46f
Instead of "Network down", say "Is your network connection down?"
...
svn:r5607
2005-12-15 22:10:03 +00:00
Roger Dingledine
a6afef700a
nother typo
...
svn:r5605
2005-12-15 21:51:12 +00:00
Roger Dingledine
edde3fcf25
ah ha, that variable was static. not useless after all.
...
svn:r5604
2005-12-15 21:44:23 +00:00
Roger Dingledine
002c9b3589
clean up a lot message, and remove a line that does nothing.
...
svn:r5603
2005-12-15 21:41:27 +00:00
Nick Mathewson
89eded7b17
Add "panic" option to reject all servers not in fingerprint list.
...
svn:r5601
2005-12-15 21:39:38 +00:00
Nick Mathewson
cf8c70b79c
fix compile
...
svn:r5600
2005-12-15 21:38:59 +00:00
Nick Mathewson
280c62314e
Make clients look at the fast and stable flags in networkstatus, not at the bandwidth and uptime declared in the router descriptors.
...
svn:r5599
2005-12-15 21:30:57 +00:00
Roger Dingledine
3489066433
put back in a todo comment, so we don't forget.
...
svn:r5598
2005-12-15 21:26:52 +00:00
Roger Dingledine
dadcb19d17
fix typo
...
svn:r5597
2005-12-15 21:26:39 +00:00
Nick Mathewson
24e79df0b6
Whitespace fixes; comments.
...
svn:r5596
2005-12-15 21:17:40 +00:00
Nick Mathewson
713c995adb
Do not mark directories as down simply because they dont have the router descs we want.
...
svn:r5595
2005-12-15 21:15:16 +00:00
Nick Mathewson
5965b3849e
Remove some redundant and obsolete code from routerparse
...
svn:r5594
2005-12-15 20:58:51 +00:00
Nick Mathewson
6b1305aeeb
Flip a misplaced not
...
svn:r5593
2005-12-15 20:56:46 +00:00
Nick Mathewson
3ea32f51cb
add a few clarifying comments
...
svn:r5592
2005-12-15 20:49:01 +00:00
Nick Mathewson
ce71b17224
Clean fake_status a bit. Switch from has_fetched_directory to have_minimum_dir_info, and make the latter function smarter.
...
svn:r5591
2005-12-15 20:44:15 +00:00
Roger Dingledine
25e1ad02fa
implement weasel's suggestion to fix the bug that newly bootstrapped
...
tor networks couldn't do hidden services until they had nodes with high
uptime: if you're trying to pick a node for your circuit and you demand
uptime or capacity and nothing works, then abandon your need for uptime
and capacity.
svn:r5589
2005-12-15 09:53:00 +00:00
Nick Mathewson
7af95e5c06
When we mark a router as down, also mark its local_routerstatus as not running. This way, we do not use directories that are believed to be down.
...
svn:r5587
2005-12-14 22:05:10 +00:00
Nick Mathewson
9482b1b9d5
Choose directory servers from routerstatus list, not from routerinfo list. This way, as soon was we have a networkstatus, we can ask a cache to give us routers, rather than needing to ask the directories.
...
svn:r5586
2005-12-14 22:00:58 +00:00
Nick Mathewson
c02c6b5823
Shave off 8 bytes per connection and 4 bytes per circuit by paying attention to padding warnings, moving fields around, and acknowledging that we have no files with over 64 kilolines.
...
svn:r5583
2005-12-14 21:03:51 +00:00
Nick Mathewson
1af630d32c
Bite the bullet and limit all our source lines to 80 characters, the way IBM intended.
...
svn:r5582
2005-12-14 20:40:40 +00:00
Nick Mathewson
7e632a7564
another possible patch related to circuit_free and memory stomping.
...
svn:r5580
2005-12-14 18:55:17 +00:00
Nick Mathewson
4f38670328
Fix a potential memory stomp on servers running hidden services. Found by weasel with valgrind. Backport candidate.
...
svn:r5579
2005-12-14 02:19:27 +00:00
Roger Dingledine
86d69218ef
orconn_identity_map was another static variable that started
...
out NULL and didn't change until it needed to change.
svn:r5578
2005-12-14 01:02:35 +00:00
Roger Dingledine
c9f6e6b0a0
sometimes, when we just started tor, we haven't created that
...
smartlist yet. so don't free it.
svn:r5577
2005-12-14 00:52:15 +00:00
Roger Dingledine
d853c9a009
bugfix: when we removed a dead helper node, we never committed that
...
change to disk.
svn:r5576
2005-12-13 02:52:38 +00:00
Roger Dingledine
ea760fa149
extendcircuit and attachstream would complain about not enough
...
arguments, but then just keep on going anyway.
svn:r5575
2005-12-12 16:50:55 +00:00
Nick Mathewson
27a201ac80
Have dirctory authorites note which servers make good V2 directory caches in publishe network-status.
...
svn:r5574
2005-12-12 01:03:28 +00:00
Nick Mathewson
32126cced1
Make directory authorities ignore router uploads that have only cosmetic differences: now regardless of version!
...
svn:r5573
2005-12-12 01:02:08 +00:00
Roger Dingledine
bf4da967c1
Don't use helper nodes for circuits with purpose 'testing'.
...
Also, when picking the helper node for a given circuit,
exclude the circuit's exit from your choices.
svn:r5569
2005-12-11 12:14:26 +00:00
Roger Dingledine
a131783c8b
when removing dead helpers, only write or_state to disk once at the
...
end, not for every helper you remove.
svn:r5568
2005-12-11 11:56:17 +00:00
Roger Dingledine
5981169440
mark the helper node as down if we time-out on the circuit handshake
...
with him.
svn:r5567
2005-12-11 11:55:41 +00:00
Roger Dingledine
dded1dd8bd
don't mark the helper node as down when we fail to connect to
...
our https proxy.
svn:r5566
2005-12-11 11:54:55 +00:00
Roger Dingledine
9c01fa3d59
fix yet another time comparison bug. we were abandoning helpers
...
as soon as they became unavailable. (is this true?)
svn:r5565
2005-12-11 11:23:36 +00:00
Roger Dingledine
f3349d6ed3
fix an error in reporting why we abandoned a helper node
...
svn:r5564
2005-12-11 11:20:26 +00:00
Roger Dingledine
b974f67c01
choose helper nodes to have high capacity always
...
svn:r5563
2005-12-11 11:20:01 +00:00
Roger Dingledine
77c0f6d456
a first go at fixing a bug matt edman reported: when he tries
...
to "setconf log" via the controller, it is friendly and gives
him a log to stdout, even though he didn't ask for one.
svn:r5562
2005-12-11 10:01:21 +00:00
Roger Dingledine
79f09b2f17
setconf orport=9001
...
513 Unrecognized option value
it's not unrecognized. it's unacceptable. (in this case, i still
have to consult the logs to figure out why, but at least i have
an inkling that maybe i should.)
svn:r5561
2005-12-11 09:33:38 +00:00
Roger Dingledine
46d563fe00
whenever we hupped or did a controller setconf, we were prepending
...
another reachableaddresses *:80,*:443 if fascistfirewall was set,
and we were appending another reject *:* regardless.
svn:r5560
2005-12-11 09:18:25 +00:00
Roger Dingledine
a4e1014f4d
i think fascistfirewall still has its uses. it's a synonym
...
for a certain reachableaddresses line, but it's easier to
remember and people already understand it. i think we should
think about undeprecating it.
svn:r5559
2005-12-11 08:59:02 +00:00
Roger Dingledine
defa3804cf
explain why 0.1.1.9-alpha-cvs is a special version.
...
svn:r5552
2005-12-10 21:07:21 +00:00
Roger Dingledine
58366ffd24
when we changed from log_fn to debug/info/notice/warn/err,
...
we screwed up the formatting in wild and unpredictable ways.
fix it before it becomes convention to format logs in wild and
unpredictable ways.
still need to do src/common/ someday.
svn:r5551
2005-12-10 09:36:26 +00:00
Roger Dingledine
9b0a40ec78
crank the max line limit down to 150 chars.
...
svn:r5550
2005-12-10 08:27:01 +00:00
Nick Mathewson
39265dd72e
In my private little universe, terminals are still 80 columns. Impose a 160-character-per-line limit; this will creep down.
...
svn:r5548
2005-12-09 05:37:26 +00:00
Nick Mathewson
95e471c9a6
Normalize whitespace
...
svn:r5547
2005-12-09 05:22:15 +00:00
Nick Mathewson
33c4445846
For some bizarre reason, MSVC does not implement GCC extensions. Who would have thought?
...
svn:r5546
2005-12-09 05:20:02 +00:00
Roger Dingledine
a438f2abcd
let the user configure a sockslistenaddress on other private IPs
...
besides 127.x.y.z without complaining.
and give a better message in the log.
svn:r5544
2005-12-09 02:46:46 +00:00
Nick Mathewson
d57029ffe8
Make code to handle "private" alias work when assume_action is set.
...
svn:r5542
2005-12-08 23:58:23 +00:00
Roger Dingledine
8730190914
when we're checking reachability, make it clearer in the logs
...
what to expect.
svn:r5538
2005-12-08 21:12:47 +00:00
Roger Dingledine
d3dcea08af
remove a redundant memcpy when extending to a new server
...
and attaching circuits to it.
svn:r5537
2005-12-08 20:33:57 +00:00
Nick Mathewson
338f23114f
Oops. 0.0.0.0/8 and 169.254.0.0/16 are also special.
...
svn:r5536
2005-12-08 19:58:14 +00:00
Nick Mathewson
2d585941b8
Release memory from conn_circid_circuit_map on exit.
...
svn:r5535
2005-12-08 19:46:22 +00:00
Nick Mathewson
1b770817c0
Add private:* as an alias in configuration for policies.
...
svn:r5534
2005-12-08 19:40:24 +00:00
Nick Mathewson
898968b3ac
Warn when binding to a public address for socks. This warning needs to be improved. Also, make options_validate() only warn when an option is changed to a bad value.. (Previously, it warned when an option was bad and any option was changed.)
...
svn:r5532
2005-12-08 18:56:32 +00:00
Nick Mathewson
e9b66ec906
Document CREATE_FAST better in the code. Move our key expansion algorithm into a separate function in crypto.c
...
svn:r5530
2005-12-08 17:38:32 +00:00
Nick Mathewson
617f71e4ba
Whitespace normalization
...
svn:r5528
2005-12-08 04:03:12 +00:00
Nick Mathewson
f031ee8246
Make clients use CREATE_FAST cells. add an option to disable this.
...
svn:r5524
2005-12-07 22:09:02 +00:00
Roger Dingledine
4902ece698
what the heck is wrong with this little piece of code?
...
why can none of us get it right?
it looks so simple.
svn:r5521
2005-12-07 04:43:39 +00:00
Roger Dingledine
b0ffa34219
tell the controller about new .onion streams too.
...
svn:r5520
2005-12-06 23:43:52 +00:00
Roger Dingledine
5c0338dca3
the other half of weasel's patch, so old gcc's can build cvs again.
...
svn:r5517
2005-12-06 21:03:48 +00:00
Peter Palfrader
0dbb622f26
Old gccs want you to do your variable declarations first
...
svn:r5516
2005-12-06 17:01:36 +00:00
Roger Dingledine
3347762fa4
when we're giving up on a circuit and retrying on a new one,
...
log the name of the exit node. perhaps people will find this
useful, or see patterns, or something.
svn:r5515
2005-12-06 07:21:17 +00:00
Nick Mathewson
b1d034d2ab
Fix bug 212: Directory authorities should not try to download server descriptors that they know they will reject.
...
svn:r5514
2005-12-06 06:55:43 +00:00
Nick Mathewson
d2123388ad
Better fix for last bug: avoids trying to double-mark circuits.
...
svn:r5511
2005-12-05 19:45:54 +00:00
Nick Mathewson
fedc9c8a60
We were neglecting to unlink marked circuits from soon-to-close OR connections.
...
svn:r5510
2005-12-05 19:26:09 +00:00
Nick Mathewson
b03e8733f3
Change how OR conns get removed from the identity map; fix some warnings on shutdown.
...
svn:r5509
2005-12-05 19:15:27 +00:00
Nick Mathewson
f0abb1a74b
Check magic when removing old connection from map.
...
svn:r5508
2005-12-05 19:01:34 +00:00
Nick Mathewson
835f06a77c
Set chosen_exit_name to something we are not about to zero.
...
svn:r5507
2005-12-05 06:16:24 +00:00
Nick Mathewson
98290e4115
When parsing foo.exit, if foo is unknown, and we are leaving circuits unattached, set the chosen_exit field and leave the address empty
...
svn:r5504
2005-12-05 04:38:21 +00:00
Roger Dingledine
26b49dbc09
Bugfix for trackhostexits: write down the fingerprint of the chosen exit,
...
not its nickname, because the chosen exit might not be verified.
svn:r5499
2005-12-05 00:15:42 +00:00
Roger Dingledine
40cbe550f3
fix a log message to be mildly more helpful
...
svn:r5498
2005-12-04 23:06:48 +00:00
Roger Dingledine
bb8dc691eb
Fix another time comparison bug in circuit_stream_is_being_handled().
...
Nick, can you confirm this one?
This is also a backport candidate.
svn:r5497
2005-12-04 22:23:24 +00:00
Roger Dingledine
ef000fd82e
ok, i know this one was a bug. we were expiring open general
...
circuits after they had been around for 30 seconds.
svn:r5496
2005-12-04 22:19:04 +00:00
Roger Dingledine
7d032bd300
take back half of my bugfix. comparing times sucks.
...
but leave the other half.
svn:r5495
2005-12-04 21:59:15 +00:00
Roger Dingledine
d60f514f4c
fix the first bug with our optimization to circuit_expire_building():
...
we were killing off rendezvous circuits unless they magically time-warped
to be too old before we got around to killing them, in which case we
would leave them alone. this made it hard to rendezvous with hidden
services.
svn:r5494
2005-12-04 21:51:50 +00:00
Nick Mathewson
1b0134dda8
Clean up some comments; remove some dead code
...
svn:r5493
2005-12-03 16:32:29 +00:00
Nick Mathewson
61c5a9ae2b
Use a switch statement and some mild refactoring to try to speed up circuit_expire_building
...
svn:r5492
2005-12-03 05:29:05 +00:00
Nick Mathewson
979fc3e69d
cvs diff -u src/or/circuitlist.c | less almost never does what you want in C.
...
svn:r5491
2005-12-03 03:36:32 +00:00
Nick Mathewson
77a494dd55
Expunge remaining places where we used "tree" to mean "associative array".
...
svn:r5490
2005-12-03 02:21:31 +00:00
Nick Mathewson
148a1e969d
Shave off another 4.7%: remove a linear search when figuring out which circuits wanted us to open a given OR connection.
...
svn:r5489
2005-12-03 02:12:37 +00:00
Nick Mathewson
502cb59611
Remove "tree" references from dns.
...
svn:r5488
2005-12-03 02:01:18 +00:00
Nick Mathewson
6443e5ec7f
Add a benchmark-aes function to test.c. Off by default.
...
svn:r5485
2005-12-01 04:35:58 +00:00
Nick Mathewson
fea19528a1
assert_buf_ok was showing up in the profile; remove it from critical-path functions, since it hasnt triggered for ages.
...
svn:r5479
2005-11-30 22:48:58 +00:00
Nick Mathewson
d56a65c497
Fix some verbose warnings and remove an unneeded include.
...
svn:r5472
2005-11-30 06:38:41 +00:00
Nick Mathewson
9cec3a13f5
remove some functions that are not used; #if0 out some files that are not likely to be used.
...
svn:r5471
2005-11-30 06:27:59 +00:00
Nick Mathewson
a6eb8cd2a0
Move connection_or_remove_from_identity_map() to connection_unlink, but dont remove the other; just make it warn.
...
svn:r5470
2005-11-30 04:28:41 +00:00
Nick Mathewson
3bd613b44d
Rename connection_get_by_identity_digest to reflect that it is OR-only. Make it use a hashtable instead of a linear search.
...
svn:r5469
2005-11-30 03:01:16 +00:00
Nick Mathewson
447a3a7ff2
Funny. I could have sworn that it compiled.
...
svn:r5467
2005-11-29 17:17:02 +00:00
Nick Mathewson
94e8dcef44
Fix a bug weasel found: when we are an authority and somebody requests "all" statuses, cconsider regenerating our own.
...
svn:r5466
2005-11-29 17:14:10 +00:00
Nick Mathewson
c90d6c7e5f
Make arguments to circuit_set_circid_orconn match the connection that is closing in circuit_about_to_close_connection. This accounts for our mysterious "arbitrary ram gets decremented!" bug.
...
svn:r5465
2005-11-29 17:13:34 +00:00
Nick Mathewson
7de0c33857
Avoid a segfault in routerlist_reset_warnings()
...
svn:r5464
2005-11-28 16:29:27 +00:00
Roger Dingledine
1da454a42d
when returning a list of circuits, don't return a list of the same
...
conn over and over. that's really bad for memory.
svn:r5463
2005-11-28 02:52:17 +00:00
Roger Dingledine
f94f4c1686
when event_add or event_del fail, tell us why.
...
(nick, do i have my libevent strerror dance moves correct?)
svn:r5462
2005-11-26 09:37:00 +00:00
Roger Dingledine
97f748f680
clean up broken comment
...
svn:r5461
2005-11-26 09:27:36 +00:00
Nick Mathewson
652e1899ac
"How about 'never'? Does 'never' work for you?"
...
Weasel says circuit_get_by_conn is his main timesink. Most of its
users were just checking whether OR conns had circuits, so add a
circuit count to OR conns, and check that. One was
circuit_about_to_close_conn, which was doing an O(n^2) series of calls
to get all circs on an OR conn, so make an O(n) function for that.
Finally, circuit_get_by_edge_conn was using it as a sanity test that
has been around for a while but never found any actualy insanity, so
kill that.
circuit_get_by_conn is finally dead, which is good, since it was never
sane to begin with.
svn:r5460
2005-11-26 01:43:57 +00:00
Nick Mathewson
31d5d96739
Cut down a common call to circuit_get_by_conn by about half.
...
svn:r5459
2005-11-26 00:53:51 +00:00
Roger Dingledine
fe221f3dff
Start the process of treating internal circuits and exit circuits
...
separately. It's important to keep them separate because internal
circuits have their last hops picked like middle hops, rather than like
exit hops. So exiting on them will break the user's expectations.
- Stop cannibalizing internal circuits for general exits, and stop
cannibalizing exit circuits for rendezvous stuff.
- Don't let new exit streams attach to internal circuits.
- When deciding if we have enough circuits for internal and for exit,
don't count the wrong ones.
- Treat predicted resolves as predicted port 80 exits.
svn:r5457
2005-11-25 08:08:56 +00:00
Roger Dingledine
6452aecedb
when calling connection_get_by_identity_digest, don't do a memcmp
...
for non-OR conns. this should save a bit of time.
svn:r5456
2005-11-25 06:43:53 +00:00
Roger Dingledine
2350e487a2
minor cleanup
...
svn:r5454
2005-11-24 06:44:13 +00:00
Roger Dingledine
ea7fe0c267
Fix a bug found by Lasse Overlier: when we were making internal circuits
...
(intended to be cannibalized later for rendezvous and introduction
circuits), we were picking them so that they had useful exit nodes. There
was no need for this, and it actually aids some statistical attacks.
svn:r5453
2005-11-24 06:43:39 +00:00
Roger Dingledine
5b583073a1
remove some more dead code (found while hunting lasse's bug)
...
svn:r5452
2005-11-24 06:06:50 +00:00
Roger Dingledine
23efc30776
get rid of some unused variables
...
svn:r5451
2005-11-24 01:47:05 +00:00
Roger Dingledine
0118a236a4
comment that scary-looking function.
...
svn:r5447
2005-11-23 07:30:44 +00:00
Nick Mathewson
eb0021b06e
Fix dumb logic error that kept some old descripttors from getting the axe.
...
svn:r5446
2005-11-23 07:28:54 +00:00
Nick Mathewson
061ef582a1
Make dropping very old descriptors faster (remove old correctness check). Track bytes dropped that are still in our store or journal, and rebuild when it gets very high.
...
svn:r5445
2005-11-23 07:24:59 +00:00
Nick Mathewson
36109fea33
e more aggressive about calling routerlist_remove_old_routers()
...
svn:r5444
2005-11-23 07:06:36 +00:00
Nick Mathewson
fbf8a8c25f
Dump bytes held to store descriptors.
...
svn:r5443
2005-11-23 06:00:58 +00:00
Nick Mathewson
7d7bb95f36
Track how many bytes we have in signed descriptors. Try to make sure we are tracking this right. Somebody should valgrind a dirserver on an example net. There should be code to dump this value.
...
svn:r5442
2005-11-23 05:47:51 +00:00
Nick Mathewson
a39269572f
Replace balanced trees with hash tables: this should make stuff significantly faster.
...
svn:r5441
2005-11-23 04:18:45 +00:00
Nick Mathewson
50ce5e1932
Avoid spurious re-launch of first pending requested descriptor
...
svn:r5439
2005-11-22 02:20:05 +00:00
Peter Palfrader
a48b722432
Ancient gcc does not like you when you declare variables in the middle of a block
...
svn:r5437
2005-11-20 16:53:49 +00:00
Peter Palfrader
b9d37a2d58
Add a new controller event type that allows controllers to get all
...
server descriptors that were uploaded to a router in its role as authoritative
dirserver.
svn:r5436
2005-11-19 18:35:43 +00:00
Roger Dingledine
f28770b639
be less eager to decide that the entire network is down
...
svn:r5434
2005-11-19 11:04:00 +00:00
Roger Dingledine
859d1c902a
and another instance where i was trying to be too sneaky
...
svn:r5433
2005-11-19 10:38:23 +00:00
Roger Dingledine
98f353fa7c
actually listen when we try to route our dir connection via tor.
...
svn:r5432
2005-11-19 10:33:34 +00:00
Roger Dingledine
5c949fce51
Start obeying our firewall options more rigorously:
...
- If we can't get to a dirserver directly, try going via Tor.
- Don't ever try to connect (as a client) to a place our firewall
options forbid.
- If we specify a proxy and also firewall options, obey the firewall
options even when we're using the proxy: some proxies can only proxy
to certain destinations.
svn:r5431
2005-11-19 10:12:10 +00:00
Roger Dingledine
7aae63994f
Recover better from TCP connections to Tor servers that are broken but
...
don't tell you (it happens!); and rotate TLS connections once a week.
1) If an OR conn becomes more than a week old, make it obsolete.
2) If it's obsolete and empty, kill it.
3) When an OR makes a second connection to you, allow it.
4) If we want to send a new create cell, but the best conn we've
got is obsolete, and the router is 0.1.1.9-alpha-cvs or later, ask
for a new conn instead.
5) When we time out on circuit building on the first hop, make that
connection obsolete.
svn:r5429
2005-11-19 06:57:44 +00:00
Roger Dingledine
700c370a3b
misc cleanups
...
svn:r5428
2005-11-19 01:56:58 +00:00
Roger Dingledine
f824fb5f83
Bugfix: it looks like some middleman circuits were spending the
...
first few moments of their existence in CIRCUIT_STATE_OPEN, then
when Alice sent an extend request for a Tor that they're not connected
to, they switched to CIRCUIT_STATE_OR_WAIT and spent the rest of
their sorry little lives in that state, even when the connection
was established and they were shuttling relay cells back and forth.
And I'm not going to backport this (yet), because somehow it worked!
svn:r5427
2005-11-19 01:55:58 +00:00
Roger Dingledine
0de8f4ee55
another case (i think) of redundant code.
...
svn:r5426
2005-11-19 01:03:34 +00:00
Roger Dingledine
409294153f
remove some redundant (and misleading) code
...
svn:r5425
2005-11-19 00:44:24 +00:00
Peter Palfrader
6734371234
15*60 is 15 minutes, not 5
...
svn:r5424
2005-11-18 21:57:49 +00:00
Peter Palfrader
901712ee59
Remove ip address change flapping detection. It is not really needed and I do not think it works quite right.
...
svn:r5423
2005-11-18 19:28:34 +00:00
Roger Dingledine
4ddf2385a0
if it's not less than three does that mean it's more than two?
...
svn:r5422
2005-11-18 11:35:23 +00:00
Roger Dingledine
9d6d6da883
and code the part where redirectstream can take a port.
...
svn:r5421
2005-11-18 11:32:59 +00:00
Roger Dingledine
afb1c79879
Leave options->DirServers alone -- if the user didn't specify any,
...
just add the default ones directly to the trusted dirserver list.
This fixes a bug where people running controllers would setconf or
the equivalent, and Tor would start yelling at them about setting
their own DirServer lines.
svn:r5418
2005-11-18 02:47:09 +00:00
Roger Dingledine
26d8c3498c
and another overly common log entry
...
svn:r5417
2005-11-18 00:35:29 +00:00
Roger Dingledine
aa53190ed5
and another one
...
svn:r5416
2005-11-17 22:23:18 +00:00
Roger Dingledine
9111a3fb48
comment out some really popular log lines
...
svn:r5415
2005-11-17 22:19:35 +00:00
Roger Dingledine
d2b93df26c
and now we actually do it, too.
...
svn:r5414
2005-11-17 22:01:46 +00:00
Roger Dingledine
7dbf2511c3
when you type 'getinfo' with no arguments, it doesn't give you
...
any answer at all. this is clearly a bug.
the more interesting bug is whether things like setconf, getconf,
and so on should return 250 OK if you give them no arguments. should
we have a new "you didn't ask me anything" response code, or just
leave it as is?
svn:r5412
2005-11-17 21:45:38 +00:00
Roger Dingledine
af86345b74
we used to kill the circuit when we receive a relay command we
...
don't recognize. now we just drop it. perhaps this will make us
more forward-compatible? or perhaps it will bite us? one day we
will find out.
svn:r5405
2005-11-17 03:40:20 +00:00
Roger Dingledine
298da4497a
help the term "OP" become obsolete
...
svn:r5403
2005-11-17 01:17:53 +00:00
Roger Dingledine
279e29a1f2
bugfix: the controller doesn't mention it's a .onion if it is.
...
svn:r5400
2005-11-16 23:54:24 +00:00
Roger Dingledine
c4aa9e7941
Add a new config option TestSocks so people can see if their
...
applications are using socks4, socks4a, socks5-with-ip, or
socks5-with-hostname. This way they don't have to keep mucking
with tcpdump and wondering if something got cached somewhere.
svn:r5399
2005-11-16 23:37:35 +00:00
Nick Mathewson
22aea0757e
Verify that router fingerprint lines match identity keys. (We dont use them, but others might.)
...
svn:r5389
2005-11-15 21:24:32 +00:00
Roger Dingledine
74d1ca66c0
another case where the poor server operator doesn't need to
...
hear about lexi's bugs.
svn:r5388
2005-11-15 20:40:32 +00:00
Roger Dingledine
fe7b07754f
make it even more clear that i didn't screw up the logic
...
svn:r5378
2005-11-15 09:57:58 +00:00
Roger Dingledine
53269f696d
fix logic error: not unnamed is good.
...
svn:r5377
2005-11-15 09:15:43 +00:00
Nick Mathewson
9b432311c4
Make new logging stuff work on windows; fix a couple of windows typos.
...
svn:r5375
2005-11-15 03:05:23 +00:00
Nick Mathewson
669fdde91b
Fix number in error message
...
svn:r5369
2005-11-14 19:17:28 +00:00
Roger Dingledine
4ea6d71a26
shorten more of the startup log messages
...
svn:r5368
2005-11-14 04:39:49 +00:00
Roger Dingledine
6fc30a65fd
when a stream times out, provide less (but better) explanation
...
of what happened. don't bother printing the path, since i don't
know of any person who has gotten anything useful out of that.
svn:r5367
2005-11-14 04:13:43 +00:00
Roger Dingledine
014c6bfe00
We were refusing to start if you define SocksListenAddress
...
but define SocksPort to be 0. But this is a standard configuration!
So don't fail.
svn:r5361
2005-11-11 22:41:07 +00:00
Roger Dingledine
a3c53e0af9
speed up the lookup-by-circid-orconn now that it seems that
...
our code works.
svn:r5358
2005-11-11 19:28:32 +00:00
Roger Dingledine
862a997495
when we were cannibalizing a circuit with a particular exit
...
node in mind, we weren't checking to see if that exit node
was already present earlier in the circuit. oops.
svn:r5357
2005-11-11 19:25:30 +00:00
Roger Dingledine
4d1c6bbfc4
fix function comment
...
svn:r5356
2005-11-11 17:16:24 +00:00
Roger Dingledine
c136bbe505
stop discouraging the old *BindAddress config options. we will
...
just confuse our users when they upgrade.
svn:r5354
2005-11-11 17:04:14 +00:00
Roger Dingledine
e6fd88c698
simplify a log entry
...
svn:r5353
2005-11-11 17:03:35 +00:00
Roger Dingledine
c074f528c1
fix a harmless warn and mark two points where we should
...
maybe change our approach.
svn:r5352
2005-11-11 17:01:20 +00:00
Nick Mathewson
b76f61ee66
If we stop knowing about a dirserver between request and answer, do not die.
...
svn:r5351
2005-11-08 22:30:17 +00:00
Peter Palfrader
43c253958e
Tor26's IP has changed to 86.59.21.38
...
svn:r5350
2005-11-05 20:20:51 +00:00
Nick Mathewson
75d85c8214
On directory servers, old_routers was wasting hundreds of bytes per superseded router descriptor. Roll the signed descriptor info and identifying info into a cache_info struct, and use only that for old_routers.
...
svn:r5349
2005-11-05 20:15:27 +00:00
Nick Mathewson
757def59b6
Fix bugs in routerlist_remove_old_cached_routers_with_id()
...
svn:r5348
2005-11-04 16:47:26 +00:00
Nick Mathewson
a913cb3536
prevent duplicat mark-for-close
...
svn:r5347
2005-11-04 05:00:12 +00:00
Nick Mathewson
9e82f0cdb7
enable code to remove members of old_routers when it gets big.
...
svn:r5345
2005-11-01 17:34:17 +00:00
Nick Mathewson
80758473f8
fix a signed/unsigned warning
...
svn:r5344
2005-11-01 17:28:49 +00:00
Roger Dingledine
40ecaf4857
answer nick's XXX, and muck with some log domain choices
...
svn:r5339
2005-11-01 06:13:12 +00:00
Roger Dingledine
6dafca62f0
remove redundant checking for . and .. now that
...
tor_listdir() checks for this too.
svn:r5337
2005-11-01 03:50:14 +00:00
Roger Dingledine
1991f6cf48
more doc cleanups and reorganizing
...
svn:r5336
2005-11-01 03:48:51 +00:00
Roger Dingledine
44b3f3060a
make circ->onionskin a pointer, not a static array. moria2 was using
...
125000 circuit_t's after it had been up for a few weeks, which translates
to 20+ megs of wasted space.
svn:r5333
2005-10-29 19:13:48 +00:00
Roger Dingledine
bf2be9abd7
Do round-robin writes of at most 16 kB per write. This might
...
be more fair on loaded Tor servers, and it might resolve our
Windows crash bug. It might also slow things down.
svn:r5332
2005-10-29 18:19:37 +00:00
Roger Dingledine
862e8a1bd1
fix typo
...
svn:r5331
2005-10-29 18:00:25 +00:00
Nick Mathewson
f2617c6b79
Free the v2 directory networkstatus on exit. (Not a leak.)
...
svn:r5330
2005-10-29 05:01:12 +00:00
Nick Mathewson
4cb2435388
aaand another leak. Oops, I guess I lied to weasel when I told him there was no leak here.
...
svn:r5329
2005-10-28 19:10:53 +00:00
Nick Mathewson
ed32d85a04
router_add_to_routerlist() really needs to free not-added routers.
...
svn:r5328
2005-10-28 18:44:51 +00:00
Nick Mathewson
76988bafbe
Fix bug when parsing list of router descriptors containing a truncated entry. (Found by Lasse)
...
svn:r5327
2005-10-28 15:56:19 +00:00
Nick Mathewson
267af9ecf9
Fix a fun bug that was probably causing unnecessary downloads, and that coupld possibly have caused some segfaults: When post-processing a split fingerprint URL, we were trying to base16_decode() entries already in the fingerprint list, failing, and removing them. Ow.
...
svn:r5326
2005-10-27 23:16:08 +00:00
Nick Mathewson
7643c5254c
Fix an annoying rep violation bug
...
svn:r5325
2005-10-27 23:06:09 +00:00
Nick Mathewson
e594ce92fe
Start making directory caches retain old routerinfo_t. The code to remove old ones is definitely some textbook C problem.
...
svn:r5323
2005-10-27 00:34:39 +00:00
Nick Mathewson
9492424d3f
Per comments at the bottom of openssl/FAQ, call even more functions to
...
clean up OpenSSL's toys when it's done playing. (Why isn't there an
OpenSSL_free_everything() function?)
svn:r5321
2005-10-25 19:01:48 +00:00
Nick Mathewson
b39d03116b
remove some commented-out code that may tempt us to do ill
...
svn:r5320
2005-10-25 18:38:44 +00:00
Nick Mathewson
e5633c2e66
fix a nasty corruption bug
...
svn:r5319
2005-10-25 18:33:33 +00:00
Nick Mathewson
35f1b7fa26
fix minor memory leak in config
...
svn:r5318
2005-10-25 18:06:29 +00:00
Nick Mathewson
5d85560d9e
Remove last vestiges of old logging interface.
...
svn:r5317
2005-10-25 18:01:01 +00:00
Nick Mathewson
049f6c0131
Switch remaining files to new log interface.
...
svn:r5315
2005-10-25 17:52:14 +00:00
Nick Mathewson
a38aa81bf8
fix another segv, this time in circid fix.
...
svn:r5312
2005-10-25 15:31:25 +00:00
Nick Mathewson
9b6c5614c6
fix a segv
...
svn:r5311
2005-10-25 15:30:02 +00:00
Nick Mathewson
e7e170a59e
Change more files to new loggin interface. 3 left.
...
svn:r5310
2005-10-25 08:20:10 +00:00
Nick Mathewson
932106f54c
Efficiency hack: call tor_fix_source_file late, not early. Add "BUG" domain. Domains are now bitmasks... just in case. Make some err msgs non-general.
...
svn:r5309
2005-10-25 07:05:03 +00:00
Nick Mathewson
452f4cfa09
Convert circuituse, command, config, connection, relay, router, test to new logging interface
...
svn:r5308
2005-10-25 07:04:36 +00:00
Nick Mathewson
81dd50a942
Fix memory leak when retrieving networkstatus or routerdesc by malformed fingerprint
...
svn:r5307
2005-10-25 07:03:22 +00:00
Nick Mathewson
91a666064a
Fix possible free(NULL) in control.c
...
svn:r5306
2005-10-25 07:02:13 +00:00
Nick Mathewson
26caf69555
Fix possible minor memory leak when parsing helpernode state
...
svn:r5305
2005-10-25 07:00:03 +00:00
Nick Mathewson
f9b0be526e
Use LD_BUG as appropriate; convert rend* and router* to new logging interface; use new circ_log_path interface
...
svn:r5302
2005-10-24 19:39:45 +00:00
Nick Mathewson
fa338d85db
Fix one possible source of reuse-a-circuit-id bug; convert circuitbuild to new logging
...
svn:r5301
2005-10-24 19:37:45 +00:00
Nick Mathewson
7f20dec1cd
When warning about a networkstatus fp, we need to put it in hex.
...
svn:r5293
2005-10-24 03:25:12 +00:00
Nick Mathewson
37708e9b1b
Avoid potential infinite recursion when building a descriptor
...
svn:r5292
2005-10-24 03:04:05 +00:00
Roger Dingledine
d6dcd973c3
Oct 19 13:27:24.391 [info] router_reload_networkstatus(): Skipping cached-status file with unexpected name "."
...
Oct 19 13:27:24.391 [info] router_reload_networkstatus(): Skipping cached-status file with unexpected name ".."
svn:r5291
2005-10-20 17:22:00 +00:00
Nick Mathewson
52eaccce44
Crank down the frequency for replacing unchanged descriptors
...
svn:r5290
2005-10-19 16:21:19 +00:00
Nick Mathewson
7b8980a43c
Make it compile. appease roger and his thirst for documentation.
...
svn:r5289
2005-10-19 03:08:50 +00:00
Nick Mathewson
74d9c92c49
We need a routerlist_replace as well. This should do something about those annoying mysterious segfaults.
...
svn:r5288
2005-10-19 03:02:28 +00:00
Roger Dingledine
4df1892db1
solve the first half of bug 199: if we don't like the looks
...
of an address, but it's the controller's job to handle it,
don't refuse it first.
svn:r5287
2005-10-19 02:07:11 +00:00
Nick Mathewson
1bd3f6cc9a
Update more files to new log stuff.
...
svn:r5286
2005-10-18 22:56:40 +00:00
Nick Mathewson
55f2ab9cc3
Migrate a few more files to domained logging
...
svn:r5285
2005-10-18 22:21:29 +00:00
Nick Mathewson
edf5698474
Start dividing log messages into logging domains. No, LD_ is not the best of identifiers. src/or has not been converted yet. Domains dont do anything yet.
...
svn:r5284
2005-10-18 21:58:19 +00:00
Roger Dingledine
102df4a982
fix some typos
...
svn:r5283
2005-10-18 21:39:00 +00:00
Peter Palfrader
e54efb1655
I think nick meant to compare r2->platform the second time
...
svn:r5282
2005-10-18 21:19:48 +00:00
Peter Palfrader
0d5c007266
Fix tor26's first segfault
...
svn:r5281
2005-10-18 21:19:02 +00:00
Nick Mathewson
d25873ae9c
Use a digestmap_t to speed up router_get_by_digest, which was previously a bottleneck (~~27% CPU)
...
svn:r5280
2005-10-18 20:13:09 +00:00
Nick Mathewson
7a19588a43
Use digestmap_t instead of strmap_t where appropriate. Do less hex en/decoding
...
svn:r5279
2005-10-18 20:12:22 +00:00
Nick Mathewson
3347c1741d
Refactor routerlist access slightly: always use router_get_by_routerlist(); change its interface; add modifier functions to add/remove elements from the current routerlist (so we can add indices).
...
svn:r5276
2005-10-18 17:43:54 +00:00
Peter Palfrader
d8daa910a6
Make dirserv_get_routerdescs() return better http 404 error messages instead of a generic "Servers unavailable."
...
svn:r5274
2005-10-18 17:09:57 +00:00
Peter Palfrader
551e3402a3
split send_control1_event() into the printf and the print/dispatch part. The
...
printf part was and is limited to at most 1024 byte messages, so having the print
part separately available makes sense.
svn:r5273
2005-10-18 16:45:43 +00:00
Peter Palfrader
00e1709244
Fix download by SD digest
...
svn:r5272
2005-10-18 15:58:40 +00:00
Peter Palfrader
6e8052e0f8
I wonder what a stautus is.
...
svn:r5271
2005-10-18 15:25:10 +00:00
Peter Palfrader
64a631e187
Some http status lines ended in a dot, others did not. Make it all the same and remove the period from all
...
svn:r5270
2005-10-18 14:57:46 +00:00
Peter Palfrader
0186cb283f
And close the double quote too
...
svn:r5269
2005-10-18 14:34:49 +00:00
Peter Palfrader
d2f1cd4196
Fix documentation of dirserv_get_routerdescs:
...
correct the path for queries by server key, add queries by SD digest
svn:r5268
2005-10-18 14:33:19 +00:00
Nick Mathewson
27fcbf87f3
Add a missing struct initializer field
...
svn:r5264
2005-10-17 23:00:08 +00:00
Peter Palfrader
0d9aedfcea
Downgrade a few INFO level logs to DEBUG again. Also add two or three new
...
logs in cases where a calling function's log was downgraded and we wouldn't
get any log message otherwise.
svn:r5263
2005-10-17 16:21:42 +00:00
Roger Dingledine
bec2271029
fix a few comments
...
svn:r5262
2005-10-17 08:41:58 +00:00
Roger Dingledine
fd165329b8
start calling it *ListenAddress rather than *BindAddress,
...
since none of our users know what it means to bind an address or port.
svn:r5260
2005-10-17 03:17:29 +00:00
Nick Mathewson
22c72bd9c5
Add ability to warn when using abbrev mechanism to deprecate option names
...
svn:r5259
2005-10-17 03:06:00 +00:00
Roger Dingledine
435fb973c2
when providing content-type application/octet-stream for providing
...
server descriptors with .z, we were leaving out the content-encoding
header. oops. (everything tolerated this just fine, but that doesn't
mean we need to be part of the problem.)
svn:r5258
2005-10-17 02:32:33 +00:00
Peter Palfrader
7b15f77dd6
Make a few INFO log lines into DEBUG
...
svn:r5257
2005-10-17 02:13:36 +00:00
Roger Dingledine
1be5f4a81b
start hunting down why servers keep getting so many duplicate create cells
...
svn:r5255
2005-10-17 01:46:47 +00:00
Roger Dingledine
ae92a91d96
more log uncluttering
...
svn:r5254
2005-10-17 01:29:28 +00:00
Roger Dingledine
03dcef4c78
start the process of reducing clutter in server logs
...
svn:r5253
2005-10-17 00:35:53 +00:00
Roger Dingledine
aca6fb5f5f
cut out a warning that doesn't need to warn
...
svn:r5252
2005-10-16 19:47:01 +00:00
Roger Dingledine
2a82182243
remove obsolete IgnoreVersion config from or.h
...
svn:r5251
2005-10-16 18:43:41 +00:00
Nick Mathewson
6101468cbe
Enable trivial "download by descriptor digest" functionality.
...
svn:r5250
2005-10-14 04:56:20 +00:00
Nick Mathewson
998cf8d622
Try to extract as many descriptors as possible from truncated http responses. (when DIR_PURPOSE_FETCH_ROUTERDESC)
...
svn:r5249
2005-10-14 02:26:13 +00:00
Nick Mathewson
11b76b9ca5
Allow tor_gzip_uncompress to extract as much as possible from truncated compressed data. Also, fix a bug where truncated compressed data could break tor_gzip_uncompress. [This last part is a backport candidate.]
...
svn:r5247
2005-10-13 22:48:09 +00:00
Peter Palfrader
8808b26206
Check if our IP address has changed every 5 minutes. If it has, update our server descriptor, but not too often
...
svn:r5246
2005-10-12 22:41:16 +00:00
Peter Palfrader
640211e59a
Be a bit more verbose in our AUTHENTICATE error messages in the control protocol so the next guy doesn't blame Nick again
...
svn:r5245
2005-10-12 19:45:35 +00:00
Nick Mathewson
aac738d2be
When no descriptors changed, do not send a NEWDESC event.
...
svn:r5244
2005-10-12 19:41:16 +00:00
Nick Mathewson
905ef987e2
Make --hash-password not craash on exit.
...
svn:r5243
2005-10-12 19:08:48 +00:00
Nick Mathewson
9a1d204318
Avoid warning on end-of-function
...
svn:r5242
2005-10-12 18:43:03 +00:00
Nick Mathewson
972b7512c7
authorities do not replace server descriptors where nothing semantically relevant has changed since the last upload.
...
svn:r5240
2005-10-12 18:25:25 +00:00
Nick Mathewson
fd9bfef13b
Funny. I could have sworn it compiled this morning when I checked it in.
...
svn:r5239
2005-10-12 17:16:25 +00:00
Nick Mathewson
a7ca56b537
More work towards a sane digest-based liveness testing.
...
svn:r5238
2005-10-12 13:49:13 +00:00
Nick Mathewson
2b3a7b818f
Add an as-yet-unused "EXTENDED" flag to SETEVENTS to indicate that the client can handle extra labeled info in its events. Add moreinfo to the "what is ready for downloading" msg so we can investigate digest-related download rules
...
svn:r5237
2005-10-12 04:31:44 +00:00
Nick Mathewson
bf9ff1c1e7
Do not check whether DirPort is reachable when we are suppressing it because of hibernation. (Backport candidate)
...
svn:r5235
2005-10-12 04:07:10 +00:00
Nick Mathewson
08e4f132a8
add some docs; if warn_if_unnamed is 0, really do not warn.
...
svn:r5234
2005-10-11 01:57:28 +00:00
Nick Mathewson
c48ccf9db4
Insert a newline between all router descriptors when generating (old style) signed directories, in case somebody was counting on that.
...
svn:r5231
2005-10-08 06:02:41 +00:00
Nick Mathewson
2f49e058d0
Now that directory admins assure me they have adjested teir configs, it is safe to make authorities be non-versioning, non-naming by default.
...
svn:r5230
2005-10-08 05:47:58 +00:00
Nick Mathewson
d7b04a8788
do not try to download a routerdesc if we would immediately reject it as obsolete.
...
svn:r5225
2005-10-07 22:00:09 +00:00
Nick Mathewson
2572db2472
Warn less about intro nodes by nickname; remember our own intro nodes by key.
...
svn:r5224
2005-10-07 21:38:44 +00:00
Roger Dingledine
78edd804ff
fix a malformed warning entry
...
svn:r5219
2005-10-07 19:49:48 +00:00
Roger Dingledine
83e119154b
doxygen fix
...
svn:r5217
2005-10-07 19:25:01 +00:00
Roger Dingledine
46af2d26d0
you can't declare variables in the middle of a block
...
svn:r5214
2005-10-07 18:56:21 +00:00
Peter Palfrader
14934dece2
Print address too when we say we cannot bind/listen
...
svn:r5213
2005-10-07 18:48:31 +00:00
Nick Mathewson
4c7113d26a
Strip extra trailing newlines when parsing router descriptors.
...
svn:r5212
2005-10-07 18:33:30 +00:00
Nick Mathewson
a89daaeca9
Once an hour (not just on startup) give OpenSSL some more entropy.
...
Add entropy in 512-bit chunks, not 160-bit chunks. (This latter
change is voodoo.)
svn:r5211
2005-10-06 22:22:22 +00:00
Nick Mathewson
cc35e1720f
Using RAND_pseudo_bytes instead of RAND_bytes is an accident waiting to happen, and does not really speed us up much when we do it. So stop doing it.
...
svn:r5210
2005-10-06 22:18:01 +00:00
Roger Dingledine
0e5b6a84eb
without braces, what will hold up the code?
...
svn:r5209
2005-10-06 05:08:00 +00:00
Nick Mathewson
ba24193ab5
Make doxygen marginally happier
...
svn:r5208
2005-10-06 04:33:40 +00:00
Nick Mathewson
5cf758764e
Rate-limit warnings related to unrecognized MyFamily elements.
...
svn:r5204
2005-10-05 23:20:45 +00:00
Nick Mathewson
ba67d14d40
On sighup, if usehelpernodes changed to 1, use new circuits.
...
svn:r5203
2005-10-05 23:02:40 +00:00
Roger Dingledine
f12663a4ce
call circuit_expire_all_dirty_circs() on do_hup().
...
there, now we use it.
svn:r5202
2005-10-05 22:36:33 +00:00
Nick Mathewson
56be5a9706
I *knew* something was wrong here. Flip some comparison operators and make download-rate-limiting sane again.
...
svn:r5201
2005-10-05 22:36:18 +00:00
Nick Mathewson
039edb3dbb
Downgrade too-frequent "nothing happened" message from info to debug
...
svn:r5200
2005-10-05 22:32:59 +00:00
Roger Dingledine
c3aac3ff6b
infrastructure for the 'change pseudonym' button.
...
not used yet.
svn:r5199
2005-10-05 22:31:21 +00:00
Nick Mathewson
1ebbaf5c3a
improve INFO-level logging for directory downloads. This is still too chatty, but it will help us analyze things.
...
svn:r5197
2005-10-05 20:45:18 +00:00
Nick Mathewson
370e4abdc9
replace former relaunches of directory downloads with reset of failure count and relaunch of status downloads. Fix memory leak in trusted_dir_server_t. Reset "last download attempted" time when resetting failure counts.
...
svn:r5195
2005-10-05 05:03:52 +00:00
Roger Dingledine
adf04f121e
size_t int printf mucking
...
svn:r5194
2005-10-05 04:52:55 +00:00
Nick Mathewson
96c47c8478
Note the two places where clients will still try to fetch old-style (v1) directory info. These should be fixed, I think.
...
svn:r5193
2005-10-05 02:25:59 +00:00
Nick Mathewson
509de69a7e
reset warning flags on SIGHUP. arma: is this everything?
...
svn:r5192
2005-10-05 02:20:46 +00:00
Roger Dingledine
be478bb56c
stutter therapy lessons
...
svn:r5191
2005-10-05 02:09:27 +00:00
Nick Mathewson
8434595584
Fix verbose compiler warnings, including one in routerlist.c that would have been an actual error. Normalize whitespace. Enforce convention that "address" is a hostname and "addr" is an IPv4 address.
...
svn:r5190
2005-10-05 02:06:36 +00:00
Nick Mathewson
0924094042
resolve some directory-related XXXXs; downgrade naming conflict messages from WARN to INFO for non-authorities; do not repeat naming conflict messages.
...
svn:r5189
2005-10-05 01:53:44 +00:00
Nick Mathewson
1223310b69
Downgrade noisy log messages in preparation for an alpha release.
...
svn:r5188
2005-10-05 01:27:08 +00:00
Nick Mathewson
a608905070
Give a less frequent and more helpful warning on failed serverdesc downloads
...
svn:r5187
2005-10-05 00:22:56 +00:00
Nick Mathewson
42e17182da
When we get an EOF or a timeout on a directory connection, note how many bytes of serverdesc we are dropping. This will help us determine whether it is smart to parse incomplete serverdesc responses.
...
svn:r5186
2005-10-04 22:34:09 +00:00
Nick Mathewson
61ea516885
Check for named servers when looking them up by nickname;
...
warn when we'recalling a non-named server by its nickname;
don't warn twice about the same name.
Fix a bug in routers_update_status_from_networkstatus that made nearly
all clients never update routerinfo_t.is_named.
Try to list MyFamily elements by key, not by nickname.
Only warn about names that we generated ourself, or got from the local
user.
On TLS handshake, only check the other router's nickname against its
expected nickname if is_named is set.
svn:r5185
2005-10-04 22:23:31 +00:00
Nick Mathewson
2d203fdcf3
link nicknames to trusted directory servers; log these nicknames when mentioning servers; also, when we get a naming conflict; log which nicknames or keys are supposed to bind.
...
svn:r5184
2005-10-04 21:21:09 +00:00
Nick Mathewson
b10df0d595
cosmetic fix: only have one local to hold smartlist_len(downloadable), not too.
...
svn:r5183
2005-10-04 20:18:26 +00:00
Nick Mathewson
e4a6a03249
switch semantics of authdirinvalid/reject
...
svn:r5182
2005-10-04 19:52:58 +00:00
Roger Dingledine
88c37f2d24
comment cleanups
...
svn:r5181
2005-10-04 06:53:59 +00:00
Nick Mathewson
c5ee3e961e
Reorganize some quick-and-dirty code to find out what openssl stuff is leaking, using dmalloc.
...
svn:r5178
2005-10-03 20:20:38 +00:00
Nick Mathewson
9e54e2e293
free helper node status info on shutdown
...
svn:r5177
2005-09-30 21:38:57 +00:00
Nick Mathewson
808e584a87
remove a never-used smartlist in routerlist.c
...
svn:r5176
2005-09-30 21:38:45 +00:00
Nick Mathewson
6e4608701d
and another leak.
...
svn:r5175
2005-09-30 21:31:26 +00:00
Roger Dingledine
ae30c8101b
by convention, addr is a uint32_t and address is a string.
...
that's why we hadn't caught that leak.
svn:r5174
2005-09-30 21:30:04 +00:00
Nick Mathewson
5c5d2e82e6
Fix a leak when launching listeners.
...
svn:r5173
2005-09-30 21:28:00 +00:00
Nick Mathewson
23864ad423
Try to hunt down a few more leaks
...
svn:r5172
2005-09-30 21:22:25 +00:00
Nick Mathewson
80f2e10228
Stop leaking or_state_t on shutdown.
...
svn:r5171
2005-09-30 21:16:47 +00:00
Nick Mathewson
5333a3b838
fix a small filename leak
...
svn:r5170
2005-09-30 21:11:22 +00:00
Nick Mathewson
8408006318
fix a memory leak on exit in routerlist.c
...
svn:r5169
2005-09-30 21:04:52 +00:00
Nick Mathewson
de198d800b
Never call free() on tor_malloc()d memory. This is unlikely to be our current leak, but it may help dmalloc work.
...
svn:r5168
2005-09-30 20:47:58 +00:00
Nick Mathewson
fc3c0197f9
Resolve several DOCDOCs. Make non-mirrors only launch routerdesc downloads when they have more than 16 router descriptors to download, or when 10 minutes have passed since the last download.
...
svn:r5166
2005-09-30 20:04:55 +00:00
Roger Dingledine
e28c31ebce
we were leaking some memory every time the client changes IPs
...
svn:r5165
2005-09-30 06:03:04 +00:00
Nick Mathewson
ab245746a9
Hey kids, guess why connection_mark_for_close() started giving an assert when called for an even-numbered line? Right, because I made it a bitfield, when it was really a line number. Why did I think it was a bitfield? A stale comment. Let that be a lesson to us all.
...
svn:r5164
2005-09-30 04:43:42 +00:00
Roger Dingledine
13e709a0ff
resolve nick's comment
...
svn:r5163
2005-09-30 02:08:57 +00:00
Nick Mathewson
26e7a05725
even better function start checks; give dmalloc a chance of working.
...
svn:r5162
2005-09-30 01:39:24 +00:00
Nick Mathewson
edd15cb781
Note that there is incorrect behavior in directory.c code. Arma, please check this too.
...
svn:r5161
2005-09-30 01:38:09 +00:00
Nick Mathewson
92451f74a8
Reformat inconsistent function declarations.
...
svn:r5160
2005-09-30 01:09:52 +00:00
Roger Dingledine
609af664ac
resolve a docdoc
...
svn:r5157
2005-09-30 00:43:40 +00:00
Roger Dingledine
ea18827cee
do the other half of dirport reachability testing.
...
it should be back and working now.
svn:r5155
2005-09-29 23:59:36 +00:00
Roger Dingledine
f8d430653e
better cleanups as i figure out what's going on
...
svn:r5154
2005-09-29 23:26:42 +00:00
Roger Dingledine
d4d8adaa6d
move some code around when we're succeeding or failing at fetching
...
server descs.
also clean up some formatting.
svn:r5153
2005-09-29 23:06:48 +00:00
Roger Dingledine
54a662a542
re-enable dirport testing again
...
(still need the other half, to notice when it has worked.)
svn:r5152
2005-09-29 23:04:01 +00:00
Roger Dingledine
8fc9330686
fix typo
...
svn:r5151
2005-09-29 23:03:34 +00:00
Nick Mathewson
5c53545d81
Add a bunch more warnings to out warning suite; resolve them; pack structs a little better.
...
svn:r5150
2005-09-29 22:59:17 +00:00
Nick Mathewson
c6347cdb0e
suppress all our usual compiler warnings, including a longstanding one from tree.h
...
svn:r5149
2005-09-29 20:49:41 +00:00
Roger Dingledine
8ae6e1c226
Be more conservative about whether to advertise our dirport.
...
The main change is to not advertise if we're running at capacity and
either a) we could hibernate or b) our capacity is low and we're using
a default dirport.
svn:r5148
2005-09-29 06:45:03 +00:00
Roger Dingledine
3559f821a1
clean up some doxygen stuff
...
svn:r5147
2005-09-29 02:54:09 +00:00
Nick Mathewson
126a1e3e32
Fix crash-on-wakeup bug in networkstatus download.
...
svn:r5144
2005-09-26 16:37:39 +00:00
Roger Dingledine
fba01c3cc0
bugfix: we were whining about using socks4 or socks5-with-local-lookup
...
even when they used an IP in the "virtual" range we designed exactly
for this case.
svn:r5142
2005-09-24 21:56:04 +00:00
Nick Mathewson
abb8576538
But, of course, mirrors should get the most up-to-date server in any case.
...
svn:r5135
2005-09-23 21:33:59 +00:00
Nick Mathewson
b726507d36
Log even less verbosely. Also, do not download old (frequently-updating) servers more than once every 2 hours.
...
svn:r5134
2005-09-23 21:25:29 +00:00
Nick Mathewson
ebf6476e8e
Provide dire warnings to any users who set DirServer; move it out of torrc.sample and into torrc.complete.
...
svn:r5132
2005-09-23 20:44:22 +00:00
Nick Mathewson
18a0a0e458
Oops. It looks like some old GCCs dislike #if inside a macro argument.
...
svn:r5131
2005-09-23 20:31:07 +00:00
Roger Dingledine
0ef18a0fba
put a log message so we can start confirming socks5-with-remote-dns
...
vs socks5-with-local-dns
svn:r5130
2005-09-23 19:56:34 +00:00
Nick Mathewson
06625e779d
Decouple router downloads from old directory downloads entirely
...
svn:r5128
2005-09-23 18:49:37 +00:00
Nick Mathewson
c345dab3bd
Fix logic error (people who ask authorities should never split; others should always split). Also, fix timing error in main.c so retries really happen.
...
svn:r5127
2005-09-23 18:17:37 +00:00
Nick Mathewson
a1f1c4bf6b
Re-enable autosplitting, but authorities and mirrors should not do it, and make the cutoff higher than 1.
...
svn:r5126
2005-09-23 18:08:31 +00:00
Nick Mathewson
f995edd516
Fix at least one overzealous download bug. (tor_malloc_zero new local_routerstatus_t objs); add a pile of logs back in; probe every 10sec; never autolaunch on failure. Let us see if this works better.
...
svn:r5125
2005-09-23 18:05:14 +00:00
Nick Mathewson
9050480339
Fix some compiler warnings
...
svn:r5124
2005-09-23 17:11:20 +00:00
Nick Mathewson
faa4f420de
Remove extraneous space on read-history lines.
...
svn:r5123
2005-09-23 17:02:50 +00:00
Roger Dingledine
03d0f62da0
make the numbers in read-history and write-history into uint64s,
...
so they don't overflow and publish negatives in the descriptor.
fixes bug 193.
svn:r5119
2005-09-23 08:29:58 +00:00
Roger Dingledine
512d6ccdc1
and a minor log cleanup
...
svn:r5115
2005-09-23 00:04:53 +00:00
Roger Dingledine
e286c4267e
there was no need to die when we failed to spawn a cpuworker.
...
it handles it fine if we decide not to die.
svn:r5114
2005-09-23 00:04:44 +00:00
Roger Dingledine
479886fce2
remove another loud debug msg
...
svn:r5113
2005-09-22 23:56:56 +00:00
Roger Dingledine
d050ff7906
resolve lucky's recent bug: tor was exiting if we failed to spawn
...
a new dns worker (e.g. because we were out of fd's).
svn:r5112
2005-09-22 23:43:41 +00:00
Roger Dingledine
2d6b36a001
get rid of a noisy debug log
...
svn:r5111
2005-09-22 20:51:45 +00:00
Nick Mathewson
cdc912714e
I love the smell of C in the morning. Make router-download rules smarter (download more so long as we dont duplicate existing requests; relaunch at staggered intervals); relaunch one a minute or on failure; reset 60 minutes; always open 3 requests if we can; add authority opinion to networkstatus; make naming rule correct. There is a remaining bug where we retry servers too quickly; We need to look at that harder.
...
svn:r5110
2005-09-22 06:34:29 +00:00
Nick Mathewson
6693031947
Use a separate type for "local view of router status". Also, even though I told arma there was no need, replace an ugly O ( n lg n ) algorithm with a nice O ( n ) algorithm when stepping through servers. Some ugliness is just too bad to stand.
...
svn:r5109
2005-09-22 01:51:14 +00:00
Roger Dingledine
959598fae6
content-type bugfixes:
...
http://seppia.noreply.org/tor/dir.z was being declared text/plain
and
http://seppia.noreply.org/tor/server/fp/719BE45DE224B607C53707D0E2143E2D423E74CF
was being declared application/octet-stream
svn:r5108
2005-09-22 00:17:41 +00:00
Roger Dingledine
f011b12df2
bugfix: nobody ever implemented EVENT_ADDRMAP for control protocol
...
version 0, so don't let version 0 controllers ask for it.
svn:r5107
2005-09-21 23:30:15 +00:00
Nick Mathewson
f99b91505b
Make write_escaped_data more bulletproof; backport candidate.
...
svn:r5106
2005-09-21 23:13:29 +00:00
Roger Dingledine
1cfcc4b351
clean up misleading comment on authdir_wants_to_reject_router()
...
svn:r5105
2005-09-21 21:10:36 +00:00
Nick Mathewson
72915546cd
Only check versions from versioning authdirs.
...
svn:r5101
2005-09-21 02:38:51 +00:00
Nick Mathewson
20b9111266
Implement new version handling code.
...
svn:r5100
2005-09-21 00:41:06 +00:00
Roger Dingledine
94ff09af23
clean up a bit more code
...
svn:r5098
2005-09-20 19:50:43 +00:00
Roger Dingledine
19f04ae9c3
make router_is_general_exit match its documentation
...
but it's still wrong maybe
svn:r5095
2005-09-20 03:40:54 +00:00
Nick Mathewson
837b223c8c
remove some debugging garbage
...
svn:r5092
2005-09-18 04:32:58 +00:00
Nick Mathewson
283032960d
Make give-up-on-failure actually work: it seems the servers gave me a real test case.
...
svn:r5091
2005-09-18 04:15:39 +00:00
Nick Mathewson
d118d5069a
Prevent a "try forever to download an unobtainable descriptor" bug. Still remaining: the "give up forever" bug.
...
svn:r5090
2005-09-18 02:51:12 +00:00
Nick Mathewson
87f6d526fe
Refactor new directory code a bit. Keep a big list of rolled-up router status info, including # of download failures (not yet used). Update this list from networkstatuses when they arrive, then update routers from this list. Only download 128 routers at a time, to avoid gargantuan URLs.
...
svn:r5089
2005-09-18 02:24:42 +00:00
Nick Mathewson
e86893e87b
Move to new base64 digest functions. Switch to new router digest calculation. Make sure there are no duplicates in router status lists.
...
svn:r5088
2005-09-18 02:22:21 +00:00
Nick Mathewson
1fbe499bfe
Remove a bunch of #if0d code that I no longer need to look at.
...
svn:r5083
2005-09-16 16:47:20 +00:00
Nick Mathewson
6d15a73548
Resolve/expand some XXXXs and improve a log message or two
...
svn:r5082
2005-09-16 16:41:45 +00:00
Roger Dingledine
cce469c5ce
simplify
...
svn:r5081
2005-09-16 06:15:34 +00:00
Nick Mathewson
538740e362
Fix the never-marked-anything-as-running bug. Now Tor builds circuts again. Woo.
...
svn:r5080
2005-09-16 04:53:28 +00:00
Nick Mathewson
d45badd9f4
Add a missing return
...
svn:r5079
2005-09-16 04:52:53 +00:00
Nick Mathewson
1a786a297f
Fix the confusing bug where we were downloading only the first n/2-1 of the servers we actually wanted.
...
svn:r5078
2005-09-16 04:43:21 +00:00
Nick Mathewson
9c2ca40df3
Unify our "figure out which fingerprints we were downloading" code.
...
svn:r5077
2005-09-16 04:42:45 +00:00
Nick Mathewson
05bab28c7d
Add some (notice, for now) log messages that imply confusing things are happening.
...
svn:r5076
2005-09-15 21:11:48 +00:00
Nick Mathewson
51da58eccf
fix braino in dirserv.
...
svn:r5075
2005-09-15 21:10:58 +00:00
Nick Mathewson
e72e76cad6
Make authdirs smarter. Reject/invalidate by key and IP. Remember that not every authdir has to be a naming authdir.
...
svn:r5074
2005-09-15 14:39:05 +00:00
Nick Mathewson
ed21abfe87
And some documentation before bed.
...
svn:r5073
2005-09-15 06:15:31 +00:00
Nick Mathewson
b70c229f6e
make some functions static; clean dead networkstatus entries more often.
...
svn:r5072
2005-09-15 05:41:30 +00:00
Nick Mathewson
3dcc4630b9
Make unittests not die
...
svn:r5071
2005-09-15 05:28:18 +00:00
Nick Mathewson
b16048917c
Stop downloading directories and download routers instead. This still needs some work, but at last clients are finally on the new architecture. Next comes the tuning and bugfixing.
...
svn:r5070
2005-09-15 05:19:38 +00:00
Nick Mathewson
e83e1df811
separate validation from naming in authoritative directory servers; simplify some router-management code.
...
svn:r5069
2005-09-15 00:51:42 +00:00
Nick Mathewson
d4e0af7822
Fix a bunch of log messages. Deprecate some routerlist fields; remove others, and status_set_at from routerinfo_t. Compress routerlist.c cleanup functions. Update cached networkstatus mtime when we download the same one twice. Change some interfaces.
...
svn:r5068
2005-09-14 23:42:06 +00:00
Nick Mathewson
bc0af7046a
Oops. directory_set_dirty() needs to mark networkstatus as dirty too.
...
svn:r5066
2005-09-14 23:14:37 +00:00
Nick Mathewson
27bbfe9dcf
Would you believe that the software_versions field of routerlist_t was never actually used for anything?
...
svn:r5064
2005-09-14 21:38:05 +00:00
Nick Mathewson
e3adcbdb95
Big commit: clients start downloading and using network-statuses.
...
Only caches need to get running-routers; nobody needs to parse, store,
or use it. Same for the router-status line in the directories. Add
many #if 0's that can get removed once I'm convinced they don't
contain anything I'm forgetting.
Start all newly-parsed routers as non-running and non-valid; update
them from the list of network statuses.
Update all routers when a new networkstatus comes in.
After 3 tries for a networkstatus, clients give up until they're told
to try again.
"Let's get those missles ready to **DESTROY THE UNIVERSE**!"
-TMBG
svn:r5063
2005-09-14 21:09:25 +00:00
Nick Mathewson
922cee3d0c
Clean up a few warnings that make gcc twig out a bit.
...
svn:r5062
2005-09-14 20:59:25 +00:00
Nick Mathewson
d9ee94543e
Declare 0.1.1.7 as The Version With The Good Dirservers.
...
svn:r5061
2005-09-14 19:12:35 +00:00
Roger Dingledine
ca727ba6e1
bugfix: when we try to determine the reachability of our dirport,
...
and it doesn't work, don't freak out and mark ourselves as down and
try somewhere else. just calmly fail.
svn:r5050
2005-09-14 03:49:17 +00:00
Nick Mathewson
7c6679d8dc
Add new config.c function to set options that can fail, and roll back if they do. This should solve the setconf-an-impossible-port bug.
...
svn:r5046
2005-09-14 02:36:29 +00:00
Roger Dingledine
93be26a74a
stop the call duplication inside config_assign()
...
svn:r5045
2005-09-14 02:35:06 +00:00
Nick Mathewson
6aa8850d90
note that routerstatus_t.entries is sorted.
...
svn:r5044
2005-09-14 02:28:35 +00:00
Roger Dingledine
10893e7254
simplify
...
svn:r5043
2005-09-14 02:18:28 +00:00
Roger Dingledine
c78aafe4b5
and take the bang out
...
svn:r5042
2005-09-14 02:13:35 +00:00
Roger Dingledine
62fe24c40c
ok, ok, csv's get replaced even when we assign them from the torrc.
...
svn:r5041
2005-09-14 02:12:29 +00:00
Roger Dingledine
1f930a9a70
checkpoint: clean up and document the three ways to call config_assign()
...
and reduce code duplication in config_free() and option_is_same().
svn:r5040
2005-09-14 02:07:35 +00:00
Roger Dingledine
8585599965
correct "your server is reachable" log entries to indicate that it was
...
self-testing that told us so.
svn:r5034
2005-09-13 21:39:42 +00:00
Roger Dingledine
26cc51ffea
a bit more code cleanup
...
svn:r5033
2005-09-13 21:24:51 +00:00
Nick Mathewson
890847d232
I forgot -- smart kids make their code compile.
...
svn:r5032
2005-09-13 21:18:00 +00:00
Nick Mathewson
4efa652a98
add docs, fix whitespace, and make ANY rule in routerparse a little tighter.
...
svn:r5031
2005-09-13 21:14:55 +00:00
Nick Mathewson
76351b8416
Fix DOCDOC entries in routerlist.c. Make more functions use SMARTLIST_FOREACH instead of raw loops. Replace router_list_superseded implementation with one that has a prayer of working.
...
svn:r5027
2005-09-13 15:32:03 +00:00
Nick Mathewson
29c57b54d4
Add functions to extend and compress new router store logic. (Basic idea: use a journal of newly received router descriptors, and periodically replace the old file. This avoids the "too many files" problem and the "too many rewrites" problem.)
...
svn:r5025
2005-09-13 06:21:10 +00:00
Roger Dingledine
82b3b6249c
fix a seg fault if we ask an authdirserver for a descriptor by
...
fingerprint but he doesn't know about him.
svn:r5023
2005-09-13 01:20:26 +00:00
Roger Dingledine
8b0d37096b
when the user asked for a rendezvous port that the hidden service
...
didn't want to provide, we were sending an IP address back along
with the end cell. fortunately, it was zero. but stop that anyway.
svn:r5022
2005-09-12 22:05:17 +00:00
Roger Dingledine
569efe61c0
make the patch less likely to bite us later
...
svn:r5021
2005-09-12 21:42:59 +00:00
Nick Mathewson
93c1d37d5f
Resolve stack corruption identified by edmanw in connection_edge_end(). Thanks!
...
svn:r5020
2005-09-12 20:57:16 +00:00
Nick Mathewson
39e29738b1
Maybe I should pay more attention to return values and less to clever comments. Fortunately, the aforementioned comments came out against smacking upside the head.
...
svn:r5018
2005-09-12 08:49:21 +00:00
Nick Mathewson
a6271650d5
Versions should be sorted by version. Lexical sorting should be used only as a last resort.
...
svn:r5017
2005-09-12 08:46:37 +00:00
Roger Dingledine
689cb28098
when writing the recommended*versions lines, sort them first.
...
this is because weasel put his out of order and told me the code
should take care of it.
svn:r5016
2005-09-12 08:31:47 +00:00
Roger Dingledine
63bb27f19d
be more thorough about noticing when a directory request has failed:
...
it has failed not only when the connection attempt fails, but also
if the conn reaches eof before we get a response that we're happy with.
svn:r5013
2005-09-12 07:36:26 +00:00
Nick Mathewson
3dc5e77b58
Numerous changes to move towards client-side v2 directories.
...
connection.c:
- Add some more connection accessor functions to make directory
download redundancy checking work.
directory.c, or.h, router.c, routerlist.c:
- Start on logic to note when networkstatus downloads fail.
dirserv.c, routerlist.c, routerparse.c:
- Start maintaining an is_named field in routerstatus_t. Don't
actually look at it yet.
dirserv.c, routerlist.c:
- Remove expired networkstatus objects.
or.h:
- Make some booleans into bitfields
- Add prototypes
routerlist.c:
- Sort networkstatus list by publication time
- Function to remove old (older than 10 days) networkstatus objects.
- Function to set a list of routerinfo_ts' status info from the
current set of networkstatus objects.
- Function to tell which routerinfos we need to download based no the
current set of networkstatus objects.
- Do not launch a networkstatus download if a redundant one is in progress.
routerparse.c:
- Keep router entries in networkstatus sorted by digest.
svn:r5012
2005-09-12 06:56:42 +00:00
Roger Dingledine
5cebd8df70
remove temporary network-status keyword
...
svn:r5007
2005-09-12 06:14:41 +00:00
Roger Dingledine
89d516f95c
clean up the log entry for when a server posts a server descriptor that
...
the dirserver doesn't like
svn:r5005
2005-09-12 06:08:48 +00:00
Nick Mathewson
63dfe2447e
Fix bug found by "ca": looking up a non-existent stream for a v1 control connection would cause a segfault. (No backport needed since 0.1.0 had only v0 connections.)
...
svn:r5001
2005-09-12 03:32:30 +00:00
Roger Dingledine
d7d4d4cbbf
fix comment and return value for check_software_version_against_directory()
...
svn:r4996
2005-09-11 22:36:50 +00:00
Roger Dingledine
b0a5ba4248
downgrade the dirserver log messages when whining about unreachability
...
svn:r4991
2005-09-10 20:40:16 +00:00
Roger Dingledine
cfe34812eb
bugfix: if you gave tor an odd number of command-line arguments,
...
we were silently ignoring the last one. now we complain and fail.
svn:r4988
2005-09-10 04:40:27 +00:00
Roger Dingledine
9b54cd349d
break out a new function config_assign_value() that just assigns the
...
value it's given, and doesn't do any of their weird clearing or resetting
stuff. use that when we're trying to clear or reset values.
svn:r4984
2005-09-10 02:42:32 +00:00
Nick Mathewson
d26523e089
Use tor_listdir in test.c instead of duplicating ode.
...
svn:r4981
2005-09-10 01:42:42 +00:00
Roger Dingledine
1d9786a392
generalize route length to three plus one if the exit node is risky.
...
svn:r4978
2005-09-10 01:01:40 +00:00
Nick Mathewson
035b1953eb
Add sorting/searching to smartlist
...
svn:r4977
2005-09-09 23:12:54 +00:00
Roger Dingledine
cfa321374d
reject ports 465 and 587 by default now too
...
svn:r4974
2005-09-09 22:46:43 +00:00
Nick Mathewson
dcf1e14190
downgrade warning to info
...
svn:r4967
2005-09-09 21:03:57 +00:00
Roger Dingledine
a5ea401b2e
a few more hints on a rare but mysterious warning
...
svn:r4966
2005-09-09 20:58:44 +00:00
Nick Mathewson
047e105daf
Fix a bug in config_dump: we want to run options_validate on the defaults, not (again, uselessly) on the configuration. This was introduced when we made the config code more generic.
...
svn:r4965
2005-09-09 20:08:26 +00:00
Roger Dingledine
35b78b2d8e
clean up the rendezvous warn log msgs, and downgrade some to info
...
svn:r4964
2005-09-09 19:54:28 +00:00
Nick Mathewson
0de64f224e
Warn in more detail when network-status serving and fetching fails. Also, fix a small leak.
...
svn:r4963
2005-09-09 19:37:12 +00:00
Roger Dingledine
42f752a0a5
bugfix: we were automatically condemning an exit node (concluding
...
its advertised exit policy is different from its real one) as soon
as it refused any requests.
After fixing that bug, another bug appeared: we would try the same
server again and again, since once we learned an IP address for a
hostname, we still kept think of it as the hostname. now pass it to
the remapper before trying to reattach.
svn:r4962
2005-09-09 06:11:37 +00:00
Roger Dingledine
843550721a
stop notifying people about dns worker spawning and culling
...
it just freaks them out
svn:r4960
2005-09-09 02:03:31 +00:00
Roger Dingledine
2065c5f7aa
when printing x-forwarded-by headers, don't print the \r
...
svn:r4959
2005-09-09 02:02:20 +00:00
Nick Mathewson
bd911d8612
Fix segfault and memleak when getting many compressed server descs.
...
svn:r4956
2005-09-08 22:00:29 +00:00
Nick Mathewson
659491bbc6
Fix some messages that say "failing".
...
svn:r4955
2005-09-08 21:46:31 +00:00
Nick Mathewson
d410c49965
Clean up some more fingerprint-checking logic
...
svn:r4954
2005-09-08 21:39:39 +00:00
Roger Dingledine
587b513ec0
remove obsolete kludge
...
svn:r4953
2005-09-08 21:36:27 +00:00
Nick Mathewson
9df4716ac3
make it work correctly when we download multiple network-status objects.
...
svn:r4952
2005-09-08 21:28:45 +00:00
Nick Mathewson
4ce0e01848
add conn->requested_resource to connection_t checks.
...
svn:r4951
2005-09-08 21:21:54 +00:00
Nick Mathewson
a938190bdb
Iteration is happier when you stop.
...
svn:r4950
2005-09-08 21:20:20 +00:00
Roger Dingledine
e28931dc94
unused variable
...
svn:r4949
2005-09-08 21:12:53 +00:00
Nick Mathewson
4528bbfd9f
Resolve some XXXs. Add some others.
...
svn:r4947
2005-09-08 21:01:24 +00:00
Nick Mathewson
c523e106b5
Do not generate more than 2 of each directory type per minute.
...
svn:r4946
2005-09-08 20:47:11 +00:00
Nick Mathewson
18e4d78354
Fix an assert in directory.c. Check received network-status objects against the list we expected to get. Do not let anyone else update our network-status object.
...
svn:r4945
2005-09-08 20:36:40 +00:00
Nick Mathewson
059148f588
Only caches download network-status for now, and they use a different strategy. Add an element to connection_t to remember what we are downloading, and a function to recognize our own fingerprint.
...
svn:r4944
2005-09-08 20:18:15 +00:00
Nick Mathewson
6c4d43c724
Special-case for retrieving own networkstatus by fingerprint: regenerate if dirty!
...
svn:r4943
2005-09-08 19:29:21 +00:00
Roger Dingledine
465aec04c1
when reporting results from a dirserver fetch/post, tell us the
...
port for the dirserver too
svn:r4942
2005-09-08 19:21:48 +00:00
Nick Mathewson
df79dc673b
Remove sneaky double declaration.
...
svn:r4941
2005-09-08 19:18:55 +00:00
Nick Mathewson
0f94aa2ea1
Write status to disk in the right place
...
svn:r4940
2005-09-08 19:16:16 +00:00
Nick Mathewson
cc16fb7636
oops -- that log should have been removed
...
svn:r4939
2005-09-08 19:12:55 +00:00
Nick Mathewson
e5f117606f
Fix network-status parsing.
...
svn:r4938
2005-09-08 19:10:36 +00:00
Nick Mathewson
b43a720bd4
Fix another reversed inet_aton
...
svn:r4937
2005-09-08 18:53:57 +00:00
Nick Mathewson
1e2f1679c8
Fix some more bugs; add a temporary log.
...
svn:r4936
2005-09-08 18:46:25 +00:00
Nick Mathewson
eab005c948
Ensure case match, not mismatch.
...
svn:r4935
2005-09-08 18:34:41 +00:00
Nick Mathewson
810572a5de
Stop dying when we get a directory from tor26; workaround for change in networkstatus format
...
svn:r4933
2005-09-08 18:24:26 +00:00
Roger Dingledine
4633b271f9
fix spacing
...
svn:r4932
2005-09-08 18:15:57 +00:00
Nick Mathewson
548a863779
Avoid assertion failure
...
svn:r4931
2005-09-08 18:14:23 +00:00
Nick Mathewson
ff9452e900
Clean up should-i-go-to-the-dirserv logic a little: All servers with DirPorts should get their directories from the source
...
svn:r4930
2005-09-08 18:14:01 +00:00
Nick Mathewson
3a99927859
Make directory download code slightly less likely to segfault or assert.
...
svn:r4929
2005-09-08 16:18:28 +00:00
Roger Dingledine
022f23249f
make doxygen output look prettier
...
svn:r4928
2005-09-08 07:10:12 +00:00
Roger Dingledine
dbeb8e7863
it really does help with the functions end.
...
svn:r4927
2005-09-08 06:59:58 +00:00
Roger Dingledine
74fb086210
if you give a config option in the torrc or the commandline with no
...
value, and reset is false, then it clears it entirely.
svn:r4926
2005-09-08 06:55:53 +00:00
Roger Dingledine
36fa360c11
and fix grammar
...
svn:r4925
2005-09-08 06:49:23 +00:00
Roger Dingledine
69da0ef757
add punctuation
...
svn:r4924
2005-09-08 06:49:02 +00:00
Nick Mathewson
8f37357193
Make GCC v4 happy with heavy warnings enabled.
...
svn:r4922
2005-09-08 06:37:50 +00:00
Nick Mathewson
f50ddfd4dd
Download network-status at regular intervals. The code is probably iffy, and the constants need to be renamed.
...
svn:r4921
2005-09-08 06:22:44 +00:00
Roger Dingledine
2f6664ce80
MonthlyAccountingStart is dead.
...
svn:r4920
2005-09-08 05:38:47 +00:00
Roger Dingledine
c9e1c41873
dirserv_add_descriptor() doesn't chew up its argument anymore,
...
so we can stop protecting it.
svn:r4919
2005-09-08 05:37:22 +00:00
Roger Dingledine
03ddeb2620
strip obsolete code
...
svn:r4918
2005-09-08 05:32:41 +00:00
Roger Dingledine
0ac3c58480
clean up comments for router_is_general_exit()
...
svn:r4917
2005-09-08 05:23:55 +00:00
Roger Dingledine
08348ae66e
add a RESETCONF controller command, and make setconf with a null
...
option actually mean to set it to ""
svn:r4916
2005-09-08 03:18:51 +00:00
Roger Dingledine
0a8a8ba546
fix some typos
...
svn:r4915
2005-09-08 03:17:50 +00:00
Nick Mathewson
4aca47268d
Logic to launch connections for new directory types.
...
svn:r4914
2005-09-07 20:03:02 +00:00
Nick Mathewson
9e76eae810
add missing return
...
svn:r4913
2005-09-07 17:18:52 +00:00
Nick Mathewson
eac917fd6a
clean whitespace.
...
svn:r4912
2005-09-07 17:15:46 +00:00
Nick Mathewson
5c6c88e76d
More stuff for new directories.
...
- Distinguish v1 authorities (all currently trusted directories) from
v2 authorities (all trusted directories).
- Add configuration option for which dirs are v1 authories.
- Add configuration option for whether to be a v1 authority.
- Make trusted dirserver selection functions take options to
choose which functionality we need.
- Remove option when getting directory cache to see whether they
support running-routers; they all do now. Replace it with one
to see whether caches support v2 stuff.
- Parse, cache, and serve network-status objects properly.
- Serve compressed groups of router descriptors. The compression logic
here could be more memory-efficient.
-
svn:r4911
2005-09-07 16:42:53 +00:00
Roger Dingledine
c384fa706d
stop using the v1 rend desc format. we're going to change v1
...
some more before we switch to it.
svn:r4909
2005-09-06 06:14:38 +00:00
Nick Mathewson
1e37ec4782
Comment structs, reload a field, start making network status caches work
...
svn:r4908
2005-09-04 23:12:27 +00:00
Roger Dingledine
d2a5b614eb
if you're an auth dir server, start yourself out as verified.
...
svn:r4907
2005-09-03 23:10:28 +00:00
Roger Dingledine
33b2abbc90
remove redundant logs about unreachable servers
...
svn:r4905
2005-09-03 04:37:30 +00:00
Nick Mathewson
467fd6e4e6
fix order of items in network-status
...
svn:r4904
2005-09-03 02:38:39 +00:00
Nick Mathewson
3485a497fe
Fix another ntohl
...
svn:r4903
2005-09-03 02:23:53 +00:00
Nick Mathewson
ae726e659e
and another byte counting error.
...
svn:r4902
2005-09-03 02:14:31 +00:00
Nick Mathewson
9b949cc1d2
Excellent. We have at least 8 bytes, so I can safely get the 9th.
...
svn:r4901
2005-09-03 02:12:53 +00:00
Nick Mathewson
bcbff6dcd7
Note to self: htonl(htonl(X)) is *not* "twice as good as htonl(X)". Spotted by arma.
...
svn:r4900
2005-09-03 01:47:39 +00:00
Nick Mathewson
815c092b22
Make structs for (v2) network-status and its per-router components. Add functions to parse them. Re-do the parsing logic a litt.e. Change signatures in or.h to support new DNS TTL logic.
...
svn:r4898
2005-09-02 20:37:31 +00:00
Nick Mathewson
9bc3d34682
Add contact field to generated network-status objects
...
svn:r4897
2005-09-02 20:30:03 +00:00
Nick Mathewson
09e8521236
Make ContactInfo mandatory for authoritative directories.
...
svn:r4896
2005-09-02 20:29:29 +00:00
Nick Mathewson
a6a45b7713
Add TTLs to RESOLVED, CONNECTED, and END_REASON_EXITPOLICY cells. Also, add a missing ntohl in connection_ap_handshake_socks_resolved.
...
svn:r4894
2005-09-02 18:53:31 +00:00
Roger Dingledine
93179f4e7e
bugfix: moria2 wasn't listing itself as verified in its directory
...
svn:r4893
2005-09-02 06:19:31 +00:00
Roger Dingledine
ba899d0648
when we're shutting down and we do something like try to post a
...
server descriptor or rendezvous descriptor, don't complain that we
seem to be unreachable. of course we are, we're shutting down.
svn:r4892
2005-09-01 08:19:49 +00:00
Roger Dingledine
1b04f38145
subtle change to avoid some false positives:
...
if a server went down for six hours and then came back, we would
complain to it that it's unreachable. now we wait until the third
consecutive descriptor post that we thought it was unreachable,
before complaining to it.
svn:r4891
2005-09-01 08:13:40 +00:00
Roger Dingledine
3b6ab71929
and notify the dirserver operator whenever we do
...
svn:r4890
2005-08-31 06:18:19 +00:00
Roger Dingledine
711cad94ed
when we think a router is unreachable, pass the message back to the
...
server's logs, and make it a 'warn'.
also, fix a memory leak for rejected router descriptors.
svn:r4889
2005-08-31 06:14:37 +00:00
Nick Mathewson
0b92c28d84
Actually set is_hibernating when parsing router descriptors.
...
svn:r4888
2005-08-30 15:04:24 +00:00
Roger Dingledine
6a52aa52fe
fix a pair of hard-coded urls
...
svn:r4887
2005-08-30 07:01:30 +00:00
Roger Dingledine
4240410a9d
don't whine about reachability if the guy is hibernating now.
...
speaking of which, we don't actually parse is_hibernating out
of the router descriptor right now. nick, can you fix this?
svn:r4886
2005-08-30 06:48:24 +00:00
Roger Dingledine
e9524f9d2d
refactor -- no actual changes
...
svn:r4885
2005-08-30 06:43:07 +00:00
Roger Dingledine
a8c0c51e0b
a bit of cleanup
...
svn:r4884
2005-08-30 06:01:13 +00:00
Nick Mathewson
0691c7221e
Update routerinfo_t.is_running when generating network status on authdirserver.
...
svn:r4883
2005-08-29 18:42:36 +00:00
Nick Mathewson
29a6c17d67
Allow tor_gzip_uncompress to handle multiple concatenated compressed strings.
...
svn:r4882
2005-08-29 18:01:38 +00:00
Nick Mathewson
e3a058f33a
Change semantics of set_cached_dir; fix massive authdir memleak.
...
svn:r4880
2005-08-28 04:20:37 +00:00
Nick Mathewson
26d2301c76
Make unit tests (and others) run without launching listeners, creating subdirectories, and so on.
...
svn:r4876
2005-08-26 23:22:27 +00:00
Nick Mathewson
cd2bb915ed
Fix a warning, add an assert.
...
svn:r4875
2005-08-26 23:12:13 +00:00
Nick Mathewson
70fe2a6cee
Crashing dirservers on startup is often considered bad form.
...
svn:r4874
2005-08-26 23:04:12 +00:00
Nick Mathewson
e863771485
Log when falling back to nonfast/nonstabl routers
...
svn:r4869
2005-08-26 22:16:32 +00:00
Nick Mathewson
ed070b0fdb
Set a variable that exists. That works better.
...
svn:r4868
2005-08-26 22:16:09 +00:00
Roger Dingledine
6577e08e38
when we're trying to build a circuit and we're being picky about what
...
sort we get but there aren't any suitable servers, try being less picky
rather than simply failing.
svn:r4867
2005-08-26 22:10:22 +00:00
Nick Mathewson
a74ad8efea
Remember to mark v2 networkstatus non-dirty when we generate it; also, fix spaces.
...
svn:r4866
2005-08-26 22:08:24 +00:00
Nick Mathewson
3cc960c7dd
Make sure that cached-status directory exists.
...
svn:r4865
2005-08-26 22:03:57 +00:00
Roger Dingledine
77f52e3467
fix some logs and comments
...
svn:r4864
2005-08-26 21:55:38 +00:00
Nick Mathewson
ae4a183ed8
Change the return values on dirserv_add_descriptor
...
svn:r4863
2005-08-26 21:46:24 +00:00
Roger Dingledine
53431a4950
fix compile complaints (and a bug)
...
svn:r4862
2005-08-26 21:30:52 +00:00
Nick Mathewson
e24d540d81
We no longer need dirserv_load_from_directory_string, so dirserv_add_descriptor no longer has to keep track of where each descriptor ends.
...
svn:r4861
2005-08-26 21:28:16 +00:00
Nick Mathewson
208bdf5f27
No need to load cached directory twice
...
svn:r4860
2005-08-26 21:19:58 +00:00
Roger Dingledine
715b972300
disarm a trap
...
svn:r4859
2005-08-26 21:12:53 +00:00
Nick Mathewson
47669fa0fd
Fix assert failure on directory startup.
...
svn:r4858
2005-08-26 21:12:34 +00:00
Nick Mathewson
f559c49c39
Make network-status strings wellformed
...
svn:r4857
2005-08-26 21:11:53 +00:00
Nick Mathewson
47aa42fc17
Remove a field that nobody sets or uses.
...
svn:r4856
2005-08-26 21:11:34 +00:00
Nick Mathewson
9a3be928e9
Note that a descriptor has changed when we receive a new directory.
...
svn:r4855
2005-08-26 21:02:18 +00:00
Nick Mathewson
0e649ac60a
Remove descriptor_list and use routerlist instead. Make directories manage routerlist a little better.
...
svn:r4854
2005-08-26 20:59:04 +00:00
Roger Dingledine
a47765a16d
stop freeing the new global options list whenever we update it.
...
svn:r4853
2005-08-26 20:26:20 +00:00
Roger Dingledine
237f58524f
make it clearer which elements of routerinfo_t are for reachability
...
testing
svn:r4852
2005-08-26 20:22:32 +00:00
Roger Dingledine
f3bccdce73
if dirservers set assumereachable, it overrides their individual
...
reachability testing
svn:r4851
2005-08-26 20:08:12 +00:00
Roger Dingledine
61f728f4fe
fix an infinite loop at hup
...
svn:r4850
2005-08-26 20:07:55 +00:00
Nick Mathewson
7f78be1659
Clean up the "add myself as a trusted dirserver" code.
...
svn:r4849
2005-08-26 19:31:51 +00:00
Nick Mathewson
43488472ec
The circus music begins playing as nickm and arma juggle an ntohl. Hoop-lah!
...
svn:r4848
2005-08-26 19:25:36 +00:00
Nick Mathewson
ee76baae3d
move a wandering ntohl
...
svn:r4847
2005-08-26 19:23:52 +00:00
Nick Mathewson
0239249160
Only free strmap if it is allocated.
...
svn:r4846
2005-08-26 18:48:13 +00:00
Nick Mathewson
cf90a36dd1
Add quotes around filenames in src/or
...
svn:r4845
2005-08-26 18:44:26 +00:00
Nick Mathewson
ff25a7707a
fix syntax err
...
svn:r4843
2005-08-26 18:35:52 +00:00
Nick Mathewson
88989be99b
More documenting
...
svn:r4842
2005-08-26 18:02:49 +00:00
Nick Mathewson
e204dd5d2a
Remove accidentally added printf
...
svn:r4841
2005-08-26 15:35:43 +00:00
Nick Mathewson
d54d7b7ec1
Add some documentation; move the signature generation logic into routerparse.c along with the hash generation logic; make router signing use it as well.
...
svn:r4840
2005-08-26 15:34:53 +00:00
Roger Dingledine
893acb3acc
Make a new AssumeReachable config option that will publish anyway.
...
Also, let authdirservers start without setting their Address field.
Something is still not working though. Will fix in morning.
svn:r4839
2005-08-26 07:41:19 +00:00
Nick Mathewson
e68bed8782
Fall back to routerlist instead of descriptor_list when we are a cache.
...
svn:r4837
2005-08-25 20:54:12 +00:00
Nick Mathewson
4dc3cb9fd9
Fix a segfault when starting a dir cache
...
svn:r4836
2005-08-25 20:45:53 +00:00
Nick Mathewson
54a6a8f0ef
Start implementing the server side of the new directory protocol.
...
Probably very buggy, since I can't actually run an authdir.
Features
- Generate and publish new network-status format
- Code to cache and re-serve network-status objects generated by others.
- Publish individual descriptors (by fingerprint, by "all", and by
"tell me yours.") [Still needs compression logic]
- Publish client and server recommended versions seprately.
- Add digest of descriptor to routerinfo_t, so we can track them better, and
length, so we can server them more easily.
Cleanups
- Unify code to sign directory-like things
- Make resolve_my_address() able to tell you which name it wound up resolving.
- Unify code to store and serve directory-like things so it all uses
cached_dir_t.
- Unify code to set the value of cached_dir_t objects.
svn:r4835
2005-08-25 20:33:17 +00:00
Roger Dingledine
86f85f240c
be much more conservative about logging reachability complaints.
...
the ones it logs now are probably genuine problem servers.
svn:r4832
2005-08-24 14:31:32 +00:00
Roger Dingledine
e54e970a82
ha ha, that infinite loop was fun.
...
but dirservers aren't supposed to have infinite loops.
svn:r4831
2005-08-24 12:14:44 +00:00
Roger Dingledine
a120cc20c1
Dirservers now do their own external reachability testing of each
...
Tor server, and only list them as running if they've been found to
be reachable.
Dirservers also log trouble servers, but only start complaining loudly
after they've been up for an hour, to reduce false positives. We still
need to do something about the fact that it is quite loud when there
are many trouble servers.
svn:r4829
2005-08-24 02:31:02 +00:00
Nick Mathewson
5d590861c4
TOR_ISSPACE, not isspace.
...
svn:r4828
2005-08-24 02:20:31 +00:00
Nick Mathewson
b72ab23ded
check [X-]Forwarded-For headers in HTTP requests when generating log messages. Implements feature for bug 181. Arma--please review?
...
svn:r4826
2005-08-23 22:27:17 +00:00
Nick Mathewson
50452c32ec
fix bug 180: handle duplicate lines in approved-routers files.
...
svn:r4825
2005-08-23 22:00:35 +00:00
Roger Dingledine
f35ef825f9
Our logic to decide if the OR we connected to was the right guy
...
was brittle and maybe open to a mitm for unverified routers.
Now we be sure to check the digest, and if the nickname he claims is
not a verified one then we don't care what nickname he claims.
svn:r4823
2005-08-23 09:50:51 +00:00
Roger Dingledine
675f6b5f3c
that comma was important
...
svn:r4820
2005-08-23 01:00:30 +00:00
Roger Dingledine
8b766d1b7e
fix bad logic that has been lurking for eons, that now prevented us
...
from uploading descriptors after the first one.
svn:r4818
2005-08-23 00:47:44 +00:00
Roger Dingledine
ab112ca6ad
and don't print the null string here either
...
svn:r4816
2005-08-22 22:59:54 +00:00
Roger Dingledine
23ed3c9786
whoops, avoid printing a null string sometimes
...
svn:r4815
2005-08-22 22:58:38 +00:00
Roger Dingledine
676b330eb2
Make DirPostPeriod config option obsolete.
...
Force new descriptor upload every 18 hours, not 24, to avoid races.
Change rate-limiting on new descriptors due to bandwidth changes, from
45 minutes to 20 minutes.
svn:r4814
2005-08-22 21:53:12 +00:00
Roger Dingledine
fa64d73fc7
fix function headers from the descriptor-frequency commit
...
svn:r4809
2005-08-22 06:45:18 +00:00
Roger Dingledine
435d2d8fde
when we begin reachability testing, log the address:port for each
...
port we're testing, so people are more likely to notice that they're
using the wrong ip address.
svn:r4808
2005-08-22 05:46:02 +00:00
Roger Dingledine
d928411acd
change log entry for unreachability to explicitly suggest /etc/hosts
...
as the culprit
svn:r4807
2005-08-22 05:33:49 +00:00
Nick Mathewson
dc09c7fc73
Implement new (reduced-frequency) upload rules. arma, you should review this.
...
svn:r4806
2005-08-22 03:10:53 +00:00
Nick Mathewson
9b6eeb81aa
Make unit tests run without segfaulting
...
svn:r4804
2005-08-22 00:34:42 +00:00
Nick Mathewson
7a442c2c48
Make set_options a little smarter: have options_act handle transitions on its own, and only dirty our descriptor when we really want to.
...
svn:r4802
2005-08-22 00:18:45 +00:00
Roger Dingledine
5e76bac1dd
the tor-spec says router->address must be an IP address. so refuse
...
it if it's not.
(this also fixes some potential security problems with people providing
hostnames as their address and then preferentially resolving them and
partitioning users.)
svn:r4790
2005-08-16 02:52:27 +00:00
Roger Dingledine
04d42ea433
rotate dns and cpu workers if the controller changes options that
...
will affect them.
svn:r4787
2005-08-15 23:46:18 +00:00
Roger Dingledine
b1d3f124c4
Permit transitioning from ORPort=0 to ORPort!=0, and back.
...
This is actually a bit more subtle, because we need to rotate
the dnsworkers and cpuworkers if certain options (logs, orport, etc)
change. Maybe set_options() should detect this and notify the caller
that it should rotate them.
Expect some mysterious crashes.
svn:r4786
2005-08-15 10:30:45 +00:00
Roger Dingledine
10ff723938
initialize the dns worker cache tree whether or not we start
...
out as a server.
svn:r4785
2005-08-15 10:27:37 +00:00
Roger Dingledine
157f013d83
fix typo
...
svn:r4784
2005-08-15 09:25:36 +00:00
Roger Dingledine
00c2ba4841
resolve a XXX
...
svn:r4783
2005-08-15 09:19:55 +00:00
Roger Dingledine
11bc97801d
clean up some confusing logs.
...
make MonthlyAccountingStart truly obsolete now.
svn:r4782
2005-08-15 09:17:47 +00:00
Roger Dingledine
79e3f5600a
hey, we have a function for that
...
svn:r4781
2005-08-15 08:51:20 +00:00
Roger Dingledine
3728011f36
after failing from resolve failed or misc, reset the num failures.
...
svn:r4780
2005-08-15 03:35:15 +00:00
Roger Dingledine
f57d062d9c
Implement exit enclaves: if we know an IP address for the destination,
...
and there's a running Tor server at that address which allows exit to
the destination, then extend the circuit to that exit first.
Also, if the user asks for a .exit node, cannibalize general circs for it.
svn:r4779
2005-08-15 03:25:40 +00:00
Roger Dingledine
cc1b82ade8
when listing min-bandwidth servers in the controller, don't get
...
fooled by a low bandwidthrate
svn:r4777
2005-08-14 08:38:34 +00:00
Roger Dingledine
ff54050fda
let unregistered-servers take a parameter (the min bandwidth)
...
nick, is this an ugly hack of your protocol?
svn:r4775
2005-08-13 02:20:00 +00:00
Roger Dingledine
66b21a19db
Add a 'quit' command for the controller.
...
Add a 'getinfo unregistered-servers' for arma's internal use.
svn:r4774
2005-08-13 01:55:23 +00:00
Roger Dingledine
6d875b7d58
i'm sick of having my streams fail because of a confused exit node.
...
try this band-aid to see if it gets better.
svn:r4773
2005-08-13 00:31:41 +00:00
Roger Dingledine
87fcd60aa2
predict required circuits better, with an eye toward making
...
hidden services faster on the service end.
svn:r4772
2005-08-13 00:22:07 +00:00
Nick Mathewson
789374dbbd
Make GCC very happy, even with lots of warnings set. Also, try to fix some reported Solaris x86 warnings.
...
svn:r4770
2005-08-12 17:24:53 +00:00
Nick Mathewson
21959c1bfd
start using new renddesc code
...
svn:r4769
2005-08-12 15:05:05 +00:00
Roger Dingledine
aab541c852
We weren't cannibilizing circuits correctly for
...
CIRCUIT_PURPOSE_C_ESTABLISH_REND and CIRCUIT_PURPOSE_S_ESTABLISH_INTRO
so we were being forced to build those from scratch.
This should save us a bit of time. Also fixes bug 173.
svn:r4763
2005-08-12 01:26:21 +00:00
Roger Dingledine
2caa74e6ff
quiet a noisy debug
...
svn:r4762
2005-08-12 00:34:50 +00:00
Nick Mathewson
16528aa070
Add a config-file GETINFO entry; fix a minor memory leak on some SAVECONF calls.
...
svn:r4761
2005-08-10 18:05:20 +00:00
Nick Mathewson
c031d14633
Fix segfault in unit tests
...
svn:r4760
2005-08-09 18:49:43 +00:00
Nick Mathewson
18abdfdf58
Replace ADDR_POLICY_ACCEPT/REJECT with its own enum
...
svn:r4756
2005-08-09 05:22:23 +00:00
Nick Mathewson
05bced6139
check_software_version_against_directory needs a return value.
...
svn:r4755
2005-08-09 05:20:14 +00:00
Nick Mathewson
742796c19f
Avoid sending blank lines when GETINFO replies should be empty
...
svn:r4754
2005-08-09 05:16:29 +00:00
Nick Mathewson
943ef5256b
fix whitespace issues
...
svn:r4752
2005-08-08 21:59:48 +00:00
Nick Mathewson
249b72f53e
Replace (Fascist)Firewall* with a new ReachableAddresses option that understands address policies.
...
svn:r4751
2005-08-08 21:58:48 +00:00
Roger Dingledine
3ac34ae329
get rid of IgnoreVersion and the forced auto-exit mis-feature
...
svn:r4746
2005-08-08 21:52:57 +00:00
Roger Dingledine
588e80fdcd
fix a function comment
...
svn:r4743
2005-08-08 17:48:23 +00:00
Nick Mathewson
50cfcbe157
Note which directory server said 400 to a renddesc.
...
svn:r4742
2005-08-08 17:32:17 +00:00
Roger Dingledine
2e918af35d
a few typo fixes
...
svn:r4738
2005-08-07 21:58:23 +00:00
Nick Mathewson
01d0788950
Generalize FirewallPorts to FirewallIPs so I can run happily when locked in net 18.
...
svn:r4737
2005-08-07 21:24:00 +00:00
Nick Mathewson
4e735da5da
Also set event_mask=0 in connection_free_all, and dont send events to marked control conns (for good measure)
...
svn:r4729
2005-08-07 19:27:38 +00:00
Roger Dingledine
5c4da9dec6
incomplete patch for matt's info controller signal term bug
...
svn:r4728
2005-08-07 19:20:55 +00:00
Nick Mathewson
999b7951c3
Shorten hidden service port config parsing; fix bug 174
...
svn:r4725
2005-08-06 21:35:04 +00:00
Nick Mathewson
52475ee19b
Alphebetize config variables
...
svn:r4714
2005-08-05 01:35:43 +00:00
Nick Mathewson
4870877231
Add SOCKSAndDNS link to appropriate log message, since we wind up pointing everybody to it anyway
...
svn:r4695
2005-08-04 20:12:44 +00:00
Nick Mathewson
4cb89fd557
Implement some more GETINFO goodness: expose helper nodes, config options, getinfo keys.
...
svn:r4694
2005-08-04 19:56:41 +00:00
Nick Mathewson
303258972b
Fix idiot bug. The "free the IP history" code belons in connection_free_all(), not in connection_free(). You can all mock me now.
...
svn:r4691
2005-08-04 18:29:01 +00:00
Nick Mathewson
11ff0aba80
Make clients regenerate their keys when their IP address changes.
...
svn:r4688
2005-08-03 20:42:17 +00:00
Nick Mathewson
ceb02cee2c
If they havent told us by now, they probably never will.
...
svn:r4687
2005-08-03 20:37:13 +00:00
Nick Mathewson
d90841ff5a
Fix bug in state parsing
...
svn:r4681
2005-07-28 19:08:51 +00:00
Nick Mathewson
299af3d393
Possibly broken implementation of persistant state; handles helper nodes; does not handle accounting info yet.
...
svn:r4680
2005-07-28 19:01:48 +00:00
Roger Dingledine
a32f936346
whoops, fix compile
...
svn:r4674
2005-07-25 10:36:01 +00:00
Roger Dingledine
1e0fdcae98
parameterize RephistTrackTime
...
svn:r4673
2005-07-25 10:29:21 +00:00
Roger Dingledine
9385a96235
fix typos
...
svn:r4645
2005-07-23 04:35:58 +00:00
Nick Mathewson
bb4ebaac6f
document code for hibernation
...
svn:r4644
2005-07-23 04:12:35 +00:00
Nick Mathewson
2bd6040f62
Rename cross-format config.c stuff to config_* and or_options_t-specific stuff to option[s]_*
...
svn:r4641
2005-07-23 01:58:05 +00:00
Nick Mathewson
3cb7b97660
Fix out-of-place declaration
...
svn:r4640
2005-07-23 01:52:24 +00:00
Nick Mathewson
18c11eb3bc
Be consistent about preferring foo* to struct foo*
...
svn:r4637
2005-07-22 21:12:10 +00:00
Nick Mathewson
c252a76f0b
Parameterize configuration parsing functions
...
svn:r4635
2005-07-22 20:37:42 +00:00
Nick Mathewson
c3a62c1739
Initial, somewhat dodgy implementation of helper nodes. It has too many XXXXs, it logs too verbosely, and it doesnt do persistence.
...
svn:r4633
2005-07-22 17:32:25 +00:00
Nick Mathewson
5b4e11fa5d
Add getinfo logic for accounting; add options for helper nodes
...
svn:r4632
2005-07-22 14:55:09 +00:00
Roger Dingledine
3333d27f41
we were mangling memory because we weren't allocing enough
...
for the hidserv desc
nick can you check that this is enough now?
svn:r4628
2005-07-22 00:18:25 +00:00
Roger Dingledine
1efeb3908a
let hidden service descriptors publish 0 intro points
...
nick, please check the logic here
svn:r4627
2005-07-22 00:14:58 +00:00
Roger Dingledine
11bd4bc521
in circuit_list_path(), don't redundantly print the intended exit
...
nickname when the circuit is open.
svn:r4622
2005-07-20 20:33:13 +00:00
Roger Dingledine
eedb7c243e
be consistent about printing out key digest $'s when we're getting a
...
different key than we expect
svn:r4609
2005-07-19 21:26:24 +00:00
Roger Dingledine
7ac36a9a74
unit tests to prove i didn't screw up
...
svn:r4602
2005-07-18 23:36:12 +00:00
Roger Dingledine
e479cc935e
stop asserting if we have a controller listening for circuit events
...
and we're offline so we fail to make a circuit and it tries to notify
us about the zero-length circuit.
svn:r4600
2005-07-18 23:18:00 +00:00
Roger Dingledine
5fe18894b9
now that we're recommending 0.1.1.x-alpha for win32 and os x users,
...
stop printing debug stuff once a minute
svn:r4596
2005-07-18 19:16:17 +00:00
Roger Dingledine
e8a1b1d6a0
add a trivial tor-counting variable
...
svn:r4593
2005-07-18 06:09:04 +00:00
Roger Dingledine
43a28a4ca9
make event streams work with control v1 too
...
svn:r4590
2005-07-17 22:28:01 +00:00
Roger Dingledine
6ac245793c
downgrade a warning that could plausibly happen sometimes now that we
...
have controllers.
svn:r4589
2005-07-17 21:43:47 +00:00
Roger Dingledine
090836d171
correct error message in closestream
...
svn:r4588
2005-07-17 21:36:33 +00:00
Roger Dingledine
ebf13c6282
not not zero means zero
...
svn:r4587
2005-07-17 21:22:18 +00:00
Roger Dingledine
5643532bd9
if the controller asks to extendcircuit to circid 0, we need to
...
init the circuit before we can add hops to its cpath.
svn:r4586
2005-07-17 21:13:36 +00:00
Roger Dingledine
fe7535c5e2
arguments in EXTENDCIRCUIT were reversed
...
and an error message was misleading
and we were leaking memory on some errors
more bugs remain
svn:r4585
2005-07-17 21:06:00 +00:00
Nick Mathewson
2cff73e7a4
Make "Couldnt add router to list" message more descriptive. Make messages consistenly punctuated.
...
svn:r4582
2005-07-15 19:40:38 +00:00
Nick Mathewson
f8b48176ed
Fix several bugs in read_escaped_data; add a unit test and a few docs
...
svn:r4580
2005-07-15 19:31:11 +00:00
Nick Mathewson
441e02d4ac
Merge patch from Matt Edman for bug 162 (service never stops)
...
svn:r4578
2005-07-15 19:09:36 +00:00
Roger Dingledine
545c2c6c87
the other half of the bugfix: tolerate a trusted dirserver claiming
...
dirport 0 in its descriptor.
svn:r4576
2005-07-15 18:56:59 +00:00
Roger Dingledine
97174b67c2
if you're an auth dir server, always publish your dirport,
...
even if you haven't yet found yourself to be reachable.
this is the cause of Jan Tore Morken's recent or-talk bug.
svn:r4575
2005-07-15 18:49:35 +00:00
Roger Dingledine
83dc42055d
point out some bugs for nick, noticed by whiteout
...
svn:r4574
2005-07-15 18:48:38 +00:00
Roger Dingledine
452c98058f
missed one
...
svn:r4567
2005-07-14 23:08:55 +00:00
Roger Dingledine
d8d0feb633
tell us what kind of listener it is, too
...
svn:r4566
2005-07-14 23:07:05 +00:00
Nick Mathewson
f86a1e634f
fix opening listener log msg
...
svn:r4565
2005-07-14 23:04:31 +00:00
Nick Mathewson
e94f95a716
Populate address field of listeners with an actually sane value.
...
svn:r4564
2005-07-14 22:56:17 +00:00
Roger Dingledine
ceae96a3a0
put in tor26's new IP address
...
svn:r4560
2005-07-14 22:37:52 +00:00
Nick Mathewson
331942870e
fix problems noticed by arma in rendservice.c
...
svn:r4558
2005-07-14 16:41:47 +00:00
Nick Mathewson
149e9a5900
remove pointless XXXX. It was there to remind me to do something I already did.
...
svn:r4557
2005-07-14 16:37:33 +00:00
Roger Dingledine
4a6bf116e7
substantive changes on nick's rendezvous commit.
...
nick, can you fix these?
svn:r4554
2005-07-14 08:45:19 +00:00
Roger Dingledine
2259032ea1
trivial changes on nick's rendezvous commit
...
svn:r4553
2005-07-14 08:43:19 +00:00
Roger Dingledine
19810ba38e
make it more pleasant to be told you're using libevent
...
svn:r4548
2005-07-13 21:22:34 +00:00
Roger Dingledine
306f7d320c
make a notice-level log make more sense.
...
svn:r4547
2005-07-13 21:12:33 +00:00
Nick Mathewson
97c58f066a
whitespace fixes
...
svn:r4544
2005-07-13 17:24:55 +00:00
Nick Mathewson
cf13b3e4a6
Macro-fu to get DEBUG events working.
...
svn:r4539
2005-07-13 05:14:42 +00:00
Roger Dingledine
ddecb1a04d
looks like we were never delivering deflated running-routers lists
...
svn:r4536
2005-07-12 22:56:22 +00:00
Roger Dingledine
7c7c95c3f6
anonymous bugfix on our pointer arithmetic
...
svn:r4535
2005-07-12 22:56:06 +00:00
Nick Mathewson
0828feaf7c
Add belt-and-suspenders fix to coredump from yesterday; document more functions in buffers.c
...
svn:r4532
2005-07-12 18:19:30 +00:00
Roger Dingledine
8f9790a023
fix a seg fault with autodetecting which controller version is being used
...
svn:r4531
2005-07-12 05:48:15 +00:00
Nick Mathewson
63f9a8baa2
Canonicalize option names even on defaulted options.
...
svn:r4530
2005-07-11 18:11:54 +00:00
Nick Mathewson
50a206e800
Do not reverse command-line configuration options; Use new minimal-listener-close code; Add code to canonicalize configuration names.
...
svn:r4529
2005-07-11 17:35:36 +00:00
Nick Mathewson
658e1196d0
Change retry_listeners: when force is false, close and re-open a minimal set of listeners (i.e., those that do not match the configuration). This fixes a possible bug on some windowses. Maybe.
...
svn:r4528
2005-07-11 17:20:22 +00:00
Nick Mathewson
e1db33971e
NT service patch from Matt Edman to improve error messages, lightly cleaned; needs more testing.
...
svn:r4527
2005-07-09 16:37:12 +00:00
Roger Dingledine
2f1f0c8d21
be flexible in what you accept: when people type "tor --install" thinking
...
they had typed "tor -install", make it work too.
svn:r4526
2005-07-09 03:28:58 +00:00
Roger Dingledine
5c1ba5dcf7
fix compile error in cvs
...
svn:r4520
2005-07-02 00:18:09 +00:00
Nick Mathewson
b11e314f2e
Be more explicit about which IP we are connecting to; expose future exit policy problems better.
...
svn:r4519
2005-07-01 13:40:29 +00:00
Roger Dingledine
271d49958e
fix another compile warn
...
svn:r4516
2005-07-01 02:02:24 +00:00
Roger Dingledine
3bb756b93b
forward-port the 0.1.0.11 stuff
...
svn:r4515
2005-07-01 02:01:21 +00:00
Roger Dingledine
055477f121
fix compile error (and likely a a crash bug in resolves)
...
svn:r4514
2005-07-01 01:59:37 +00:00
Nick Mathewson
d85bfe83bf
Make errors retrievable from tor_socketpair; resolve bug 163.
...
svn:r4509
2005-06-30 07:17:38 +00:00
Nick Mathewson
ec83652357
Logic to implement rendezvous/introduction via unknown servers.
...
- Add a new extend_info_t datatype to hold information needed to
extend a circuit (addr,port,keyid,onion_key). Use it in cpath and
build_state. Make appropriate functions take or return it instead of
routerinfo_t or keyid.
- #if 0 needless check in circuit_get_by_edge_conn; if nobody triggers this
error in 0.1.0.10, nobody will trigger it.
- Implement new hidden service descriptor format, which contains "extend
info" for introduction points, along with protocol version list.
- Parse new format.
- Generate new format
- Cache old and new formats alongside each other.
- Directories serve "old" format if asked in old way, "newest available"
format if asked in new way.
- Use new format to find introduction points if possible; otherwise fall
back. Keep nickname lists and extendinfo lists in sync.
- Tests for new format.
- Implement new "v2" INTRODUCE cell format.
- Accept new format
- Use new format if we have a versioned service descriptor that says the
server accepts the new format.
- Add documentation for functions and data types.
svn:r4506
2005-06-29 21:46:55 +00:00
Roger Dingledine
6b21c8e74f
make the local and private network masks explicit when we complain
...
svn:r4501
2005-06-29 19:15:23 +00:00
Roger Dingledine
caf7af26d7
whitespace fix
...
svn:r4500
2005-06-28 01:53:15 +00:00
Nick Mathewson
806da0d8b2
Compile on win32
...
svn:r4496
2005-06-27 23:35:04 +00:00
Nick Mathewson
30571317dd
Fix unit tests that used old signature for add_fingerprint_to_dir
...
svn:r4495
2005-06-27 22:25:09 +00:00
Nick Mathewson
b759fe4b8d
It is not the end of the world when a router descriptor has an unrecognized kwd
...
svn:r4480
2005-06-24 23:42:15 +00:00
Roger Dingledine
00a7a37c94
we were printing the number of idle dns workers incorrectly.
...
svn:r4477
2005-06-23 07:57:43 +00:00
Roger Dingledine
9808fbd884
make the log message less scary when all the dirservers are
...
temporarily unreachable
svn:r4476
2005-06-22 21:59:11 +00:00
Nick Mathewson
3ff473b47b
Appease the hungry god of GCC: it wants functions to be static or prototyped!
...
svn:r4471
2005-06-21 01:08:01 +00:00
Roger Dingledine
419d647353
more cleanups before i go wild
...
svn:r4469
2005-06-21 01:00:42 +00:00
Roger Dingledine
9c67ae34f1
overall cleanup and streamlining and doccing
...
also fix a DoS avenue on dirservers
svn:r4468
2005-06-20 23:04:13 +00:00
Nick Mathewson
2aff87caae
Load hardware acceleration options when/where available. Can anybody test this?
...
svn:r4467
2005-06-20 18:56:35 +00:00
Nick Mathewson
5eef9177c5
Appease verbose GCC warnings.
...
svn:r4466
2005-06-20 09:38:29 +00:00
Nick Mathewson
eb327e7660
Add feature to handle unset (default) configuration options in GETCONF control messages
...
svn:r4461
2005-06-19 22:38:36 +00:00
Nick Mathewson
64fc1f7bae
Implement all the rest of the new controller protocol, debug a little, add some new features, add ADDRMAP events.
...
svn:r4460
2005-06-19 20:40:41 +00:00
Roger Dingledine
b5fd75a063
forward-port the --hash-password bug, plus other nearby fixes
...
svn:r4459
2005-06-19 08:35:46 +00:00
Roger Dingledine
cc57e1cab1
fix stray funny-character
...
svn:r4458
2005-06-19 08:35:16 +00:00
Nick Mathewson
d38c696d5a
The new protocol is implemented. Except for the pesky string unquoting business. And the cleanups. And the docs. And the testing. And the debugging. And the new features. Hm, I think it is time to sleep.
...
svn:r4456
2005-06-18 03:50:08 +00:00
Nick Mathewson
3f2339d1d3
Implement EXTENDCIRCUIT and ATTACHCIRCUIT. Only SETCONFIG and AUTHENTICATE remain.
...
svn:r4455
2005-06-18 03:09:43 +00:00
Nick Mathewson
c2f6fe9b85
Implement even more control functionality
...
svn:r4454
2005-06-18 02:39:25 +00:00
Nick Mathewson
9b4aa8d2ab
Implement all the easy bits of the new control protocol
...
svn:r4449
2005-06-17 20:37:21 +00:00
Nick Mathewson
f9f09f1c5e
Start implementing framework for revised control spec.
...
svn:r4447
2005-06-17 18:49:55 +00:00
Nick Mathewson
d4972bd2e1
Remove code that has been #if-0ed for a long time.
...
svn:r4435
2005-06-15 18:34:46 +00:00
Roger Dingledine
a3c66475f3
compile fix by agl, for code that is always commented out
...
svn:r4427
2005-06-13 17:33:12 +00:00
Nick Mathewson
2b8fd9ceda
Allow a few EINVALs from libevent before dying. Warn on kqueue with libevent before 1.1a
...
svn:r4419
2005-06-13 00:35:19 +00:00
Roger Dingledine
91b1fb7ff7
some more cleaning and docing
...
svn:r4415
2005-06-11 21:17:38 +00:00
Nick Mathewson
beae4d0d32
whitespace fix
...
svn:r4414
2005-06-11 18:59:24 +00:00
Nick Mathewson
44107b6b13
fix typo in last patch
...
svn:r4413
2005-06-11 18:56:16 +00:00
Nick Mathewson
232861ba42
Docment or add DOCDOC comments to undocumented functions in src/or. Make function definition format uniform.
...
svn:r4411
2005-06-11 18:52:12 +00:00
Roger Dingledine
2587fa09f9
move more docs into our code
...
svn:r4406
2005-06-11 06:07:22 +00:00
Roger Dingledine
fcd0fc3364
flesh out the source file descriptions for doxygen
...
svn:r4404
2005-06-11 05:31:17 +00:00
Roger Dingledine
b349e60543
don't tell people you're publishing the server descriptor if you're
...
actually not.
svn:r4387
2005-06-09 21:23:54 +00:00
Nick Mathewson
0831823763
Change end-of-file NLNL convention. It turns out arma I and I agree.
...
svn:r4382
2005-06-09 19:03:31 +00:00
Nick Mathewson
a6f51001a5
New whitespace normalization rule: no blank line at EOF.
...
svn:r4378
2005-06-09 16:46:51 +00:00
Roger Dingledine
15f937c95e
when a dirserver gets a mismatched fingerprint, log the expected
...
fp and the received fp
svn:r4372
2005-06-09 10:21:55 +00:00
Roger Dingledine
cfc89f8753
pay more attention to the ClientOnly config option
...
svn:r4367
2005-06-09 08:54:42 +00:00
Roger Dingledine
d922fa7b10
fix another underflow in keeping stats
...
these size_ts are subtle buggers
svn:r4364
2005-06-09 03:57:54 +00:00
Nick Mathewson
87caad5445
Fix an underflow in buffer use conting.
...
svn:r4360
2005-06-08 21:55:02 +00:00
Roger Dingledine
43709a9c3d
clean up the log warn a bit
...
svn:r4357
2005-06-08 20:45:29 +00:00
Nick Mathewson
c45845204a
Fix warning about unused function when compiling with ancient libevent
...
svn:r4355
2005-06-08 20:35:28 +00:00
Roger Dingledine
44e85544e4
absolutely refuse to let people pick internal IP addresses if
...
they're using the default dirservers.
we're getting a big pile of a dozen or so servers that have picked
private IP addresses despite the warning (presumably they don't even
know they have logs)
svn:r4354
2005-06-08 20:32:22 +00:00
Nick Mathewson
b0538591c7
Reset buf->highwater every time buf_shrink is called, not just on suffessful shrink.
...
svn:r4353
2005-06-08 20:17:32 +00:00
Roger Dingledine
9ed7b53143
don't upload your descriptor if rebuilding it failed
...
svn:r4352
2005-06-08 19:45:17 +00:00
Roger Dingledine
4c43789435
Some play code to throw away old buffers sometimes rather
...
than constantly reallocing them; just in case this is our memory
problem. It looks for now like it isn't, so disabled.
svn:r4349
2005-06-08 17:27:11 +00:00
Roger Dingledine
eeb6d6dba6
dump periodic memory usage stats
...
svn:r4348
2005-06-08 17:24:58 +00:00
Nick Mathewson
be1c81a767
Fix syntax error.
...
svn:r4346
2005-06-08 16:26:44 +00:00
Nick Mathewson
ec07e1195f
add patch for 143 and code to check for known-bad/slow libevent versions. Needs more testing.
...
svn:r4344
2005-06-08 13:53:19 +00:00
Roger Dingledine
aff308e6d9
reenable the part of the code that tries to flush as soon as an OR outbuf
...
has a full tls record available. perhaps this will make OR outbufs not grow
as huge except in rare cases, thus saving lots of cpu time plus memory.
svn:r4343
2005-06-08 04:55:06 +00:00
Roger Dingledine
1a5c5452b4
when you send a USR2 signal, the log message now tells you to send
...
a HUP signal if you want to change back to old log levels.
svn:r4332
2005-06-07 18:16:14 +00:00
Nick Mathewson
621ab95e59
Fix for 152: reject malformed .onion addresses rather then passing them on
...
svn:r4329
2005-06-07 18:01:46 +00:00
Nick Mathewson
2118e5798a
Use correct errno from libevent on win32
...
svn:r4327
2005-06-07 17:32:33 +00:00
Nick Mathewson
e1c8aa8035
Fix win32 compilation: backport candidate
...
svn:r4320
2005-06-06 20:06:10 +00:00
Nick Mathewson
fc40f974c2
When RNG seeding fails, die. Backport candidate
...
svn:r4319
2005-06-06 20:02:33 +00:00
Nick Mathewson
baa10cbbfa
Instrument buffers.c and rephist.c memory usage
...
svn:r4317
2005-06-06 17:03:21 +00:00
Nick Mathewson
9f24078452
Fix buffer overlow when checking hashed passwords
...
svn:r4308
2005-06-05 14:28:47 +00:00
Nick Mathewson
3c58cdf280
Add unit test for openpgp s2k
...
svn:r4306
2005-06-04 13:43:03 +00:00
Roger Dingledine
4855990d37
clean up a few more log entries
...
svn:r4304
2005-05-27 17:43:43 +00:00
Roger Dingledine
bfc7838b97
downgrade the 'caught sigpipe' notice.
...
we're going to pretend like all of these are fine.
svn:r4301
2005-05-25 02:20:15 +00:00
Roger Dingledine
4f0d7b82ae
make lucky's weird libevent poll einprogress bug just warn, not kill tor.
...
svn:r4300
2005-05-24 22:58:57 +00:00
Nick Mathewson
d2cdae221d
Fix not-freed-on-exit event
...
svn:r4298
2005-05-24 17:13:15 +00:00
Roger Dingledine
5005f682ae
Bugfix: we were checking to see if you want to send a keepalive, based
...
on five minutes since last successful write. But if you have bytes queued
already, and they're not getting through, we were adding a new keepalive
every second. This was bad.
svn:r4296
2005-05-23 22:20:54 +00:00
Roger Dingledine
040a748d87
i screwed up the dirport reachability testing when we don't yet
...
have a cached version of the directory. hopefully now fixed.
svn:r4284
2005-05-23 05:20:52 +00:00
Nick Mathewson
751db63a17
Always disable kqueue on OSX. It seems linked to kernel panics
...
svn:r4282
2005-05-23 04:28:58 +00:00
Nick Mathewson
11a64692c3
Make hashed controller password encoding use hex not base64; this makes it possible to write a controller without base64
...
svn:r4279
2005-05-23 02:31:53 +00:00
Roger Dingledine
b86716b839
If a socks connection ends because read fails, don't warn that you're
...
not sending a socks reply back. (bug reported by Warren Barrow)
svn:r4277
2005-05-21 00:15:23 +00:00
Roger Dingledine
d22c141659
we were leaking 616 bytes every time somebody established us as
...
an intro point for their hidden service.
svn:r4276
2005-05-20 22:14:33 +00:00
Roger Dingledine
c95677725a
a note for nick about other memory not freed at exit
...
svn:r4275
2005-05-20 22:11:46 +00:00
Roger Dingledine
f0e309e5bd
add HttpProxyAuthenticator config option too
...
svn:r4272
2005-05-20 08:51:45 +00:00
Roger Dingledine
0fa1890e0e
fix the assumption that uninitialized variables are 0
...
clean up router_load_single_router() more
svn:r4266
2005-05-18 03:52:07 +00:00
Roger Dingledine
fe78aac027
fix seg faults when router_load_single_router fails
...
svn:r4265
2005-05-18 03:42:46 +00:00
Nick Mathewson
e7354725bb
Handle relay cells with rh.length too large.
...
svn:r4264
2005-05-17 20:00:24 +00:00
Roger Dingledine
9abef5e483
allow the middle hop of the testing circuit to be running
...
any version, now that most of them have the bugfix to let
them connect to unknown servers.
svn:r4263
2005-05-17 19:46:43 +00:00
Roger Dingledine
b7d6b8a397
doxygeny goodness from tyranix
...
svn:r4262
2005-05-17 17:01:36 +00:00
Roger Dingledine
ec1331d49e
fix a comment that tyranix noticed
...
svn:r4239
2005-05-17 01:55:53 +00:00
Roger Dingledine
2812d4a08c
free some memory that is still reachable on exit
...
svn:r4234
2005-05-16 10:32:10 +00:00
Nick Mathewson
530da0e772
Normalize whitespace
...
svn:r4233
2005-05-16 01:04:28 +00:00
Roger Dingledine
28195a0eb1
clean up some log entries
...
svn:r4228
2005-05-15 05:00:24 +00:00
Nick Mathewson
9bc6e3aa6c
Add an explanatory comment
...
svn:r4222
2005-05-15 02:05:45 +00:00
Roger Dingledine
3c9ec416f6
fix a case error in suppressing a bogus libevent warning.
...
nick, was this lower-case for a reason? have both cases
appeared? or was this just a typo.
svn:r4206
2005-05-14 05:14:36 +00:00
Roger Dingledine
07230a698c
if router_resolve fails on the descriptor the controller
...
gives us, we shouldn't leave the routerinfo in the list.
svn:r4205
2005-05-14 05:01:41 +00:00
Roger Dingledine
b92a77b1d2
move the periodic buffer shrinking interval from 3 mins to 1 min
...
svn:r4204
2005-05-14 01:11:45 +00:00
Nick Mathewson
00f2a09380
Append default exit policy before checking for implicit internal addresses: fix bug 129.
...
svn:r4201
2005-05-14 00:13:17 +00:00
Nick Mathewson
776b411dc9
Fix a segfault
...
svn:r4191
2005-05-11 04:14:17 +00:00
Nick Mathewson
3893b3c7ac
Patch for task 133
...
svn:r4189
2005-05-10 22:33:45 +00:00
Nick Mathewson
d0c0d6c86a
Apply patch from Geoff for bug 132. Clean it up a little to fix a memory leak and to avoid unnecessary parse/unparse code.
...
svn:r4188
2005-05-10 22:12:48 +00:00
Nick Mathewson
13126eeb0f
Patch from goodell for task 131: Do not die on internal address if we are not publishing.
...
svn:r4186
2005-05-09 04:31:00 +00:00
Nick Mathewson
10b2208d93
Make Tor compile with no warnings with gcc4.0 on OSX
...
svn:r4184
2005-05-07 05:55:06 +00:00
Nick Mathewson
6567ec9ccf
Functions work better when you call them. Resolve a bug which would prevent unreachable dirports from getting suppressed.
...
svn:r4183
2005-05-07 05:17:36 +00:00
Nick Mathewson
bc51c8b074
Implement --verify-config command-line option to fix bug 69.
...
svn:r4182
2005-05-07 04:49:09 +00:00
Roger Dingledine
cee7c5988c
fix massive memory leak
...
(50 megabytes over a couple of days, on the dirservers)
svn:r4181
2005-05-06 08:53:23 +00:00
Roger Dingledine
cc0b19888d
log buffer sizes on kill -usr1 too.
...
svn:r4180
2005-05-06 08:32:37 +00:00
Roger Dingledine
1f263bf6f5
whine at you if you're a server and you don't set your contactinfo
...
svn:r4178
2005-05-04 20:45:38 +00:00
Roger Dingledine
68ba303323
fix compile error if you're not multithreaded
...
svn:r4177
2005-05-03 18:44:20 +00:00
Roger Dingledine
6ea839265d
remove archaic debugging aid that was probably unsafe
...
svn:r4176
2005-05-03 10:17:38 +00:00
Roger Dingledine
87850c47b0
cleanup now that 0.0.9pre1 is obsolete
...
svn:r4175
2005-05-03 10:12:08 +00:00
Roger Dingledine
5265bbd2b8
first iteration of scrubbing sensitive strings from logs.
...
also generally clean up log messages.
svn:r4174
2005-05-03 10:04:08 +00:00
Nick Mathewson
b35f7dacef
Call tor_free_all instead of connections_free_all after forking
...
svn:r4173
2005-05-03 03:51:20 +00:00
Nick Mathewson
8b9ae25224
Change some >=s to >s in buf_resize, so that we do not denormalize buffers on resize.
...
svn:r4172
2005-05-03 03:25:04 +00:00
Nick Mathewson
4666b801fa
If DataDir is ~/.tor, and that expands to /.tor, then default to LOCALSTATEDIR/tor instead.
...
svn:r4170
2005-05-03 00:36:57 +00:00
Nick Mathewson
14bac4dad4
Elaborate on buf_shrink comment.
...
svn:r4169
2005-05-02 23:41:39 +00:00
Roger Dingledine
aa6bcd50ca
comment buf_shrink
...
svn:r4168
2005-05-02 23:39:09 +00:00
Nick Mathewson
ad547cbb8c
Correct and simplify buf_shrink logic
...
svn:r4167
2005-05-02 23:36:13 +00:00
Nick Mathewson
d6a6c8785b
When removing all bytes from a buffer, reset buf->cur=buf->mem
...
svn:r4166
2005-05-02 23:32:23 +00:00
Nick Mathewson
a312ce1d3b
Change buffer shrinking strategy: only try to shrink once every 3 minutes. Do not try to read over buffer size unless buffer is nearly empty.
...
svn:r4165
2005-05-02 23:17:08 +00:00
Nick Mathewson
9c683c7613
Make buffer shrinking algorithm a little smarter.
...
svn:r4164
2005-05-02 22:49:24 +00:00
Nick Mathewson
830ac87611
Actually, dont send CREATE_FAST cells at all for now
...
svn:r4163
2005-05-02 22:39:59 +00:00
Nick Mathewson
ab34901263
New and frightening code to implement fast-path first-hop CREATE_FAST cells. Watch out when we bump the version to 0.1.0.6-rc!
...
svn:r4162
2005-05-02 22:35:18 +00:00
Roger Dingledine
978648bff8
also print the platform string for rejected descriptors
...
svn:r4160
2005-05-02 22:06:04 +00:00
Roger Dingledine
15c1853bd6
don't print nulls
...
svn:r4159
2005-05-02 21:54:16 +00:00
Roger Dingledine
c9e83eb1b4
when we refuse a router descriptor, log contactinfo and source address.
...
svn:r4156
2005-05-02 21:48:54 +00:00
Roger Dingledine
57b7427c2d
reformat routerparse a bit
...
svn:r4155
2005-05-02 21:48:25 +00:00
Nick Mathewson
69dc4e1675
Remove support for looking at old directory/routerdesc elements; mark non-new elements optional; switch to new format for dir-signing-key; start accepting newer elements so we can mark them as non-opt later; make tor-spec say the right stuff.
...
svn:r4154
2005-05-02 21:22:31 +00:00
Roger Dingledine
729e720095
workaround for user error: some people were putting "Address " in their
...
torrc, and they had a buggy resolver that resolved " " to 0.0.0.0. Oops.
svn:r4150
2005-04-29 18:52:05 +00:00
Nick Mathewson
fe65e57ca1
Re-do fragmented control message handling to work with new buf_t system.
...
svn:r4144
2005-04-27 22:01:34 +00:00
Nick Mathewson
d0a9a8bdd3
Appease VC7. It has a strangely puritanical attitude about what programmers are allowed to do a consenting void*.
...
svn:r4140
2005-04-27 20:02:52 +00:00
Nick Mathewson
53607d3bb3
Turn SENTINELS back on; give NOINLINE a name and turn it off.
...
svn:r4139
2005-04-27 19:40:31 +00:00
Roger Dingledine
4c4a14e3cb
turn off the mongo debugging stuff, for performance tests
...
svn:r4137
2005-04-27 17:21:42 +00:00
Roger Dingledine
543d31c89a
bump the default bandwidthrate from 1mb to 2mb
...
svn:r4131
2005-04-27 04:13:59 +00:00
Nick Mathewson
52376dc9e8
Rename buf->start to buf->cur; fix bug in read_to_buf; still debug with paranoia.
...
svn:r4130
2005-04-27 02:55:21 +00:00
Nick Mathewson
746768df5d
Add even more debugging code; temporarily disable inlines in buffers.c
...
svn:r4129
2005-04-27 00:53:44 +00:00
Roger Dingledine
914ee87e07
stop re-reading and re-parsing the directory as soon as we make it.
...
it was nice for checking if we've got bugs, but it's really quite
expensive too. it was also nice for updating our routerinfo's
immediately, but we'll update them like everybody else when we fetch
a new dir from somebody else.
svn:r4128
2005-04-27 00:48:05 +00:00
Roger Dingledine
adaf3d31e6
hidden service client connections were using some of their
...
60 seconds fetching the hidserv descriptor, which made them
more likely to fail on the first attempt, yet they work fine
on the second. so now give them extra time for the first try.
svn:r4127
2005-04-26 22:36:00 +00:00
Roger Dingledine
2a7aec0ffd
fix function prototype, fix typo
...
svn:r4126
2005-04-26 21:29:20 +00:00
Nick Mathewson
ecc76d8245
Avoid overflow on wrapping a TLS read.
...
svn:r4125
2005-04-26 21:20:22 +00:00
Nick Mathewson
e6794e5808
Fix unit tests for buffers.
...
svn:r4124
2005-04-26 21:10:31 +00:00
Nick Mathewson
9ba2dd7ea1
Clean/renormalize whitespace
...
svn:r4122
2005-04-26 20:55:32 +00:00
Nick Mathewson
ef2409e4ed
Change the implementation of buf_t a lot: make it a ring buffer to minimize memmove on flush. This may break the universe, but it is probably Necessary For Perfomance.
...
svn:r4121
2005-04-26 20:53:22 +00:00
Roger Dingledine
4eb3cf9330
a bit more debug info
...
svn:r4119
2005-04-26 20:05:15 +00:00
Roger Dingledine
953cf91ecd
add more debugging info to help us find the weird dns freebsd pthreads bug.
...
svn:r4117
2005-04-26 19:08:06 +00:00
Roger Dingledine
509405a5f7
clean up this TOR_FRAGILE business
...
svn:r4116
2005-04-26 18:52:16 +00:00
Roger Dingledine
5e86e87124
Add basic HttpsProxyAuthenticator support, based on patch
...
from Adam Langley.
svn:r4115
2005-04-26 18:33:33 +00:00
Roger Dingledine
4fafa81f32
help debug: when we close a conn due to timeout, tell us its
...
file descriptor, not its connectionarray index.
svn:r4113
2005-04-25 17:24:16 +00:00
Roger Dingledine
662cfc976d
only call the connection open once we've decided we like the cert.
...
svn:r4112
2005-04-25 17:23:52 +00:00
Roger Dingledine
f3ea883ccd
bugfix: stop trying to print a null pointer if an OR conn fails
...
because we didn't like its cert.
svn:r4111
2005-04-25 15:43:37 +00:00
Roger Dingledine
12ea3a26b2
bugfix: make a debug log stop lying
...
svn:r4110
2005-04-25 15:43:05 +00:00
Roger Dingledine
92b970d2a6
only complain about wedged cpuworkers after an hour, not 100 secs
...
svn:r4100
2005-04-23 20:58:44 +00:00
Roger Dingledine
6128cdead0
let NumCpus be singular without whining
...
svn:r4097
2005-04-23 19:29:09 +00:00
Nick Mathewson
5827e2e216
Fix "JAP-client" hideous ASN1 bug, twice. (Fix1: check more thoroughly for TLS errors when handling certs. Fix2: stop assert(0)ing on uncaught TLS errors.)
...
svn:r4085
2005-04-23 14:26:02 +00:00
Roger Dingledine
ad4eca60ec
add geoff's NoPublish patch
...
svn:r4084
2005-04-21 10:40:48 +00:00
Nick Mathewson
ce9995a579
Replace an infinite-stack-recursion bug with a generate-infinite-debug-messages bug. Maybe it isnt such a good idea to send LOG_DEBUG messages to the controller after all?
...
svn:r4082
2005-04-17 22:52:02 +00:00
Nick Mathewson
cf84759b4b
zero-out errno before calling event_dispatch, just in case we have misdiagnosed poll(2)/EINVAL bug.
...
svn:r4081
2005-04-17 22:38:39 +00:00
Roger Dingledine
769541ff7e
be willing to load balance over up to 2mB, not 1mB, of advertised capacity
...
svn:r4080
2005-04-12 22:09:47 +00:00
Roger Dingledine
bf79b5266f
those should be notices, not warns
...
svn:r4079
2005-04-12 22:09:04 +00:00
Nick Mathewson
f1dfa30064
Fix postdescriptor behavior: on non-complete success, only say "done" once.
...
svn:r4073
2005-04-11 02:52:09 +00:00
Roger Dingledine
e2cdc87485
remove some redundant code
...
svn:r4062
2005-04-08 06:16:09 +00:00
Nick Mathewson
656e31ba33
If it has not been 100 seconds since we told the cpuworker about an onion, complain! Oh, wait...
...
svn:r4059
2005-04-08 04:59:34 +00:00
Nick Mathewson
74dc7eedc5
Add kludgy function to force controllers to flush EVENT_ERR_MSG events.
...
svn:r4057
2005-04-08 03:36:39 +00:00
Nick Mathewson
31c12e265f
Move a quote, fix a log.
...
svn:r4056
2005-04-08 03:26:44 +00:00
Nick Mathewson
c6769a80fb
Fixs a signed/unsigned comparison
...
svn:r4055
2005-04-08 03:26:23 +00:00
Nick Mathewson
6face4f482
Add missing "char"
...
svn:r4054
2005-04-08 03:07:07 +00:00
Roger Dingledine
97637549bb
tie MAX_DIR_SIZE to MAX_BUF_SIZE
...
resolve bug 80
svn:r4052
2005-04-07 22:13:17 +00:00
Roger Dingledine
dabafddb82
fix format bug
...
svn:r4051
2005-04-07 22:03:56 +00:00
Roger Dingledine
ec3650f00f
only whine about clock skew from the dirserver if he's a trusted
...
dirserver.
svn:r4048
2005-04-07 21:09:19 +00:00
Nick Mathewson
8cc3307e0d
Improve conn_*_to_string; add circuit_state_to_string; make skewed-descriptor messages better.
...
svn:r4047
2005-04-07 21:07:19 +00:00
Roger Dingledine
dd98412ce1
allow servers to publish descriptors from 12 hours in the future.
...
hopefully this will allow more slack and let crummier servers help
out too.
svn:r4046
2005-04-07 21:01:00 +00:00
Nick Mathewson
b897cb1ec3
Change conn_(type|state)_to_string from const arrays to switch functions so we (I) will not make Tor crash the next time we (I) add a new state.
...
svn:r4045
2005-04-07 20:25:22 +00:00
Roger Dingledine
6bdfd97272
add function comment
...
svn:r4043
2005-04-07 20:07:34 +00:00
Roger Dingledine
ab8a0bb52c
We have a bug that I can't find. Sometimes, very rarely, cpuworkers get
...
stuck in the 'busy' state, even though the cpuworker process thinks of
itself as idle. I don't know why. But here's a workaround to kill any
cpuworker that's been busy for more than 100 seconds.
svn:r4042
2005-04-07 20:02:00 +00:00
Nick Mathewson
c92a2620d4
Try RB_TREE instead of SPLAY_TREE, but with a single-entry caching optimization.
...
svn:r4041
2005-04-07 05:09:19 +00:00
Nick Mathewson
a035b8e3c3
Make compare_orconn_circid_entries marginally faster and inlined, if that helps
...
svn:r4040
2005-04-07 04:50:25 +00:00
Nick Mathewson
7709547c08
When we connect and finish TLS negotiation with address:port, it is obvious that any other key or nickname we might know about (as an authdirserver) does not actually exist at address:port.
...
svn:r4036
2005-04-06 21:09:47 +00:00
Roger Dingledine
03720b39fd
stop wasting time doing a case insensitive comparison for every dns name
...
every time we do any lookup. canonicalize the names to lowercase and be
done with it.
svn:r4035
2005-04-06 20:25:21 +00:00
Roger Dingledine
46089c49c4
blow away most calls to assert_all_pending_dns_resolves_ok, since
...
they're eating our cpu.
svn:r4034
2005-04-06 20:05:34 +00:00
Roger Dingledine
652dde72f1
bugfix: chdir to your datadirectory at the *end* of the
...
daemonize process, not the beginning. this was a problem
because the first time you run tor, if your datadir isn't
there, and you have runasdaemon set to 1, it will try to
chdir to it before it tries to create it. oops.
svn:r4033
2005-04-06 19:07:38 +00:00
Roger Dingledine
8596947ee2
quiet another instance where we whine to an innocent OR operator's
...
logs when some other server switches keys unexpectedly.
svn:r4032
2005-04-06 18:55:14 +00:00
Roger Dingledine
620419b421
oh, and accept() into the right place, too.
...
svn:r4029
2005-04-06 16:16:31 +00:00
Roger Dingledine
70f3b3ef86
Forward-port the checking of
...
sin_addr.s_addr == 0 || sin->sin_port == 0.
This just happened on moria2, so I guess it happens rarely
on Linux as well as OS X.
We can't afford to accept OR conns from 0.0.0.0:0, since we
send created cells back to the first addr:port that matches,
and we'd better not send them to the wrong place.
So, let's drop them all for now, and see if we can find a pattern
later.
svn:r4028
2005-04-06 15:42:35 +00:00
Roger Dingledine
9cbaf4603d
fix an assert trigger: when we have the rare case of accepting
...
a conn on 0.0.0.0:0, then when we look through the connection array,
we'll find any of the workers. this is no good.
svn:r4027
2005-04-06 15:19:32 +00:00
Nick Mathewson
88dc243bb5
Rename circuit_get_by_stream to circuit_get_by_edge_conn, and actually start using it. Watch out, kids!
...
svn:r4026
2005-04-06 06:43:21 +00:00
Roger Dingledine
716d9bc99a
when using preferred entry or exit nodes, ignore whether
...
the circuit wants uptime or capacity. they asked for the
nodes, they get the nodes.
svn:r4025
2005-04-06 06:17:35 +00:00
Nick Mathewson
4453e3794a
Add a pointer from edge connections to their corresponding circuit (ulp!); add some debugging sanity-checking for cirid_orconn_map stuff
...
svn:r4024
2005-04-06 06:13:49 +00:00
Nick Mathewson
2a0b1025e5
Fix bug in last commit when no circid can be found
...
svn:r4023
2005-04-06 05:45:07 +00:00
Nick Mathewson
b34d9adb59
Fix format warning
...
svn:r4022
2005-04-06 05:44:05 +00:00
Roger Dingledine
94cecc712d
note some features we intend to add.
...
svn:r4021
2005-04-06 05:35:06 +00:00
Nick Mathewson
b7cdcf3462
Hopefully, this will make ORs much faster, and not break them: keep a big splay tree of (circid,orconn)->circuit mappings to make circuit_get_by_circid_conn much faster.
...
svn:r4020
2005-04-06 05:33:32 +00:00
Roger Dingledine
712d05c19a
a bit more data on gene's dns threading bug
...
svn:r4019
2005-04-06 05:32:24 +00:00
Roger Dingledine
5f0a84cbe2
update conn-type-state-strings to handle https states for ORs
...
svn:r4018
2005-04-06 04:55:17 +00:00
Nick Mathewson
3014b03b67
Add missing comma. Oops
...
svn:r4017
2005-04-06 03:20:06 +00:00
Nick Mathewson
88fe4d6292
Handle changed router status correctly when reloading fingerprint file
...
svn:r4016
2005-04-06 01:09:26 +00:00
Nick Mathewson
1b5e2182fa
Log msg spelling fix
...
svn:r4015
2005-04-06 00:53:13 +00:00
Roger Dingledine
f860b490be
When we're connecting to an OR and he's got a different nickname/key
...
than we were expecting, only complain loudly if we're an OP or an
authdirserver. Complaining loudly to OR admins just confuses people.
svn:r4014
2005-04-06 00:50:40 +00:00
Nick Mathewson
ac268a8340
Fix Tor for no-threading compilation: move connection_unregister from _connection_free to connection_free.
...
svn:r4013
2005-04-06 00:46:57 +00:00
Nick Mathewson
374edd356e
Change replacement semantics for directory entries: fix bug 121.
...
svn:r4012
2005-04-06 00:01:35 +00:00
Nick Mathewson
4991290935
Revise control spec and implementation to allow all log messages to be sent to controller with their severities intact.
...
svn:r4010
2005-04-05 22:56:17 +00:00
Nick Mathewson
46be0fa999
Make last fix work on windows too.
...
svn:r4009
2005-04-04 21:53:26 +00:00
Nick Mathewson
0fff263a46
Fix possible bug on threading platforms with running out of fds do to cpuworkers and dnsworkers.
...
svn:r4008
2005-04-04 21:46:08 +00:00
Roger Dingledine
f1edeebf7d
client now retries when streams end early for 'hibernating' or
...
'resource limit' reasons; refactor.
svn:r4004
2005-04-04 03:30:49 +00:00
Roger Dingledine
823b7d4d8b
automatically approve nodes running 0.1.0.2-rc or later
...
svn:r4001
2005-04-03 19:01:47 +00:00
Nick Mathewson
1aedf3daf5
Only warn once per nickname from add_nickname_list_to_smartlist per failure.
...
svn:r3997
2005-04-03 05:53:34 +00:00
Nick Mathewson
11d20d78a0
Adjust maximum skew and age for rendezvous descriptors: adjust code to make skew add to age.
...
svn:r3995
2005-04-03 05:36:23 +00:00
Roger Dingledine
658463a751
clean up the circuit-mark-for-close patch
...
svn:r3994
2005-04-03 05:31:41 +00:00
Roger Dingledine
096879687a
start sending 'truncated' cells back rather than destroy cells,
...
if the circuit closes in front of you.
svn:r3993
2005-04-03 05:25:26 +00:00
Nick Mathewson
0dc02328af
Move most of *_mark_for_close out of macros.
...
svn:r3992
2005-04-03 05:22:33 +00:00
Nick Mathewson
055ee7c323
Give better warnings if connection_close_unattached_ap gets called twice or called on a marked connection; rename it to connection_mark_unattached_ap.
...
svn:r3990
2005-04-02 22:11:24 +00:00
Nick Mathewson
4a90d37229
Better messages when POSTDESCRIPTOR fails
...
svn:r3989
2005-04-02 22:02:13 +00:00
Roger Dingledine
13e211de17
We're printing the host mask wrong in exit policies in server descriptors.
...
I believe this isn't a critical bug tho, since we're still obeying the
exit policy internally.
svn:r3987
2005-04-02 08:55:31 +00:00
Roger Dingledine
8dbdbfb831
improved log error message
...
svn:r3986
2005-04-02 08:30:40 +00:00
Nick Mathewson
0e81265359
update copyright notices.
...
svn:r3982
2005-04-01 20:15:56 +00:00
Nick Mathewson
0d6c9c47b3
Short-term fix: prevent possible segfault in connection_close_unattached_ap
...
svn:r3970
2005-04-01 16:04:45 +00:00
Roger Dingledine
453a822425
when you decide you're reachable, actually publish your descriptor
...
right then.
svn:r3968
2005-04-01 09:28:14 +00:00
Roger Dingledine
1ff62dbd18
require exactly 0.0.9.7 for middle hops of testing circs, for now
...
svn:r3967
2005-04-01 09:23:51 +00:00
Roger Dingledine
e786e5dedb
when building testing circuits, always use middle hops
...
running at least 0.0.9.7
svn:r3966
2005-04-01 08:42:26 +00:00
Roger Dingledine
a28ae7a70c
fix assert: if our dirport isn't reachable yet, don't trick
...
*ourselves* into thinking the dirport is zero. but continue
to tell other people that it is.
svn:r3952
2005-04-01 07:42:32 +00:00
Roger Dingledine
cd25e56ad2
when the or-connect succeeded and the tls handshake succeeded
...
but we didn't like the result, we were closing the connection
without sending any destroys back for the pending circuits. now
send those destroys anyway; i hope this doesn't break too much.
svn:r3951
2005-04-01 07:25:18 +00:00
Nick Mathewson
73f6c1531e
fix typo in earlier libevent mmessage suppress patch
...
svn:r3950
2005-04-01 07:16:52 +00:00
Roger Dingledine
003d9df6b0
authdirservers shouldn't do orport reachability detection,
...
since they're in clique mode, so it will be rare to find a
server not already connected to them.
svn:r3949
2005-04-01 07:09:18 +00:00
Nick Mathewson
410ecfcc71
Add code to suppress spurious libevent log msgs; use it to resolve bug 68.
...
svn:r3948
2005-04-01 07:05:21 +00:00
Roger Dingledine
2ff2db8d2a
fix some log spacing problems
...
svn:r3942
2005-04-01 06:23:21 +00:00
Nick Mathewson
efe9ca659a
Use recent libevent features when possible
...
svn:r3940
2005-04-01 02:37:40 +00:00
Nick Mathewson
e04a82ecaf
Patch: when extending to an unknown router, compare identity to expected identity; not nickname-to-expected identity.
...
svn:r3937
2005-03-31 23:30:13 +00:00
Roger Dingledine
801d5ef1de
spell recommended correctly
...
svn:r3936
2005-03-31 20:52:43 +00:00
Roger Dingledine
1f5c8335e8
still publish your descriptor if orport is reachable but dirport isn't
...
when building testing circs for orport testing, require high-bandwidth
nodes, so fewer circs fail. complain about unreachable orport separately
from unreachable dirport.
svn:r3935
2005-03-31 19:26:33 +00:00
Roger Dingledine
c2a05e1ca9
redo the state descriptors now that we have a controller-wait state
...
svn:r3934
2005-03-31 17:36:24 +00:00
Roger Dingledine
4f5192b280
...and use it to make sure we only conclude reachability if
...
we didn't initiate the conn.
svn:r3932
2005-03-31 07:46:59 +00:00
Nick Mathewson
1bf1f44e74
Fix bug in redirectstream.
...
svn:r3926
2005-03-31 06:06:02 +00:00
Roger Dingledine
5bdab005c9
mark two more bugs. nick, can you take a look?
...
svn:r3920
2005-03-29 05:27:32 +00:00
Roger Dingledine
20a8eda31b
don't check for reachability, and don't whine about it, while we're
...
hibernating.
svn:r3919
2005-03-29 03:48:31 +00:00
Roger Dingledine
7cf33ed495
resolve another 'hasn't sent end yet' bug
...
svn:r3911
2005-03-29 00:35:35 +00:00
Nick Mathewson
1612df7b2c
Fix a couple more places where we use ->new_address without checking that it is there.
...
svn:r3907
2005-03-28 02:03:51 +00:00
Roger Dingledine
0e26973c02
make calls to address_is_in_virtual_range more bullet-proof.
...
might fix the assert failure i just got.
svn:r3906
2005-03-28 01:56:12 +00:00
Nick Mathewson
4246f6f8bc
Clarify that we don't, and why we don't, need to redefine FD_SETSIZE.
...
svn:r3904
2005-03-28 01:07:14 +00:00
Roger Dingledine
96c331e4ed
we seem to have lost our define for FD_SETSIZE on win32 in the change
...
from fakepoll to libevent. be sure to define it *before* we include
winsock.
svn:r3903
2005-03-27 22:52:48 +00:00
Roger Dingledine
9b5432214d
but only do the rapid reachability testing if we're hoping to be a server.
...
svn:r3902
2005-03-27 11:52:15 +00:00
Roger Dingledine
b8fe866a9d
forward-port the fixing of the crash bug.
...
svn:r3900
2005-03-27 07:18:30 +00:00
Roger Dingledine
92acd64da0
if your server hasn't found itself to be reachable, complain every
...
20 minutes, not just once.
svn:r3897
2005-03-27 06:50:36 +00:00
Roger Dingledine
7a79acd9f6
clean up socks reply stuff more.
...
add a few more reasons so we can be more informative.
svn:r3895
2005-03-27 06:37:56 +00:00
Nick Mathewson
ce854906db
Rename ManageConnections to LeaveStreamsUnattached. Apparently, there was a missing "TorShould" that was mistaken for an "IWantTo".
...
svn:r3894
2005-03-27 06:25:33 +00:00
Roger Dingledine
36baf7219d
stop most cases of hanging up on a socks connection without sending
...
the socks reject. audit for remaining ones. also make things more
uniform so we always remember to hold-open-until-flushed, etc.
svn:r3891
2005-03-27 04:55:13 +00:00
Roger Dingledine
4533a46e41
move the assert higher up so the error message makes more sense
...
next time.
svn:r3887
2005-03-26 06:27:51 +00:00
Roger Dingledine
fcfe6d2e8b
fix assert: stop trying to send a socks reply to an *exit*
...
connection when we get an end cell before it's finished opening.
svn:r3886
2005-03-26 06:27:04 +00:00
Roger Dingledine
b8d38dc57b
try harder to establish reachability, in the first 20 minutes
...
of uptime.
svn:r3884
2005-03-26 05:54:50 +00:00
Roger Dingledine
1328383482
make it clearer to the human that his server is testing
...
its reachability. tell him when it succeeds, or when 20
minutes pass and it hasn't succeeded yet.
svn:r3882
2005-03-26 01:43:39 +00:00
Roger Dingledine
570da8a8e8
and fill in another missing socks reply
...
svn:r3877
2005-03-25 11:23:03 +00:00
Roger Dingledine
9b9dbad0b7
fix another case where we need to send a socks reply (reject)
...
back before we close the conn.
svn:r3876
2005-03-25 11:12:14 +00:00
Roger Dingledine
8945df8daa
remove dead code
...
svn:r3875
2005-03-25 10:55:49 +00:00
Roger Dingledine
9685164fe5
don't mark a router down just because your httpsproxy is unreachable
...
svn:r3874
2005-03-25 10:55:06 +00:00
Nick Mathewson
d26bcfab92
Note where connection that hasnt sent end was marked.
...
svn:r3872
2005-03-25 05:54:50 +00:00
Roger Dingledine
bd37c9a3bd
REUSEADDR on normal places means you can rebind to the port
...
right after somebody else has let it go. But REUSEADDR on win32
means to let you bind to the port _even when somebody else
already has it bound_. So, don't do that on Win32.
svn:r3867
2005-03-24 23:20:06 +00:00
Roger Dingledine
4abb54a876
forward-port the circuit_resume_edge_reading_helper fix.
...
svn:r3863
2005-03-24 21:57:45 +00:00
Roger Dingledine
fa3c9d94bc
when you attachstream to a circid of 0, send back an answer
...
svn:r3857
2005-03-24 06:28:21 +00:00
Roger Dingledine
09ef2b7e41
cleanup so connection_ap_handshake_attach_chosen_circuit() always
...
gets open circs.
svn:r3856
2005-03-24 06:18:59 +00:00
Nick Mathewson
13fdf51bc1
Bulletproof connection_ap_handshake_attach_chosen_circuit
...
svn:r3855
2005-03-24 06:05:14 +00:00
Nick Mathewson
8e8915f3ca
Fix SOCKS5 bug: Set replylen to 0 after sending hanshake back
...
svn:r3850
2005-03-24 01:11:28 +00:00
Nick Mathewson
0cfdeb01c8
Debug EXTENDCIRCUIT
...
svn:r3849
2005-03-24 01:08:25 +00:00
Roger Dingledine
0dc91fd9c0
fix an assert -- we're not allowed to write onto a conn after we've
...
connection_unregistered it. there's still more work to be done here,
since we need to make sure to send back the socks-reply as soon as we
know what it will be -- we can't just wait until connection-about-to-close
to deal with it.
svn:r3847
2005-03-23 23:19:18 +00:00
Roger Dingledine
fb8a319ffe
fix an over-eager assert, to make httpsproxy get a little farther
...
svn:r3846
2005-03-23 22:11:59 +00:00
Roger Dingledine
a799dad937
forward-port the commenting out of the assert that glenn fink was
...
triggering. we still don't know why he was triggering it.
svn:r3841
2005-03-23 20:42:37 +00:00
Nick Mathewson
4ee6addf57
Fix bug 44: on HUP, if descriptor building fails (say, because router_get_my_address() fails), use old descriptor and warn.
...
svn:r3839
2005-03-23 20:28:40 +00:00
Nick Mathewson
6e4bccc4ac
Make GETINFO for "network-status" work on non-authdirs
...
svn:r3837
2005-03-23 19:15:10 +00:00
Nick Mathewson
b9016bd18f
Fix several bugs (including some crashes) related to control interface; implement missing desc/name functionality.
...
svn:r3836
2005-03-23 08:40:11 +00:00
Nick Mathewson
0b7a9e2e7b
Be willing to cache directories from up to ROUTER_MAX_AGE seconds into the future, now that we are more tolerant of skew.
...
svn:r3832
2005-03-23 06:39:53 +00:00
Nick Mathewson
631ab5c69b
Add a magic value to cpath_layer_t to make sure that we can tell valid cpaths from freed ones. I audited this once; it could use another audit.
...
svn:r3831
2005-03-23 06:21:48 +00:00
Nick Mathewson
905c16846a
Fix a few more instances of memory not freed on exit (found by weasel).
...
svn:r3830
2005-03-23 06:20:50 +00:00
Nick Mathewson
b7ce4d1d3d
Correct fix for self-to-self addressmap; simplify replace-old-entry logic; add missing case.
...
svn:r3829
2005-03-23 05:32:06 +00:00
Roger Dingledine
22386ecf1e
whoops, fix seg fault i just introduced
...
svn:r3828
2005-03-23 03:02:44 +00:00
Roger Dingledine
7373042a7b
fix assert triggers (bugs 109 and 96), and put in some
...
debugging logs to notice future repeat bugs.
svn:r3826
2005-03-23 02:52:55 +00:00
Roger Dingledine
a523439cbc
maybe resolve an assert trigger i just got:
...
connection_edge.c:643 address_is_in_virtual_range: Assertion addr failed; aborting.
nick, what do you think?
svn:r3825
2005-03-23 00:19:51 +00:00
Roger Dingledine
e28b8aaa40
make httpsproxy more likely to work
...
(don't let OR conns do tls until they've finished connecting and
doing the proxy dance.)
svn:r3824
2005-03-22 23:57:18 +00:00
Roger Dingledine
21b1adefbb
fix a 32bit/64bit sprintf mixup that weasel pointed out
...
svn:r3823
2005-03-22 23:27:29 +00:00
Roger Dingledine
ad5f5ddf7e
remove a duplicate circuit_mark_for_close() when picking
...
a path for the circuit fails.
svn:r3822
2005-03-22 23:20:33 +00:00
Roger Dingledine
6659cd5e8e
options->MaxAdvertisedBandwidth only replaces advertised
...
bandwidthrate, not advertised bandwidthcapacity
svn:r3818
2005-03-22 20:41:28 +00:00
Nick Mathewson
ab1d0049a2
Prevent spurious closes when we put stuff on a conn that has not written for a while.
...
svn:r3816
2005-03-22 20:25:51 +00:00
Roger Dingledine
8a763b5ae3
cleanup and a question
...
svn:r3815
2005-03-22 20:04:00 +00:00
Nick Mathewson
7a0072cc1a
Specify and implement close-stream and close-circuit control messages
...
svn:r3814
2005-03-22 19:36:38 +00:00
Nick Mathewson
ec81f87018
Implement an option to cap bandwidth-to-advertise. Arma: can you improve the manpage entry by explaining why you would want to do this?
...
svn:r3813
2005-03-22 19:01:46 +00:00
Nick Mathewson
2d662bf773
Clear up a couple of pedantic compiler warnings
...
svn:r3812
2005-03-22 18:56:11 +00:00
Nick Mathewson
2d40991427
Report HTTP reasons to directory clients. (Also, fix format on new TODO items)
...
svn:r3811
2005-03-22 18:43:24 +00:00
Roger Dingledine
d6a0e5bcc9
when reporting events about streams, use the "real" address for
...
the stream, including the requested .exit address.
svn:r3810
2005-03-22 10:34:23 +00:00
Roger Dingledine
e07e0a4732
remove obsolete code
...
svn:r3809
2005-03-22 10:34:00 +00:00
Nick Mathewson
c4470cbedf
be more explicit about why we are expiring a conn; improve logic a bit too
...
svn:r3808
2005-03-22 06:21:35 +00:00
Nick Mathewson
f5989afde2
Add opt hibernating; fix bug 78
...
svn:r3807
2005-03-22 06:08:28 +00:00
Roger Dingledine
76a03e8635
handle_control_getinfo() was counting msg_len itself,
...
when that's actually smartlist_join_strings2()'s job.
svn:r3806
2005-03-22 05:41:05 +00:00
Roger Dingledine
ed9524a626
Remove controller getinfo support for "desc/all-ids".
...
Replace it with getinfo "network-status" just like in directories.
This way the controller can learn which servers are running, which
are verified, etc.
svn:r3801
2005-03-22 03:27:51 +00:00
Roger Dingledine
8d1460c858
tell me the address of the guy who's trying to attack my dirserver
...
svn:r3799
2005-03-22 01:18:50 +00:00
Roger Dingledine
f1ba4296c1
clean up and refactor some more
...
svn:r3798
2005-03-22 01:01:15 +00:00
Roger Dingledine
35953edae0
Implement controller's "extendcircuit" directive.
...
Also refactor circuit building so we plan the whole path ahead
of time.
svn:r3797
2005-03-22 00:42:38 +00:00
Roger Dingledine
4a497e5030
if our clock jumps forward by 100 seconds or more, assume something
...
has gone wrong with our network and abandon all not-yet-used circs.
svn:r3792
2005-03-19 23:58:42 +00:00
Roger Dingledine
856ab90ca8
stop logging at -l notice every single time a create cell successfully
...
gets processed
svn:r3791
2005-03-19 23:04:15 +00:00
Roger Dingledine
fbeaeb138e
and forward-port the missing space
...
svn:r3789
2005-03-19 20:30:23 +00:00
Nick Mathewson
b88c4ba11c
Turn addr_policy_compare from a tristate to a quadstate; this should help address our "Ah, you allow 1.2.3.4:80. You are a good choice for google.com" problem.
...
svn:r3786
2005-03-19 06:57:16 +00:00
Nick Mathewson
07a7b6af64
Implement redirectstream in control interface.
...
svn:r3785
2005-03-19 06:05:55 +00:00
Roger Dingledine
963ddf2953
fix typo
...
svn:r3784
2005-03-19 05:09:13 +00:00
Nick Mathewson
11aa682812
Split version info into separate spec doc.
...
svn:r3783
2005-03-19 05:07:19 +00:00
Roger Dingledine
ec7f232b24
make hidden services more likely to work from the server-side
...
svn:r3781
2005-03-19 04:38:59 +00:00
Nick Mathewson
b004eda10c
Enable NT service code by default
...
svn:r3780
2005-03-19 01:04:05 +00:00
Nick Mathewson
df9c8feac7
Commit fixes for several pending tor core tasks: document all DOCDOCed functions; time out uncontrolled unattached streams; feed reasons to SOCKS5 (refactoring connection_ap_handshake_socks_reply in the process); change DirFetchPeriod/StatusFetchPeriod to have a special "Be smart" value.
...
svn:r3769
2005-03-17 12:38:37 +00:00
Roger Dingledine
229761465c
re-enable reachability testing stuff.
...
also, consider your ORPort reachable after you've processed a
create cell from any non-local address.
svn:r3763
2005-03-15 01:44:46 +00:00
Roger Dingledine
316afb6d09
fix an assert trigger in cvs: if a resolve request fails, and the circuit
...
has vanished in the meantime, then we would both mark it for close
(i.e. put it on the closeable list) and also immediately free it.
svn:r3759
2005-03-14 04:42:52 +00:00
Nick Mathewson
0197b47ce9
Fix some more obscure compiler warnings
...
svn:r3758
2005-03-14 03:28:46 +00:00
Nick Mathewson
97dad670ea
Renormalize whitespace
...
svn:r3757
2005-03-14 03:18:35 +00:00
Nick Mathewson
fd150459b3
Raise common code for "detach this stream and try it with a different circuit" into a separate function; make that function handle controller-managed streams right.
...
svn:r3756
2005-03-14 03:12:59 +00:00
Roger Dingledine
cabb8624e2
bugfix: now that we don't do the client dns thing, our checks
...
to see if somebody was contradicting his exit policy were wrong.
svn:r3755
2005-03-13 05:53:17 +00:00
Roger Dingledine
01f0b31432
ShutdownWaitLength should be an interval, not a uint
...
svn:r3753
2005-03-12 20:16:52 +00:00
Roger Dingledine
fe768d1d2a
change SHUTDOWN_WAIT_LENGTH from a fixed 30 secs to a config option
...
svn:r3752
2005-03-12 20:13:38 +00:00
Nick Mathewson
115271f65e
Implement the common case of ATTACHSTREAM.
...
svn:r3751
2005-03-12 04:22:01 +00:00
Nick Mathewson
2b7907ef42
Increment step of a for loop should only happen once.
...
svn:r3746
2005-03-11 21:42:32 +00:00
Nick Mathewson
777d3dde0c
Get address map resetting implemented.
...
svn:r3745
2005-03-11 21:39:39 +00:00
Nick Mathewson
b17bb918ac
Remove unused macro; add a comment on remaining macros.
...
svn:r3744
2005-03-11 21:38:06 +00:00
Roger Dingledine
5254c4e63a
remove duplicate function prototype
...
svn:r3743
2005-03-11 20:47:23 +00:00
Geoff Goodell
af15c711c9
redefining default exit policy as per or-talk discussion
...
svn:r3739
2005-03-11 05:07:31 +00:00
Nick Mathewson
99cc6bae0d
Fix error codes to work on windows
...
svn:r3738
2005-03-10 18:48:13 +00:00
Nick Mathewson
6394f77edb
Initialize msg_len
...
svn:r3737
2005-03-10 18:46:11 +00:00
Nick Mathewson
aaf70df3bd
Fix signed/unsigned warning
...
svn:r3736
2005-03-10 18:45:42 +00:00
Nick Mathewson
a308353600
Fix const-ness warning
...
svn:r3733
2005-03-10 06:15:46 +00:00
Nick Mathewson
c185825585
Finish implementing GETINFO; make it easy to query address maps.
...
svn:r3732
2005-03-03 06:37:54 +00:00
Nick Mathewson
f90ccf5648
Implement new controller events for changed descriptors and new (not-yet-attached) streams.
...
svn:r3731
2005-03-02 22:29:58 +00:00
Nick Mathewson
4b5e213a0b
Separate reverse-virtual-address-map entries into ipv4 and hostname slots. Otherwise if you ask me to map "some IPv4 address" to foo.onion, I might tell you that I already mapped "bar.virtual" to foo.onion
...
svn:r3730
2005-03-02 22:01:10 +00:00
Nick Mathewson
5315b61e13
Fix some log messages to refer to correct control type.
...
svn:r3729
2005-03-02 21:59:36 +00:00
Nick Mathewson
5f8e2c2bc4
Rename unused-address functions to virtual address; this is more accurate. Also, include almost-right implementation of reusing dont-care mappings. (It is still kind of wrong because it does not take type into account.)
...
svn:r3728
2005-03-02 21:02:11 +00:00
Nick Mathewson
b494c2223d
Specify and implement fragmented control messages to allow for (among other things) long GETINFO replies. Otherwise we could hit the 64K barrier on questions like "please dump your client-side DNS cache."
...
svn:r3726
2005-03-02 20:22:10 +00:00
Nick Mathewson
65230fd39f
Implement "Dont-Care" from addresses to MapAddress control message. For safety, refuse to launch connections to unmapped addresses in the dont-care range.
...
svn:r3725
2005-03-02 19:26:46 +00:00
Nick Mathewson
e14f812a67
Still more code to make sure we send the right number and kind of RELAY END cells
...
svn:r3723
2005-03-02 03:13:05 +00:00
Nick Mathewson
afe414f070
Revise all calls to connection_edge_end to avoid sending MISC, and to take errno into account where possible.
...
svn:r3720
2005-03-01 22:42:31 +00:00
Nick Mathewson
4ddf768a4f
Forward-port new reasons; clean up code more; add code to convert new reasons to SOCKS5 reply codes; add code to convert errnos to reasons. New code still needs to get invoked.
...
svn:r3719
2005-03-01 22:16:15 +00:00
Nick Mathewson
83743d64ab
Change version parsing logic: a version is "obsolete" if it is not recommended and (1) there is a newer recommended version in the same series, or (2) there are no recommended versions in the same series, but there are some recommended versions in a newer series. A version is "new" if it is newer than any recommended version in the same series.
...
svn:r3716
2005-03-01 01:44:57 +00:00
Nick Mathewson
b7b05dc1b2
make control interface stream IDs monotonically increasing to prevent possible races
...
svn:r3715
2005-03-01 01:15:01 +00:00
Nick Mathewson
349ee1abea
Clean up rend cache on shutdown
...
svn:r3714
2005-02-28 22:38:00 +00:00
Roger Dingledine
b961d1c3bd
disable the reachability detection stuff in cvs, so people can
...
run servers from cvs while i'm gone.
svn:r3712
2005-02-28 09:39:12 +00:00
Nick Mathewson
c5091e7134
When copying routerinfo, copy descriptor too to prevent later double-free.
...
svn:r3711
2005-02-28 03:37:27 +00:00
Nick Mathewson
97bc49bd72
Try a little harder to avoid openssl SSL* double-free reports.
...
svn:r3710
2005-02-28 02:52:51 +00:00
Roger Dingledine
b3177d509e
free some more memory at shutdown
...
svn:r3707
2005-02-28 01:59:18 +00:00
Roger Dingledine
25ff3a5042
fix bug in control mapaddress
...
svn:r3705
2005-02-27 23:20:48 +00:00
Roger Dingledine
3cef60a0f7
fix a minor memory leak
...
svn:r3704
2005-02-27 22:08:01 +00:00
Roger Dingledine
a1f1fa6ab2
Checkpoint in-progress fixes:
...
Add 'testing' circuit purpose, for reachability testing.
Notice when our IP changes, and reset stats.
Try to pull down a directory via Tor to see if our DirPort is working.
Try to extend a circuit back to us to see if our ORPort is working.
Only publish a descriptor if they're both reachable.
These mostly work, and I'd better get them in before I cause conflicts.
svn:r3703
2005-02-27 09:47:01 +00:00
Nick Mathewson
8efb2a957d
Make sure that router_get_by_* can always return "me"
...
svn:r3702
2005-02-27 07:23:42 +00:00
Nick Mathewson
bbaa3c7792
Implement more control spec functionality
...
- Mapaddress
- Postdescriptor
- GetInfo on descriptors
Required changes elsewhere:
- Keep the most recent running_routers_t in the routerlist_t. That way we
can learn about new routers and remember whether we were last told that
they were up or down. Also enables more simplifications.
- Keep the signed descriptor inside routerinfo_t. This makes
descriptor_entry_t in dirservers.c unneeded.
- Rename AddressMap (the verb) to MapAddress. Keep AddressMap as a noun.
- Check addresses for plausibility before mapping them.
svn:r3696
2005-02-25 20:46:13 +00:00
Nick Mathewson
8396105d84
Implement some of GETINFO control message
...
svn:r3694
2005-02-25 06:37:07 +00:00
Nick Mathewson
81d2c2d8e5
Stub functions for new control-spec logic.
...
svn:r3693
2005-02-25 06:16:28 +00:00
Nick Mathewson
26e6eb7539
Check returns from libevent calls better; stop poking at internals of events to see if they are live.
...
svn:r3691
2005-02-25 05:42:01 +00:00
Roger Dingledine
6329811a88
fix a seg fault from tor_free_all
...
svn:r3690
2005-02-24 23:01:26 +00:00
Nick Mathewson
24d7ae6fe8
Insert missing ! in assert_connection_ok; test was accidentally reversed in revision 1.329 yesterday. Should fix bug 102
...
svn:r3685
2005-02-24 17:08:27 +00:00
Roger Dingledine
5b24ca6cde
cache .exit address better (i think)
...
svn:r3684
2005-02-24 11:44:08 +00:00
Roger Dingledine
6faaac2706
add support for CONNECTing through https proxies.
...
not sure if it works. i don't have an https proxy.
svn:r3682
2005-02-24 10:56:55 +00:00
Roger Dingledine
8054f82992
stop a potential overflow (pointed out by ilja)
...
svn:r3681
2005-02-24 10:22:00 +00:00
Nick Mathewson
2adee31a26
Improve log message on unrecognized encoding to indicate that we can cope.
...
svn:r3676
2005-02-23 22:14:34 +00:00
Nick Mathewson
22c38b0f9b
Clarify comment. Use CONN_IS_EDGE more. Try to be more zealous about calling connection_edge_end when things go bad with edge conns in connection.c
...
svn:r3671
2005-02-23 20:35:26 +00:00
Nick Mathewson
69a36e352e
clarify comment
...
svn:r3667
2005-02-23 06:46:54 +00:00
Nick Mathewson
e0387d1322
Addressmap tweak: Make "addressmap x x" remove any mapping from the address x.
...
svn:r3666
2005-02-23 06:40:48 +00:00
Nick Mathewson
2ff6cfccd6
Forward-port fix to make dual-purpose NT executable work.
...
svn:r3665
2005-02-23 05:34:25 +00:00
Roger Dingledine
55c3f15ed1
Forward-port the trick to bump up ConnLimit as far as it can
...
go, but not past MAXCONNECTIONS. Also throw away the FAKE_POLL
caveats since 0.1.0 doesn't need it any more.
svn:r3657
2005-02-22 23:52:44 +00:00
Nick Mathewson
6e6d95b3db
Change from inet_ntoa to a threadproof tor_inet_ntoa.
...
svn:r3656
2005-02-22 08:18:36 +00:00
Nick Mathewson
70c3580f81
Patch to localtime/gmtime handling: use the _r variants where available. Use mutexes to fake _r where necessary. Make mutexes no-ops where no threading is enabled.
...
svn:r3653
2005-02-22 07:03:03 +00:00
Nick Mathewson
d01718841e
Remove assumptions that maximum path length is anything like 1024. From comments by Chris Palmer
...
svn:r3652
2005-02-22 06:38:39 +00:00
Nick Mathewson
a68fcbf807
Initial IRIX compatibility fixes: check for inttypes.h; check for platform cell_t.
...
svn:r3648
2005-02-22 04:26:45 +00:00
Nick Mathewson
c2d5b67dd2
After we successfully connect, try handling pending stuff immediately, rather than waiting for the next call to connection_handle_write. Roger: is this right?
...
svn:r3647
2005-02-22 03:02:33 +00:00
Nick Mathewson
e673536e3f
Print uname on start of unittests.
...
svn:r3646
2005-02-22 03:01:31 +00:00
Nick Mathewson
1a55422006
Fix windows build: juggle }s and #endifs around in main.c
...
svn:r3645
2005-02-22 02:57:43 +00:00
Roger Dingledine
8991af604c
make the addressmap internals less noisy
...
svn:r3643
2005-02-22 00:55:50 +00:00
Roger Dingledine
8727acf2f1
Add a new AddressMap directive to rewrite incoming socks addresses.
...
Add a new TrackHostExits directive to trigger addressmaps for
certain incoming socks addresses, for sites that break when your exit
keeps changing.
Redo the client-side dns cache so it's just an addressmap too.
svn:r3641
2005-02-22 00:53:08 +00:00
Roger Dingledine
38f53cff41
forward-port the onion queue thing
...
svn:r3639
2005-02-20 09:27:48 +00:00
Roger Dingledine
cbb4803ec8
forward-port some fixes
...
svn:r3631
2005-02-17 01:12:50 +00:00
Roger Dingledine
797419a62c
remove unused code
...
svn:r3629
2005-02-16 02:06:54 +00:00
Nick Mathewson
0289144229
Fix another crash bug found by Jaroslaw--it is possible for dns_resolve to mark a connection to be freed, if the circuit it was attached to fails for some reason.
...
svn:r3623
2005-02-14 21:16:27 +00:00
Nick Mathewson
427e246a10
Add a missing prototype to or.h
...
svn:r3621
2005-02-13 22:31:26 +00:00
Nick Mathewson
d90ab823ea
remove redundant unpack in critical path
...
svn:r3620
2005-02-13 16:17:32 +00:00
Nick Mathewson
58540dde50
Do not try to double-aquire lock when rotating keys. May fix deadlock bug found by weasel.
...
svn:r3616
2005-02-11 07:56:10 +00:00
Nick Mathewson
5d836c8140
Free tls resources on exit too
...
svn:r3615
2005-02-11 01:41:19 +00:00
Nick Mathewson
f672577bc6
Free even more things on shutdown. Temporarily move tor_free_all out from #ifdef so it gets tested more.
...
svn:r3614
2005-02-11 01:26:47 +00:00
Nick Mathewson
60f234f42b
Add more functions to free things to help dmalloc allong.
...
svn:r3613
2005-02-10 23:18:39 +00:00
Roger Dingledine
33569e40d7
if we're hibernating and we get a sigint, exit immediately.
...
closes bug 91.
svn:r3611
2005-02-10 07:34:19 +00:00
Roger Dingledine
236aa86ae7
stop picking unverified dir mirrors, ever.
...
it only leads to misery.
svn:r3610
2005-02-10 07:00:23 +00:00
Roger Dingledine
37ca621301
when a client asks us for a dir mirror and we don't have one,
...
launch an attempt to get a fresh one.
svn:r3609
2005-02-10 06:31:34 +00:00
Roger Dingledine
07a3307460
remove redundant lines
...
svn:r3607
2005-02-09 23:54:30 +00:00
Nick Mathewson
89d422914a
Patch from adam langley: always remove sockets from libevent before closing them. Should fix epoll-related bugs.
...
svn:r3606
2005-02-09 23:16:31 +00:00
Roger Dingledine
c5c46d6fb6
don't list version in the win32 service display name or service name,
...
since they'll keep changing and people will get messed up about which
one is installed.
svn:r3592
2005-02-09 02:26:24 +00:00
Nick Mathewson
a64b03a4fd
Avoid double-free on tor-resolve failure
...
svn:r3567
2005-02-05 23:55:21 +00:00
Nick Mathewson
bb32fa86d7
Re-normalize whitespace; make "make check-spaces" happy
...
svn:r3566
2005-02-05 21:42:46 +00:00
Nick Mathewson
24ad6542c9
forward-port NT service patch
...
svn:r3565
2005-02-05 21:40:25 +00:00
Nick Mathewson
322c728e97
Fix tor-resolve implementation to prevent crashes and send resolves when we should.
...
svn:r3561
2005-02-05 21:03:24 +00:00
Roger Dingledine
56d4b99491
forward-port the logic skew and double-free thing
...
svn:r3549
2005-02-04 01:49:58 +00:00
Roger Dingledine
efa9bb5535
fix the latest bug: don't explode when some router declares a
...
bandwidthburst of 500 gigabytes.
this bug seems to have taken down most of the network. oops.
svn:r3523
2005-02-03 22:58:22 +00:00
Roger Dingledine
bcece3d8a7
another minor fix
...
svn:r3511
2005-02-03 07:30:00 +00:00
Peter Palfrader
ddd724ef94
Add --with-dmalloc configure option
...
svn:r3508
2005-02-03 07:25:10 +00:00
Peter Palfrader
dfa3a0220f
Write a function header for Roger so he can fill it with life
...
svn:r3507
2005-02-03 07:23:48 +00:00
Roger Dingledine
f575d29a59
note a bug that wmf just found
...
svn:r3503
2005-02-02 06:28:45 +00:00
Roger Dingledine
c1656f41b4
bugfix: tor-resolve requests were ignoring .exit if there was
...
a working circuit they could use instead.
svn:r3502
2005-02-02 06:26:52 +00:00
Roger Dingledine
0551e3a814
reject more default filesharing ports by default.
...
svn:r3500
2005-02-02 04:15:40 +00:00
Roger Dingledine
976bee4a3f
only check if exit_policy_implicitly_allows if you're a server.
...
also, put a comment next to an interesting undocumented 'feature'.
svn:r3499
2005-02-02 01:59:16 +00:00
Roger Dingledine
0f5a198028
sometimes, a conn on the closeable_lst gets absolutely
...
clobbered. maybe this will help me find out why.
svn:r3498
2005-02-02 00:19:09 +00:00
Roger Dingledine
850c300e46
bump the default rate limit to 1 MB
...
svn:r3494
2005-02-01 13:44:10 +00:00
Roger Dingledine
b90983e44f
reject odd-looking addresses at the client, rather than having
...
the server drop them because they're malformed.
svn:r3493
2005-02-01 12:19:44 +00:00
Roger Dingledine
1447145470
give a bit more load to servers that claim to be able to
...
handle a whole lot.
svn:r3489
2005-02-01 02:56:31 +00:00
Roger Dingledine
1e847aebb1
Go into soft hibernation after 95% of the bandwidth is used,
...
not 99%. This is especially important for daily hibernators who
have a small accounting max. Hopefully it will result in fewer
cut connections when the hard hibernation starts.
svn:r3488
2005-02-01 02:45:28 +00:00
Roger Dingledine
2e97593d25
define TOR_FRAGILE if you want tor to give you a core when
...
something goes wrong. this should only be used by people actively
tracking bugs.
svn:r3487
2005-02-01 00:37:16 +00:00
Roger Dingledine
e7e77d6d8e
fix an edge case in parsing config options (thanks weasel)
...
svn:r3486
2005-02-01 00:05:57 +00:00
Peter Palfrader
d19aaa9a46
Fix arma's fix for my leak
...
svn:r3485
2005-01-31 23:47:25 +00:00
Roger Dingledine
ab8691c343
fix a minor memory leak found by weasel
...
svn:r3484
2005-01-31 20:38:57 +00:00
Roger Dingledine
d232831135
stop a sigpipe.
...
apparently when we get an eof, at least sometimes it *does* mean
you'd better not try writing.
svn:r3481
2005-01-31 08:12:30 +00:00
Roger Dingledine
9856e328c4
stop logging loudly when a client tries an old onion key. it's
...
time to give up on that issue, at least for now.
svn:r3479
2005-01-31 04:03:57 +00:00
Roger Dingledine
a7138f2535
fix another rogue connection_free that was causing us troubles
...
there are no doubt more lurking.
svn:r3478
2005-01-31 03:47:38 +00:00
Roger Dingledine
a0312f3590
don't double-detach a closing exit conn that's waiting for dns resolve
...
svn:r3477
2005-01-31 01:27:49 +00:00
Roger Dingledine
692a57c8e8
but don't spring the trip on worker children, because it turns
...
out they don't actually remove anything before freeing the conns.
svn:r3476
2005-01-31 01:02:20 +00:00
Roger Dingledine
d6489d8e41
lay a trap for situations where we connection_free something
...
that's still on one of the lists.
in particular, this will detect situations where we mark-for-close
and then free it ourselves.
svn:r3475
2005-01-31 00:33:32 +00:00
Roger Dingledine
75b45bcd4d
stop the infinite loop of freeing the same connection_t over and
...
over when it's not linked into the connection_array
svn:r3474
2005-01-31 00:26:09 +00:00
Roger Dingledine
5d8659429e
be less noisy about complaining when a jap client tries to connect
...
and we refuse him.
svn:r3472
2005-01-30 23:52:47 +00:00
Roger Dingledine
3969b6066e
Stop crashing when we're asking to close_if_marked a conn that
...
hasn't been connection_added yet. This happens when an exit conn
is in dns_wait and we get a relay end cell for it before it finishes.
We were silently leaking each of these marked conns in 0.0.9.x. Now
we actually free them.
svn:r3470
2005-01-30 21:47:47 +00:00
Roger Dingledine
20ecfc757b
be safe: if you got a resolvefailed end cell but you're not an AP, bail.
...
svn:r3469
2005-01-30 21:46:42 +00:00
Roger Dingledine
7ddeb7fae7
try to find the corrupt closeable_connection_lst entry early
...
svn:r3468
2005-01-30 20:31:08 +00:00
Roger Dingledine
e432d2ceea
we should handle the case where the client has no cert, for
...
backwards compatibility with jap clients.
svn:r3466
2005-01-30 08:02:33 +00:00
Roger Dingledine
cab0138e4c
give a better log message when we don't have a good mirror of
...
the directory yet and somebody asks for it.
svn:r3464
2005-01-30 06:08:42 +00:00
Roger Dingledine
8e7fc8d259
comment about a bug wrt clock skew
...
svn:r3461
2005-01-30 00:07:31 +00:00
Roger Dingledine
d273891107
if we fetch the dir from a mirror that has a wildly skewed
...
clock, then don't bother checking recommended-versions: it will
just make us sad.
as a side effect, people running obsolete versions and whose
clocks are wildly skewed will not be auto-shut-down. but they
will still get warns about their clock skew.
svn:r3459
2005-01-29 11:48:37 +00:00
Roger Dingledine
191e52179c
distinguish between "well-formed and rejected" and "not well
...
formed", when parsing server descriptors.
svn:r3458
2005-01-29 11:23:34 +00:00
Roger Dingledine
7fd8dfe6ea
accept LDAP (389/tcp) and LDAPS (636/tcp) in default exit policy
...
svn:r3457
2005-01-29 11:16:23 +00:00
Roger Dingledine
82d3894f3e
don't let a corrupt directory cache keep us from starting
...
svn:r3456
2005-01-29 11:07:35 +00:00
Roger Dingledine
0b9b97aaf4
forward-port the shutting up
...
svn:r3450
2005-01-28 10:00:29 +00:00
Roger Dingledine
b2fbd834f0
forward-port the dns and maxconn fixes
...
svn:r3448
2005-01-28 08:53:47 +00:00
Nick Mathewson
e03f571ee3
Forward-port win32 service patch; try to clean it a touch.
...
svn:r3438
2005-01-27 21:45:32 +00:00
Nick Mathewson
fbb7f869c5
fwd-port win32 isprint fix
...
svn:r3410
2005-01-22 00:42:58 +00:00
Nick Mathewson
1dc4d9a0ce
Fix dumb bug in unittests.
...
svn:r3409
2005-01-22 00:42:40 +00:00
Nick Mathewson
de9b46ad64
clean a couple of messages
...
svn:r3401
2005-01-21 23:16:07 +00:00
Roger Dingledine
4826718eac
special case so we don't yell when an empty http body doesn't specify a
...
content-encoding
svn:r3397
2005-01-21 03:18:49 +00:00
Roger Dingledine
b137f6d19f
if we get an incredibly skewed timestamp from a dirserver mirror that
...
isn't a verified OR, don't complain very loudly -- it's probably him
that's wrong.
svn:r3395
2005-01-21 00:45:18 +00:00
Nick Mathewson
8115ca5f99
Log the offending policy, not the first policy
...
svn:r3394
2005-01-20 20:42:45 +00:00
Nick Mathewson
6704093c0d
Appease another 64-bit warning
...
svn:r3392
2005-01-20 20:21:34 +00:00