Commit Graph

2080 Commits

Author SHA1 Message Date
Roger Dingledine 22106dfd75 authdirservers accept the uploading of unverified descriptors.
fix a bunch of bugs in router_update_status_from_smartlist()
(Nick, did I get them all, or was there a trickier one still hiding?)


svn:r2081
2004-07-21 09:13:12 +00:00
Roger Dingledine a9de430f32 caching dirservers don't handle posts, running-routers, or rend descs
svn:r2080
2004-07-21 08:40:57 +00:00
Roger Dingledine c1b4ba50a4 rearrange to prepare to solve the authdirserver initialization
precedence problem. doesn't actually solve it yet.


svn:r2079
2004-07-21 07:50:06 +00:00
Nick Mathewson 03668fead0 Log number of certs in wrong-length chains
svn:r2078
2004-07-21 03:32:56 +00:00
Roger Dingledine 45c435e273 we were counting incorrectly when trying to figure out whether
a given AP stream was being handled or not.
(how did this work?)


svn:r2077
2004-07-21 03:16:24 +00:00
Roger Dingledine 82e1b89508 clients exit immediately on interrupt; they don't wait
svn:r2076
2004-07-21 03:15:32 +00:00
Roger Dingledine 45e4af83e8 fix some bool logic
svn:r2075
2004-07-21 02:42:49 +00:00
Roger Dingledine 13459737fe make connection_tls_finish_handshake() more plausible.
now we accept connections from unknown routers.


svn:r2074
2004-07-21 02:25:14 +00:00
Nick Mathewson bce447ef62 Misc small code cleanups; remove exit_server_mode(); change tor_tls_verify behavior
svn:r2073
2004-07-21 00:44:04 +00:00
Roger Dingledine 1a23825b42 get the function prototype right
svn:r2072
2004-07-21 00:21:26 +00:00
Roger Dingledine eb9fd33de7 add a new advertised_server_mode() to distinguish ORs that
are willing to become servers from ones that really are servers.


svn:r2071
2004-07-21 00:12:42 +00:00
Roger Dingledine 7cc085787d when we get a sigint, don't accept new connections/circuits,
but delay 30 seconds until exiting.
if we get a second sigint, exit immediately.


svn:r2070
2004-07-20 23:31:00 +00:00
Nick Mathewson 185acb19cb Correct "advance-time" logic
svn:r2069
2004-07-20 23:25:00 +00:00
Nick Mathewson 82f57cfea6 When faking gettimeofday with ftime, do it right.
svn:r2068
2004-07-20 21:23:50 +00:00
Nick Mathewson 3c5244c431 Split uptime into separate field
svn:r2067
2004-07-20 21:13:11 +00:00
Nick Mathewson 250015850e Handle closed connection properly on tor_resolve
svn:r2066
2004-07-20 21:05:05 +00:00
Nick Mathewson 3ff5be767a Track bandwidth usage to estimate capacity
svn:r2065
2004-07-20 20:57:46 +00:00
Nick Mathewson a30bac3a6b 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 85099bfec2 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 aca795b05d 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 9c4ad066d0 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 8daadba0c6 ship and install tor_resolve script too
svn:r2060
2004-07-20 06:59:22 +00:00
Roger Dingledine a4c60e4253 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 1f1be1d4be break connection_dir_client_finished_reading() into its own function
svn:r2058
2004-07-20 02:44:26 +00:00
Roger Dingledine 47efcccdea 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 7597ca3137 mention that you should proxy your SSL traffic too
svn:r2056
2004-07-19 22:30:18 +00:00
Roger Dingledine 979429b42b more useful warning messages
(fixed because the old ones confused a user)


svn:r2055
2004-07-19 19:49:03 +00:00
Nick Mathewson 65e94fb000 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 505b9061da bugfix: hidden services were broken in cvs
svn:r2053
2004-07-17 19:50:29 +00:00
Nick Mathewson 4a2aa1f46d 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 7f8bb5cab1 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 9a9aae6d72 Resolve all DOCDOCs.
svn:r2050
2004-07-16 22:23:18 +00:00
Nick Mathewson dd3dc2b27f Revert cpuworker to use addr/port
svn:r2049
2004-07-16 21:47:18 +00:00
Nick Mathewson 1669023d3c Look in .torrc if no CONFDIR "torrc" is found.
svn:r2048
2004-07-16 19:43:58 +00:00
Nick Mathewson 9a6eaa604d Add generic expand_filename function to handle expanding ~/
svn:r2047
2004-07-15 02:00:43 +00:00
Nick Mathewson c6d72ea4ef Fix warning
svn:r2046
2004-07-15 01:59:18 +00:00
Roger Dingledine 541b9e0b41 give nick enough to keep him busy for a while more
svn:r2045
2004-07-15 01:31:11 +00:00
Nick Mathewson 0e44568659 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 73ca6a9960 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 c573b4acaa 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 832c076e0d only count bytes transmitted to/from non-local IPs
svn:r2041
2004-07-13 16:58:01 +00:00
Roger Dingledine 15474d2efd add is_local_IP() function to help distinguish which bandwidth "matters"
svn:r2040
2004-07-13 16:57:37 +00:00
Roger Dingledine 6a162ad9ec include a css file for tor-doc.html
(also include it in the tarball)


svn:r2039
2004-07-13 16:03:46 +00:00
Roger Dingledine 219bfcbb46 ship doc/tor-doc.html in the tarball
svn:r2038
2004-07-13 15:59:08 +00:00
Roger Dingledine 3e9f5a3f53 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 766f225c03 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 8f171d9bca 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 f79e90752c 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 653c260d2e update the todo list a bit
svn:r2033
2004-07-12 21:18:45 +00:00
Roger Dingledine 8bb4401b76 why does gcc not warn me about this at all? that's evil.
svn:r2032
2004-07-12 20:41:20 +00:00