Roger Dingledine
97338cf9a0
update the sample torrc
...
svn:r2139
2004-08-04 06:17:24 +00:00
Roger Dingledine
b51a444dd2
commit some odds and ends, so my tree is clean
...
svn:r2137
2004-08-04 05:10:49 +00:00
Nick Mathewson
75684a48d5
<arma> did you get it working on win32? or just compiling
...
svn:r2136
2004-08-04 04:58:30 +00:00
Nick Mathewson
78f12ffcca
Bugfix: "Okay, I just shut down like you told me. Now let me verify your signature." Also fix error message when running over-new version.
...
svn:r2135
2004-08-04 02:35:06 +00:00
Roger Dingledine
d0cfbcf875
only pick a default nickname if you're a server
...
svn:r2134
2004-08-04 02:15:22 +00:00
Roger Dingledine
a939796919
put a comment by routerlist_update_from_runningrouters() to
...
remind me that it's not used yet
svn:r2132
2004-08-04 01:25:21 +00:00
Roger Dingledine
da26a7a197
log a warning if you're running an unverified server, to let
...
you know you might want to get it verified
also, moved that whole block below the check-signature logic, so
we don't execute it if the directory is a fake.
(the recommended-versions logic is still executed before the signature
is checked; we should fix that.)
svn:r2131
2004-08-04 01:17:21 +00:00
Nick Mathewson
630e1e4b44
Hack: Include date with successful directory GETs.
...
svn:r2130
2004-08-04 01:15:57 +00:00
Nick Mathewson
14d5478f29
Add functions to format and parse RFC1123-style times, for HTTP protocol.
...
svn:r2129
2004-08-04 01:11:15 +00:00
Roger Dingledine
8b55f73bbe
put the have_warned_about_unsafe_socks static var inside the function
...
svn:r2128
2004-08-04 01:08:10 +00:00
Nick Mathewson
5b61dd0457
Fix all warnings on win32 build
...
svn:r2127
2004-08-03 23:57:05 +00:00
Roger Dingledine
8cb4124121
warn if we use an unsafe socks variant
...
for now, warn every time. we should decide how often we want to warn;
one problem here is that there are several scenarios where we use an
unsafe socks variant safely, so the warning may be inaccurate. hm.
svn:r2126
2004-08-03 23:42:33 +00:00
Nick Mathewson
849e998ac6
It is possible to have struct timeval but not gettimeofday.
...
svn:r2125
2004-08-03 23:31:22 +00:00
Roger Dingledine
5525606653
check return value of fclose while writing to disk, since it might
...
return out-of-space, etc
svn:r2122
2004-07-23 21:25:28 +00:00
Roger Dingledine
5b54780df3
don't send an end back for a malformed resolved cell,
...
since they don't establish streams
svn:r2119
2004-07-23 06:28:12 +00:00
Roger Dingledine
cc54d9efe9
tor-resolve triggered a has_sent_end warning
...
svn:r2116
2004-07-23 00:04:40 +00:00
Roger Dingledine
a328aab316
clean whitespace and tabs
...
svn:r2115
2004-07-22 23:21:12 +00:00
Roger Dingledine
3aaba3b16e
tell the user what time _they_ are too, when a cert is expired
...
svn:r2114
2004-07-22 23:06:28 +00:00
Roger Dingledine
aebec8ab9e
stop using atexit() to remove our pid, since it's called
...
immediately when we daemonize.
also drop our retry period for hidserv desc uploads from 10m to 5m
svn:r2111
2004-07-22 22:15:36 +00:00
Nick Mathewson
7119345fbb
Fix base16_decode; trashing the stack is rude.
...
svn:r2110
2004-07-22 21:41:50 +00:00
Nick Mathewson
1391eafe67
Chek for overlong nicknames in add_nickname_list_to_smartlist
...
svn:r2109
2004-07-22 21:36:03 +00:00
Nick Mathewson
7b4865ec33
Add notion of "longest nickname-or-hex-digest-with-$"
...
svn:r2108
2004-07-22 21:31:04 +00:00
Nick Mathewson
0c990259de
Add noisy debug log to hunt for bug in router_update_status_from_smartlist
...
svn:r2107
2004-07-22 21:20:23 +00:00
Nick Mathewson
d07d0a4e6b
Add fingerprint to router format in tests
...
svn:r2106
2004-07-22 20:34:55 +00:00
Nick Mathewson
33fe5e362f
Never use time(NULL) as assumed publication time for a directory.
...
svn:r2105
2004-07-22 20:30:02 +00:00
Roger Dingledine
0536b853fd
add a comment asking ORs to configure a DirPort too
...
svn:r2104
2004-07-22 11:16:39 +00:00
Roger Dingledine
7459d067a5
now base16_encode() and base32_encode() can't ever fail
...
svn:r2103
2004-07-22 08:30:06 +00:00
Roger Dingledine
ea43172c11
make router_is_me() compare identity, not nickname
...
svn:r2102
2004-07-22 08:08:25 +00:00
Roger Dingledine
f355a9c9f1
put our fingerprint into the descriptor, so we can match a
...
desc to a running-routers entry
svn:r2100
2004-07-22 06:22:04 +00:00
Roger Dingledine
c1450319f4
allow OPs to set a DirPort and cache/serve directories
...
(hey, why not, it works)
svn:r2099
2004-07-22 06:04:54 +00:00
Roger Dingledine
a403c1035e
getting an unknown descriptor is an info, not a warn, now
...
svn:r2098
2004-07-22 06:04:13 +00:00
Roger Dingledine
b48cdc9d40
populate router_get_my_routerinfo()->is_verified
...
svn:r2097
2004-07-22 06:03:53 +00:00
Nick Mathewson
38d8e36919
Make tor_tls_new variant use alternative (certless) context
...
svn:r2096
2004-07-22 04:53:34 +00:00
Roger Dingledine
06b72cc8f2
publish advertised_bandwidth in descriptor
...
svn:r2095
2004-07-22 04:20:27 +00:00
Roger Dingledine
eb0a19c475
change 0.0.8 extend cell format so it's compatible with 0.0.7
...
svn:r2094
2004-07-22 03:47:20 +00:00
Roger Dingledine
6c56f34aaf
clients shouldn't create datadir until we have something to put there
...
svn:r2092
2004-07-22 00:13:42 +00:00
Roger Dingledine
3c2c8ed42b
0.0.8 ORs should autoconnect to authdirservers and 0.0.7 servers
...
svn:r2091
2004-07-21 23:43:47 +00:00
Roger Dingledine
f82a36508d
make router_nickname_is_approved() do the right thing
...
svn:r2090
2004-07-21 22:54:27 +00:00
Roger Dingledine
3783d2e682
if johnny has three fenceposts, and jill takes four away...
...
svn:r2089
2004-07-21 22:37:03 +00:00
Roger Dingledine
156cfb00fa
oh, and it should compile too
...
svn:r2088
2004-07-21 22:34:32 +00:00
Roger Dingledine
6e571c8c4c
make base16_encode() fail more obviously when it fails
...
svn:r2087
2004-07-21 22:33:26 +00:00
Roger Dingledine
cdb98cf04a
fix our tls handshake chain cert bug
...
svn:r2086
2004-07-21 22:11:11 +00:00
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
Nick Mathewson
c83f0e948f
Log certificate lifetime on failure.
...
svn:r2083
2004-07-21 17:59:24 +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
Nick Mathewson
2d514037b7
Log number of certs in wrong-length chains
...
svn:r2078
2004-07-21 03:32:56 +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
06c11a61ce
When faking gettimeofday with ftime, do it right.
...
svn:r2068
2004-07-20 21:23:50 +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
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
Nick Mathewson
29818d5b6b
Use arguments to routerlist_update_from_runningrouters correctly
...
svn:r1992
2004-06-30 16:48:36 +00:00
Nick Mathewson
b1e9adf056
Always use get_data_directory() instead of options.DataDirectory; fix a memory leak in router.c
...
svn:r1991
2004-06-30 16:37:08 +00:00
Nick Mathewson
653aaeef08
Always log version when starting tor.
...
svn:r1990
2004-06-30 16:35:11 +00:00
Roger Dingledine
899bd4f471
stop leaking options->ContactInfo on hup
...
svn:r1989
2004-06-29 19:46:06 +00:00
Roger Dingledine
0f69fd9954
add an example ContactInfo line to torrc.sample
...
svn:r1988
2004-06-29 19:32:11 +00:00
Nick Mathewson
76f769deb9
Remaining 008pre1 items done; deferred where more design is needed.
...
More docs and (way more!) testing needed.
Done:
- Authdirservers down directories from others.
- Generate and use running-routers lists
- Cache directories; store across reboots.
- Refactor directory parsing a bit; note potential trouble spots.
svn:r1985
2004-06-25 00:29:31 +00:00
Nick Mathewson
f7976c1e9b
Terminate comment
...
svn:r1982
2004-06-21 04:40:24 +00:00
Nick Mathewson
8aec3a7301
Implement several 008pre1 items: needs more testing
...
svn:r1981
2004-06-21 04:37:27 +00:00
Roger Dingledine
207fcb35d1
tweaks and bugfix on resolve/resolved code
...
svn:r1980
2004-06-17 21:11:09 +00:00
Nick Mathewson
3708886939
Implement RESOLVE/RESOLVED cells and socks resolve code
...
svn:r1978
2004-06-17 18:13:09 +00:00
Roger Dingledine
ba5d48e852
router->is_trusted_dir implies router->dir_port>0
...
and add some infrastructure for fetching running-routers list
svn:r1973
2004-06-16 21:08:29 +00:00
Roger Dingledine
80cee93f84
include <inttypes.h> if we have it
...
openbsd on a sparc64 needs this (apparently)
svn:r1971
2004-06-16 00:49:27 +00:00
Roger Dingledine
43295ca61f
if datadirectory isn't owned by this uid, tell the user he must
...
fix it before he can proceed.
svn:r1968
2004-06-13 11:28:32 +00:00
Roger Dingledine
73d3f3efa5
what is this "command line" that we can allegedly write to?
...
svn:r1967
2004-06-13 11:25:20 +00:00
Nick Mathewson
a788981399
Implement code to run tor as an NT service. More testing is needed, as is code to install the service.
...
svn:r1966
2004-06-12 21:43:02 +00:00
Nick Mathewson
125b351970
Break tor_main into startup/loop/shutdown portions, to make NT service refactoring possible.
...
svn:r1965
2004-06-12 19:45:46 +00:00
Roger Dingledine
23c1a72c4c
Address can be an IP too
...
svn:r1964
2004-06-10 14:23:34 +00:00
Nick Mathewson
dbf9fe57ea
Use intptr_t correctly in test.c; try to resolve ia64 warnings
...
svn:r1963
2004-06-08 19:08:45 +00:00
Nick Mathewson
5577333db7
Update windows version to 0.0.7
...
svn:r1962
2004-06-07 22:31:24 +00:00
Roger Dingledine
d90cb3504e
provide a prototype for dnsworkers_rotate
...
svn:r1961
2004-06-07 20:00:30 +00:00
Roger Dingledine
26f77f4454
tweak on the sample torrc
...
svn:r1951
2004-06-06 18:00:59 +00:00
Nick Mathewson
184f4e6044
Rotate dnsworkers and cpuworkers on SIGHUP, so they get new config settings too
...
svn:r1950
2004-06-06 03:38:31 +00:00
Nick Mathewson
0d1b4b5024
Unbork windows whitespace
...
svn:r1949
2004-06-05 01:56:54 +00:00
Nick Mathewson
17b5b3685f
Make tor build on win32 again; handle locking for server
...
svn:r1948
2004-06-05 01:50:35 +00:00
Roger Dingledine
42569ffd0f
bump an info message down to a debug
...
svn:r1947
2004-06-03 05:57:27 +00:00
Nick Mathewson
dda75e8f09
Document new config options in torrc.sample.in
...
svn:r1944
2004-06-02 20:36:39 +00:00
Nick Mathewson
66881d5709
If we are a directory, we should trust ourself.
...
svn:r1943
2004-06-02 20:15:35 +00:00
Nick Mathewson
65e26bae3d
Check directory signatures based on name of signer, not on whom we got the directory from.
...
svn:r1940
2004-06-02 20:00:57 +00:00
Roger Dingledine
011ccbbf8d
crank up some of our constants, for better scalability
...
svn:r1938
2004-06-02 19:44:41 +00:00
Roger Dingledine
4db9e9aa8a
define FD_SETSIZE in all cases, not just win32
...
svn:r1937
2004-06-02 19:44:23 +00:00
Nick Mathewson
605e10a650
Stop multiplying logs on sighup.
...
svn:r1936
2004-06-02 19:18:37 +00:00
Roger Dingledine
69931106f8
be sure to detach streams from the circuit linked list before freeing them
...
also, don't bother marking a conn for close if you're about to free it
svn:r1935
2004-06-02 18:32:24 +00:00
Nick Mathewson
0932505829
Only connection_dns_remove resolving exit connections
...
svn:r1934
2004-06-02 18:12:49 +00:00
Roger Dingledine
fbbb4d01c3
bugfix: while closing a circuit, we were freeing the conns that were
...
pending resolve, but not removing them from the pending resolve list
svn:r1933
2004-06-02 18:11:28 +00:00
Nick Mathewson
0d20fee2fb
Add more asserts to dns-pending connections; fix a couple seeming bugs.
...
svn:r1931
2004-06-01 22:09:58 +00:00
Nick Mathewson
94782444f8
Check recommended-software string *early*, before actually parsing the directory.
...
svn:r1930
2004-06-01 18:19:01 +00:00
Roger Dingledine
4181d18b3d
declare the epipe bug a non-bug.
...
now we catch and ignore epipe signals, and when write returns epipe,
we simply return -1 and close the socket/connection.
svn:r1928
2004-06-01 17:31:13 +00:00
Roger Dingledine
1ef411fefd
use sys/param.h if it's there
...
svn:r1927
2004-06-01 17:03:01 +00:00
Roger Dingledine
8ca162c472
put a comment reminding us that we do hashes in software only
...
svn:r1925
2004-06-01 16:36:56 +00:00
Roger Dingledine
834ffa358f
bugfix: if the wedged dir conn has no bytes to flush, then we never
...
close it.
svn:r1924
2004-05-28 17:56:17 +00:00
Roger Dingledine
8064807896
dirservers try to reconnect periodically too, in case connections have failed
...
svn:r1922
2004-05-28 15:01:47 +00:00
Roger Dingledine
1841aa456b
rik's patch to not complain about freebsd's bug
...
svn:r1921
2004-05-26 20:27:54 +00:00
Nick Mathewson
9b4e8486ce
Keep temporary log in place while configuring logs
...
svn:r1919
2004-05-24 02:28:15 +00:00
Roger Dingledine
994c9cbd7e
commit two fixes from Thomas Themel
...
svn:r1918
2004-05-22 18:05:20 +00:00
Roger Dingledine
f875db1821
it looks like parse_log_level() was never taught about WARN?
...
svn:r1917
2004-05-21 12:38:52 +00:00
Roger Dingledine
c278ff3bc2
minor comment patch
...
svn:r1916
2004-05-21 12:30:07 +00:00
Roger Dingledine
f51061439b
when the dns resolve is cancelled, or fails, be sure to remove
...
conn from circ->resolving_streams
otherwise it gets freed and stays there, causing seg faults.
svn:r1915
2004-05-21 12:25:15 +00:00
Roger Dingledine
3532ba8177
a few instructions for hidden services
...
svn:r1914
2004-05-20 22:41:06 +00:00
Roger Dingledine
a8417dfac8
fix a double mark-for-close
...
svn:r1913
2004-05-20 22:39:01 +00:00
Nick Mathewson
ccb825128e
Tinker with log behavior: never send error messages about logs into the bitbucket
...
svn:r1912
2004-05-20 19:47:28 +00:00
Roger Dingledine
1c21a02b90
router_choose_random_node() was ignoring its routerlist argument.
...
so now we don't pass it one.
svn:r1911
2004-05-20 19:12:28 +00:00
Roger Dingledine
66dd21b7a4
some more patching
...
svn:r1910
2004-05-20 08:41:54 +00:00
Roger Dingledine
034110e761
bugfix: if no loglevel or logfile is specified, then we need to open
...
a default log to stdout.
svn:r1909
2004-05-20 08:15:28 +00:00
Roger Dingledine
faf2fdb1e0
don't ever expire dirserver routerinfos!
...
svn:r1908
2004-05-20 06:42:38 +00:00
Roger Dingledine
30a07b2ecd
non-dirservers expire routerinfo's that are more than a day old
...
svn:r1907
2004-05-20 05:10:30 +00:00
Roger Dingledine
b6faca2268
enable checking the socks policy
...
svn:r1906
2004-05-20 04:16:43 +00:00
Nick Mathewson
80365b9897
Allow multiple exit policy lines; mostly add support for AP policies
...
svn:r1905
2004-05-20 02:42:50 +00:00
Nick Mathewson
80be19d9da
Tighten assert_cpath_layer_ok assumptions
...
svn:r1904
2004-05-19 23:51:39 +00:00
Roger Dingledine
b37450ce55
do all the heavy lifting in connection_about_to_close_connection,
...
not in _connection_mark_for_close
this will hopefully clean up the huge cyclical function mess
svn:r1903
2004-05-19 23:32:20 +00:00
Nick Mathewson
b8f535a2d8
tor_assert, not assert. stdout, not stderr
...
svn:r1902
2004-05-19 21:40:44 +00:00
Nick Mathewson
d95f347b14
Add Port to *bindAddress.
...
svn:r1901
2004-05-19 20:25:44 +00:00
Nick Mathewson
9d2cd7fc6e
Allow multiple logfiles at different severity ranges
...
svn:r1899
2004-05-19 20:07:08 +00:00
Roger Dingledine
41c9b8230d
fix compile error in dirserv
...
(declare variables before the rest of the function)
svn:r1896
2004-05-19 19:42:50 +00:00
Nick Mathewson
ba14428d66
Fix segfault
...
svn:r1895
2004-05-19 19:28:24 +00:00
Nick Mathewson
1cfac90984
remove upper limit on number of descriptors/directories in dirserver; use smartlists instead of arrays
...
svn:r1894
2004-05-18 17:41:40 +00:00
Roger Dingledine
d2de7120fa
fix a seg fault, add another XXX for nick ;)
...
svn:r1892
2004-05-18 16:54:04 +00:00
Nick Mathewson
7511fbf993
Resolve some XXXs
...
svn:r1889
2004-05-18 15:35:21 +00:00
Nick Mathewson
a782b83c28
Only try to launch a fixed number of intro circuits for a service per 15-minute period or before all of the intro circuits succeed, whichever comes first
...
svn:r1883
2004-05-18 01:53:53 +00:00
Nick Mathewson
683d06bf44
Fix segfault and logic error in last patch.
...
svn:r1881
2004-05-17 20:41:40 +00:00
Nick Mathewson
50b7ebcf9e
Make directory functions update routerlist, not replace it. Add notion of OR-is-trusted-to-be-a-dirserver. Arma, please review: does this handle being a dirserver right?
...
svn:r1880
2004-05-17 20:31:01 +00:00
Roger Dingledine
6dc576bab7
bugfix: our integrity-checking digest was checking only the most
...
recent cell, not the previous cells like we'd thought.
this change is backward incompatible.
svn:r1868
2004-05-15 23:49:41 +00:00
Roger Dingledine
04bb8c8046
bugfix: if a circuit if borderline too old, then count it as too old.
...
bugfix: we were retrying the same circuit after getting a resolve
failure. so of course the next two tries would fail too. now we try
a new circuit each time (at most three times).
svn:r1867
2004-05-15 07:21:25 +00:00
Roger Dingledine
010ee5d0ba
having two example exitpolicy lines, when only one is allowed, was confusing
...
svn:r1865
2004-05-13 22:38:16 +00:00
Roger Dingledine
d7815e85a7
assert_cpath_ok has always been broken
...
re-disable it.
svn:r1864
2004-05-13 07:44:21 +00:00
Roger Dingledine
ef561c0e42
Break files apart into more modules
...
* \file circuitbuild.c
* \brief The actual details of building circuits.
* \file circuitlist.c
* \brief Manage the global circuit list.
* \file circuituse.c
* \brief Launch the right sort of circuits, attach streams to them.
* \file connection_edge.c
* \brief Handle edge streams.
* \file onion.c
* \brief Functions to queue create cells, and handle onionskin
* parsing and creation.
* \file relay.c
* \brief Handle relay cell encryption/decryption, plus packaging and
* receiving from circuits.
svn:r1863
2004-05-13 07:24:49 +00:00
Roger Dingledine
5ba9235873
clean up directory.c API
...
svn:r1860
2004-05-12 23:48:57 +00:00
Roger Dingledine
630e930799
don't flush the buf from inside connection_write_to_buf
...
svn:r1859
2004-05-12 22:56:26 +00:00
Roger Dingledine
1cf1836990
break connection_edge_end out of connection_mark_for_close
...
svn:r1858
2004-05-12 21:12:33 +00:00
Nick Mathewson
537fb82cbb
Make some functions static
...
svn:r1857
2004-05-12 20:58:27 +00:00
Roger Dingledine
32c42a0ee2
break rend_client_desc_fetched out of connection_mark_for_close
...
svn:r1856
2004-05-12 20:36:44 +00:00
Roger Dingledine
7ee6194f3a
break part of circuit.c into relay.c
...
svn:r1854
2004-05-12 19:49:48 +00:00
Nick Mathewson
9c3fba5c3b
Not every RSA decrypt should warn on failure.
...
svn:r1853
2004-05-12 19:30:28 +00:00
Nick Mathewson
f1bc7af9f5
Make "connected" a different case from "finished_flushing"; always close_immediate whhen connect() fails.
...
svn:r1852
2004-05-12 19:17:09 +00:00
Roger Dingledine
4c9138d640
calling flush_buf and not checking for return value is bad
...
svn:r1851
2004-05-12 18:41:32 +00:00
Roger Dingledine
df4be6a1f7
list in-points to command.c
...
svn:r1849
2004-05-11 03:21:18 +00:00
Nick Mathewson
3e2f889a29
Add an extra flush attempt when closing wedged dir conns, in an attempt to isolate the EPIPE bug
...
svn:r1848
2004-05-11 01:55:32 +00:00
Nick Mathewson
b45fafa3d0
Split directory/router parsing functionality into separate file from routerlist.c
...
svn:r1846
2004-05-10 17:30:51 +00:00
Roger Dingledine
83f06dcc97
always a bit more
...
svn:r1844
2004-05-10 10:31:48 +00:00
Roger Dingledine
3cdf2d67da
it's amazing what a bit of punctuation can do for appearances
...
svn:r1843
2004-05-10 10:27:54 +00:00
Roger Dingledine
6168b3222e
a few more pieces of markup
...
svn:r1841
2004-05-10 08:56:42 +00:00
Roger Dingledine
5dd9e60231
doxygen markup for common/*.h
...
svn:r1840
2004-05-10 07:54:13 +00:00
Roger Dingledine
341d6f2cab
more cleanup, including fleshing out or.h more
...
svn:r1839
2004-05-10 07:37:10 +00:00
Nick Mathewson
720281b32e
Close rogue <b>s
...
svn:r1838
2004-05-10 07:27:29 +00:00
Roger Dingledine
d9fa234fd9
comments and doxygen markup on circuit.c
...
svn:r1837
2004-05-10 07:02:58 +00:00
Nick Mathewson
3bf2c572ad
Doxygen most of or.h
...
svn:r1836
2004-05-10 06:52:01 +00:00
Nick Mathewson
ae2a2072b9
Doxygenate config.c
...
svn:r1834
2004-05-10 04:48:13 +00:00
Roger Dingledine
4845fe7197
comment and doxygenate connection_edge.c
...
svn:r1833
2004-05-10 04:42:22 +00:00
Nick Mathewson
81922a125c
More doxygenation.
...
svn:r1832
2004-05-10 04:34:48 +00:00
Roger Dingledine
397466a23d
give connection.c a skeletal file/brief header
...
svn:r1831
2004-05-10 03:56:58 +00:00
Roger Dingledine
658873eb01
tweak comment in connection_or
...
svn:r1830
2004-05-10 03:54:33 +00:00
Nick Mathewson
c0ea93337d
Doxygenate common.
...
svn:r1829
2004-05-10 03:53:24 +00:00
Roger Dingledine
9968f1da98
doxygen for tor_main.c
...
svn:r1828
2004-05-10 02:43:41 +00:00
Roger Dingledine
a26265c3cc
remove an orphan function declaration
...
svn:r1827
2004-05-10 02:39:48 +00:00
Roger Dingledine
21e094a5d3
function header comments for onion.c, including doxygen markup
...
svn:r1826
2004-05-10 02:36:04 +00:00
Roger Dingledine
8f6aa6688f
function header comments for connection.c, including doxygen markup
...
svn:r1825
2004-05-10 01:32:57 +00:00
Roger Dingledine
c6d4a00c5f
more doxygen markup
...
plenty more remains
svn:r1824
2004-05-09 16:47:25 +00:00
Roger Dingledine
b384c5a18d
bugfix: do directory_send_command only after we've established a socket
...
also many comments, cleaning, etc
svn:r1823
2004-05-09 16:33:04 +00:00
Nick Mathewson
93576d5289
Add doxygen markup for util and buffers
...
svn:r1820
2004-05-07 17:04:12 +00:00
Roger Dingledine
fa3db976df
comment the functions in connection_or.c
...
svn:r1818
2004-05-07 08:53:40 +00:00
Roger Dingledine
f1fc4ce22b
comment the functions in command.c
...
this is one of the files nick regarded as scary, so hopefully
these will help.
svn:r1817
2004-05-07 08:07:41 +00:00
Roger Dingledine
d4efa475a1
forward-port header-length-increase patch
...
svn:r1814
2004-05-06 22:47:48 +00:00
Roger Dingledine
e45fd6cec1
forward-port built-in dirservers string
...
svn:r1813
2004-05-06 22:47:15 +00:00
Roger Dingledine
f34b600764
forward-port dirservers file
...
svn:r1812
2004-05-06 22:46:42 +00:00
Nick Mathewson
6cfa2835a1
Fix bug in stream position adjustment
...
svn:r1801
2004-05-06 19:51:50 +00:00
Nick Mathewson
ebe8fa0d62
Use correct aes-ctr implementation in mainline, too.
...
svn:r1800
2004-05-06 19:41:33 +00:00
Roger Dingledine
9bf9ca4d09
bugfix: add a circ->resolving_streams field, and make dns resolving streams not actually in the connection_array until they're done resolving.
...
bugfix: actually complain if we duplicate mark-for-close a circuit
add more logging for relay ends that claim dns resolve failed, so we can
find out why they're not being retried.
svn:r1798
2004-05-06 11:08:04 +00:00
Nick Mathewson
e6477a8e16
Document the rest of main.c
...
svn:r1797
2004-05-05 21:35:12 +00:00
Nick Mathewson
682a805092
Comments for nearly all non-tricky files
...
svn:r1796
2004-05-05 21:32:43 +00:00
Nick Mathewson
6cfdc90d92
Use intptr_t when playing with void*s
...
svn:r1795
2004-05-05 20:27:20 +00:00
Nick Mathewson
8aebd83a0e
Add intptr_t and uintptr_t to torint.h
...
svn:r1794
2004-05-05 20:26:35 +00:00
Nick Mathewson
e6ac85a8cc
Fix compilation warnings on 64-bit platforms
...
svn:r1793
2004-05-05 20:09:06 +00:00
Nick Mathewson
44defa4b1a
Never list unapproved servers as recommended
...
svn:r1790
2004-05-05 04:55:00 +00:00
Nick Mathewson
924f60288a
More documentation; fix for compilation warning
...
svn:r1789
2004-05-05 02:50:38 +00:00
Nick Mathewson
2ba0776b02
Only connection_add connections once they have conn->s sett; refactor code around this. Should make stuff more bulletproof.
...
svn:r1788
2004-05-05 01:26:57 +00:00
Nick Mathewson
d49d3dcc7b
Make non-fake tor_poll robust against -1 fds
...
svn:r1787
2004-05-05 01:01:34 +00:00
Roger Dingledine
608c156820
must close marked connections at the end of run_scheduled_events.
...
otherwise they might have a socket -1, and if we leave them around
they'll muck up poll/select.
i think this was the cause of our win32 and os x fakepoll crashes,
and probably would cause other errors down the road.
svn:r1786
2004-05-05 00:59:42 +00:00
Nick Mathewson
efdb356a81
More documentation
...
svn:r1785
2004-05-05 00:30:43 +00:00
Roger Dingledine
fa6e9efcd0
accept port 81 by default also, since people have been asking for it
...
svn:r1784
2004-05-04 22:46:19 +00:00
Nick Mathewson
89275e7806
Comment router*.c
...
svn:r1783
2004-05-04 18:17:45 +00:00
Nick Mathewson
08ac3c7190
Fix mac compile
...
svn:r1782
2004-05-04 18:17:28 +00:00
Nick Mathewson
e6f3bf2a68
tor_assert(), not assert()
...
svn:r1777
2004-05-02 20:27:48 +00:00
Nick Mathewson
3dd1ef8783
Fix windows compile.
...
svn:r1776
2004-05-02 20:23:35 +00:00
Nick Mathewson
af08c4f878
Working strerror for windows socket errors, plus some snide comments.
...
svn:r1775
2004-05-02 20:18:21 +00:00
Nick Mathewson
a187d3e0b6
Assert that we never try to fakepoll on sock -1.
...
svn:r1774
2004-05-02 20:17:43 +00:00
Nick Mathewson
a16ec39800
Windows version is 0.0.6 too
...
svn:r1771
2004-05-02 19:29:59 +00:00
Nick Mathewson
d055ac4709
Bump windows version to 0.0.6rc4
...
svn:r1767
2004-05-02 03:38:31 +00:00
Roger Dingledine
bbbc063ed9
stop the circuit_receive_relay_cell warning
...
mark the circ for close if circuit_extend fails because the next
hop is not up yet; don't just return -1
svn:r1765
2004-05-02 03:32:00 +00:00
Roger Dingledine
25909c2c29
patches on patches
...
svn:r1763
2004-05-02 03:15:55 +00:00
Roger Dingledine
1558fb7650
some patches on the patches
...
svn:r1761
2004-05-01 23:29:20 +00:00
Nick Mathewson
f6fe336ad4
Documenmt buffers.c; remove function that nobody ever calls.
...
svn:r1760
2004-05-01 22:08:43 +00:00
Nick Mathewson
4dc30ea3c8
Remove bogus */ so util.c compiles
...
svn:r1759
2004-05-01 21:50:53 +00:00
Nick Mathewson
9a041591ac
Finish documenting the functions in common
...
svn:r1758
2004-05-01 21:41:23 +00:00
Nick Mathewson
6fa2ded74c
Fix windows compile
...
svn:r1757
2004-05-01 20:55:31 +00:00
Nick Mathewson
908ccb9dcd
Handle windows socket errors correctly; comment most of common.
...
svn:r1756
2004-05-01 20:46:28 +00:00
Roger Dingledine
ac4cb9bdd1
fix a seg fault (whoops)
...
svn:r1755
2004-04-30 16:35:48 +00:00
Roger Dingledine
2b5e6aef15
note another bug to be fixed sometime
...
svn:r1754
2004-04-30 05:42:52 +00:00
Roger Dingledine
18f250c364
update the built-in dirservers default
...
svn:r1750
2004-04-29 08:10:13 +00:00
Roger Dingledine
4b316b4a7d
some cosmetic fixes
...
svn:r1747
2004-04-29 02:52:49 +00:00
Nick Mathewson
5a9b144092
Oops -- the Windows function is closesocket, not socketclose
...
svn:r1746
2004-04-28 21:17:42 +00:00
Nick Mathewson
9322641710
Use socketclose on windows as appropriate; end pid files with newline
...
svn:r1745
2004-04-28 21:14:56 +00:00
Roger Dingledine
dd335d9bb2
use tor_lookup_hostname for binding local addresses too
...
svn:r1744
2004-04-28 20:57:03 +00:00
Nick Mathewson
3a66f523a1
Regenerate windows orconfig.h to match current autoheader generated orconfig.h
...
svn:r1743
2004-04-28 20:43:30 +00:00
Nick Mathewson
ddb15b8f67
Remove IVs from cipher code, since AES-ctr has none.
...
svn:r1742
2004-04-28 20:31:32 +00:00
Roger Dingledine
5d1510883e
use nick's _ARRAYSIZE abstraction
...
svn:r1741
2004-04-28 20:22:37 +00:00
Roger Dingledine
47dc5cd1c8
nick, is this what you meant?
...
svn:r1740
2004-04-28 20:18:22 +00:00
Nick Mathewson
7055f837ab
Make Tor build on win32 with VC6 without warnings.
...
svn:r1739
2004-04-28 20:13:21 +00:00
Roger Dingledine
ca8d50abeb
bug resolved (hopefully), so remove comment
...
svn:r1738
2004-04-28 20:12:44 +00:00
Roger Dingledine
22c0cd8a14
clean dns.c better
...
svn:r1737
2004-04-28 20:11:37 +00:00
Roger Dingledine
25d5425fdb
fix a bug in dns.c, note but don't fix another one
...
svn:r1735
2004-04-28 19:55:20 +00:00
Nick Mathewson
ac622d94dc
Workarounds for a couple of pieces of windows strangeness.
...
svn:r1734
2004-04-28 19:35:12 +00:00
Roger Dingledine
8cc9001391
clean some dead code (right?)
...
svn:r1733
2004-04-28 00:05:56 +00:00
Roger Dingledine
4e0dd5bd33
some compilers don't like an array of length zero
...
nick: should we remove support for IVs for now, since we don't
use them and don't plan to use them?
svn:r1732
2004-04-27 23:50:35 +00:00
Roger Dingledine
158e2cf536
set Content-Type on the directory and hidserv descriptor
...
svn:r1731
2004-04-27 21:48:37 +00:00
Roger Dingledine
9965bd8387
make my assumption explicit
...
svn:r1730
2004-04-27 11:28:45 +00:00
Roger Dingledine
505bb2f4a0
it was the second bug that was nailing us.
...
periodically we expire some circuits if we already have
enough, and we were counting rend circs in that number.
(the first one wasn't a bug after all)
svn:r1729
2004-04-27 11:23:56 +00:00
Roger Dingledine
8e8af6aaee
don't expire joined-rend circs that have an exit connection attached
...
and don't expire non-general excess circuits
svn:r1728
2004-04-27 10:16:31 +00:00
Nick Mathewson
873564ea9c
Some versions of openssl have an SSL_pending function that erroneously
...
returns bytes when there is a non-application record pending.
I have no idea when/why this would even happen, but let's catch it and
make sure tor_tls_get_pending_bytes stays correct.
svn:r1727
2004-04-26 23:19:21 +00:00
Nick Mathewson
06624df622
Log number of bytes pending after read.
...
svn:r1726
2004-04-26 23:05:58 +00:00
Roger Dingledine
d7f4b82373
rendmid says it drops but actually sends nack
...
fix log messages
svn:r1725
2004-04-26 23:02:20 +00:00
Nick Mathewson
d6d4b93863
Remove spurious semi
...
svn:r1724
2004-04-26 23:01:15 +00:00
Nick Mathewson
ad07c62938
Add a macro to catch unhandled openssl errors.
...
svn:r1723
2004-04-26 23:00:07 +00:00
Roger Dingledine
e34c201bb3
and other debugs
...
svn:r1722
2004-04-26 22:22:18 +00:00
Roger Dingledine
719bb5c0f3
log debug so nick can see it too
...
svn:r1721
2004-04-26 22:22:11 +00:00
Peter Palfrader
750211259b
The dots are there so you see test doing something. Therefore we should flush them after printing
...
svn:r1720
2004-04-26 22:12:13 +00:00
Roger Dingledine
80d0b634a4
add a debugging entry, to find the wants-to-read-but-can't bug
...
svn:r1719
2004-04-26 21:15:06 +00:00
Nick Mathewson
337f7a981f
Include strerror(errno) with tls syscall errors
...
svn:r1718
2004-04-26 18:11:58 +00:00
Nick Mathewson
f6dbe5a0d4
Refactor crypto error handling to be more like TLS error handling:
...
crypto_perror is a no-no, since an operation can set more than one
error.
Also, fix a bug in the unix crypto_seed_rng: mixing stdio with
/dev/urandom is a bad idea, since fopen can make all kinds of weird
extraneous syscalls (mmap, fcntl, stat64, etc.) and since fread tends
to buffer data in big chunks, thus depleting the entropy pool.
svn:r1717
2004-04-26 18:09:50 +00:00
Nick Mathewson
b410dff6c0
Log pending TLS errors in a couple more places, in case they are possible.
...
svn:r1716
2004-04-26 16:52:47 +00:00
Roger Dingledine
fff89216a9
tell us when we're rotating things
...
svn:r1712
2004-04-26 09:32:51 +00:00
Roger Dingledine
fb2279b90b
since we don't support truncateds much, don't bother sending them;
...
just close the circ.
(this wasn't relevant before, because we were mis-handling destroys.)
svn:r1711
2004-04-26 04:32:01 +00:00
Roger Dingledine
bd38df8472
fix a bug that's been lurking since 27 may 03 (!)
...
when passing back a destroy cell, we would use the wrong circ id.
how the heck did this work?
svn:r1710
2004-04-26 03:42:41 +00:00
Nick Mathewson
0355d29e12
Call tls_log_errors at a more appropriate location; we can remove the other calls in tor_tls_verify once we are sure they never happen.
...
svn:r1709
2004-04-26 03:09:17 +00:00
Nick Mathewson
75dc76eb3e
Better error msg on unknown circuit id.
...
svn:r1708
2004-04-26 03:00:33 +00:00
Nick Mathewson
cb465160da
Very blunt debugging code: log pending errors at start and end of tor_tls_verify
...
svn:r1707
2004-04-26 02:33:12 +00:00
Roger Dingledine
10f3b74cb9
tell us the nickname of the OR that hung up on us
...
svn:r1706
2004-04-26 01:50:08 +00:00
Nick Mathewson
568a4d187a
Check for machine/limits.h in addition to sys/limits.h
...
svn:r1705
2004-04-25 23:47:26 +00:00
Roger Dingledine
9e5d2ad91c
don't crash, if a conn that sent a begin has suddenly lost its circuit
...
svn:r1704
2004-04-25 22:48:47 +00:00
Roger Dingledine
482d7e7cd3
resolve a double-mark-for-close when things die inside connection_handle_write
...
svn:r1702
2004-04-25 22:23:54 +00:00
Roger Dingledine
dccbbaa88a
give us a new dirservers file
...
svn:r1700
2004-04-25 21:56:52 +00:00
Roger Dingledine
28f034e10a
now assume all routers support rendezvous cells
...
svn:r1699
2004-04-25 21:32:04 +00:00
Roger Dingledine
25d54257fb
use tor_assert
...
remove obsolete BUF_OK macro
svn:r1697
2004-04-25 20:37:37 +00:00
Roger Dingledine
37192bd25e
use tor_assert and PUBLIC_KEY_OK
...
but don't use tor_assert inside log.c, to avoid loops
svn:r1696
2004-04-25 19:59:38 +00:00
Nick Mathewson
e062ca046b
Add a tor_assert macro that logs failed assertions.
...
svn:r1695
2004-04-25 19:37:39 +00:00
Nick Mathewson
70bbd0cafa
Add assert on crypto_pk_write_private_key,and macros to make sure we have real keys
...
svn:r1694
2004-04-25 19:21:44 +00:00
Nick Mathewson
0fca143ea1
Remove onion_pkey from connection, since onion keys can change more often than connections. Also add more log messages
...
svn:r1693
2004-04-25 19:04:11 +00:00
Nick Mathewson
cb3897e5ab
remove spurious router_rebuild_descriptor
...
svn:r1692
2004-04-25 19:01:49 +00:00
Roger Dingledine
7fbc35c136
don't build and upload a new desc twice in a row
...
svn:r1691
2004-04-25 05:19:03 +00:00
Roger Dingledine
e355ed0e15
log correctly if decoding onion failed
...
svn:r1690
2004-04-25 04:49:11 +00:00
Roger Dingledine
6a45028ccb
don't warn when private_decrypt_hybrid fails
...
svn:r1689
2004-04-25 04:32:59 +00:00
Roger Dingledine
7e2a2a7f81
bugfix: when rotating onion key, do it (more) correctly
...
svn:r1688
2004-04-25 03:38:19 +00:00
Roger Dingledine
0b31d0d4e8
more touch-ups
...
svn:r1687
2004-04-24 23:32:24 +00:00
Nick Mathewson
3ace033c0c
Spurious link-key should not be an error
...
svn:r1686
2004-04-24 22:50:09 +00:00
Nick Mathewson
220e859912
Note router addr:port in log messages
...
svn:r1685
2004-04-24 22:40:32 +00:00
Nick Mathewson
2e47a0f009
Compare nicknames casei.
...
svn:r1684
2004-04-24 22:34:31 +00:00
Nick Mathewson
c44016e86e
Merge flagday into main branch.
...
svn:r1683
2004-04-24 22:17:50 +00:00
Roger Dingledine
3c250a2fed
only expire wedged dir conns that haven't already been expired
...
svn:r1676
2004-04-20 17:27:54 +00:00
Roger Dingledine
06a60c4fbb
use the real socketpair if we've got it
...
now it's just windows that has to use the kludged one
svn:r1675
2004-04-19 21:31:32 +00:00
Roger Dingledine
a3200f79cd
the socketpair bug is no longer a bug
...
now it is a documented behavior
svn:r1674
2004-04-19 21:25:48 +00:00
Roger Dingledine
5cfec379ae
expire wedged dir conns after 5min without write, not simply after 5min
...
svn:r1673
2004-04-19 20:08:42 +00:00
Roger Dingledine
d40e9f453f
give wedged dir conns a last chance to flush
...
svn:r1671
2004-04-19 01:59:20 +00:00
Roger Dingledine
c4b72a254f
tmp patch to also expire old clean rend_ready circs for now
...
will have to be fixed once we build-and-open rend circs preemptively
svn:r1668
2004-04-18 09:27:05 +00:00
Roger Dingledine
e9ebefc8bf
bugfix: you mean we're supposed to reuse fresh descriptors and
...
refetch stale ones, not reuse stale ones and refetch fresh ones?
svn:r1667
2004-04-18 09:04:37 +00:00
Roger Dingledine
bce1fc43a2
when you get an intro ack, don't also count it as an intro nack
...
svn:r1666
2004-04-18 08:38:40 +00:00
Roger Dingledine
3fa2925a6a
if an intro circ waiting for an ack dies before getting one, then
...
count it as a nack
svn:r1665
2004-04-18 07:37:16 +00:00
Roger Dingledine
8d86f8abf5
reverse the logic, captain
...
svn:r1664
2004-04-18 06:42:13 +00:00
Roger Dingledine
7a7baf0552
expire dir connections that live for more than 5 minutes
...
svn:r1663
2004-04-18 06:35:31 +00:00
Roger Dingledine
14c30fe9fa
bugfix: give dir_conn a state before building the bridge, so it has
...
a state if things fail
svn:r1660
2004-04-17 20:19:43 +00:00
Roger Dingledine
65d507b980
log n_circ_ids when attaching rend streams
...
svn:r1657
2004-04-17 10:25:38 +00:00
Roger Dingledine
26dd5c68b0
a ! goes a long way toward more helpful debug messages
...
svn:r1656
2004-04-17 10:04:00 +00:00
Roger Dingledine
bd4a776576
include sys/limits.h if it's found
...
svn:r1654
2004-04-17 06:35:18 +00:00
Roger Dingledine
a54ded2879
util.c uses LONG_MAX, needs another include on fbsd 5.x
...
svn:r1653
2004-04-17 06:35:03 +00:00
Roger Dingledine
01e594e512
clean up some warnings
...
svn:r1651
2004-04-17 06:34:20 +00:00
Roger Dingledine
0e94b9ff77
more useful logs to track weasel's bug
...
svn:r1649
2004-04-17 05:17:40 +00:00
Roger Dingledine
f5427463f5
more debugging to hunt for a bug
...
svn:r1647
2004-04-17 01:33:04 +00:00
Roger Dingledine
8d62a36256
bugfix: when you sleep your hidden-service laptop, as soon
...
as it wakes up it tries to upload a service descriptor, but
socketpair fails for some reason (localhost not up yet?)
now we simply give up on that upload, and we'll try again later.
svn:r1646
2004-04-17 00:46:05 +00:00
Roger Dingledine
f36d7b8fea
fix another rare bug: when we had tried all the intro
...
points for a hidden service, we fetched the descriptor
again, but we left our introcirc thinking it had already
sent an intro, so it kept waiting for a response...
svn:r1644
2004-04-16 14:35:28 +00:00
Roger Dingledine
ed24a4f807
fix a pair of duplicate mark-for-closes
...
svn:r1643
2004-04-16 14:26:23 +00:00
Roger Dingledine
f84fa39d87
when alice uses a port that the hidden service doesn't accept,
...
it now sends back an end cell (denied by exit policy). otherwise
alice would just have to wait to time out.
svn:r1642
2004-04-16 13:49:14 +00:00
Roger Dingledine
a0a6ed85d1
more useful logging for rend services and clients
...
svn:r1641
2004-04-16 11:48:03 +00:00
Roger Dingledine
359c1fb9aa
wait a minute, weasel said there was a memory-stomping bug here
...
let's see if we find it
svn:r1639
2004-04-16 08:49:14 +00:00
Roger Dingledine
9c1470840f
i was wrong about one of my invariants
...
now it's commented
this should fix asserts when you try an intro point, get a nack,
and try a second one and it works.
svn:r1637
2004-04-16 08:21:35 +00:00
Roger Dingledine
598d8b8f79
put in an extra assert, might find a bug these way
...
svn:r1636
2004-04-16 04:41:07 +00:00
Roger Dingledine
4c2de3a2b6
compress end-of-second summary into one line
...
svn:r1635
2004-04-15 22:09:14 +00:00
Roger Dingledine
4d380ea902
quiet a -l info that should be -l debug
...
svn:r1634
2004-04-15 22:08:37 +00:00
Nick Mathewson
880ffd8f64
Must detach before attaching, or else we infinite-loop
...
svn:r1632
2004-04-15 03:48:26 +00:00
Nick Mathewson
f6dd710aff
Strings need room for a NUL.
...
svn:r1630
2004-04-15 02:02:46 +00:00
Nick Mathewson
3f352719f3
Add a missing return -1
...
svn:r1629
2004-04-15 01:23:43 +00:00
Roger Dingledine
26c1c8f173
make unattached rend streams expire after a while (60s)
...
(they were darned persistent)
also make intro circs that are waiting for acks expire after a while (20s)
svn:r1628
2004-04-15 01:08:59 +00:00
Roger Dingledine
ac38746b3b
narrow in closer
...
svn:r1627
2004-04-15 00:03:48 +00:00
Roger Dingledine
b51561f7fb
prune abandoned circs better
...
add debugging info for the bug weasel found
svn:r1626
2004-04-14 23:52:29 +00:00
Nick Mathewson
37255d24bc
Retry non-final-hop rendezvous failures
...
svn:r1625
2004-04-14 21:40:50 +00:00
Nick Mathewson
94f126bca3
Never ever leave ri.platform unset.
...
svn:r1624
2004-04-14 19:51:57 +00:00
Roger Dingledine
cda782bac0
make rendezvous points work again
...
(yay. now time to mess them up again.)
svn:r1619
2004-04-14 05:18:21 +00:00
Roger Dingledine
49f5e5b4ae
handle more purposes in new_route_len
...
svn:r1618
2004-04-14 05:06:08 +00:00
Roger Dingledine
465f0e528a
call circuit_build_failed() even when the failure is immediate
...
svn:r1617
2004-04-14 04:32:49 +00:00
Nick Mathewson
ddd45a7c0a
Do not segfault on missing intro points.
...
svn:r1616
2004-04-14 04:19:12 +00:00
Roger Dingledine
f07d880f38
remove unused variable
...
svn:r1615
2004-04-13 23:01:10 +00:00
Roger Dingledine
1d7979b460
let introcircs receive acks. rend streams now deal correctly again.
...
(i think)
svn:r1614
2004-04-13 22:56:24 +00:00
Nick Mathewson
5514ad715b
Scan list of servers in directory after reloading fingerprint list; remove any servers that are no longer recognized.
...
svn:r1613
2004-04-13 20:06:08 +00:00
Nick Mathewson
baaf58fe1d
only consider uploading descriptors every 5 sec
...
svn:r1612
2004-04-13 19:53:25 +00:00
Nick Mathewson
867832cd07
or, not and
...
svn:r1610
2004-04-13 18:44:42 +00:00
Nick Mathewson
d19abb2402
Handle END_STREAM_REASON_{EXITPOLICY|RESOLVEFAILED}
...
svn:r1609
2004-04-13 17:49:41 +00:00
Nick Mathewson
11ca973d26
Mark service descriptors as dirty when we have lost an intro point
...
svn:r1608
2004-04-13 17:20:41 +00:00
Nick Mathewson
a2ece0fc08
Separate "start-establishing-introduction" from "upload descriptors"; only upload descriptors containing fully established intro points.
...
svn:r1607
2004-04-13 17:16:47 +00:00
Roger Dingledine
e0ce205a76
clean up circuit rebuilding some; fix some bugs we hadn't hit yet
...
svn:r1606
2004-04-13 05:20:52 +00:00
Nick Mathewson
c9b5ca39de
Handle the rendezvous-circ elements of retrying introductions.
...
svn:r1604
2004-04-13 03:19:58 +00:00
Nick Mathewson
a4d25bdbd9
<arma> you should make r and i and use r for r and i for i
...
svn:r1603
2004-04-13 02:36:37 +00:00
Nick Mathewson
e53ba59250
Handle introduce naks. Arma: Is this right?
...
svn:r1602
2004-04-13 02:31:52 +00:00
Nick Mathewson
8483bace65
Get the rest of intro-ack/nak handling in ... except for the tricky "pick a new intro and re-extend and re-try" part.
...
svn:r1601
2004-04-13 01:41:39 +00:00
Nick Mathewson
9cd163f6ff
Have find_intro_circuit return non-open circs
...
svn:r1600
2004-04-13 01:15:06 +00:00
Nick Mathewson
5af7e27c62
Re-number the new relay command so as to maintain backward compatibility. Doh!
...
svn:r1598
2004-04-13 00:38:16 +00:00
Nick Mathewson
a5bfe84509
ACK/NAK INTRODUCE1 requests. (We do no useful processing on them yet)
...
svn:r1597
2004-04-12 23:33:47 +00:00
Roger Dingledine
f4ff5a75c1
break circuit_build_needed_circs into its own func
...
svn:r1596
2004-04-12 22:47:12 +00:00
Roger Dingledine
c5052bec95
normal circs are 3 hops, but rend/intro circs are 4, because
...
the initiator doesn't get to choose the last hop
svn:r1595
2004-04-12 18:40:14 +00:00
Nick Mathewson
fc5a766298
Use service IDs in rendmid. (rendclient and common require no changes, it seems)
...
svn:r1594
2004-04-12 18:10:28 +00:00
Roger Dingledine
2321d21b3b
bump allowed rend desc skew from 60 mins to 90 mins
...
svn:r1593
2004-04-12 09:44:38 +00:00
Nick Mathewson
306adfc8bd
Fix two dumb leaks in crypto.c
...
svn:r1592
2004-04-12 05:27:38 +00:00
Nick Mathewson
1dbf61e7e6
Use service id instead of hex id in rendservice.c log messages. Rendcommon and rendclient will follow tomorrow.
...
svn:r1591
2004-04-12 05:12:50 +00:00
Nick Mathewson
c024745bd4
Cosmetic patch for arma's fix for The Bug: Don't set the state to
...
RESOLVEFAILED if the resolve didn't fail; set it to CONNECTING
instead.
svn:r1590
2004-04-11 17:07:45 +00:00
Roger Dingledine
d8c954e156
continue beating at pieces of The Bug
...
svn:r1588
2004-04-09 21:31:09 +00:00
Roger Dingledine
23c193c065
if dns resolve is valid, but our exit policy rejects it or
...
the connect attempt fails immediately, we were trying to
double-remove it from the dns pending list.
i think this might have been The Bug.
(thanks weasel!)
svn:r1587
2004-04-09 21:06:14 +00:00
Roger Dingledine
8f8d185f4b
give better instructions than just 'mail arma'
...
svn:r1586
2004-04-09 20:23:25 +00:00
Roger Dingledine
48e0228f1e
expire old CIRCUIT_PURPOSE_C_REND_READY circs too
...
svn:r1585
2004-04-09 20:08:13 +00:00
Nick Mathewson
4e1b65f53d
Dump introduction point status on kill -USR1
...
svn:r1584
2004-04-09 20:02:16 +00:00
Nick Mathewson
f9ade70cf9
Resolve init-services-in-do-hup issue
...
svn:r1583
2004-04-09 19:37:50 +00:00
Roger Dingledine
c80b42e17c
don't call rend_services_init right before we fetch the
...
dir, because we call it right after now.
svn:r1582
2004-04-09 19:34:55 +00:00
Roger Dingledine
c5bef32d95
call directory_has_arrived has arrived every time we get
...
a new directory, not just the first time
svn:r1581
2004-04-09 19:30:38 +00:00
Nick Mathewson
c256f2c3a1
Make comment more sensible. Still uncertain about when to call rend_services_init, though.
...
svn:r1580
2004-04-09 17:54:20 +00:00
Nick Mathewson
e6964ed7e6
set rend exit connection state _before_ calling rend_service_set_connection_addr_port and maybe eventually assert_connection_ok. This solves the other half of the bug weasel found.
...
svn:r1579
2004-04-09 17:51:57 +00:00
Nick Mathewson
facb5d4221
Reload rendezvous service keys on sighup; otherwise, we wind up with a
...
bunch of half-initialized services. This should solve half of
weasel's current bug. The crash is the other half.
(arma: should we also call rend_services_init on hup?)
svn:r1578
2004-04-09 17:48:09 +00:00
Peter Palfrader
a1a4c5be19
Update cvsignores
...
svn:r1577
2004-04-09 13:14:52 +00:00
Roger Dingledine
4011906b6b
get more serious about hunting The Bug
...
(it has been haunting us since the days of 0.0.2preX)
svn:r1576
2004-04-09 09:39:42 +00:00
Nick Mathewson
9b436c7f7a
remove a stray printf
...
svn:r1575
2004-04-08 20:59:48 +00:00
Nick Mathewson
aa7cfd93e5
Fix base32 implementation; make base32 implementation follow standard; add more tests for base32
...
svn:r1574
2004-04-08 20:56:33 +00:00
Nick Mathewson
d237692396
Fix unit tests (now that platform code works differently)
...
svn:r1573
2004-04-08 20:22:01 +00:00
Roger Dingledine
3b97a54226
when rend_cache_store warns, give more detail
...
svn:r1572
2004-04-08 20:13:28 +00:00
Nick Mathewson
aa2189b406
note which preexisting or connection we found.
...
svn:r1571
2004-04-08 19:49:55 +00:00
Roger Dingledine
eb9f5a561e
circuit-level sendmes weren't working, because the exit
...
thought it was an exit.
i overhauled the edge_type mechanism. hopefully this will help.
svn:r1570
2004-04-08 09:41:28 +00:00
Roger Dingledine
8e686d0c72
we added more AP conns, oops
...
svn:r1569
2004-04-08 07:25:54 +00:00
Roger Dingledine
4122e2de11
stop being so eager to have rend_cache_store reject the
...
service descriptor
svn:r1566
2004-04-08 05:08:27 +00:00