Roger Dingledine
7e4cb9a750
connection_ap_handshake_send_begin always succeeds
...
svn:r798
2003-11-12 04:24:04 +00:00
Nick Mathewson
785f5cdac8
Make crypto_pseudo_rand* never fail.
...
svn:r797
2003-11-12 04:12:35 +00:00
Nick Mathewson
99a6d48f62
Restore erroneously removed assert
...
svn:r796
2003-11-12 03:48:33 +00:00
Nick Mathewson
e0ad4d08be
Fix thinko: Failure and success are different things.
...
svn:r795
2003-11-12 03:01:38 +00:00
Nick Mathewson
2e05b9ccf9
Remove dead code
...
svn:r794
2003-11-12 02:58:45 +00:00
Nick Mathewson
7d441ec6b4
Compute paths as we build them.
...
svn:r793
2003-11-12 02:55:38 +00:00
Nick Mathewson
e6296a4e2f
Refactor onion_generate_cpath to build cpaths one hop at a time. This
...
is a the first step in computing hops one step at a time. Next, we move
the responsibility for calling onion_extend_cpath into circuit.c
(Later, we may want to special-case onion_extend_cpath to treat entry
and exit routers differently.)
svn:r792
2003-11-12 02:32:20 +00:00
Roger Dingledine
9a0a638c02
point out bug
...
svn:r791
2003-11-11 19:47:51 +00:00
Roger Dingledine
9c8a54a39f
more cleanups and bugfix
...
svn:r790
2003-11-11 17:21:35 +00:00
Roger Dingledine
5a6bb0333e
leave conn->socks_request around after the begin
...
that way we can reuse it if we need to try another begin later
svn:r788
2003-11-11 06:42:10 +00:00
Roger Dingledine
84884a79c0
conn->socks_version is obsolete
...
svn:r787
2003-11-11 04:13:37 +00:00
Roger Dingledine
2a3479af5f
respond to nick's questions
...
svn:r786
2003-11-11 04:09:34 +00:00
Nick Mathewson
7bde42676b
Rename aci to circ_id throughout.
...
svn:r784
2003-11-11 03:01:48 +00:00
Nick Mathewson
dafb0e6a6e
Make AP connections wait for a circuit if none exists.
...
Also:
- Refactor socks request into a separate struct
- Add a separate 'waiting for circuit' state to AP connections
between 'waiting for socks' and 'open'.
Arma: can you check out the XXX's I've added to connection_edge? I may
be mishandling some async and close logic.
svn:r783
2003-11-11 02:41:31 +00:00
Roger Dingledine
1969c8a92f
client now survives going offline better
...
fix badness in usage()
if neither socksport nor orrport is defined, quit
obsolete connection_flush_buf()
svn:r780
2003-11-10 08:06:55 +00:00
Nick Mathewson
3c4b4c8cac
Check in a working cross-platform timegm
...
svn:r779
2003-11-10 06:28:53 +00:00
Nick Mathewson
3dddcf4306
Add lots of logging to dns.c; change behavior of often-failing assertion
...
svn:r778
2003-11-08 04:02:05 +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
Nick Mathewson
7604cfe61b
Clock skew fixes.
...
Allow some slop (currently 3 minutes) when checking certificate validity.
Change certificate lifetime from 1 year to 2 days. Since we
regenerate regularly (we regenerate regularly, right??), this
shouldn't be a problem.
Have directories reject descriptors published too far in the future
(currently 30 minutes). If dirservs don't do this:
0) Today is January 1, 2000.
1) A very skewed server publishes descriptor X with a declared
publication time of August 1, 2000.
2) The directory includes X.
3) Because of certificate lifetime issues, nobody can use the
skewed server.
4) The server fixes its skew, and goes to republish a new descriptor Y
with publication time of January 1, 2000.
5) But because the directory already has a "more recent" descriptor X,
it rejects descriptor "Y" as superseded!
This patch should make step 2 go away.
svn:r658
2003-10-22 16:41:35 +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
Roger Dingledine
c78d5d7d30
play with connection_edge_send_command
...
maybe more robust now
svn:r655
2003-10-22 09:08:10 +00:00
Roger Dingledine
c6b442a346
make end relay cells have payloads
...
move default exit policy into config files
svn:r653
2003-10-22 07:55:44 +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
4a66865d0b
send the end cell when we realize we're going to end,
...
not when we're closing the stream.
this lets us put a payload in the end cell if we want to,
to describe why we're closing the stream.
there are still some places where we don't send the end cell
immediately. i need to track them down. but it's a low priority,
since i've made it send the end cell when we close the stream if
we haven't already sent it.
svn:r640
2003-10-21 08:37:07 +00:00
Roger Dingledine
5f1750a288
include our own timegm() impl, since it's not portable
...
svn:r635
2003-10-20 20:19:59 +00:00
Roger Dingledine
b40d0bffa7
a skeletal print_usage() function
...
svn:r634
2003-10-20 01:19:54 +00:00
Roger Dingledine
b4117d2a37
move to 0.0.2pre13
...
svn:r631
2003-10-19 05:45:22 +00:00
Roger Dingledine
efce1b8b3e
put small buffers back in place
...
svn:r629
2003-10-19 01:10:38 +00:00
Nick Mathewson
0142a568d3
Example code to get nickname from cert
...
svn:r628
2003-10-19 00:47:03 +00:00
Roger Dingledine
9d3f2b232b
another minor memory leak
...
make dnsconn->address reflect what it's currently resolving
svn:r624
2003-10-18 07:09:09 +00:00
Roger Dingledine
a73a3a21f7
no more memory leaks
...
when you run it under normal operation
for as many as three minutes
svn:r622
2003-10-18 04:18:26 +00:00
Roger Dingledine
a3962bf6fc
fix two more memory problems
...
one remains :)
svn:r621
2003-10-18 03:23:26 +00:00
Roger Dingledine
af3fc006a5
clean up memory leaks, confusions
...
still one memory leak remaining here.
svn:r620
2003-10-18 02:18:22 +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
35dcfcb145
put a blank line in the directory, before the first router
...
this makes it easier to read (at least for me)
svn:r613
2003-10-17 10:24:58 +00:00
Roger Dingledine
f96f964a19
try to make cvs more stable for now. need to test this more in a bit.
...
svn:r612
2003-10-17 10:00:01 +00:00
Roger Dingledine
0b1afa951e
reload the fingerprints file on HUP
...
svn:r611
2003-10-17 05:23:48 +00:00
Roger Dingledine
5c563939ef
catch misconfigured machines that return hostname as fqdn
...
svn:r610
2003-10-17 04:48:20 +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
afd8fa5a97
change buf->buf to buf->mem
...
maybe this will mean fewer dumb errors
svn:r599
2003-10-15 19:17:21 +00:00
Nick Mathewson
75170f052b
fix bug with overzealous shrinking; add more comments.
...
svn:r597
2003-10-15 19:07:07 +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
695920d09f
Build without warnings on OS X.
...
svn:r595
2003-10-15 18:48:48 +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
Steven Hazel
a54a65dfb6
- 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
2003-10-15 07:19:38 +00:00
Roger Dingledine
58ec05877a
make the buffer resize stuff work
...
and make listener connections not have bufs
svn:r584
2003-10-14 03:06:48 +00:00
Nick Mathewson
ee9e54b434
Make buffers grow and shrink as needed.
...
svn:r583
2003-10-14 01:34:31 +00:00
Roger Dingledine
6115813de3
i'm a little teapot, short and stout
...
cvs compiles again
svn:r581
2003-10-14 01:10:22 +00:00
Roger Dingledine
737760f071
fix segfault (connecting to dirserver when network is down)
...
svn:r580
2003-10-13 19:58:21 +00:00
Roger Dingledine
411a18e34c
put out 0.0.2pre12
...
(mainly doc and log changes)
svn:r579
2003-10-12 07:19:10 +00:00
Roger Dingledine
4d0b8f00b1
clarify the warning for unrecognized socks version
...
(generally happens when people use tor as an httpd proxy)
svn:r576
2003-10-11 23:38:20 +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
Roger Dingledine
8b80362c76
0.0.2pre11, new license
...
svn:r564
2003-10-08 04:10:59 +00:00
Nick Mathewson
36939303c9
Update LICENSE and copyright dates.
...
svn:r560
2003-10-08 02:04:08 +00:00
Roger Dingledine
543e4e8fd5
more details to track a warning in tls handshakes
...
plus make exit policy comparisons not always reject
svn:r559
2003-10-07 23:54:02 +00:00
Roger Dingledine
aca4bc5126
successfully parse exit policies on future attempts too
...
svn:r558
2003-10-07 23:25:10 +00:00
Roger Dingledine
c42d928b30
pull exit policies from config into desc_routerinfo
...
svn:r557
2003-10-07 23:04:31 +00:00
Nick Mathewson
3b2943d845
lowercase exit policies.
...
svn:r556
2003-10-07 23:02:37 +00:00
Roger Dingledine
9e30ac2870
obey exit policies for addresses too
...
svn:r555
2003-10-07 22:18:14 +00:00
Nick Mathewson
686fce453b
Stop requiring newline at end of exit policy.
...
svn:r554
2003-10-07 22:15:47 +00:00
Nick Mathewson
499bbe72d4
Add a "router_add_exit_policy_from_string" function.
...
svn:r553
2003-10-07 22:09:09 +00:00
Roger Dingledine
e6847c4420
add ExitPolicy line to config file
...
svn:r552
2003-10-07 22:04:17 +00:00
Roger Dingledine
16778795f3
minor fixes; bump to 0.0.2pre10
...
svn:r551
2003-10-07 21:27:33 +00:00
Roger Dingledine
0b8a0c3720
give correct warning message when you're running an old version
...
svn:r546
2003-10-07 16:56:27 +00:00
Roger Dingledine
de6cbe53c0
some early bugfixes
...
our log() conflicts with log(3)
distribute only the correct files from doc/ and src/config/
sometimes laptops go back in time. i guess that's ok for now.
and bump the version number because we're live.
svn:r544
2003-10-07 16:30:05 +00:00
Roger Dingledine
b51d2c05a0
no need to trigger an assert if socks handshake is malformed
...
svn:r542
2003-10-06 21:22:12 +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
Nick Mathewson
6ac42f5ec0
Make testcases run again; more sanity checking to descriptor generation.
...
svn:r532
2003-10-01 22:31:13 +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
5c8fc2f705
mark all dirservers up at boot; mark a dirserver down if dir fetch fails
...
svn:r519
2003-09-30 21:27:16 +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
9f0c608b7e
Check router signatures again; debug signature checking
...
svn:r517
2003-09-30 20:05:45 +00:00
Nick Mathewson
1cd57b8466
make sure router descriptor doesnt eat the directory-signature
...
svn:r516
2003-09-30 20:04:40 +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
Nick Mathewson
d0273ee135
We need to call get_connection_array before using its outputs
...
svn:r513
2003-09-30 19:25:16 +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
e7e858d0d1
patch strptime warning -- reduce portability!
...
svn:r511
2003-09-30 18:47:29 +00:00
Roger Dingledine
013c4e1467
move the tls handshake stuff to connection_or
...
svn:r510
2003-09-30 18:45:55 +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
Roger Dingledine
5d31f71557
fix two new segfaults
...
svn:r506
2003-09-28 08:06:18 +00:00
Roger Dingledine
c4c66e2c7f
expand the scheduler to address SSL_read()'s pending bytes
...
svn:r505
2003-09-28 06:48:20 +00:00
Nick Mathewson
0e0169d6fa
Write necessary backends for online directory generation. I think.
...
svn:r503
2003-09-27 21:30:10 +00:00
Roger Dingledine
cb8212bfcb
clean up receiver buckets; prepare for payloads in relay_end; note a few bugs
...
svn:r502
2003-09-27 21:09:56 +00:00
Roger Dingledine
0f25887048
clean up connection_assert_ok compiler warnings
...
svn:r498
2003-09-27 07:33:07 +00:00
Roger Dingledine
deac704399
connection_new() can't ever fail
...
svn:r497
2003-09-27 07:28:44 +00:00