Commit Graph

1398 Commits

Author SHA1 Message Date
Nick Mathewson
2a339b7627 Split uptime into separate field
svn:r2067
2004-07-20 21:13:11 +00:00
Nick Mathewson
e57698cc6e Track bandwidth usage to estimate capacity
svn:r2065
2004-07-20 20:57:46 +00:00
Nick Mathewson
d858a9e990 Remember list of digests for trusted dirservers; use this list to tell whether you are a trusted dirserver
svn:r2064
2004-07-20 20:09:59 +00:00
Roger Dingledine
d5999a24af also don't hang up on him if we're an OR and he's an authdirserver
otherwise we keep getting taken out of the running-routers list


svn:r2063
2004-07-20 19:45:29 +00:00
Roger Dingledine
66fc6cf04a if you're an OR and he's an OR and he's running 0.0.7,
don't expire your connections to him.


svn:r2062
2004-07-20 19:28:02 +00:00
Roger Dingledine
dc7951a5a7 a whole swath of fixes
introduce an authdir_mode() macro to match the others.
don't initialize uptime to the number of seconds since 1970.
non-authoritative dirservers don't cache their directory on disk.
make only authdirservers use clique_mode.
only read approved-routers file if you're an authdirserver.
even authdirservers fetch a new directory in do_hup.
retry_all_connections() is now called retry_all_listeners().
router_parse_list_from_string() correctly reports the router number
  it's working on.
only call dirserv_add_own_fingerprint() and
   dirserv_add_descriptor() on startup if we're an authdirserver.
if AuthDir and !ORPort then fail.
if AuthDir and ClientOnly then fail.


svn:r2061
2004-07-20 10:17:43 +00:00
Roger Dingledine
f54224ab35 clients can now pick non-authdirservers for fetching directories.
servers still pick authdirservers, but they never pick themselves.

but picking themselves for fetching rend descs is ok.


svn:r2059
2004-07-20 06:44:16 +00:00
Roger Dingledine
b4d4a961b1 break connection_dir_client_finished_reading() into its own function
svn:r2058
2004-07-20 02:44:26 +00:00
Roger Dingledine
a5ff0527e6 it turns out we weren't looking at the result from getsockopt().
now we do.
but i'm not sure it matters, since we also poll for reads, and if
there's an error with the connecting socket, poll is supposed to
return readable, so we should notice it then.

who knows.


svn:r2057
2004-07-19 23:26:21 +00:00
Roger Dingledine
19deb93c29 more useful warning messages
(fixed because the old ones confused a user)


svn:r2055
2004-07-19 19:49:03 +00:00
Nick Mathewson
54c129d8dc abstract ORPort/SocksPort checks into server_mode(), proxy_mode(), clique_mode(), etc. Dont change underlying comments.
svn:r2054
2004-07-18 21:47:04 +00:00
Roger Dingledine
87d0948903 bugfix: hidden services were broken in cvs
svn:r2053
2004-07-17 19:50:29 +00:00
Nick Mathewson
df3544422c Change rule from "reject non-recommended versions" to "reject obsolete versions". A version is "obsolete" if it is non-recommended, and at least one recommended version is newer than it.
svn:r2052
2004-07-16 23:33:42 +00:00
Nick Mathewson
1040762531 Remove 1024-router limit in routerparse.c; unify handling of running-routers lines in running-routers requests and in directories; set is_verified field of routerinfo_ts correctly; use most-recent-info rule to decide whether to change router-is-running status.
svn:r2051
2004-07-16 23:05:40 +00:00
Nick Mathewson
bc36db351f Resolve all DOCDOCs.
svn:r2050
2004-07-16 22:23:18 +00:00
Nick Mathewson
656a664334 Revert cpuworker to use addr/port
svn:r2049
2004-07-16 21:47:18 +00:00
Nick Mathewson
0b3357d573 Look in .torrc if no CONFDIR "torrc" is found.
svn:r2048
2004-07-16 19:43:58 +00:00
Nick Mathewson
9364c40afd Add generic expand_filename function to handle expanding ~/
svn:r2047
2004-07-15 02:00:43 +00:00
Nick Mathewson
c458f33ef1 Fix warning
svn:r2046
2004-07-15 01:59:18 +00:00
Nick Mathewson
5f7738d4cc Code to parse tor version numbers so we can do an is-newer-than check.
svn:r2044
2004-07-13 19:16:49 +00:00
Nick Mathewson
c2103eb63a Finish most pre2 items: make running-routers list work right; rename secret key files; make even more lookup-by-nickname use lookup-by-id; default nicknames to hostname.
svn:r2043
2004-07-13 18:23:40 +00:00
Nick Mathewson
e9365f9ed5 Bugfix: some things (like ctrl-z) can make a second take more than one second
svn:r2042
2004-07-13 18:07:57 +00:00
Roger Dingledine
d37850bb98 only count bytes transmitted to/from non-local IPs
svn:r2041
2004-07-13 16:58:01 +00:00
Roger Dingledine
7e344f191a add is_local_IP() function to help distinguish which bandwidth "matters"
svn:r2040
2004-07-13 16:57:37 +00:00
Roger Dingledine
86e0ede07e checkpoint: start working on bandwidth tracking and
letting clients evaluate whether they're suitable servers


svn:r2037
2004-07-13 07:42:20 +00:00
Roger Dingledine
017d7d1fb3 refuse to build a circuit before the directory has arrived
this will prevent a few of the 'couldn't decrypt onionskin' errors, maybe


svn:r2036
2004-07-13 01:25:39 +00:00
Roger Dingledine
3294b514d3 when you expire a wedged dir conn, conn_close_if_marked will take
care of trying to flush before it closes


svn:r2035
2004-07-13 00:38:08 +00:00
Roger Dingledine
149115cc4e bugfix: tell circuits what id_digest to look for, so
n_conn_open() can find waiting circuits.


svn:r2034
2004-07-12 23:53:16 +00:00
Roger Dingledine
a3aaff34b7 why does gcc not warn me about this at all? that's evil.
svn:r2032
2004-07-12 20:41:20 +00:00
Roger Dingledine
2325050b1b tor now tolerates down dirservers better
svn:r2031
2004-07-12 20:39:40 +00:00
Roger Dingledine
63256c9e7a make unit tests pass again
but note a bug that i don't know how to address. nick?


svn:r2030
2004-07-12 20:18:05 +00:00
Roger Dingledine
538655cd80 if connecting to an OR fails immediately, mark it as down
svn:r2029
2004-07-12 18:19:55 +00:00
Roger Dingledine
e167eeb18e add 'advertisedbandwidth' to router descriptor
svn:r2028
2004-07-12 18:02:54 +00:00
Roger Dingledine
17e5f25214 trivial punctuation tweak
svn:r2027
2004-07-12 16:51:28 +00:00
Roger Dingledine
379768290e fix a bug related to reading usernames for socks4
this hasn't bitten us yet, but hey.


svn:r2026
2004-07-12 16:51:05 +00:00
Nick Mathewson
38c889c454 Remove spurious assert
svn:r2018
2004-07-07 19:51:20 +00:00
Nick Mathewson
e9d81d873b Fix the router_compare_to_my_exit_policy assertion failure once-and-for-all, by declaring 0.0.0.0 always denied.
svn:r2017
2004-07-07 19:49:48 +00:00
Nick Mathewson
88451ce25b Yes, I did mean "else if".
svn:r2016
2004-07-06 23:29:34 +00:00
Nick Mathewson
d5e275ddf4 Fix bug reported by peter palfrader: an empty address is unresolvable, but not an occasion for an assertion failure in a dnsworker.
svn:r2015
2004-07-06 23:25:21 +00:00
Roger Dingledine
cbf73b2bc5 touchups all over
put uptime in descriptor


svn:r2011
2004-07-04 22:48:11 +00:00
Nick Mathewson
0f3fcfd1db When tor_lookup_hostname says 0.0.0.0, treat it as an error.
svn:r2003
2004-07-04 04:52:43 +00:00
Roger Dingledine
198e5f4c16 fix a seg fault when you try to launch a circ
svn:r2002
2004-07-03 01:45:13 +00:00
Roger Dingledine
dc0a36d27b populate circ->n_conn_id_digest when we set circ->n_conn
svn:r2001
2004-07-03 01:37:59 +00:00
Nick Mathewson
7d8de8cd10 More digest/nickname fixes
svn:r2000
2004-07-02 23:40:03 +00:00
Roger Dingledine
d58d4c0db6 another checkpoint toward letting ORs connect on demand
svn:r1999
2004-07-02 23:08:59 +00:00
Roger Dingledine
62dcf9e20f some of the infrastructure to let ORs connect on demand
svn:r1998
2004-07-02 09:29:01 +00:00
Nick Mathewson
cbab134bd9 Switch most uses of *_by_addr_port to *_by_identity_digest
svn:r1997
2004-07-01 23:13:04 +00:00
Roger Dingledine
e1ba0c4663 running-routers now lists down routers too (with a ! before their name)
svn:r1996
2004-07-01 11:32:26 +00:00
Nick Mathewson
541add90a1 Track routers by hash of identity key; use hex hash of identity key in place of nickname; accept (and use) hash of identity key in EXTEND cells.
svn:r1994
2004-07-01 01:16:59 +00:00
Roger Dingledine
f42f04c859 cleanups on 008pre1 items
svn:r1993
2004-06-30 21:48:02 +00:00