Commit Graph

232 Commits

Author SHA1 Message Date
Roger Dingledine
67aa3b66c5 clean up socks handling, refuse connections to port 0
svn:r2888
2004-11-15 07:50:15 +00:00
Nick Mathewson
4f835673be Remove redundant declaration
svn:r2855
2004-11-14 17:22:10 +00:00
Nick Mathewson
5109de5626 Rename exit_policy to addr_policy, since it gets used for SOCKS and directory connections too. Make all policies get validated in options_validate, and make SOCKS/directory policies get set in options_act.
svn:r2819
2004-11-12 19:39:13 +00:00
Roger Dingledine
ab951fc828 remove extraneous variable
svn:r2765
2004-11-10 00:19:18 +00:00
Nick Mathewson
5a5be93f80 Normalize whitespace; add a "tell me about all the unnormalized whitespace" target; fix a braino in dirserv.c
svn:r2758
2004-11-09 20:04:00 +00:00
Nick Mathewson
cd753df7bf Resolve many XXXs and all DOCDOCs
svn:r2755
2004-11-09 18:22:17 +00:00
Roger Dingledine
394554cfbf Clean up copyrights.
Break connection_consider_empty_buckets() out of
connection_read_bucket_decrement().


svn:r2698
2004-11-07 01:33:06 +00:00
Roger Dingledine
6c61ed4fb5 Make options no longer a global variable.
Now we can try setting an option but back out if it fails to parse, or
  if it's disallowed (e.g. changing RunAsDaemon from 1 to 0).
Use parse_line_from_str rather than parse_line_from_file.


svn:r2692
2004-11-06 05:18:11 +00:00
Roger Dingledine
a4753283dd better interface for connection_ap_handshake_socks_reply()
make --list-fingerprint print the fingerprint again


svn:r2668
2004-11-03 23:13:28 +00:00
Nick Mathewson
451f8b5045 - Implement all of control interface except authentication, setconfig,
and actually making the sockets.
- Make sure that identity-based nicknames start with $.
- Use new string_join interface.


svn:r2661
2004-11-03 18:33:07 +00:00
Roger Dingledine
984ffec105 implement first piece of hibernation
still need to track bandwidth, and make decisions based on bandwidth


svn:r2630
2004-10-31 20:28:41 +00:00
Nick Mathewson
2fbf31533b Tricksy compiler warnings! We hates them, hates them forever, my precious!
svn:r2615
2004-10-27 21:14:11 +00:00
Nick Mathewson
6980929e64 Use strlcpy, not strcpy.
svn:r2610
2004-10-27 06:48:16 +00:00
Nick Mathewson
44d4516155 Use tor_snprintf, not snprintf
svn:r2609
2004-10-27 06:37:34 +00:00
Nick Mathewson
c7151d8bed Add "pass" target for RedirectExit, to make it easier to break out of a sequence of rules
svn:r2566
2004-10-19 17:46:06 +00:00
Roger Dingledine
97a0a43511 start the process of making 0.0.7* obsolete
svn:r2565
2004-10-17 21:51:20 +00:00
Roger Dingledine
640544ae3e use connection_edge_is_rendezvous_stream() more
svn:r2564
2004-10-17 21:10:41 +00:00
Roger Dingledine
695cdb10fe whoops, resolve cells were probably broken
svn:r2562
2004-10-17 20:31:19 +00:00
Nick Mathewson
8d27385c23 Implement RedirectExit.
svn:r2550
2004-10-17 01:57:34 +00:00
Roger Dingledine
aebc3a03ba more int to size_t conversions, fixing one or more amd64 bugs
plus a whitespace patch on config.c from vicman


svn:r2482
2004-10-14 02:47:09 +00:00
Nick Mathewson
0383afac9a Use parse_addr_port() function instead of ad-hoc variants
svn:r2441
2004-10-12 15:52:09 +00:00
Roger Dingledine
6468e049be when a begin cell has an invalid port, give us a better hint of
what went wrong


svn:r2435
2004-10-10 01:47:24 +00:00
Roger Dingledine
a2517b4f07 checking only 0.0.7 and 0.0.8 didn't work, because some dirservers
files have really old descriptors for the authdirservers, so we're
asking them in the new format because they're too old.

now we actually compare the version to a cutoff version, and act
appropriately.

also take this chance to use only >=0.0.8 servers for dns resolves,
because of the recent bugs. we'll bump to >=0.0.9pre1 once there are
some servers running that.


svn:r2380
2004-09-27 06:00:43 +00:00
Roger Dingledine
fa0a1ec49f cleanup: use strcmpstart() in more places
svn:r2372
2004-09-23 22:18:50 +00:00
Nick Mathewson
9defe8a307 Attach dummy resolve connections to a circuit *before* calling dns_resolve(). This fixes a bug where cached answers would never be sent in RESOLVED cells.
svn:r2360
2004-09-21 18:12:12 +00:00
Roger Dingledine
488aa52f25 fix assert triggers in 0.0.7.x: if the other side returns
an address 0.0.0.0, don't put it into the client dns cache.


svn:r2233
2004-08-15 20:05:35 +00:00
Roger Dingledine
292e9c5567 reject the default edonkey, kazaa, gnutella ports
to slow the coming flood


svn:r2195
2004-08-08 05:26:13 +00:00
Roger Dingledine
f47fe829dd avoid racing the mark-for-close when the client hangs up on us
at the same time we get an end relay cell.
(thanks to wmf for reminding me)


svn:r2181
2004-08-07 02:19:49 +00:00
Roger Dingledine
9952b37456 reject tor-resolve requests for .onion addresses early
svn:r2174
2004-08-07 00:19:14 +00:00
Roger Dingledine
05e9fb5c44 and add a comment to that effect
svn:r2159
2004-08-06 10:13:25 +00:00
Roger Dingledine
f8c14e5dce make explicit that 'no socks policy' means 'accept'
svn:r2158
2004-08-06 10:12:55 +00:00
Roger Dingledine
de0f72ce2a bugfix: when you finish answering a 'resolve' request, hold the
connection open so you can flush the answer


svn:r2148
2004-08-05 00:39:23 +00:00
Roger Dingledine
54dd90d391 bugfix: when tor-resolve asks to resolve an IP to an IP and we answer
immediately, there's no need to send an 'end' relay cell when we close
the conn.


svn:r2147
2004-08-04 21:38:00 +00:00
Nick Mathewson
5b61dd0457 Fix all warnings on win32 build
svn:r2127
2004-08-03 23:57:05 +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
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
Roger Dingledine
87d0948903 bugfix: hidden services were broken in cvs
svn:r2053
2004-07-17 19:50:29 +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
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
Roger Dingledine
a8417dfac8 fix a double mark-for-close
svn:r1913
2004-05-20 22:39:01 +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
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
1cf1836990 break connection_edge_end out of connection_mark_for_close
svn:r1858
2004-05-12 21:12:33 +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
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
4845fe7197 comment and doxygenate connection_edge.c
svn:r1833
2004-05-10 04:42:22 +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
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