Commit Graph

97 Commits

Author SHA1 Message Date
Roger Dingledine 494d7780dc the readme now mentions onion proxies
svn:r98
2002-09-05 15:30:09 +00:00
Roger Dingledine 7e11c5b214 an rc file for an onion proxy
svn:r97
2002-09-04 06:46:09 +00:00
Roger Dingledine 010f703a96 onion proxies now work (i think)
svn:r96
2002-09-04 06:29:28 +00:00
Roger Dingledine 995f46210c fixed the killer bug with onion proxies
svn:r95
2002-09-04 06:24:54 +00:00
Roger Dingledine 3f94372425 the logs now include a timestamp and severity
the implementation is sort of a kludge..you're welcome to fix it up


svn:r94
2002-09-04 00:39:33 +00:00
Roger Dingledine 0fd7e10b38 changed my mind, sort of
the package is tor, the binary is or.

and i added our project plan to the todo file.


svn:r93
2002-09-03 22:53:34 +00:00
Roger Dingledine cd56a6f6b7 Our program is now called 'tor', not 'or'.
svn:r92
2002-09-03 22:44:49 +00:00
Nick Mathewson 0beeade1ae Backport to OpenSSL version 0.9.5
svn:r91
2002-09-03 19:16:02 +00:00
Roger Dingledine fdd14d465e clarifying the empty semicolon
svn:r90
2002-09-03 19:10:23 +00:00
Roger Dingledine 57cecd739f resolve warnings
svn:r89
2002-09-03 19:03:16 +00:00
Nick Mathewson 99e06d156a Port to MacOS X
svn:r88
2002-09-03 18:44:24 +00:00
Nick Mathewson c0d1ae7a59 Add function to fake a poll call using select
svn:r87
2002-09-03 18:43:50 +00:00
Roger Dingledine 138a3b5533 enforce maxconn; bugfix to not tear down the parent when we hit maxconn
svn:r86
2002-09-03 18:36:40 +00:00
Roger Dingledine ac327aa6f1 more debugging info, to track down bruce's IP problems
svn:r85
2002-08-27 19:28:35 +00:00
Roger Dingledine c899efba3b we now encrypt the entire cell on the link, not just the header
previously padding cells, etc were distinguishable because their body was
all zero's


svn:r84
2002-08-24 08:24:30 +00:00
Roger Dingledine 8fff06a15a proxies send port in host order as ascii string
svn:r83
2002-08-24 07:56:34 +00:00
Roger Dingledine 54a71408f6 port is now kept in host order except in sin_port
svn:r82
2002-08-24 07:55:49 +00:00
Roger Dingledine a450707e79 cleanup: start enforcing hton and ntoh on stuff sent over the network
this is a checkpoint before i fix the fact that port is always kept in
network order -- which makes no sense, because network order is different
on different machines, which is the whole point.


svn:r81
2002-08-24 06:58:25 +00:00
Roger Dingledine 6747383e57 cleanup: don't use size_t when you mean int
size_t is what you get back from sizeof(). no more, no less.


svn:r80
2002-08-24 04:59:21 +00:00
Roger Dingledine 1d3543b10c linkpadding is now off by default.
svn:r79
2002-08-23 06:49:43 +00:00
Roger Dingledine 6cb32ed555 changed path selection so it's actually random again
svn:r78
2002-08-23 05:27:50 +00:00
Roger Dingledine 5b08295fc3 cleaned up new_route()
now it deals gracefully with too few connected routers (i think)


svn:r77
2002-08-23 03:35:44 +00:00
Matej Pjafjar e28b0a03ba Changed crypto calls to go through common/crypto.[hc] instead of calling OpenSSL directly.
svn:r76
2002-08-22 07:30:03 +00:00
Matej Pjafjar 395374f044 Updated to use crypto.h instead of OpenSSL.
svn:r75
2002-07-25 08:18:05 +00:00
Matej Pjafjar 3c0b8a8d1a Added the crypto abstraction to libor. Need to test and change the code to use this instead of OpenSSL.
svn:r74
2002-07-25 08:17:22 +00:00
Matej Pjafjar 96d57bfc69 Beginnings of a crypto abstraction layer.
svn:r73
2002-07-24 14:02:39 +00:00
Roger Dingledine bb05f7440b only choose routers for the onion that are currently connected to us
svn:r72
2002-07-22 04:38:36 +00:00
Roger Dingledine d8a76e83ec Code cleaned up to be less noisy
svn:r71
2002-07-22 04:08:37 +00:00
Roger Dingledine 4e96939d3b More reasonable CoinWeight, now that we can handle large paths
svn:r70
2002-07-22 04:08:15 +00:00
Roger Dingledine ea3befbd73 Include src/config/ in the 'make dist' tarball
svn:r69
2002-07-22 04:07:57 +00:00
Roger Dingledine dd906c40c9 Updated HACKING and README docs
HACKING now explains bandwidth throttling, congestion control,
and router twins. Read it and see if it makes sense.


svn:r68
2002-07-22 04:07:34 +00:00
Roger Dingledine f1fcd78063 bugfixes: don't hang waiting for new children to die; accept HTTP/1.1
svn:r67
2002-07-20 02:01:18 +00:00
Roger Dingledine f5b3e461a9 bugfix: create_onion now works with routelen>2
svn:r66
2002-07-20 01:59:28 +00:00
Roger Dingledine 02c8f7744b added a note on openssl and popt dependencies
svn:r65
2002-07-19 21:02:39 +00:00
Roger Dingledine 098f44f1f6 Folded cell.? into src/or
svn:r64
2002-07-19 18:48:28 +00:00
Roger Dingledine 71c70cfca7 slightly less noisy
svn:r63
2002-07-19 18:48:19 +00:00
Roger Dingledine c0363b0719 minor cleanups in config files
svn:r62
2002-07-19 18:48:03 +00:00
Roger Dingledine 034d521947 Folded cell.? into src/or
Removed more obsolete files


svn:r61
2002-07-19 18:47:04 +00:00
Roger Dingledine f96e94925e revised todo
svn:r60
2002-07-19 16:25:53 +00:00
Matej Pjafjar 15cc71165d Test suite for onion.c - currently tests encrypt_onion() and decrypt_onion().
svn:r59
2002-07-19 14:08:44 +00:00
Roger Dingledine 86d1931671 initial versions of README, for new users getting up to speed, and HACKING,
for people wanting to play with the code. the hacking doc is still incomplete.


svn:r58
2002-07-19 08:13:42 +00:00
Roger Dingledine 047b34a720 moria:9004 is now a twin to town-square:9004
svn:r57
2002-07-19 00:33:31 +00:00
Roger Dingledine 6a1c54d4ea Implemented router twins
I modified new_route so we don't pick twins back-to-back in the path.

I also had to patch my previous uses of connection_twin_get_by_addr_port()
because they assumed that "addr" and "port" would be the same for a twin
as for the original router.


svn:r56
2002-07-18 23:44:57 +00:00
Roger Dingledine 17ede6caec changes to support sendme cells
svn:r55
2002-07-18 06:38:32 +00:00
Roger Dingledine e3b0de9414 Implemented congestion control
Servers are allowed to send 100 cells initially, and can't send more until
they receive a 'sendme' cell from that direction, indicating that they
can send 10 more cells. As it currently stands, the exit node quickly
runs out of window, and sends bursts of 10 whenever a sendme cell gets
to him. This is much much much faster (and more flexible) than the old
"give each circuit 1 kB/s and hope nothing overflows" approach.

Also divided out the connection_watch_events into stop_reading,
start_writing, etc. That way we can control them separately.


svn:r54
2002-07-18 06:37:58 +00:00
Roger Dingledine c336d7070e new link padding scheme
we're now much more robust when bandwidth varies: instead of forcing a
fixed bandwidth on the link, we instead use what the link will give us,
up to our bandwidth.


svn:r53
2002-07-16 18:24:12 +00:00
Andrei Serjantov 2059e0afbc Put in a note in README to explain how to compile (I had to wade
through the cvs messages), and added my router on mosg.cl.cam.ac.uk to
the list of routers.


svn:r52
2002-07-16 16:18:16 +00:00
Roger Dingledine f405675221 new config files, some bugfixes
svn:r51
2002-07-16 02:12:58 +00:00
Roger Dingledine 4247e11679 Implemented link padding and receiver token buckets
Each socket reads at most 'bandwidth' bytes per second sustained, but
can handle bursts of up to 10*bandwidth bytes.

Cells are now sent out at evenly-spaced intervals, with padding sent
out otherwise. Set Linkpadding=0 in the rc file to send cells as soon
as they're available (and to never send padding cells).

Added license/copyrights statements at the top of most files.

router->min and router->max have been merged into a single 'bandwidth'
value. We should make the routerinfo_t reflect this (want to do that,
Mat?)

As the bandwidth increases, and we want to stop sleeping more and more
frequently to send a single cell, cpu usage goes up. At 128kB/s we're
pretty much calling poll with a timeout of 1ms or even 0ms. The current
code takes a timeout of 0-9ms and makes it 10ms. prepare_for_poll()
handles everything that should have happened in the past, so as long as
our buffers don't get too full in that 10ms, we're ok.

Speaking of too full, if you run three servers at 100kB/s with -l debug,
it spends too much time printing debugging messages to be able to keep
up with the cells. The outbuf ultimately fills up and it kills that
connection. If you run with -l err, it works fine up through 500kB/s and
probably beyond. Down the road we'll want to teach it to recognize when
an outbuf is getting full, and back off.


svn:r50
2002-07-16 01:12:15 +00:00
Roger Dingledine d6fe961d98 removed args.c (bruce's popt stuff makes it obsolete)
svn:r49
2002-07-15 21:13:40 +00:00