| Commit message (Expand) | Author | Age |
* | 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
| Roger Dingledine | 2003-12-13 |
* | Add port ranges to exit policies•••svn:r899
| Nick Mathewson | 2003-12-13 |
* | if >=2 circs are being built that handle a given stream,•••no need to have new circs handle it too.
svn:r896
| Roger Dingledine | 2003-12-12 |
* | Make router/directory parsing nondestructive and more const-friendly•••svn:r890
| Nick Mathewson | 2003-12-08 |
* | declare the prototypes better•••svn:r888
| Roger Dingledine | 2003-12-06 |
* | break routers.c into router.c for stuff the router does,•••and routerlist.c for handling routerlist.
svn:r887
| Roger Dingledine | 2003-12-06 |
* | 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
| Roger Dingledine | 2003-12-05 |
* | pick nodes for a circuit only from those the directory says are up•••svn:r880
| Roger Dingledine | 2003-12-03 |
* | bugfix in exit node choice: we used to find the perfect exit node but ...•••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
| Roger Dingledine | 2003-12-03 |
* | simplify: options.OnionRouter==1 iff options.ORPort>0•••svn:r857
| Roger Dingledine | 2003-11-20 |
* | Separate failure-count tracking from circuit-launching.•••Increment failure counts only when circuits close without having been built.
Reset failure counts only on the second, and when circuits are done building.
svn:r847
| Nick Mathewson | 2003-11-19 |
* | bugfix: don't ask for ->next of an expired circuit•••bugfix: keep going when a circ fails in circuit_n_conn_open
(make circuit_enumerate_by_naddr_nport obsolete)
bugfix: make circuit_n_conn_open only look at circ's that start at us
bugfix: only try circuit_n_conn_open if we're an OP. Otherwise we
expect connections to always already be up.
bugfix: when choosing path length, pay attention to whether the directory
says a router is down.
bugfix: when picking good exit, skip routers which are known to be down
(more work needs to be done on this one)
svn:r838
| Roger Dingledine | 2003-11-18 |
* | don't build too many circs at once•••expire circs that have been building for too long
svn:r835
| Roger Dingledine | 2003-11-18 |
* | recognize in-progress circs and don't start redundant ones•••quickly notice streams that don't have a circ on the way, and start one
svn:r819
| Roger Dingledine | 2003-11-17 |
* | bugfixes•••svn:r818
| Roger Dingledine | 2003-11-16 |
* | change when circuits are built and expired•••not quite happy with it yet
svn:r817
| Roger Dingledine | 2003-11-16 |
* | initial patches on patches•••svn:r814
| Roger Dingledine | 2003-11-16 |
* | Finish implementing the rest of the exitpolicy stuff, except for automaticall...•••svn:r813
| Nick Mathewson | 2003-11-16 |
* | Improved exit policy syntax; basic client-side DNS caching.•••- Exit policies now support bitmasks (18.0.0.0/255.0.0.0) and bitcounts
18.0.0.0/8. Policies are parsed on startup, not when comparing to them.
- desired_path_len is now part of an opaque cpath_build_state_t structure.
- END_REASON_EXITPOLICY cells no longer include a port.
- RELAY_COMMAND_CONNECTED cells now include the IP address we've connected
to.
- connection_edge now has a client_dns cache to remember resolved addresses.
It gets populated by RELAY_COMMAND_CONNECTED cells and END_REASON_EXITPOLICY
cells. It gets used by connection_ap_handshake_send_begin. We don't
compare it to exit policies yet.
svn:r812
| Nick Mathewson | 2003-11-14 |
* | bump default pathlen to 3; clean up surrounding code•••svn:r810
| Roger Dingledine | 2003-11-13 |
* | let getconfig survive repeated calls. now we call it again when we hup.•••change RecommendedVersions into a config option, so dirservers can hup
for a new one
svn:r809
| Roger Dingledine | 2003-11-13 |
* | lay groundwork for EntryNodes and ExitNodes•••svn:r805
| Roger Dingledine | 2003-11-12 |
* | Remove dead code•••svn:r794
| Nick Mathewson | 2003-11-12 |
* | Compute paths as we build them.•••svn:r793
| Nick Mathewson | 2003-11-12 |
* | Refactor onion_generate_cpath to build cpaths one hop at a time. This•••is a the first step in computing hops one step at a time. Next, we move
the responsibility for calling onion_extend_cpath into circuit.c
(Later, we may want to special-case onion_extend_cpath to treat entry
and exit routers differently.)
svn:r792
| Nick Mathewson | 2003-11-12 |
* | conn->socks_version is obsolete•••svn:r787
| Roger Dingledine | 2003-11-11 |
* | Rename aci to circ_id throughout.•••svn:r784
| Nick Mathewson | 2003-11-11 |
* | Make AP connections wait for a circuit if none exists.•••Also:
- Refactor socks request into a separate struct
- Add a separate 'waiting for circuit' state to AP connections
between 'waiting for socks' and 'open'.
Arma: can you check out the XXX's I've added to connection_edge? I may
be mishandling some async and close logic.
svn:r783
| Nick Mathewson | 2003-11-11 |
* | client now survives going offline better•••fix badness in usage()
if neither socksport nor orrport is defined, quit
obsolete connection_flush_buf()
svn:r780
| Roger Dingledine | 2003-11-10 |
* | add DirBindAddress, parse the BindAddress's when you bind•••exit if bind fails
add usage printfs
rearrange config options for readability
svn:r674
| Roger Dingledine | 2003-10-25 |
* | play with connection_edge_send_command•••maybe more robust now
svn:r655
| Roger Dingledine | 2003-10-22 |
* | make end relay cells have payloads•••move default exit policy into config files
svn:r653
| Roger Dingledine | 2003-10-22 |
* | added User and Group options -- if you set them, tor will try to•••setuid and setgid respectively, and die if it can't.
(If the User option is set, tor will setgid to the user's gid as well.)
This happens after the pidfile is created, so that in cases where tor
needs to be root to work with the pidfile, it will at least be able to
create it, although it won't be able to delete it. That sucks, but
it's somewhat better than not being able to create the pidfile in the
first place.
svn:r652
| Steven Hazel | 2003-10-22 |
* | move closer to being able to reload config on HUP•••rename APPort to SocksPort
introduce new tor_free() macro
svn:r642
| Roger Dingledine | 2003-10-21 |
* | send the end cell when we realize we're going to end,•••not when we're closing the stream.
this lets us put a payload in the end cell if we want to,
to describe why we're closing the stream.
there are still some places where we don't send the end cell
immediately. i need to track them down. but it's a low priority,
since i've made it send the end cell when we close the stream if
we haven't already sent it.
svn:r640
| Roger Dingledine | 2003-10-21 |
* | move to 0.0.2pre13•••svn:r631
| Roger Dingledine | 2003-10-19 |
* | clean up logging, allow user to specify log files•••If DebugLogFile is specified, log to it at -l debug
If LogFile is specified, log to it at the -l from the commandline
(default info)
If no LogFile *and* not a Daemon, then log to stdout.
Make conn->s = -1 by default (this might break things)
When kill -USR1, prefer to log at INFO, but make sure they always see it.
svn:r596
| Roger Dingledine | 2003-10-15 |
* | Make last commit build•••svn:r593
| Nick Mathewson | 2003-10-15 |
* | Make buffers grow and shrink as needed.•••svn:r583
| Nick Mathewson | 2003-10-14 |
* | put out 0.0.2pre12•••(mainly doc and log changes)
svn:r579
| Roger Dingledine | 2003-10-12 |
* | Refactor, rename, and clarify•••svn:r569
| Nick Mathewson | 2003-10-09 |
* | add in basic support for pidfiles•••(patch courtesy aaron turner)
svn:r565
| Roger Dingledine | 2003-10-08 |
* | 0.0.2pre11, new license•••svn:r564
| Roger Dingledine | 2003-10-08 |
* | Update LICENSE and copyright dates.•••svn:r560
| Nick Mathewson | 2003-10-08 |
* | obey exit policies for addresses too•••svn:r555
| Roger Dingledine | 2003-10-07 |
* | some early bugfixes•••our log() conflicts with log(3)
distribute only the correct files from doc/ and src/config/
sometimes laptops go back in time. i guess that's ok for now.
and bump the version number because we're live.
svn:r544
| Roger Dingledine | 2003-10-07 |
* | refactor around connection_edge_send_command()•••svn:r539
| Roger Dingledine | 2003-10-04 |
* | refactor so connection_write_to_buf() never fails•••svn:r537
| Roger Dingledine | 2003-10-04 |
* | socks5 now works•••(or at least, we can talk to mozilla.)
svn:r536
| Roger Dingledine | 2003-10-04 |
* | Add new cell fullness and bandwidth stats.•••svn:r533
| Nick Mathewson | 2003-10-02 |