Commit Graph

1267 Commits

Author SHA1 Message Date
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
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
Roger Dingledine
899bd4f471 stop leaking options->ContactInfo on hup
svn:r1989
2004-06-29 19:46:06 +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
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
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
Roger Dingledine
d90cb3504e provide a prototype for dnsworkers_rotate
svn:r1961
2004-06-07 20:00:30 +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
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
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
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
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
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
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
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
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
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
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
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
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
af08c4f878 Working strerror for windows socket errors, plus some snide comments.
svn:r1775
2004-05-02 20:18:21 +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
Nick Mathewson
f6fe336ad4 Documenmt buffers.c; remove function that nobody ever calls.
svn:r1760
2004-05-01 22:08:43 +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
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
ddb15b8f67 Remove IVs from cipher code, since AES-ctr has none.
svn:r1742
2004-04-28 20:31:32 +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
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
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
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
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
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
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
75dc76eb3e Better error msg on unknown circuit id.
svn:r1708
2004-04-26 03:00:33 +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
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
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
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
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
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