aboutsummaryrefslogtreecommitdiff
path: root/src/or/config.c
Commit message (Expand)AuthorAge
...
* clean up logging, allow user to specify log files•••If DebugLogFile is specified, log to it at -l debug If LogFile is specified, log to it at the -l from the commandline (default info) If no LogFile *and* not a Daemon, then log to stdout. Make conn->s = -1 by default (this might break things) When kill -USR1, prefer to log at INFO, but make sure they always see it. svn:r596 Roger Dingledine2003-10-15
* - cause configure to create a tor.sh which will have directories set••• correctly based on how configure was run - cause tor to guess the location of torrc more intelligently - cause cause src/config/torrc and src/conf/sample-server-torrc to be generated with contents that are correct for the way configure was run - cause "make install" to put torrc, sample-server-torrc, and dirservers somewhere intelligent svn:r587 Steven Hazel2003-10-15
* change WARNING to WARN•••and fix a few typos svn:r571 Roger Dingledine2003-10-10
* add in basic support for pidfiles•••(patch courtesy aaron turner) svn:r565 Roger Dingledine2003-10-08
* 0.0.2pre11, new license•••svn:r564 Roger Dingledine2003-10-08
* Update LICENSE and copyright dates.•••svn:r560 Nick Mathewson2003-10-08
* add ExitPolicy line to config file•••svn:r552 Roger Dingledine2003-10-07
* minor fixes; bump to 0.0.2pre10•••svn:r551 Roger Dingledine2003-10-07
* wrap strdup; prefer time() to gettimeofday()•••svn:r538 Roger Dingledine2003-10-04
* my_routerinfo, router_is_me, and learn_my_address are obsolete•••ACIs are decided now by strcmp'ing nicknames, rather than comparing addr:port svn:r529 Roger Dingledine2003-10-01
* ORs post descriptors periodically too•••svn:r523 Roger Dingledine2003-09-30
* 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