Commit Graph

160 Commits

Author SHA1 Message Date
Roger Dingledine
55a94cd497 correct a warn message in mark_if_closed
svn:r956
2003-12-23 07:42:01 +00:00
Roger Dingledine
a5aa80cc41 make --debuglogfile (or any second log file) work
svn:r935
2003-12-14 09:58:43 +00:00
Roger Dingledine
36ea39ec9c on hup, close and rebind listener ports too (in case their config has changed)
svn:r926
2003-12-14 06:03:46 +00:00
Roger Dingledine
2997ef8dd9 warn if you're running tor as root
svn:r921
2003-12-14 04:39:23 +00:00
Roger Dingledine
25e7e97d73 on HUP, retry OR connections, and stop clobbering the dirserver's routerlist
svn:r920
2003-12-14 04:33:18 +00:00
Roger Dingledine
c25fbd2676 break routers.c into router.c for stuff the router does,
and routerlist.c for handling routerlist.


svn:r887
2003-12-06 05:54:04 +00:00
Roger Dingledine
e0952d0773 terminology shift:
directory is the string that dirserv.c and directory.c deal with
routerlist is routerinfo's that are bundled together in routers.c

rename some of the get_routerlist functions to set_routerlist

preparing to break into router.c for stuff the router does,
and routerlist.c for handling routerlist.


svn:r886
2003-12-05 09:51:49 +00:00
Roger Dingledine
975bb68010 simplify: options.OnionRouter==1 iff options.ORPort>0
svn:r857
2003-11-20 17:49:45 +00:00
Roger Dingledine
d6601f8cff make pidfile default to null rather than writing to your cwd
svn:r853
2003-11-19 22:45:06 +00:00
Nick Mathewson
fd07872a72 Separate failure-count tracking from circuit-launching.
Increment failure counts only when circuits close without having been built.
Reset failure counts only on the second, and when circuits are done building.


svn:r847
2003-11-19 02:22:52 +00:00
Peter Palfrader
9a676b04dd Check that we can write to the logfile and log a warning to stderr if we can't
Move writing of pidfile after daemonizing, and also after setting the [ug]id:
This means that the tor user needs write priviliges to the pidfile location.
It needs it for unlinking the pidfile anyway.


svn:r846
2003-11-19 02:09:43 +00:00
Roger Dingledine
f0cccc567e bugfix: don't ask for ->next of an expired circuit
bugfix: keep going when a circ fails in circuit_n_conn_open
        (make circuit_enumerate_by_naddr_nport obsolete)
bugfix: make circuit_n_conn_open only look at circ's that start at us
bugfix: only try circuit_n_conn_open if we're an OP. Otherwise we
        expect connections to always already be up.
bugfix: when choosing path length, pay attention to whether the directory
        says a router is down.
bugfix: when picking good exit, skip routers which are known to be down
        (more work needs to be done on this one)


svn:r838
2003-11-18 09:53:03 +00:00
Roger Dingledine
a3e39b0ceb don't build too many circs at once
expire circs that have been building for too long


svn:r835
2003-11-18 07:48:00 +00:00
Roger Dingledine
4aede010b9 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
2003-11-17 00:57:56 +00:00
Roger Dingledine
6d0e611fde change when circuits are built and expired
not quite happy with it yet


svn:r817
2003-11-16 21:49:52 +00:00
Roger Dingledine
fe856406be initial patches on patches
svn:r814
2003-11-16 17:00:02 +00:00
Roger Dingledine
56cd147eb9 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
2003-11-13 06:49:25 +00:00
Roger Dingledine
aac29076da warn on startup that we don't provide anonymity
make exit dns cache entries last 15 minutes


svn:r807
2003-11-13 04:51:34 +00:00
Roger Dingledine
52589289fe add DirBindAddress, parse the BindAddress's when you bind
exit if bind fails
add usage printfs
rearrange config options for readability


svn:r674
2003-10-25 12:01:09 +00:00
Steven Hazel
4139c1c86a - 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
2003-10-22 11:21:29 +00:00
Steven Hazel
b1eca56b77 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
2003-10-22 06:03:11 +00:00
Roger Dingledine
e4127e4d36 move closer to being able to reload config on HUP
rename APPort to SocksPort
introduce new tor_free() macro


svn:r642
2003-10-21 09:48:17 +00:00
Roger Dingledine
b40d0bffa7 a skeletal print_usage() function
svn:r634
2003-10-20 01:19:54 +00:00
Roger Dingledine
193383b70a log to stdout while parsing config,
otherwise we log to nothing and give no feedback!


svn:r617
2003-10-18 00:13:08 +00:00
Roger Dingledine
0b1afa951e reload the fingerprints file on HUP
svn:r611
2003-10-17 05:23:48 +00:00
Roger Dingledine
b3471bbc55 closing stdout *should* be safe (we'll see)
svn:r601
2003-10-15 19:27:51 +00:00
Nick Mathewson
ba9b542e93 Report delivery cell fullness correctly
svn:r600
2003-10-15 19:25:28 +00:00
Roger Dingledine
11a23fc280 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
2003-10-15 18:50:16 +00:00
Nick Mathewson
7432d97336 Make last commit build
svn:r593
2003-10-15 18:37:19 +00:00
Nick Mathewson
959b5585a5 Stop using stdout for non-debugging cases
svn:r592
2003-10-15 18:28:32 +00:00
Roger Dingledine
b9628f266f change WARNING to WARN
and fix a few typos


svn:r571
2003-10-10 01:48:32 +00:00
Nick Mathewson
ecfb36823e Refactor, rename, and clarify
svn:r569
2003-10-09 18:45:14 +00:00
Roger Dingledine
746d64e631 add in basic support for pidfiles
(patch courtesy aaron turner)


svn:r565
2003-10-08 08:54:52 +00:00
Nick Mathewson
36939303c9 Update LICENSE and copyright dates.
svn:r560
2003-10-08 02:04:08 +00:00
Roger Dingledine
756619bfd2 refactor around connection_edge_send_command()
svn:r539
2003-10-04 08:19:23 +00:00
Roger Dingledine
be874358a4 wrap strdup; prefer time() to gettimeofday()
svn:r538
2003-10-04 03:29:09 +00:00
Roger Dingledine
f563bbd2f9 refactor so connection_write_to_buf() never fails
svn:r537
2003-10-04 02:38:18 +00:00
Roger Dingledine
a6bab569ab socks5 now works
(or at least, we can talk to mozilla.)


svn:r536
2003-10-04 01:37:01 +00:00
Nick Mathewson
985a3e1492 Add new cell fullness and bandwidth stats.
svn:r533
2003-10-02 20:00:38 +00:00
Roger Dingledine
efa8e288ef 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
2003-10-01 01:49:53 +00:00
Nick Mathewson
91cf86d8da rebuild directory before uploading
svn:r528
2003-10-01 01:08:20 +00:00
Nick Mathewson
df5c7534b1 Move dirserv/routers code out of main.c
svn:r527
2003-10-01 00:43:34 +00:00
Roger Dingledine
2cfc6f0379 ORs post descriptors periodically too
svn:r523
2003-09-30 23:06:23 +00:00
Nick Mathewson
bd7db5bd87 Add "platform" to router descriptors.
svn:r522
2003-09-30 22:44:33 +00:00
Roger Dingledine
dc8f40e4cb fix the SSL_read() bug again. this time for sure!
svn:r518
2003-09-30 20:36:20 +00:00
Nick Mathewson
01786266ca 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
2003-09-30 19:27:54 +00:00
Roger Dingledine
2da3e4da0d move connection_array accessors from main.c to connection.c
(leave poll_array accessors in main.c)


svn:r512
2003-09-30 19:06:22 +00:00
Roger Dingledine
4533da06c9 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
2003-09-30 08:18:10 +00:00
Roger Dingledine
3ed7aedc11 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
2003-09-29 23:14:49 +00:00
Roger Dingledine
467d278b8b more cleanup and rearranging
still not finished integrating new dirserv stuff


svn:r507
2003-09-29 07:50:08 +00:00