Nick Mathewson
a701cd7e97
r11591@catbus: nickm | 2007-01-29 17:31:02 -0500
...
Add an XXXX comment to dirserv.c so I can take it out of my todo email folder.
svn:r9459
2007-01-29 23:09:22 +00:00
Roger Dingledine
88796acf4b
fix all the bugs i could find in nick's bridge dir commit.
...
let's hope i got them all.
svn:r9442
2007-01-27 20:44:09 +00:00
Nick Mathewson
9984cad6e8
r11552@catbus: nickm | 2007-01-27 03:55:02 -0500
...
This one is a little tricky. Our BEGIN_DIR implementation has a
problem: the dirserv conns will decide they can flush all their data
immediately, since the edge_conns will read greedily.
For our 0.1.2 workaround, we track which or_conn a bridged dirserv
conn is attached to, and stop writing when its outbuf is too full, and
start writing again when the or_conn's outbuf empties out a little.
This requires a bit of pointer management. Let's hope it works.
svn:r9432
2007-01-27 08:55:06 +00:00
Roger Dingledine
e9f6456b2c
Bugfix: If we're not marking exits as guards, ignore exit bandwidth
...
when we're deciding the required bandwidth to become a guard.
svn:r9423
2007-01-26 09:03:20 +00:00
Nick Mathewson
79dd306527
r11278@catbus: nickm | 2007-01-23 14:22:27 -0500
...
More doxygen comments: this time mainly around spooling and storing directory information.
svn:r9392
2007-01-23 19:22:52 +00:00
Nick Mathewson
af857f2da5
r11967@Kushana: nickm | 2007-01-15 16:13:15 -0500
...
tidy up more whitespace issues
svn:r9356
2007-01-15 21:21:14 +00:00
Nick Mathewson
0c77ae2fcb
r11930@Kushana: nickm | 2007-01-11 09:05:27 -0500
...
fix recently-introduced segfault when not running as a dirserver
svn:r9332
2007-01-11 14:13:04 +00:00
Nick Mathewson
8835bb844e
r11922@Kushana: nickm | 2007-01-10 15:43:18 -0500
...
Clear untrusted networkstatuses after 10 days too. (This is not a terribly awful bug, since we would only ever retain 16 of them, but it still might be nice to backport.) Resolves part A of bug 372.
svn:r9324
2007-01-10 20:43:40 +00:00
Nick Mathewson
03d6e98111
r11868@Kushana: nickm | 2007-01-06 01:32:55 -0500
...
Document how we set Guard a little better.
svn:r9283
2007-01-06 06:32:59 +00:00
Nick Mathewson
aa7b72c97d
r11863@Kushana: nickm | 2007-01-06 01:12:24 -0500
...
Fix computation of total_exit_bandwidth; this will cause exits not to get recommended as guards if the total exit bandwidth if they constitute less than a third of total available bandwidth. There may be problems here with flapping; lets see if they occur in practice.
svn:r9281
2007-01-06 06:26:53 +00:00
Roger Dingledine
ee0d2d486d
fix a bug, defer a bug, bump to 0.1.2.5-alpha
...
svn:r9270
2007-01-05 06:30:31 +00:00
Roger Dingledine
658c09c06f
more progress and cleanups
...
svn:r9269
2007-01-05 06:03:10 +00:00
Roger Dingledine
50f0e36094
man page entries for TunnelDirConns and PreferTunneledDirConns
...
and add a todo item for nick in case he gets bored :)
svn:r9260
2007-01-04 04:35:18 +00:00
Roger Dingledine
88c3c84bda
be slightly less eager to yell at a server for being unreachable
...
svn:r9259
2007-01-03 23:58:03 +00:00
Nick Mathewson
2963d4acc2
r11820@Kushana: nickm | 2007-01-03 14:54:05 -0500
...
Add (and specify) a BadDirectory flag to networkstatuses, so authorities can tell clients that some caches are broken. Also, implement an as-yet-unused function to estimate how many bytes will be sent on a directory connection.
svn:r9255
2007-01-03 19:58:00 +00:00
Roger Dingledine
50e36dc11b
more cleanups, including a shiny new XXX012
...
svn:r9250
2007-01-03 10:30:26 +00:00
Nick Mathewson
cbdd21cbf5
r11799@Kushana: nickm | 2007-01-02 16:38:34 -0500
...
Simplify and remove most of dirserv_orconn_tls_cone
svn:r9243
2007-01-02 21:47:21 +00:00
Nick Mathewson
722a3ab544
r11784@Kushana: nickm | 2007-01-02 01:13:04 -0500
...
Spec-conformance on r9181: make "opt v" strings start with "Tor".
svn:r9233
2007-01-02 06:13:10 +00:00
Nick Mathewson
6ae3ba9b2d
r11777@Kushana: nickm | 2007-01-01 21:01:10 -0500
...
Fix an idiot bug in r9181: snprintf returns <0 on error, not !=0.
svn:r9232
2007-01-02 02:01:15 +00:00
Nick Mathewson
46092f8163
r11765@Kushana: nickm | 2006-12-29 16:04:22 -0500
...
Remove duplicated code in dirserv_get_networkstatus_v2; document dirserv_get_networkstatus_v2_fingerprints. Down to 13 XXXX012 items.
svn:r9220
2006-12-30 02:41:14 +00:00
Nick Mathewson
8728e2826f
r11744@Kushana: nickm | 2006-12-28 23:43:53 -0500
...
Refactor connection_write_to_buf_zlib back into connection_write_to_buf. Hooray for dumping duplicate code.
svn:r9209
2006-12-29 05:07:04 +00:00
Nick Mathewson
b59573949e
r11736@Kushana: nickm | 2006-12-28 17:46:23 -0500
...
Mark a pile of XXXX comments as targetted for 0.1.2: some because they look important, some because they look easy.
svn:r9205
2006-12-29 02:47:51 +00:00
Nick Mathewson
2e538d9918
r11694@Kushana: nickm | 2006-12-23 23:09:20 -0500
...
Add a version entry to networkstatus documents; have this entry get parsed and used to calculate whether begin_dir is supported.
svn:r9181
2006-12-24 04:09:48 +00:00
Roger Dingledine
488b4726a7
reinstate the most important dead chickens for limiting
...
impact of directory writes now that we're write limiting.
a few more dead chickens remain.
svn:r9170
2006-12-23 08:48:16 +00:00
Nick Mathewson
280692d65f
r11643@Kushana: nickm | 2006-12-19 13:15:14 -0500
...
Stop recommmending exits as guards when the exit bandwidth is less than a third of the total bandwidth.
svn:r9154
2006-12-19 19:48:48 +00:00
Nick Mathewson
cf04e1e6e7
r11479@Kushana: nickm | 2006-12-07 23:38:54 -0500
...
Refactor GETINFO into a table-driven dispatch, as suggested by arma. My brain hurts.
svn:r9052
2006-12-08 04:39:13 +00:00
Nick Mathewson
1567e13dc8
r11475@Kushana: nickm | 2006-12-07 20:49:21 -0500
...
Make GETINFO dir/status/... work even when we are not a directory. Needs a little cleanup. Closes bug 263.
svn:r9051
2006-12-08 01:50:02 +00:00
Roger Dingledine
44c55dad23
Fix an assert failure when the directory authority sets
...
AuthDirRejectUnlisted and then receives a descriptor from an
unlisted router (reported by seeess).
svn:r9023
2006-12-04 18:54:01 +00:00
Roger Dingledine
69ae0a2986
we were leaking all the fingerprints for !reject, !invalid,
...
and !badexit lines in the approved-routers file.
svn:r8974
2006-11-20 16:36:44 +00:00
Nick Mathewson
b1dc014fc6
r9347@totoro: nickm | 2006-11-20 11:24:46 -0500
...
11:23 < armadev> typo
11:23 < nickm> ?
11:23 < armadev> did you get the coffee yet? :)
11:23 < nickm> no
11:23 < armadev> i'm at an advantage..i haven't slept yet
svn:r8972
2006-11-20 16:26:52 +00:00
Nick Mathewson
b4ea6136a4
r9345@totoro: nickm | 2006-11-20 11:22:10 -0500
...
Fix a small and unlikely memory leak in dirserv.c. I think this is not the one arma is looking for.
svn:r8971
2006-11-20 16:22:46 +00:00
Nick Mathewson
9243e54177
r9313@totoro: nickm | 2006-11-13 20:07:41 -0500
...
Try to compile with fewer warnings on irix64's MIPSpro compiler /
environment, which apparently believes that:
- off_t can be bigger than size_t.
- only mean kids assign things they do not subsequently inspect.
I don't try to fix the "error" that makes it say:
cc-3970 cc: WARNING File = main.c, Line = 1277
conversion from pointer to same-sized integral type (potential portability
problem)
uintptr_t sig = (uintptr_t)arg;
Because really, what can you do about a compiler that claims to be c99
but doesn't understand that void* x = NULL; uintptr_t y = (uintptr_t) x;
is safe?
svn:r8948
2006-11-14 01:07:52 +00:00
Nick Mathewson
1bf1f9d2fc
r9449@Kushana: nickm | 2006-10-31 00:12:02 -0500
...
Dump breakdown of PK operations when we get a USR2 signal. This should help us figure out of we are doing some of them for stupid reasons.
svn:r8881
2006-10-31 19:17:07 +00:00
Roger Dingledine
8a781f7f34
general cleanups from looking through or-cvs
...
svn:r8855
2006-10-29 07:41:25 +00:00
Nick Mathewson
5b72dc77ad
r9395@Kushana: nickm | 2006-10-26 22:06:51 -0400
...
Fix Bug 349: Have GETINFO network-status return even old routers, and use long nicknames where appropriate. Document this.
svn:r8834
2006-10-27 02:07:04 +00:00
Nick Mathewson
4df90e455c
r9164@totoro: nickm | 2006-10-24 17:50:43 -0400
...
Oops: 17:50 < armadev> today is opposite day?
svn:r8822
2006-10-24 21:51:06 +00:00
Nick Mathewson
6b7d1c94da
r9162@totoro: nickm | 2006-10-24 17:41:35 -0400
...
Make "boolean !=" logic more obvious.
svn:r8821
2006-10-24 21:41:48 +00:00
Nick Mathewson
a5bf6df14a
r9160@totoro: nickm | 2006-10-24 17:38:07 -0400
...
More dirserver oops: actually set the digest for a given name in the case when the name is not yet recognized.
svn:r8820
2006-10-24 21:38:31 +00:00
Nick Mathewson
ba1b04c736
r9158@totoro: nickm | 2006-10-24 16:50:18 -0400
...
Oops on last authority patch: handle routers with unrecognized fingerprints correctly
svn:r8819
2006-10-24 20:51:28 +00:00
Nick Mathewson
42bab1c6d3
r9318@Kushana: nickm | 2006-10-22 15:22:57 -0400
...
Let directory authorities set the BadExit flag if they like. Also, refactor directory authority code so we can believe multiple things about a single router, and do fewer linear searches.
svn:r8794
2006-10-23 03:48:42 +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
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
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
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
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
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
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
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
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
Roger Dingledine
6fdc63aed2
simplify the connection_write_to_buf_zlib() wrapper.
...
svn:r7042
2006-08-13 23:38:30 +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
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
Roger Dingledine
4d5fab4f9a
tweak
...
svn:r6799
2006-07-21 07:53:21 +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
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
Roger Dingledine
7f01dc9c1c
whitespace/tab fixes
...
svn:r6734
2006-07-06 02:45:46 +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
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
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
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
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
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
4d02ccfed8
Stop trying to refresh when we are out of data.
...
svn:r6647
2006-06-18 08:19:35 +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
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
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
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
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
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
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
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
24b2e0530a
clean up the log lines more, and note a future work.
...
svn:r6324
2006-04-08 21:12:07 +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
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
eba6204315
fix some xxxs.
...
svn:r6307
2006-04-03 06:23:24 +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
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
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
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
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
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