aboutsummaryrefslogtreecommitdiff
path: root/src/or/config.c
Commit message (Expand)AuthorAge
* more cleanup and rearranging•••still not finished integrating new dirserv stuff svn:r507 Roger Dingledine2003-09-29
* add Address config element, use it in descriptor•••svn:r496 Roger Dingledine2003-09-27
* finish enforcing the log convention•••svn:r494 Roger Dingledine2003-09-26
* 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 Dingledine2003-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 Mathewson2003-09-25
* cleanups, bugfixes, more verbose logs•••Fixed up the assert_*_ok funcs some (more work remains) Changed config so it reads either /etc/torrc or the -f arg, never both Finally tracked down a nasty bug with our use of tls: It turns out that if you ask SSL_read() for no more than n bytes, it will read the entire record from the network (and maybe part of the next record, I'm not sure), give you n bytes of it, and keep the remaining bytes internally. This is fine, except our poll-for-read looks at the network, and there are no bytes pending on the network, so we never know to ask SSL_read() for more bytes. Currently I've hacked it so if we ask for n bytes and it returns n bytes, then it reads again right then. This will interact poorly with our rate limiting; we need a cleaner solution. svn:r481 Roger Dingledine2003-09-24
* reshuffle functions for cleaner organization•••svn:r451 Roger Dingledine2003-09-12
* add CertFile, Nickname•••write new certfile if you don't have one already set up a tls context on startup svn:r432 Roger Dingledine2003-09-08
* clean up config.c so it doesn't expose as much•••svn:r430 Roger Dingledine2003-09-08
* start honoring the recommended_versions string•••your client exits if you're running a version not in the directory's list of acceptable versions (unless you have a config variable set to override). svn:r408 Roger Dingledine2003-08-23
* start refactoring dnsworker so testing won't be so darn hard•••add NumCpus config variable in preparation for cpuworkers hardcode /etc/torrc path for config (simplifies win32 port) improve exit policy debugging during router entry parsing svn:r397 Roger Dingledine2003-08-14
* Start of port to win32. Missing are:••• - signal support - forking for DNS farm - changes for async IO - daemonizing In other words, some files still don't build, and the ones that do build, do nonblocking IO incorrectly. I'm also not checking in the project files till I have a good place for them. svn:r380 Nick Mathewson2003-08-12
* implemented total read rate limiting•••svn:r365 Roger Dingledine2003-07-05
* Change many files to new log_fn format•••svn:r333 Nick Mathewson2003-06-17
* OPport is gone. So is conn type OP.•••svn:r298 Roger Dingledine2003-05-28
* add circuit-level sendme relay cells•••remove sendme cells replace malloc with tor_malloc patch (but not track down) bug in onion pending list streamline connection_ap handshake svn:r293 Roger Dingledine2003-05-20
* sign directories with the signing key•••svn:r274 Roger Dingledine2003-05-07
* further cleanup, test.c still has some bugs•••svn:r241 Roger Dingledine2003-04-16
* divorce circuit building from user connections•••now we rebuild the circuit periodically (but only if it's been used), and we can further abstract it to do incremental circuit building, etc. svn:r233 Roger Dingledine2003-04-16
* Add magic to end of C files to make emacs happy; split test invocation into s...•••svn:r224 Nick Mathewson2003-04-07
* cleaner errors•••svn:r205 Roger Dingledine2003-03-19
* greatly simplify this notion of 'roles':•••if your ORPort is non-zero then you must connect to all nodes if your DirPort is non-zero then you must act like a directory server svn:r192 Roger Dingledine2003-03-18
* Add daemon option and bool config type•••svn:r184 Nick Mathewson2003-03-17
* major overhaul: dns slave subsystem, topics•••on startup, it forks off a master dns handler, which forks off dns slaves (like the apache model). slaves as spawned as load increases, and then reused. excess slaves are not ever killed, currently. implemented topics. each topic has a receive window in each direction at each edge of the circuit, and sends sendme's at the data level, as per before. each circuit also has receive windows in each direction at each hop; an edge sends a circuit-level sendme as soon as enough data cells have arrived (regardless of whether the data cells were flushed to the exit conns). removed the 'connected' cell type, since it's now a topic command within data cells. at the edge of the circuit, there can be multiple connections associated with a single circuit. you find them via the linked list conn->next_topic. currently each new ap connection starts its own circuit, so we ought to see comparable performance to what we had before. but that's only because i haven't written the code to reattach to old circuits. please try to break it as-is, and then i'll make it reuse the same circuit and we'll try to break that. svn:r152 Roger Dingledine2003-01-26
* onions go on and off the network correctly now•••we're closer to an OS X port CVS: ---------------------------------------------------------------------- svn:r146 Roger Dingledine2002-12-03
* create cells are now queued and processed only when idle•••we also queue data cells destined for a circuit that is pending, and process them once the circuit opens destroys reach into the queue and remove the pending onion, along with its collected data cells svn:r142 Roger Dingledine2002-11-27
* added OnionsPerSecond to prevent create flooding•••first cut, probably needs more playing with svn:r137 Roger Dingledine2002-11-23
* remove popt dependency, consolidate config stuff•••reformat parts of onion.c svn:r136 Roger Dingledine2002-11-23
* cell.c is now obsolete•••svn:r133 Roger Dingledine2002-10-03
* introduced a periodic keepalive padding cell•••now tor can be run safely inside nat'ed areas that kill idle connections; and the proxy can handle when you suspend your laptop and then emerge hours later from a new domain. svn:r125 Roger Dingledine2002-10-01
* cleanup•••prkey is only fetched when it's needed tor nodes who aren't dirservers now fetch directories and autoconnect to new nodes listed in the directory default role is a non-dirserver node svn:r120 Roger Dingledine2002-09-28
* directory servers in and functional•••proxies now periodically pull down an hourly-updated directory, and replace their router list with it if it parses correctly. svn:r112 Roger Dingledine2002-09-26
* onion proxies now work (i think)•••svn:r96 Roger Dingledine2002-09-04
* resolve warnings•••svn:r89 Roger Dingledine2002-09-03
* Port to MacOS X•••svn:r88 Nick Mathewson2002-09-03
* enforce maxconn; bugfix to not tear down the parent when we hit maxconn•••svn:r86 Roger Dingledine2002-09-03
* linkpadding is now off by default.•••svn:r79 Roger Dingledine2002-08-23
* 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 Roger Dingledine2002-07-16
* corrected some string literals•••svn:r47 Bruce Montrose2002-07-15
* finishing touches. think its ready for integration now.•••svn:r42 Bruce Montrose2002-07-11
* added new option GlobalRole to getoptions()•••svn:r41 Bruce Montrose2002-07-11
* cleaned up some, added validation to getoptions()•••svn:r40 Bruce Montrose2002-07-11
* Added usage display on error.•••svn:r36 Bruce Montrose2002-07-10
* Miscellaneous bug fixes / activated "make check" for src/or•••svn:r31 Bruce Montrose2002-07-09
* minor bug fix in error checking•••svn:r28 Bruce Montrose2002-07-03
* added error checking into getoptions()•••svn:r26 Bruce Montrose2002-07-03
* Added getoptions() and made minor adjustment to poptReadDefaultOptions()•••svn:r25 Bruce Montrose2002-07-03
* Initial revision•••svn:r2 Roger Dingledine2002-06-26