Roger Dingledine
c4b72a254f
tmp patch to also expire old clean rend_ready circs for now
...
will have to be fixed once we build-and-open rend circs preemptively
svn:r1668
2004-04-18 09:27:05 +00:00
Roger Dingledine
3fa2925a6a
if an intro circ waiting for an ack dies before getting one, then
...
count it as a nack
svn:r1665
2004-04-18 07:37:16 +00:00
Roger Dingledine
65d507b980
log n_circ_ids when attaching rend streams
...
svn:r1657
2004-04-17 10:25:38 +00:00
Roger Dingledine
26dd5c68b0
a ! goes a long way toward more helpful debug messages
...
svn:r1656
2004-04-17 10:04:00 +00:00
Roger Dingledine
f5427463f5
more debugging to hunt for a bug
...
svn:r1647
2004-04-17 01:33:04 +00:00
Roger Dingledine
9c1470840f
i was wrong about one of my invariants
...
now it's commented
this should fix asserts when you try an intro point, get a nack,
and try a second one and it works.
svn:r1637
2004-04-16 08:21:35 +00:00
Roger Dingledine
26c1c8f173
make unattached rend streams expire after a while (60s)
...
(they were darned persistent)
also make intro circs that are waiting for acks expire after a while (20s)
svn:r1628
2004-04-15 01:08:59 +00:00
Roger Dingledine
b51561f7fb
prune abandoned circs better
...
add debugging info for the bug weasel found
svn:r1626
2004-04-14 23:52:29 +00:00
Nick Mathewson
37255d24bc
Retry non-final-hop rendezvous failures
...
svn:r1625
2004-04-14 21:40:50 +00:00
Roger Dingledine
465f0e528a
call circuit_build_failed() even when the failure is immediate
...
svn:r1617
2004-04-14 04:32:49 +00:00
Roger Dingledine
1d7979b460
let introcircs receive acks. rend streams now deal correctly again.
...
(i think)
svn:r1614
2004-04-13 22:56:24 +00:00
Nick Mathewson
a2ece0fc08
Separate "start-establishing-introduction" from "upload descriptors"; only upload descriptors containing fully established intro points.
...
svn:r1607
2004-04-13 17:16:47 +00:00
Roger Dingledine
e0ce205a76
clean up circuit rebuilding some; fix some bugs we hadn't hit yet
...
svn:r1606
2004-04-13 05:20:52 +00:00
Nick Mathewson
8483bace65
Get the rest of intro-ack/nak handling in ... except for the tricky "pick a new intro and re-extend and re-try" part.
...
svn:r1601
2004-04-13 01:41:39 +00:00
Roger Dingledine
f4ff5a75c1
break circuit_build_needed_circs into its own func
...
svn:r1596
2004-04-12 22:47:12 +00:00
Roger Dingledine
48e0228f1e
expire old CIRCUIT_PURPOSE_C_REND_READY circs too
...
svn:r1585
2004-04-09 20:08:13 +00:00
Roger Dingledine
eb9f5a561e
circuit-level sendmes weren't working, because the exit
...
thought it was an exit.
i overhauled the edge_type mechanism. hopefully this will help.
svn:r1570
2004-04-08 09:41:28 +00:00
Nick Mathewson
2a01e3ad10
Launch intro services after launching connections; allow ORs to build circuits through as-yet-unconnectd ORs
...
svn:r1562
2004-04-08 03:53:39 +00:00
Nick Mathewson
8351847afd
Nothing is good enough for you, is it?
...
svn:r1556
2004-04-08 02:50:34 +00:00
Nick Mathewson
14e31fbd71
Use CIRCUIT_IS_ORIGIN in favor of boolean circ->cpath
...
svn:r1555
2004-04-08 02:24:06 +00:00
Roger Dingledine
ad2192c90f
only call circuit_build_failed when we're circ's origin
...
svn:r1554
2004-04-08 02:22:26 +00:00
Nick Mathewson
60772ec90c
Split out major functionality of circuit_get_best; rephrase a few booleans
...
svn:r1547
2004-04-08 01:55:21 +00:00
Roger Dingledine
93801ac40d
don't pick myself or my twins as hops when building circuits
...
svn:r1531
2004-04-07 21:12:54 +00:00
Nick Mathewson
2633d353d7
Carefully increment failure counts when appropriate
...
svn:r1530
2004-04-07 20:59:38 +00:00
Roger Dingledine
505797e998
expire open-but-not-yet-acked circs if they're too old
...
svn:r1526
2004-04-07 20:38:23 +00:00
Roger Dingledine
650d483bea
convince ourselves that circuit_failed doesn't have to be any smarter
...
svn:r1525
2004-04-07 20:23:59 +00:00
Nick Mathewson
3d60cd1d61
Delete trailing whitespace and expand tabs; remove unused aes decrypt code
...
svn:r1522
2004-04-07 19:57:40 +00:00
Roger Dingledine
3c683a9e7c
let alice reuse recent rendjoin circs
...
svn:r1519
2004-04-07 19:22:55 +00:00
Roger Dingledine
cf67520e95
when counting how many being-built circs will handle a stream,
...
don't count ones that are too old
svn:r1517
2004-04-07 19:14:33 +00:00
Roger Dingledine
95f0e36f08
alice just fetched bob's hidden webpage.
...
yay.
svn:r1512
2004-04-06 21:52:01 +00:00
Roger Dingledine
d473cf7ee9
set the circ windows on the middle hop of the rend circs
...
svn:r1511
2004-04-06 21:25:11 +00:00
Roger Dingledine
5eca39cdb4
checkpoint commit: rend closer to working, still not there yet
...
svn:r1506
2004-04-06 20:25:18 +00:00
Nick Mathewson
6290d027c9
Continue attack on magic numbers; use new crypto wrappers where possible
...
svn:r1504
2004-04-06 20:16:12 +00:00
Roger Dingledine
2bb18e62cb
make rend apconn send to the right cpath layer
...
and fix circuit_log_path to know about rend circs
svn:r1496
2004-04-05 22:01:35 +00:00
Nick Mathewson
b1a8b208ca
Make init_cpath_crypto able to handle both sides of handshake, by adding a "reverse" flag
...
svn:r1489
2004-04-05 20:53:04 +00:00
Roger Dingledine
7793078dff
alice can now look up bob's service descriptor,
...
choose an intro point, connect to it,
choose a rend point, connect to it and establish a cookie,
get an ack from the rendezvous point,
and know when both circs are ready for her.
APConns don't use conn->purpose anymore
don't initiate a renddesc lookup if one is already in progress
also fix a buffer overflow in nickname parsing (only exploitable
by the operator though)
svn:r1471
2004-04-05 00:47:48 +00:00
Roger Dingledine
86f2ddc88d
nick, can you make and send the rendezvous cookie?
...
svn:r1467
2004-04-03 04:05:30 +00:00
Nick Mathewson
ba196a9d17
Use (set|get)_uint(16|32) in lieu of memcpy where reasonable.
...
svn:r1462
2004-04-03 03:07:25 +00:00
Roger Dingledine
8a1ad2b84e
more progress on alice's side
...
svn:r1461
2004-04-03 03:06:06 +00:00
Nick Mathewson
137b577bbd
Refactor the heck out of crypto interface: admit that we will stick with one ciphersuite at a time, make const things const, and stop putting openssl in the headers.
...
svn:r1458
2004-04-03 02:40:30 +00:00
Roger Dingledine
8c19d6e3d7
alice can intercept y.onion requests, do a lookup on them via tor,
...
and receive a 404
svn:r1455
2004-04-03 01:59:53 +00:00
Nick Mathewson
fc4d15baf6
Hide smartlist internals
...
svn:r1451
2004-04-03 00:58:54 +00:00
Roger Dingledine
bbc9484957
fix some bugs; more remain
...
svn:r1450
2004-04-03 00:55:53 +00:00
Roger Dingledine
2202c2c7ec
AP conns use conn->rend_query now too
...
expose connection_ap_handshake_attach_circuit()
svn:r1448
2004-04-02 23:54:48 +00:00
Nick Mathewson
2bc2f1ed03
Finish renaming rend_service field
...
svn:r1447
2004-04-02 23:44:46 +00:00
Roger Dingledine
a8d805e292
break out circ->rend_service
...
(this breaks the compile; must fix things)
let alice react when she learns a new rendezvous descriptor
let alice launch intro and rend circuits and mark them with her query
svn:r1446
2004-04-02 23:38:26 +00:00
Nick Mathewson
e8345bfced
refactor; start adding debugging logs to midpoint rend stuff
...
svn:r1445
2004-04-02 23:30:54 +00:00
Roger Dingledine
f34e6da3e7
now circuit_get_newest returns an appropriate circ for your purpose
...
connection_ap_handshake_attach_circuit attaches to a circ of the
right purpose
add a skeletal rendclient.c
svn:r1441
2004-04-02 22:23:15 +00:00
Nick Mathewson
a981c4099a
Implement midpoint functionality for rendezvous points.
...
svn:r1439
2004-04-02 21:56:52 +00:00
Nick Mathewson
79fc52170e
For hidden services: handle INTRODUCE2, send ESTABLISH_INTRO, RENDEZVOUS1.
...
Also:
- Add a pending final cpath element to build_state
- Rename S_RENDEZVOUSING to S_CONNECT_REND
- Add [CS]_REND_JOINED
- Split out logic to initialize cpath crypto objects.
- Have circuits/cpaths remember the KH element from their handshake, so they
can use it for other authentication later. (As in ESTABLISH_INTRO)
svn:r1438
2004-04-01 22:21:01 +00:00