aboutsummaryrefslogtreecommitdiff
path: root/src/or/or.h
Commit message (Expand)AuthorAge
* 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 Dingledine2003-12-13
* Add port ranges to exit policies•••svn:r899 Nick Mathewson2003-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 Dingledine2003-12-12
* Make router/directory parsing nondestructive and more const-friendly•••svn:r890 Nick Mathewson2003-12-08
* declare the prototypes better•••svn:r888 Roger Dingledine2003-12-06
* break routers.c into router.c for stuff the router does,•••and routerlist.c for handling routerlist. svn:r887 Roger Dingledine2003-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 Dingledine2003-12-05
* pick nodes for a circuit only from those the directory says are up•••svn:r880 Roger Dingledine2003-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 Dingledine2003-12-03
* simplify: options.OnionRouter==1 iff options.ORPort>0•••svn:r857 Roger Dingledine2003-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 Mathewson2003-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 Dingledine2003-11-18
* don't build too many circs at once•••expire circs that have been building for too long svn:r835 Roger Dingledine2003-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 Dingledine2003-11-17
* bugfixes•••svn:r818 Roger Dingledine2003-11-16
* change when circuits are built and expired•••not quite happy with it yet svn:r817 Roger Dingledine2003-11-16
* initial patches on patches•••svn:r814 Roger Dingledine2003-11-16
* Finish implementing the rest of the exitpolicy stuff, except for automaticall...•••svn:r813 Nick Mathewson2003-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 Mathewson2003-11-14
* bump default pathlen to 3; clean up surrounding code•••svn:r810 Roger Dingledine2003-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 Dingledine2003-11-13
* lay groundwork for EntryNodes and ExitNodes•••svn:r805 Roger Dingledine2003-11-12
* Remove dead code•••svn:r794 Nick Mathewson2003-11-12
* Compute paths as we build them.•••svn:r793 Nick Mathewson2003-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 Mathewson2003-11-12
* conn->socks_version is obsolete•••svn:r787 Roger Dingledine2003-11-11
* Rename aci to circ_id throughout.•••svn:r784 Nick Mathewson2003-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 Mathewson2003-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 Dingledine2003-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 Dingledine2003-10-25
* play with connection_edge_send_command•••maybe more robust now svn:r655 Roger Dingledine2003-10-22
* make end relay cells have payloads•••move default exit policy into config files svn:r653 Roger Dingledine2003-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 Hazel2003-10-22
* move closer to being able to reload config on HUP•••rename APPort to SocksPort introduce new tor_free() macro svn:r642 Roger Dingledine2003-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 Dingledine2003-10-21
* move to 0.0.2pre13•••svn:r631 Roger Dingledine2003-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 Dingledine2003-10-15
* Make last commit build•••svn:r593 Nick Mathewson2003-10-15
* Make buffers grow and shrink as needed.•••svn:r583 Nick Mathewson2003-10-14
* put out 0.0.2pre12•••(mainly doc and log changes) svn:r579 Roger Dingledine2003-10-12
* Refactor, rename, and clarify•••svn:r569 Nick Mathewson2003-10-09
* add in basic support for pidfiles•••(patch courtesy aaron turner) svn:r565 Roger Dingledine2003-10-08
* 0.0.2pre11, new license•••svn:r564 Roger Dingledine2003-10-08
* Update LICENSE and copyright dates.•••svn:r560 Nick Mathewson2003-10-08
* obey exit policies for addresses too•••svn:r555 Roger Dingledine2003-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 Dingledine2003-10-07
* refactor around connection_edge_send_command()•••svn:r539 Roger Dingledine2003-10-04
* refactor so connection_write_to_buf() never fails•••svn:r537 Roger Dingledine2003-10-04
* socks5 now works•••(or at least, we can talk to mozilla.) svn:r536 Roger Dingledine2003-10-04
* Add new cell fullness and bandwidth stats.•••svn:r533 Nick Mathewson2003-10-02