aboutsummaryrefslogtreecommitdiff
path: root/src/or/onion.c
Commit message (Expand)AuthorAge
* remove trailing whitespace•••svn:r951 Roger Dingledine2003-12-17
* end-to-end integrity checking now works•••initialize digests from shared secrets at handshake make circuit_send_next_onion_skin use connection_edge_send_command svn:r948 Roger Dingledine2003-12-17
* move cell size to 512 bytes•••move length to 2 bytes, put it in the relay header remove 4 reserved bytes in cell add 4 bytes to relay header for the integrity check svn:r942 Roger Dingledine2003-12-16
* add H(K|1) to the onionskin reply•••verify it at the client end abstract the onionskin handshake lengths breaks backward compatibility (again) svn:r941 Roger Dingledine2003-12-16
* start to track the 'unexpected relay cell' warning•••svn:r928 Roger Dingledine2003-12-14
* add options.ExcludedNodes -- nodes that are never picked in path building•••svn:r924 Roger Dingledine2003-12-14
* more general cleanup•••svn:r915 Roger Dingledine2003-12-14
* 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 Roger Dingledine2003-12-13
* 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
* use the smartlist to pick random routers, rather than our own idiom•••svn:r898 Roger Dingledine2003-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
* our circuit symmetric key (for aes) is 127 bits, not 128 bits.•••we accept that. svn:r892 Roger Dingledine2003-12-09
* general cleanups•••svn:r889 Roger Dingledine2003-12-07
* 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
* stop segfault when choose_good_exit_server returns NULL•••svn:r879 Roger Dingledine2003-12-03
* 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 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
* Patch last patch to last patch•••svn:r845 Nick Mathewson2003-11-19
* Patch last patch.•••svn:r843 Nick Mathewson2003-11-19
* Skip non-running routers for exit node selection•••svn:r842 Nick Mathewson2003-11-19
* bugfix: sometimes we closed a circ while cpuworker was cranking,••• and it didn't notice svn:r841 Roger Dingledine2003-11-18
* 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
* use the tor_malloc_zero wrapper•••svn:r837 Roger Dingledine2003-11-18
* "I don't think it's quite fair to condemn a whole program because of a••• single slip-up." -- General "Buck" Turgidson, _Doctor Strangelove_ svn:r828 Nick Mathewson2003-11-17
* comment choose_good_exit_server•••svn:r822 Nick Mathewson2003-11-17
* Fix a segfault caused by a weird logic error and masked by another.•••svn:r820 Nick Mathewson2003-11-17
* bugfixes•••svn:r818 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
* lay groundwork for EntryNodes and ExitNodes•••svn:r805 Roger Dingledine2003-11-12
* Make crypto_pseudo_rand* never fail.•••svn:r797 Nick Mathewson2003-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
* Rename aci to circ_id throughout.•••svn:r784 Nick Mathewson2003-11-11
* 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
* change WARNING to WARN•••and fix a few typos svn:r571 Roger Dingledine2003-10-10
* Refactor, rename, and clarify•••svn:r569 Nick Mathewson2003-10-09
* Update LICENSE and copyright dates.•••svn:r560 Nick Mathewson2003-10-08
* minor fixes; bump to 0.0.2pre10•••svn:r551 Roger Dingledine2003-10-07
* refactor so connection_write_to_buf() never fails•••svn:r537 Roger Dingledine2003-10-04
* my_routerinfo, router_is_me, and learn_my_address are obsolete•••ACIs are decided now by strcmp'ing nicknames, rather than comparing addr:port svn:r529 Roger Dingledine2003-10-01
* getting closer to having dirserv working•••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 Roger Dingledine2003-09-30
* first pass: obey log convention•••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 Roger Dingledine2003-09-26
* Refactor buffers; implement descriptors.•••'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 Nick Mathewson2003-09-25