Roger Dingledine
ce7fcd110c
solve the authdirserver initialization precedence problem
...
svn:r2085
2004-07-21 18:53:56 +00:00
Roger Dingledine
1e62d24ddc
bugfix: only require the correct key if the nickname is for
...
a verified router
svn:r2084
2004-07-21 18:20:09 +00:00
Roger Dingledine
fd0fcc89e9
disallow picking unverified routers in circuits
...
(for now)
svn:r2082
2004-07-21 09:35:24 +00:00
Roger Dingledine
ecc9009256
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
906d1aa99f
caching dirservers don't handle posts, running-routers, or rend descs
...
svn:r2080
2004-07-21 08:40:57 +00:00
Roger Dingledine
3e97c12f24
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
Roger Dingledine
ddb6eb35af
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
30d6b1479b
clients exit immediately on interrupt; they don't wait
...
svn:r2076
2004-07-21 03:15:32 +00:00
Roger Dingledine
84b8f8e04a
fix some bool logic
...
svn:r2075
2004-07-21 02:42:49 +00:00
Roger Dingledine
e547ab293b
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
334de84cbe
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
99926813b1
get the function prototype right
...
svn:r2072
2004-07-21 00:21:26 +00:00
Roger Dingledine
73ffcc5cef
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
0da256ef97
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
18d752e518
Correct "advance-time" logic
...
svn:r2069
2004-07-20 23:25:00 +00:00
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
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
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
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
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
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