Commit graph

891 commits

Author SHA1 Message Date
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
Nick Mathewson
0e6084d751 Remove descriptors that are older than 24 hours from the directory. Use strlcat instead of strncat to generate directories.
svn:r1361
2004-03-29 19:28:16 +00:00
Nick Mathewson
47b9d4439a Possible fix for c99 aliasing warnings
svn:r1360
2004-03-29 06:18:04 +00:00
Roger Dingledine
8c3999c964 make it less noisy for normal ORs when a server uses a false nickname
svn:r1359
2004-03-28 21:35:02 +00:00
Roger Dingledine
4a5586b8e3 make dns resolves a lot faster
(but only enable this once we've found the bug)


svn:r1358
2004-03-28 21:16:52 +00:00
Roger Dingledine
2ba9901cb4 oh, i forgot to enable the find-munged-conn function
svn:r1357
2004-03-28 21:14:05 +00:00
Roger Dingledine
e6a2e03524 hold socks reply open until flushed (if possible)
svn:r1356
2004-03-28 09:48:21 +00:00
Roger Dingledine
f241fdfc73 there is yet another dns-pending-conn-clobbering bug
somewhere


svn:r1354
2004-03-28 04:54:36 +00:00
Roger Dingledine
56dfc3151f work around a tsocks bug
when an AP connection dies early, be sure to do a socks reject
for it. if you just hang up, tsocks goes into an infinite loop.


svn:r1352
2004-03-27 05:45:52 +00:00
Roger Dingledine
9ab5f3c067 fix an assert trigger where an OP would fail to handshake, and we'd
expect it to have a nickname.


svn:r1351
2004-03-27 01:28:14 +00:00
Roger Dingledine
47b40de0aa only build circuits after we've fetched the directory
this resolves a subtle bug where tor clients were preferentially using
the directory servers, since when they start building circuits they
know only about the directory servers

on the other hand, it now takes longer after startup before there's
a working circuit. so it goes.


svn:r1350
2004-03-27 00:15:09 +00:00
Roger Dingledine
f2a692081f make it less noisy to consider exit policies
svn:r1349
2004-03-27 00:13:27 +00:00
Roger Dingledine
32e268c61b oops, 0.0.4 is more broken than 0.0.3
maybe this will fix it


svn:r1347
2004-03-26 23:37:13 +00:00
Roger Dingledine
45699bb5ee clean up some 'warn' messages while i'm at it
svn:r1342
2004-03-26 22:28:16 +00:00
Roger Dingledine
9c69f14a49 fix two assert triggers (darn it, I hate releasing software)
when connecting to a dirserver or OR and the network is down,
we would crash.


svn:r1340
2004-03-26 22:07:45 +00:00
Roger Dingledine
4d747cd954 a missing comma could wreak all sorts of havoc.
svn:r1335
2004-03-26 18:29:05 +00:00
Nick Mathewson
d44e3ad809 Remove unused open circuits when there are too many, not when they are too old.
svn:r1332
2004-03-21 06:33:57 +00:00
Nick Mathewson
b3f6b55ea1 Dont expire circuits we didnt originate. This may be redundant somehow, but better safe than sorry.
svn:r1331
2004-03-21 05:01:06 +00:00
Nick Mathewson
f608b85ddf Replace all connection_removes outsice of main.c with connection_mark_for_close
svn:r1328
2004-03-21 03:18:45 +00:00
Nick Mathewson
b7c2b18bd6 Add a RunTesting option to try to learn link state by creating test circuits, even when SocksPort is off.
svn:r1327
2004-03-21 03:03:10 +00:00
Roger Dingledine
3d2c6c7cfa catch signals in a more portable way, so solaris can catch them too
svn:r1324
2004-03-20 23:27:22 +00:00
Roger Dingledine
ed0ef86c0e make OR not crash when non-OR connection dies
svn:r1319
2004-03-20 20:37:49 +00:00