Commit Graph

910 Commits

Author SHA1 Message Date
Roger Dingledine b59e8d9b07 make options.ExitNodes work
if your best choices happen to include any of your preferred exit nodes,
you choose among just those preferred exit nodes.


svn:r911
2003-12-13 23:32:57 +00:00
Roger Dingledine 238d091697 extend smartlist with a few smarter operations
svn:r910
2003-12-13 23:32:03 +00:00
Roger Dingledine 0c882c4c1f doc patches submitted by jason holt
svn:r909
2003-12-13 22:56:32 +00:00
Roger Dingledine 5ab9fbeafe a few minor updates to hacking
svn:r908
2003-12-13 22:55:12 +00:00
Roger Dingledine 3ffaaedb20 clean up some copyrights
svn:r907
2003-12-13 22:53:17 +00:00
Roger Dingledine 3bdf53b4e4 bughunt: start tracking the bug mutiny found
svn:r906
2003-12-13 08:06:03 +00:00
Roger Dingledine be1eae1d5f bugfix: a circuit that immediately failed still counts as a failed circuit
svn:r905
2003-12-13 07:42:18 +00:00
Roger Dingledine 9bbcdbb125 revamp circuit node selection to use smartlists:
* now we know for sure if an acceptable node is available; we
    don't have to keep guessing and checking
  * we try options.EntryNodes first for picking the first node


svn:r904
2003-12-13 07:01:46 +00:00
Roger Dingledine 66b73b459a minor tweaks to the smartlist operations
svn:r903
2003-12-13 06:56:21 +00:00
Nick Mathewson afeb0495c3 Make default exit policy reject 127.*:*
svn:r902
2003-12-13 03:37:25 +00:00
Roger Dingledine 286e0f7d2e reasonably permissive exit policy if you don't set one
svn:r901
2003-12-13 02:53:35 +00:00
Roger Dingledine eeac50913b put the default exit policy in place
svn:r900
2003-12-13 02:52:54 +00:00
Nick Mathewson 3fc70ad316 Add port ranges to exit policies
svn:r899
2003-12-13 02:44:02 +00:00
Roger Dingledine c8ad5e09a0 use the smartlist to pick random routers, rather than our own idiom
svn:r898
2003-12-13 01:43:21 +00:00
Roger Dingledine 62346e64fa add a 'smartlist' building block that picks random elements from a list
svn:r897
2003-12-13 01:42:44 +00:00
Roger Dingledine f5a7def901 if >=2 circs are being built that handle a given stream,
no need to have new circs handle it too.


svn:r896
2003-12-12 23:03:25 +00:00
Roger Dingledine 6aae24153f make the license explicit on fakepoll.[ch]
svn:r895
2003-12-09 21:37:26 +00:00
Nick Mathewson a2ad522876 Document parsing functions in routerlist.c, and separate parsing from non-parsing functions.
svn:r894
2003-12-09 04:29:52 +00:00
Roger Dingledine fe47552fff close the circuit when we get a truncated cell
svn:r893
2003-12-09 02:06:58 +00:00
Roger Dingledine e21fc213ef our circuit symmetric key (for aes) is 127 bits, not 128 bits.
we accept that.


svn:r892
2003-12-09 01:04:40 +00:00
Roger Dingledine 2eca35e52b back out the broken change from yesterday
svn:r891
2003-12-09 01:04:11 +00:00
Nick Mathewson cea439988a Make router/directory parsing nondestructive and more const-friendly
svn:r890
2003-12-08 23:45:37 +00:00
Roger Dingledine 59fa7d8f9b general cleanups
svn:r889
2003-12-07 22:03:47 +00:00
Roger Dingledine 42d18c3d36 declare the prototypes better
svn:r888
2003-12-06 06:01:42 +00:00
Roger Dingledine 79dc5ab0ea break routers.c into router.c for stuff the router does,
and routerlist.c for handling routerlist.


svn:r887
2003-12-06 05:54:04 +00:00
Roger Dingledine ef10ea41af terminology shift:
directory is the string that dirserv.c and directory.c deal with
routerlist is routerinfo's that are bundled together in routers.c

rename some of the get_routerlist functions to set_routerlist

preparing to break into router.c for stuff the router does,
and routerlist.c for handling routerlist.


svn:r886
2003-12-05 09:51:49 +00:00
Roger Dingledine ca879f5ae1 prevent assert failure on -HUP when options->PidFile==NULL
svn:r885
2003-12-03 22:00:20 +00:00
Roger Dingledine d4b217e633 we are pre15
svn:r884
2003-12-03 21:05:15 +00:00
Roger Dingledine 89a0ef5184 OnionRouter config option is obsolete
svn:r883
2003-12-03 20:21:03 +00:00
Roger Dingledine 46f6c59f1c update the TODO to reflect recent commits
svn:r882
2003-12-03 10:44:11 +00:00
Roger Dingledine 5fc49c0d68 choose randomly from running dirservers, not always the first one
svn:r881
2003-12-03 10:39:27 +00:00
Roger Dingledine a8df101b1f pick nodes for a circuit only from those the directory says are up
svn:r880
2003-12-03 10:28:51 +00:00
Roger Dingledine d23f2e5fe4 stop segfault when choose_good_exit_server returns NULL
svn:r879
2003-12-03 10:04:44 +00:00
Roger Dingledine c1bc760007 switch "-lcrypto -lssl" to "-lssl -lcrypto" for broken distributions
enforce -g on compile always. we're an alpha release after all.


svn:r878
2003-12-03 09:55:16 +00:00
Roger Dingledine 7199581af8 don't --enable-debug by default on ./configure
svn:r877
2003-12-03 09:53:46 +00:00
Roger Dingledine e6a96256fd fix vicious bug in connection_ap_attach_pending that caused it to
never work.
fix vicious bug in choose_good_exit_server that caused it to *skip over*
  pending circuits, and look only at *non-pending circuits*, when choosing
  a good exit node for the new circuit.
bugfix: remove incorrect asserts in circuit_get_newest()


svn:r876
2003-12-03 09:50:02 +00:00
Roger Dingledine a2bc60ce70 assert that nobody asks for a random number between 0 and -1
svn:r875
2003-12-03 08:08:07 +00:00
Roger Dingledine 94899b7416 bugfix in exit node choice: we used to find the perfect exit node but then use the wrong one.
bugfix in connection_ap_can_use_exit: it was using the wrong port
bugfix: the OP now handles a port of '*' correctly when the IP is not
  yet known and it's trying to guess whether a router's exit policy
  might accept it.
we now don't ever pick exit routers which will reject *:*
attach_circuit now fails a new stream outright if it will never work.
when you get an 'end' cell that resolves an IP, now it will fail the                             circuit outright if no safe exit nodes exist for that IP.
don't try building a new circuit after an 'end' if a suitable one is
  already on the way.


svn:r874
2003-12-03 08:06:55 +00:00
Roger Dingledine 03142f337d stop expecting sample-server-torrc to be there
svn:r873
2003-12-02 22:43:23 +00:00
Steven Hazel b5ebf16e73 install that man page
svn:r872
2003-12-02 21:21:21 +00:00
Roger Dingledine fb9cc9b73e update TODO with remaining pre15 tasks
svn:r871
2003-12-02 18:20:31 +00:00
Roger Dingledine b69fedc5b6 start tracking a rare bug: package_raw_inbuf gets called with package_window 0
Nov 25 22:39:18.294 [warn] connection_edge_package_raw_inbuf(): called with package_window 0. T
ell Roger.


svn:r870
2003-11-30 10:10:29 +00:00
Roger Dingledine 3e3e0b6430 stop complaining as loudly when a dns resolve fails
svn:r869
2003-11-30 09:57:00 +00:00
Roger Dingledine d404555625 bugfix: we were writing to stderr even when it's closed
svn:r868
2003-11-30 09:51:35 +00:00
Roger Dingledine c89227eef4 bump up header length when the dirserv reads http commands
Nov 23 12:10:26.556 [warn] fetch_from_buf_http(): headerlen 1487 larger than 1023. Failing.
Nov 23 12:10:26.556 [warn] directory_handle_command(): input too large. Failing.


svn:r867
2003-11-30 09:47:57 +00:00
Roger Dingledine a2a3e08a60 remove a conn_close_if_marked warning
Nov 27 15:45:19.003 [warn] connection_write_to_buf(): write_to_buf failed. Closing connection (fd 42).
Nov 27 15:45:19.010 [warn] conn_close_if_marked(): Conn (socket 42) still wants to flush. Losing 0 bytes!


svn:r866
2003-11-30 09:35:26 +00:00
Roger Dingledine 5ce80a34d4 bugfix: an offline OP would leak all its sockets and stop working
svn:r865
2003-11-29 02:50:12 +00:00
Nick Mathewson c9c00d3a60 Fix a few bugs in sending and receiving DNS results
svn:r864
2003-11-23 18:16:06 +00:00
Nick Mathewson 78c58d8564 Bring assert_connection_ok up to date
svn:r863
2003-11-23 18:14:19 +00:00
Nick Mathewson 1bcbfc8e74 Fix incorrect error message
svn:r862
2003-11-21 05:55:03 +00:00