aboutsummaryrefslogtreecommitdiff
path: root/src/or/main.c
Commit message (Expand)AuthorAge
* recognize in-progress circs and don't start redundant ones•••quickly notice streams that don't have a circ on the way, and start one svn:r819 Roger Dingledine2003-11-17
* change when circuits are built and expired•••not quite happy with it yet svn:r817 Roger Dingledine2003-11-16
* initial patches on patches•••svn:r814 Roger Dingledine2003-11-16
* let getconfig survive repeated calls. now we call it again when we hup.•••change RecommendedVersions into a config option, so dirservers can hup for a new one svn:r809 Roger Dingledine2003-11-13
* warn on startup that we don't provide anonymity•••make exit dns cache entries last 15 minutes svn:r807 Roger Dingledine2003-11-13
* add DirBindAddress, parse the BindAddress's when you bind•••exit if bind fails add usage printfs rearrange config options for readability svn:r674 Roger Dingledine2003-10-25
* - fixed a bug in the id switching code -- setgid has to happen before••• setuid, because after we setuid we don't have the priviledges we need to setgid anymore, duh. merged switch_user() and switch_group() into switch_id(), since that code has to be wound together. - return -1 from switch_id() if it's not defined to do anything else. - moved daemoinize(), write_pidfile(), and switch_id() from main.c to util.c svn:r656 Steven Hazel2003-10-22
* added User and Group options -- if you set them, tor will try to•••setuid and setgid respectively, and die if it can't. (If the User option is set, tor will setgid to the user's gid as well.) This happens after the pidfile is created, so that in cases where tor needs to be root to work with the pidfile, it will at least be able to create it, although it won't be able to delete it. That sucks, but it's somewhat better than not being able to create the pidfile in the first place. svn:r652 Steven Hazel2003-10-22
* move closer to being able to reload config on HUP•••rename APPort to SocksPort introduce new tor_free() macro svn:r642 Roger Dingledine2003-10-21
* a skeletal print_usage() function•••svn:r634 Roger Dingledine2003-10-20
* log to stdout while parsing config,•••otherwise we log to nothing and give no feedback! svn:r617 Roger Dingledine2003-10-18
* reload the fingerprints file on HUP•••svn:r611 Roger Dingledine2003-10-17
* closing stdout *should* be safe (we'll see)•••svn:r601 Roger Dingledine2003-10-15
* Report delivery cell fullness correctly•••svn:r600 Nick Mathewson2003-10-15
* 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
* Make last commit build•••svn:r593 Nick Mathewson2003-10-15
* Stop using stdout for non-debugging cases•••svn:r592 Nick Mathewson2003-10-15
* change WARNING to WARN•••and fix a few typos svn:r571 Roger Dingledine2003-10-10
* Refactor, rename, and clarify•••svn:r569 Nick Mathewson2003-10-09
* add in basic support for pidfiles•••(patch courtesy aaron turner) svn:r565 Roger Dingledine2003-10-08
* Update LICENSE and copyright dates.•••svn:r560 Nick Mathewson2003-10-08
* refactor around connection_edge_send_command()•••svn:r539 Roger Dingledine2003-10-04
* wrap strdup; prefer time() to gettimeofday()•••svn:r538 Roger Dingledine2003-10-04
* refactor so connection_write_to_buf() never fails•••svn:r537 Roger Dingledine2003-10-04
* socks5 now works•••(or at least, we can talk to mozilla.) svn:r536 Roger Dingledine2003-10-04
* Add new cell fullness and bandwidth stats.•••svn:r533 Nick Mathewson2003-10-02
* 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
* rebuild directory before uploading•••svn:r528 Nick Mathewson2003-10-01
* Move dirserv/routers code out of main.c•••svn:r527 Nick Mathewson2003-10-01
* ORs post descriptors periodically too•••svn:r523 Roger Dingledine2003-09-30
* Add "platform" to router descriptors.•••svn:r522 Nick Mathewson2003-09-30
* fix the SSL_read() bug again. this time for sure!•••svn:r518 Roger Dingledine2003-09-30
* Bugfixes in directory code:•••Improve debugging output on fingerprint checking. Make sure to add our own fingerprint to the fingerprint list _before_ adding our own descriptor, or else we'll reject ourself. Don't call a directory invalid just because we have a newer descriptor for some router. Use router_get_dir_hash to generate hashes for signed directories. Make sure we add our own descriptor successfully. Don't fall-through on failed base64-endode. svn:r514 Nick Mathewson2003-09-30
* move connection_array accessors from main.c to connection.c•••(leave poll_array accessors in main.c) svn:r512 Roger Dingledine2003-09-30
* getting closer to having dirserv working•••we now add our own descriptor to the descriptor list and we rebuild the directory (and dump to disk) after receiving a POST svn:r509 Roger Dingledine2003-09-30
* bugfixes and features: closer to making dirserv work•••fix a variety of seg faults don't try to list OPs in running-routers write cached-directory to disk when rebuilding the dir on boot, dirservers load approved-routers file on boot, dirservers load cached directory file svn:r508 Roger Dingledine2003-09-29
* more cleanup and rearranging•••still not finished integrating new dirserv stuff svn:r507 Roger Dingledine2003-09-29
* fix two new segfaults•••svn:r506 Roger Dingledine2003-09-28
* expand the scheduler to address SSL_read()'s pending bytes•••svn:r505 Roger Dingledine2003-09-28
* Write necessary backends for online directory generation. I think.•••svn:r503 Nick Mathewson2003-09-27
* clean up receiver buckets; prepare for payloads in relay_end; note a few bugs•••svn:r502 Roger Dingledine2003-09-27
* add Address config element, use it in descriptor•••svn:r496 Roger Dingledine2003-09-27
* dirservers upload their descs now too•••svn:r493 Roger Dingledine2003-09-26
* Refactor common file code into util.c; add published to descriptors•••svn:r487 Nick Mathewson2003-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
* various bugfixes and updates•••redo all the config files for the new format (we'll redo them again soon) fix (another! yuck) segfault in log_fn when input is too large tor_tls_context_new() returns -1 for error, not NULL fix segfault in check_conn_marked() on conn's that die during tls handshake make ORs also initialize conn from router when we're the receiving node make non-dirserver ORs upload descriptor to every dirserver on startup add our local address to the descriptor add Content-Length field to POST command revert the Content-Length search in fetch_from_buf_http() to previous code fix segfault in memmove in fetch_from_buf_http() raise maximum allowed headers/body size in directory.c svn:r484 Roger Dingledine2003-09-25
* 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
* integrate assert_connection_ok() checks•••svn:r479 Roger Dingledine2003-09-23
* bugfixes and note missing features•••deal with content-length headers better when reading http don't assume struct socks4_info is a packed struct fail the socks handshake if destip is zero flesh out conn_state_to_string() for dir conn fix typo (bug) in connection_handle_read() directory get is now called fetch, post is now upload reopen logs on sighup svn:r475 Roger Dingledine2003-09-21