| Commit message (Expand) | Author | Age |
* | remove trailing whitespace•••svn:r951
| Roger Dingledine | 2003-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 Dingledine | 2003-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 Dingledine | 2003-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 Dingledine | 2003-12-16 |
* | start to track the 'unexpected relay cell' warning•••svn:r928
| Roger Dingledine | 2003-12-14 |
* | add options.ExcludedNodes -- nodes that are never picked in path building•••svn:r924
| Roger Dingledine | 2003-12-14 |
* | more general cleanup•••svn:r915
| Roger Dingledine | 2003-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 Dingledine | 2003-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 Dingledine | 2003-12-13 |
* | use the smartlist to pick random routers, rather than our own idiom•••svn:r898
| Roger Dingledine | 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 |
* | our circuit symmetric key (for aes) is 127 bits, not 128 bits.•••we accept that.
svn:r892
| Roger Dingledine | 2003-12-09 |
* | general cleanups•••svn:r889
| Roger Dingledine | 2003-12-07 |
* | 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 |
* | stop segfault when choose_good_exit_server returns NULL•••svn:r879
| Roger Dingledine | 2003-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 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 |
* | Patch last patch to last patch•••svn:r845
| Nick Mathewson | 2003-11-19 |
* | Patch last patch.•••svn:r843
| Nick Mathewson | 2003-11-19 |
* | Skip non-running routers for exit node selection•••svn:r842
| Nick Mathewson | 2003-11-19 |
* | bugfix: sometimes we closed a circ while cpuworker was cranking,••• and it didn't notice
svn:r841
| Roger Dingledine | 2003-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 Dingledine | 2003-11-18 |
* | use the tor_malloc_zero wrapper•••svn:r837
| Roger Dingledine | 2003-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 Mathewson | 2003-11-17 |
* | comment choose_good_exit_server•••svn:r822
| Nick Mathewson | 2003-11-17 |
* | Fix a segfault caused by a weird logic error and masked by another.•••svn:r820
| Nick Mathewson | 2003-11-17 |
* | bugfixes•••svn:r818
| 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 |
* | lay groundwork for EntryNodes and ExitNodes•••svn:r805
| Roger Dingledine | 2003-11-12 |
* | Make crypto_pseudo_rand* never fail.•••svn:r797
| Nick Mathewson | 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 |
* | Rename aci to circ_id throughout.•••svn:r784
| Nick Mathewson | 2003-11-11 |
* | 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 |
* | change WARNING to WARN•••and fix a few typos
svn:r571
| Roger Dingledine | 2003-10-10 |
* | Refactor, rename, and clarify•••svn:r569
| Nick Mathewson | 2003-10-09 |
* | Update LICENSE and copyright dates.•••svn:r560
| Nick Mathewson | 2003-10-08 |
* | minor fixes; bump to 0.0.2pre10•••svn:r551
| Roger Dingledine | 2003-10-07 |
* | refactor so connection_write_to_buf() never fails•••svn:r537
| Roger Dingledine | 2003-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 Dingledine | 2003-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 Dingledine | 2003-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 Dingledine | 2003-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 Mathewson | 2003-09-25 |