summaryrefslogtreecommitdiff
path: root/src/or/onion.c
AgeCommit message (Collapse)Author
2003-12-14start to track the 'unexpected relay cell' warningRoger Dingledine
svn:r928
2003-12-14add options.ExcludedNodes -- nodes that are never picked in path buildingRoger Dingledine
svn:r924
2003-12-14more general cleanupRoger Dingledine
svn:r915
2003-12-13make options.ExitNodes workRoger Dingledine
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-13revamp circuit node selection to use smartlists:Roger Dingledine
* 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-13use the smartlist to pick random routers, rather than our own idiomRoger Dingledine
svn:r898
2003-12-12if >=2 circs are being built that handle a given stream,Roger Dingledine
no need to have new circs handle it too. svn:r896
2003-12-09our circuit symmetric key (for aes) is 127 bits, not 128 bits.Roger Dingledine
we accept that. svn:r892
2003-12-07general cleanupsRoger Dingledine
svn:r889
2003-12-06break routers.c into router.c for stuff the router does,Roger Dingledine
and routerlist.c for handling routerlist. svn:r887
2003-12-05terminology shift:Roger Dingledine
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-03pick nodes for a circuit only from those the directory says are upRoger Dingledine
svn:r880
2003-12-03stop segfault when choose_good_exit_server returns NULLRoger Dingledine
svn:r879
2003-12-03fix vicious bug in connection_ap_attach_pending that caused it toRoger Dingledine
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-03bugfix in exit node choice: we used to find the perfect exit node but ↵Roger Dingledine
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-11-20simplify: options.OnionRouter==1 iff options.ORPort>0Roger Dingledine
svn:r857
2003-11-19Patch last patch to last patchNick Mathewson
svn:r845
2003-11-19Patch last patch.Nick Mathewson
svn:r843
2003-11-19Skip non-running routers for exit node selectionNick Mathewson
svn:r842
2003-11-18bugfix: sometimes we closed a circ while cpuworker was cranking,Roger Dingledine
and it didn't notice svn:r841
2003-11-18bugfix: don't ask for ->next of an expired circuitRoger Dingledine
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
2003-11-18use the tor_malloc_zero wrapperRoger Dingledine
svn:r837
2003-11-17"I don't think it's quite fair to condemn a whole program because of aNick Mathewson
single slip-up." -- General "Buck" Turgidson, _Doctor Strangelove_ svn:r828
2003-11-17comment choose_good_exit_serverNick Mathewson
svn:r822
2003-11-17Fix a segfault caused by a weird logic error and masked by another.Nick Mathewson
svn:r820
2003-11-16bugfixesRoger Dingledine
svn:r818
2003-11-16initial patches on patchesRoger Dingledine
svn:r814
2003-11-16Finish implementing the rest of the exitpolicy stuff, except for ↵Nick Mathewson
automatically starting circuit builds. svn:r813
2003-11-14Improved exit policy syntax; basic client-side DNS caching.Nick Mathewson
- 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
2003-11-13bump default pathlen to 3; clean up surrounding codeRoger Dingledine
svn:r810
2003-11-12lay groundwork for EntryNodes and ExitNodesRoger Dingledine
svn:r805
2003-11-12Make crypto_pseudo_rand* never fail.Nick Mathewson
svn:r797
2003-11-12Remove dead codeNick Mathewson
svn:r794
2003-11-12Compute paths as we build them.Nick Mathewson
svn:r793
2003-11-12Refactor onion_generate_cpath to build cpaths one hop at a time. ThisNick Mathewson
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
2003-11-11Rename aci to circ_id throughout.Nick Mathewson
svn:r784
2003-10-21move closer to being able to reload config on HUPRoger Dingledine
rename APPort to SocksPort introduce new tor_free() macro svn:r642
2003-10-10change WARNING to WARNRoger Dingledine
and fix a few typos svn:r571
2003-10-09Refactor, rename, and clarifyNick Mathewson
svn:r569
2003-10-08Update LICENSE and copyright dates.Nick Mathewson
svn:r560
2003-10-07minor fixes; bump to 0.0.2pre10Roger Dingledine
svn:r551
2003-10-04refactor so connection_write_to_buf() never failsRoger Dingledine
svn:r537
2003-10-01my_routerinfo, router_is_me, and learn_my_address are obsoleteRoger Dingledine
ACIs are decided now by strcmp'ing nicknames, rather than comparing addr:port svn:r529
2003-09-30getting closer to having dirserv workingRoger Dingledine
we now add our own descriptor to the descriptor list and we rebuild the directory (and dump to disk) after receiving a POST svn:r509
2003-09-26first pass: obey log conventionRoger Dingledine
ERR is if something fatal just happened WARNING is something bad happened, but we're still running. The bad thing is either a bug in the code, an attack or buggy protocol/implementation of the remote peer, etc. The operator should examine the bad thing and try to correct it. (No error or warning messages should be expected. I expect most people to run on -l warning eventually.) NOTICE is never ever used. INFO means something happened (maybe bad, maybe ok), but there's nothing you need to (or can) do about it. DEBUG is for everything louder than INFO. svn:r486
2003-09-25Refactor buffers; implement descriptors.Nick Mathewson
'buf_t' is now an opaque type defined in buffers.c . Router descriptors now include all keys; routers generate keys as needed on startup (in a newly defined "data directory"), and generate their own descriptors. Descriptors are now self-signed. Implementation is not complete: descriptors are never published; and upon receiving a descriptor, the directory doesn't do anything with it. At least "routers.or" and orkeygen are now obsolete, BTW. svn:r483
2003-09-16bugfixes and refactoringstor-0.0.2pre8Roger Dingledine
svn:r468
2003-09-16clean up exported api'sRoger Dingledine
svn:r461
2003-09-14bugfix: onion pending queue now worksRoger Dingledine
and fixed recent memory leak svn:r456
2003-09-14fix the cpuworker circ-had-vanished bug (maybe)Roger Dingledine
still several (many) tls-related bugs outstanding. svn:r454