Nick Mathewson
2fc106d210
Force hybrid encryption on for key negotiation
...
svn:r1509
2004-04-06 20:55:46 +00:00
Nick Mathewson
40a5d6055e
Stupid sizeof operator!
...
svn:r1508
2004-04-06 20:45:44 +00:00
Nick Mathewson
2446996f97
Remove vestigial variable
...
svn:r1507
2004-04-06 20:42:25 +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
ef438b894c
Set handshake_state to NULL before appending cpath hops
...
svn:r1505
2004-04-06 20:23:58 +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
Nick Mathewson
257d509b91
Document stuff, reduce magic numbers, add emacs magic
...
svn:r1502
2004-04-06 03:44:36 +00:00
Roger Dingledine
6e6cbaad95
fix the bob-can't-decode-relays bug
...
now alice can send the begin and bob can receive it.
svn:r1499
2004-04-05 23:40:59 +00:00
Roger Dingledine
077f133257
don't detach-and-retry rendezvous streams
...
svn:r1498
2004-04-05 22:43:01 +00:00
Nick Mathewson
0f74b68edd
make router_get_by_nickname consider this router.
...
svn:r1497
2004-04-05 22:22:42 +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
62b7ae6c9d
More symbolic constants for checking rendezvous1 cell lengths
...
svn:r1495
2004-04-05 21:40:22 +00:00
Nick Mathewson
283593ca1b
Use correct payload lengths when sending RENDEZVOUS1 cells
...
svn:r1494
2004-04-05 21:39:47 +00:00
Nick Mathewson
d371dda8f9
Spec conformance: KH|"INTRODUCE" is only for establishing intro pt
...
svn:r1493
2004-04-05 21:39:18 +00:00
Nick Mathewson
536a9b6c28
Add a missing offset
...
svn:r1492
2004-04-05 21:31:53 +00:00
Nick Mathewson
5033c366e1
Use symbolic constants; make padding types match.
...
svn:r1491
2004-04-05 21:15:14 +00:00
Nick Mathewson
04e8dc9026
Implement response to RENDEZVOUS2 cell.
...
svn:r1490
2004-04-05 20:53:50 +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
Nick Mathewson
2d3aea40a4
It's amazing how wrong things look when you invert the booleans on your
...
sanity checks.
svn:r1487
2004-04-05 20:34:58 +00:00
Nick Mathewson
7b1939db2d
Slightly more helpful msg on mismatched service pk digest in INTRODUCE2 cell
...
svn:r1486
2004-04-05 20:33:29 +00:00
Nick Mathewson
eafb8186e5
Do first half of Alice-side of DH handshake.
...
svn:r1485
2004-04-05 20:30:53 +00:00
Roger Dingledine
27126e5007
oaep uses 42 more bytes -- stop clobbering buffers
...
also maybe fix some constants here and there -- nick?
svn:r1484
2004-04-05 18:22:00 +00:00
Roger Dingledine
92bb5b2860
strdup the intro point when you pick it, so you
...
don't free it and then return it
svn:r1483
2004-04-05 17:56:34 +00:00
Roger Dingledine
ac84512489
complain early if we get an unrecognized nickname from
...
bob's rend service descriptor
svn:r1482
2004-04-05 17:51:00 +00:00
Nick Mathewson
12ede0a2c4
use the right variable when comparing hashes; maybe fix "Hash of session" bug
...
svn:r1481
2004-04-05 17:36:30 +00:00
Nick Mathewson
41387bea08
Expect a 20-byte nul-padded-and-terminated nickname
...
svn:r1480
2004-04-05 17:28:48 +00:00
Nick Mathewson
1e2b008700
Add some temporary log calls to try to debug the "Hash of session info was not as expected" problem
...
svn:r1479
2004-04-05 17:20:57 +00:00
Roger Dingledine
cebf16eaf0
if a rend stream has already been attached to a rend circ,
...
then don't attach it again (and again, and again, and...)
svn:r1477
2004-04-05 15:24:03 +00:00
Roger Dingledine
8a209bc4d3
send a destroy after we send an introduce
...
svn:r1476
2004-04-05 15:17:34 +00:00
Roger Dingledine
5b6099e8a2
more alice-side infrastructure
...
handle rendezvous acks,
do rend begin cells right,
send an introduction cell (sort of)
receive a rendezvous2 cell (sort of)
svn:r1475
2004-04-05 07:41:31 +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
Nick Mathewson
a9813f0210
Implement acks
...
svn:r1470
2004-04-03 04:55:22 +00:00
Nick Mathewson
3af1191023
Add func to generate,set,and send rend cookie
...
svn:r1469
2004-04-03 04:22:22 +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
b3c2b62a14
Make "common" no longer depend on or.h
...
svn:r1466
2004-04-03 04:05:12 +00:00
Nick Mathewson
cb07e2ad27
Strdup hates finding 0 bytes.
...
svn:r1465
2004-04-03 03:39:31 +00:00
Nick Mathewson
d93ff0b82f
Handle rendezvous relay cells
...
svn:r1464
2004-04-03 03:37:11 +00:00
Roger Dingledine
7eaa655b6d
publish and fetch the right rendezvous urls
...
svn:r1463
2004-04-03 03:33:57 +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
4e996a4ce8
tabs
...
svn:r1456
2004-04-03 02:14:20 +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
88e2a09c22
Startup without crashing.
...
svn:r1452
2004-04-03 01:11:04 +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
06c812c2de
remember to lower-case the y in y.onion
...
svn:r1449
2004-04-03 00:27:33 +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
Nick Mathewson
25a9bc594f
Finish missing comment :p
...
svn:r1444
2004-04-02 23:04:10 +00:00
Nick Mathewson
08d748b6b3
Implement rennd_services_init
...
svn:r1443
2004-04-02 23:01:00 +00:00
Roger Dingledine
fc3d7383e7
router_choose_random_node can take a smartlist of nodes to exclude
...
svn:r1442
2004-04-02 22:30:39 +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
4cb21bab48
Make preferred/excluded intro points configurable
...
svn:r1440
2004-04-02 22:06:46 +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
Nick Mathewson
6b958494f3
refactor to use new digest/checksig wrapper, add emacs magic, untabify
...
svn:r1437
2004-04-01 22:12:00 +00:00
Nick Mathewson
cbbd13f789
Add new functions to wrap digest and sign/checksig.
...
svn:r1436
2004-04-01 22:10:33 +00:00
Roger Dingledine
64cb3a027f
teach directory servers to handle renddesc responses
...
svn:r1434
2004-04-01 21:32:01 +00:00
Roger Dingledine
05b99bcf7d
alice chooses her rendezvous node from all running routers
...
and she can set preferences in her options
svn:r1433
2004-04-01 20:33:29 +00:00
Nick Mathewson
103b8ead40
Finish implementing what-bob-does-on-INTRODUCE2
...
svn:r1432
2004-04-01 20:05:57 +00:00
Roger Dingledine
f05937355e
teach alice to recognize y.onion addresses
...
svn:r1430
2004-04-01 19:39:11 +00:00
Nick Mathewson
7993382ba1
Add some hooks to handle rendezvous-related cells at ORs
...
svn:r1429
2004-04-01 04:07:09 +00:00
Roger Dingledine
cc3c4245cb
let the circuit-launcher choose the exit node (if he wants)
...
svn:r1428
2004-04-01 03:44:49 +00:00
Nick Mathewson
9feb44d3c4
Make it compile.
...
svn:r1427
2004-04-01 03:43:54 +00:00
Nick Mathewson
c671b10695
Add a (also fragmentary) function to handle introduction requests
...
svn:r1426
2004-04-01 03:34:05 +00:00
Roger Dingledine
d01497cf3c
outline what bob does to initialize his hidden services
...
let circuit_launch_new return the circ it just made
svn:r1424
2004-04-01 03:23:28 +00:00
Nick Mathewson
35f531b94f
Add helpful hybrid encryption functions
...
svn:r1423
2004-04-01 03:08:35 +00:00
Roger Dingledine
36ff23209b
let alice recognize a y.onion address and, uhm, do something
...
svn:r1422
2004-04-01 02:41:41 +00:00
Roger Dingledine
d13857a3f0
put in hooks for alice and bob logic when circuits finish/fail
...
let you specify the purpose of circuits you launch
bugfix: we used to be declaring the first successful circuit too early -- when the first hop finished. now we're more accurate.
svn:r1421
2004-04-01 01:57:22 +00:00
Nick Mathewson
6d8be5e6f6
Add relay command types for rendezvous
...
svn:r1419
2004-04-01 01:11:28 +00:00
Roger Dingledine
ee45ae575d
allow conns to demand to be attached to a clean circuit
...
(nobody uses this yet)
svn:r1417
2004-03-31 23:06:16 +00:00
Roger Dingledine
a0b0d16981
Add an ap_bridge function to do a socketpair and skip socks.
...
This allows us to do a directory connection *through* tor just
as if we're doing it as an application.
Make ap_conns tolerate it when the application sends stuff before
The socks handshake is done (it just buffers it).
Tell directory_initiate_command the length of the payload (because
it might include nuls).
Add a directory_has_arrived function to, for example, start building
the rendezvous service descriptor.
svn:r1412
2004-03-31 22:02:13 +00:00
Nick Mathewson
28adda81e6
Add missing file
...
svn:r1411
2004-03-31 21:54:56 +00:00
Nick Mathewson
bf83b1e345
Add code to configure hidden services, parse configuration, generate keys and service IDs, and store/load them from disk
...
svn:r1410
2004-03-31 21:35:23 +00:00
Nick Mathewson
157cd7fe15
Fix warning
...
svn:r1409
2004-03-31 20:58:35 +00:00
Roger Dingledine
b4a61d1ab1
better way: always nul-terminate. then sometimes use it, sometimes not.
...
svn:r1408
2004-03-31 05:10:34 +00:00
Roger Dingledine
87dbd36a3c
let fetch_from_buf_http tolerate nuls in the http body
...
teach directory.c about which places it needs to nul-terminate
body before it uses it, and which places it must not
svn:r1407
2004-03-31 05:01:30 +00:00
Nick Mathewson
8fedefe6cb
rename hidserv_xx
...
svn:r1406
2004-03-31 04:10:10 +00:00
Nick Mathewson
b32440a028
Implement hidserv_XX functions; there is still an XXX in directory_handle_command
...
svn:r1404
2004-03-31 03:42:56 +00:00
Nick Mathewson
6ea61d5e0d
Parse and generate service descriptors
...
svn:r1403
2004-03-31 02:07:38 +00:00
Roger Dingledine
670aeb6c8d
add and use stubs for hidserv lookup and store
...
svn:r1402
2004-03-30 23:41:24 +00:00
Nick Mathewson
93ab51e9ac
Make smartlist Do What Arma Expects.
...
svn:r1401
2004-03-30 22:59:00 +00:00
Roger Dingledine
2d3ac08633
Refactor directory servers
...
* read all the time (before we would ignore eof sometimes, oops)
* we can handle different urls now
* send back 404 for an un-handled url
* commands initiated by the client can handle payloads now
* introduce conn->purpose to avoid exponential state-space explosion
svn:r1400
2004-03-30 22:57:49 +00:00
Nick Mathewson
96a86ef14d
Remove maximum-size field from smartlists
...
svn:r1397
2004-03-30 20:05:52 +00:00
Nick Mathewson
0ba9ab5fb0
Add rendezvous-related metadata and code to circuits. Initially, we
...
thought that a complicated adjunct structure would be necessary, but
it doesn't look that way anymore.
Of course, I might have forgotten something.
svn:r1396
2004-03-30 19:52:42 +00:00
Nick Mathewson
6ea95488d2
Add more key manipulation functions, and base32 functions, to crypto
...
svn:r1395
2004-03-30 19:47:32 +00:00
Roger Dingledine
524312494b
use 'notice' loglevel for things the operator should hear
...
but that aren't warnings
svn:r1384
2004-03-30 03:15:53 +00:00
Roger Dingledine
f796957182
don't freak people out as much with the warning message
...
svn:r1378
2004-03-30 00:06:59 +00:00
Roger Dingledine
c09b185f03
re-enable recommendedversion checking (oops, thanks weasel)
...
svn:r1376
2004-03-30 00:02:52 +00:00
Roger Dingledine
83c88c55fd
old or skewed descriptor doesn't mean we failed to parse it
...
svn:r1373
2004-03-29 23:23:01 +00:00
Roger Dingledine
ce08baba1b
refactor directories a smidgen
...
svn:r1371
2004-03-29 22:18:05 +00:00
Roger Dingledine
9723061dd9
first guess at a set of circuit purposes
...
svn:r1370
2004-03-29 22:14:19 +00:00
Roger Dingledine
bcda3ebaef
bugfix: we were closing socks-request connections immediately, rather
...
than flushing them, if they were timing out before we marked them
svn:r1366
2004-03-29 20:04:09 +00:00
Roger Dingledine
7118c6177d
clean up a few more bugs
...
svn:r1365
2004-03-29 19:57:50 +00:00
Roger Dingledine
155c777a84
fix typo
...
svn:r1364
2004-03-29 19:53:53 +00:00
Roger Dingledine
0edf0ea7cc
make normal exit nodes less likely to crash from the conn-munging bug
...
but leave dirservers just as likely to crash
svn:r1363
2004-03-29 19:51:39 +00:00
Nick Mathewson
6a79b1cb57
Re-enable unit tests for directory generation.
...
svn:r1362
2004-03-29 19:50:59 +00:00