Commit Graph

5660 Commits

Author SHA1 Message Date
Roger Dingledine
2b4ff1718f forward-port r14375 and try to make it less likely to happen again
svn:r14377
2008-04-16 00:10:39 +00:00
Roger Dingledine
20f927c2dd forward-port r14373
svn:r14374
2008-04-15 23:06:31 +00:00
Nick Mathewson
b927ede48c r15161@31-33-107: nickm | 2008-04-10 11:11:58 -0400
Make dumpstats() log the size and fullness of openssl-internal buffers, so I can test my hypothesis that many of them are empty, and my alternative hypothesis that many of them are mostly empty, against the null hypothesis that we really need to be burning 32K per open OR connection on this.


svn:r14350
2008-04-10 15:12:24 +00:00
Nick Mathewson
4901ee0a8c r19273@catbus: nickm | 2008-04-09 14:44:23 -0400
Do a slightly better fix for r14329: don't call time() quite so much.  Also note the time(NULL) hack we wanted to do in the TODO.


svn:r14334
2008-04-09 18:44:50 +00:00
Nick Mathewson
186df044cd r19262@catbus: nickm | 2008-04-09 14:05:20 -0400
When writing relay cells to a buffer, update timestamp_last_added_nonpadding.  Bugfix on 0.2.0.1-alpha. Backport candidate.


svn:r14329
2008-04-09 18:05:47 +00:00
Nick Mathewson
31153d6374 r19243@catbus: nickm | 2008-04-08 13:28:59 -0400
Use a freelist to hold a few recent memarea chunks.  We do a kazillion memarea allocs and frees; that cant be good for us.


svn:r14319
2008-04-08 17:29:05 +00:00
Nick Mathewson
a627407fcb r19233@catbus: nickm | 2008-04-08 13:06:34 -0400
When we remove old routers, use Bloom filters rather than a digestmap-based set in order to tell which ones we absolutely need to keep.  This will save us roughly a kazillion little short-lived allocations for hash table entries.


svn:r14318
2008-04-08 17:06:41 +00:00
Nick Mathewson
0c9efd6a1e r19231@catbus: nickm | 2008-04-07 12:45:58 -0400
Update last_listed_as_valid_until for new routers based on v2 networkstatus as well as consensus networkstatus.


svn:r14317
2008-04-08 17:06:38 +00:00
Nick Mathewson
2d68487e7f r19229@catbus: nickm | 2008-04-07 12:28:22 -0400
Add a new SMARTLIST_FOREACH_JOIN macro to iterate through two sorted lists in lockstep.  This happens at least 3 times in the code so far, and is likely to happen more in the future.  Previous attempts to do so proved touchy, tricky, and error-prone: now, we only need to get it right in one place.


svn:r14309
2008-04-07 16:28:34 +00:00
Nick Mathewson
85db675911 r19202@catbus: nickm | 2008-04-04 17:18:47 -0400
Make last_served_at optional; make last_listed_as_valid_until take account (partially) of v2 statuses.


svn:r14299
2008-04-04 21:18:56 +00:00
Nick Mathewson
68407e6a9c r19199@catbus: nickm | 2008-04-03 15:01:05 -0400
Fix bug 641 and 650, I think.


svn:r14297
2008-04-03 19:01:16 +00:00
Roger Dingledine
1ac11591d2 a potential fix for bug 641.
svn:r14281
2008-04-02 20:48:36 +00:00
Roger Dingledine
39c402c29f when add_file_log() fails, tell us why.
svn:r14277
2008-04-01 21:05:31 +00:00
Nick Mathewson
d43a9d9440 r19152@catbus: nickm | 2008-03-30 23:20:11 -0400
Make unit tests pass again after Link protocol list change.


svn:r14254
2008-03-31 03:20:55 +00:00
Nick Mathewson
006530f037 r19140@catbus: nickm | 2008-03-30 14:13:36 -0400
Note in our router descriptors that we actually support link protocol version 2, now that it seems to work.


svn:r14246
2008-03-30 18:14:55 +00:00
Nick Mathewson
72ca7e5d88 r19138@catbus: nickm | 2008-03-30 11:59:26 -0400
oops; fix bug in descriptor metric logic.


svn:r14245
2008-03-30 15:59:32 +00:00
Nick Mathewson
e19d96637d r19118@catbus: nickm | 2008-03-29 00:27:08 -0400
Code (disabled) to get way too much info about the contents of old_routers on USR1.


svn:r14230
2008-03-29 04:27:34 +00:00
Nick Mathewson
e89bf1c573 r19109@catbus: nickm | 2008-03-27 16:05:18 -0400
Replace a syntax error and a log message that was never emitted with a simple assert.  Asserts are fun and easy.


svn:r14224
2008-03-27 20:05:44 +00:00
Peter Palfrader
9d132fbde6 Add --hush switch.
New --hush command-line option similar to --quiet.  While --quiet disables all
logging to the console on startup, --hush limits the output to messages of
warning and error severity.


svn:r14222
2008-03-27 17:25:49 +00:00
Nick Mathewson
968ad93b0a r19093@catbus: nickm | 2008-03-27 12:43:58 -0400
Only log a notice that dmalloc has been set up if it fails.  Actually, since we have not added a temp log yet, I am not sure this ever does anything.


svn:r14216
2008-03-27 16:46:39 +00:00
Nick Mathewson
4e6b6e3ad7 r19092@catbus: nickm | 2008-03-27 12:43:29 -0400
Stop supporting anything besides CMD_RUN_TOR in ntmain.c. Based on patch from Sebastian Hahn.


svn:r14215
2008-03-27 16:46:36 +00:00
Nick Mathewson
12b217bce8 r19091@catbus: nickm | 2008-03-27 12:42:57 -0400
Stop reading torrc when all we want to do is --hash-password.  Fix based on patch from Sebastian Hahn. Backport candidate.


svn:r14214
2008-03-27 16:46:34 +00:00
Nick Mathewson
02acee891c r19089@catbus: nickm | 2008-03-27 11:05:23 -0400
Free some static hashtables and the log mutex on exit. Backport candidate.


svn:r14212
2008-03-27 15:05:28 +00:00
Nick Mathewson
fa15ed4b7b r19079@catbus: nickm | 2008-03-26 17:16:46 -0400
Free authority certs on exit.  Backport candidate.


svn:r14205
2008-03-26 21:16:56 +00:00
Nick Mathewson
944bd3dbed r19074@catbus: nickm | 2008-03-26 17:08:32 -0400
Start new address policies with refcount of 1, not 2.  Backport candidate once tested more.


svn:r14204
2008-03-26 21:08:39 +00:00
Nick Mathewson
e8cc756c13 r19072@catbus: nickm | 2008-03-26 13:50:24 -0400
Add code to debug memory area size.  Use results of this code to set a couple of area sizes more sanely.


svn:r14201
2008-03-26 17:50:27 +00:00
Nick Mathewson
745f3c859a r19066@catbus: nickm | 2008-03-26 13:24:15 -0400
Initialize logging before we log anything.  Bugfix on 0.2.0.x-alpha.


svn:r14199
2008-03-26 17:25:16 +00:00
Nick Mathewson
762d82cf74 r19062@catbus: nickm | 2008-03-26 12:56:25 -0400
Fix whitespace


svn:r14197
2008-03-26 16:56:37 +00:00
Nick Mathewson
3af9e099f7 r19061@catbus: nickm | 2008-03-26 12:53:18 -0400
Now that every thing in routerparse.c is switched over to use memareas, there is no need to keep the heap-allocated token code.


svn:r14196
2008-03-26 16:56:34 +00:00
Nick Mathewson
6edab8569a r19060@catbus: nickm | 2008-03-26 12:44:19 -0400
Make v2 hidden service descriptors use the new area allocation logic.  This works for me, but Karsten should definitely have a look at it.


svn:r14195
2008-03-26 16:56:31 +00:00
Nick Mathewson
e4ebe3409e r19049@catbus: nickm | 2008-03-26 12:33:25 -0400
Add new stacklike, free-all-at-once memory allocation strategy.  Use it when parsing directory information.  This helps parsing speed, and may well help fragmentation some too.  hidden-service-related stuff still uses the old tokenizing strategies.


svn:r14194
2008-03-26 16:33:33 +00:00
Nick Mathewson
df6b256bc0 r19041@catbus: nickm | 2008-03-25 16:20:42 -0400
More unit tests to improve coverage.


svn:r14185
2008-03-25 20:20:45 +00:00
Nick Mathewson
41deb5cd7b r19039@catbus: nickm | 2008-03-25 12:15:58 -0400
Add some unit tests, particularly for AES counter mode.


svn:r14180
2008-03-25 16:16:05 +00:00
Roger Dingledine
9047361007 Mar 24 08:43:30.014 [debug] circuit_find_to_cannibalize(): Hunting for
a circ to cannibalize: purpose 5, uptime 0, capacity 4, internal 0


svn:r14166
2008-03-24 18:43:01 +00:00
Roger Dingledine
13174b8f97 fix r14162 so it was what i meant. sometimes precedence is surprising!
svn:r14164
2008-03-24 07:24:09 +00:00
Roger Dingledine
a9acdb8f53 when our onehop circuits were failing, nobody was telling the
streams. so they waited 120 seconds before timing out. this
was particularly bad during bootstrapping, if an authority is
down or not answering right.


svn:r14163
2008-03-24 05:48:51 +00:00
Roger Dingledine
c26c77d24d If our create-fast cell is mysteriously never answered for a begindir
attempt, notice more quickly. Some of our bootstrapping attempts have a 60
second delay while we sit there wondering why we're getting no response.


svn:r14162
2008-03-24 03:50:21 +00:00
Roger Dingledine
52b267b987 make it build, too
svn:r14151
2008-03-21 21:59:57 +00:00
Nick Mathewson
b5b77f8bf3 r19004@catbus: nickm | 2008-03-21 15:18:43 -0400
Use RAND_poll() again: the bug that made us stop using it has been fixed.


svn:r14150
2008-03-21 19:18:57 +00:00
Roger Dingledine
7ed6406ce9 forward-port 14113-r14115
svn:r14116
2008-03-18 23:12:41 +00:00
Nick Mathewson
e96d22e914 r18941@catbus: nickm | 2008-03-18 14:59:43 -0400
Likely fix for bug 632: do not call start_reading on a placeholder connection.


svn:r14109
2008-03-18 19:00:12 +00:00
Nick Mathewson
a62a24036d r18937@catbus: nickm | 2008-03-18 14:50:39 -0400
Fix the other lingering part of bug 617: make ClientDNSRejectInternalAddresses actually work.


svn:r14107
2008-03-18 18:51:34 +00:00
Nick Mathewson
ba915e4211 r18913@catbus: nickm | 2008-03-18 10:30:39 -0400
16, not 64.


svn:r14094
2008-03-18 14:30:46 +00:00
Roger Dingledine
31d185a23b point out another bug for nick. and if it's *not* a bug, that's
stunning and i want to know why. :)


svn:r14088
2008-03-18 03:08:48 +00:00
Roger Dingledine
2117abbe3f forward-port the 0.2.0.22-rc changelog entry, plus remove
some duplicate items.


svn:r14086
2008-03-18 02:39:34 +00:00
Nick Mathewson
fe1b2a4ed4 r18900@catbus: nickm | 2008-03-17 18:32:25 -0400
Fix tests and routerdesc behavior on trunk.


svn:r14084
2008-03-17 22:32:28 +00:00
Nick Mathewson
e17e6371d1 r18896@catbus: nickm | 2008-03-17 16:10:54 -0400
Fix bug in earlier bugfix.  Note stupidness of allowing NULL policies at all.  Disallow empty exit policies in router descriptors.


svn:r14082
2008-03-17 20:10:57 +00:00
Nick Mathewson
80ec9e51dd r18891@catbus: nickm | 2008-03-17 13:20:20 -0400
Patch from Sebastian Hahn: give an error message on "error replacing old router store."


svn:r14080
2008-03-17 17:21:12 +00:00
Nick Mathewson
9a24158c69 r18880@catbus: nickm | 2008-03-17 12:51:24 -0400
Fix policy-related crash bug found by lodger.


svn:r14077
2008-03-17 16:51:48 +00:00
Nick Mathewson
296289de82 r18873@catbus: nickm | 2008-03-17 00:06:31 -0400
oops.  guard status logging change had a bug.  it is non-obvious how to make the code perfect atm; just make it work.


svn:r14070
2008-03-17 04:07:56 +00:00
Nick Mathewson
e6b617bf05 r18872@catbus: nickm | 2008-03-16 23:56:48 -0400
Only dump all guard node status to the log when the guard node status actually changes.  Downgrade the 4 most common remaining INFO log messages to DEBUG.


svn:r14069
2008-03-17 04:07:51 +00:00
Nick Mathewson
c59f66709d r18862@catbus: nickm | 2008-03-16 23:33:11 -0400
Part of fix for bug 617: allow connection_ap_handshake_attach_circuit() to mark connections, to avoid double-mark warnings.  Note that this is an incomplete refactoring.


svn:r14066
2008-03-17 03:37:54 +00:00
Nick Mathewson
bd547e3cfc r18861@catbus: nickm | 2008-03-16 23:22:56 -0400
Fix a couple of bugs in setting control log callback severity.


svn:r14065
2008-03-17 03:37:52 +00:00
Nick Mathewson
46155aca17 r18804@catbus: nickm | 2008-03-13 18:18:31 -0400
Refactor log domain mask code so that nobody outside of log.c has to use SEVERITY_MASK_IDX.  It is error-prone.


svn:r14016
2008-03-13 22:18:38 +00:00
Peter Palfrader
925ba96508 downgrade get_interface_address6 logging severity to LOG_DEBUG.
get_interface_address6() fails regardless of the allocator used,
wever logging to the original severity of 0 causes an assert
error only with the bsd allocator.  weird.


svn:r14005
2008-03-13 16:15:16 +00:00
Nick Mathewson
365f16b199 r18787@catbus: nickm | 2008-03-13 11:11:52 -0400
Make set-option functions return sensible error codes from an enum, not mysterious negative integers


svn:r14004
2008-03-13 15:11:56 +00:00
Peter Palfrader
24884bb3ed Use proper log levels with get_interface_address6() calls so we do not die in an assert error because of invalid log levels. Should a failure here fail our test suite?
svn:r14003
2008-03-13 15:10:35 +00:00
Nick Mathewson
11e464c331 r18753@catbus: nickm | 2008-03-11 14:56:39 -0400
Make some assert()s into tor_assert()s.  Make some tor_assert()s called from logging into assert()s, and document why.


svn:r13977
2008-03-11 18:56:41 +00:00
Nick Mathewson
4b65ea0ec0 r18730@catbus: nickm | 2008-03-11 00:47:04 -0400
Forward-port: Fix the SVK version detection logic to work right on a branch: tolerate multiple "copied from" tags and only look at the first.


svn:r13959
2008-03-11 04:47:07 +00:00
Nick Mathewson
8b24e01599 r18723@catbus: nickm | 2008-03-11 00:25:30 -0400
Fix bug spotted by mwenge: a server_event should not be a sever_event.  Also, fix compile errors in config.c and control.c with --enable-gcc-warnings.


svn:r13957
2008-03-11 04:30:14 +00:00
Peter Palfrader
2704a2e129 And appease the whitespace nazis among us
svn:r13950
2008-03-10 12:43:47 +00:00
Peter Palfrader
79f1ee8a2d Implement LOADCONF control command
The LOADCONF control command allows posting a config file to Tor
over the control interface.  This config file is then loaded as if
it had been read from disk.  Sending a HUP signal to Tor will make
it try to load its old config from disk again, thereby forgetting
the config loaded with this command.


svn:r13948
2008-03-10 12:41:52 +00:00
Peter Palfrader
bc4095c70c different exit codes for options_init_from_string()
Change options_init_from_string() so that it returns different exit codes in the
error case, depending on what went wrong.  Also push the responsibility to log
the error to the caller.


svn:r13947
2008-03-10 12:41:49 +00:00
Peter Palfrader
8c71d7ea16 options_init_from_torrc(): split off options_init_from_string()
svn:r13946
2008-03-10 12:41:44 +00:00
Peter Palfrader
947fd064a3 Store options we got from commandline seperately from bare argv/argc
svn:r13945
2008-03-10 12:41:40 +00:00
Peter Palfrader
00d64fd213 options_init_from_torrc(): move code that loads torrc into its own function
move code that loads torrc from disk and sets torrc_fname into its own function


svn:r13944
2008-03-10 12:41:36 +00:00
Peter Palfrader
ded55fa296 options_init_from_torrc(): tread non-existing torrc like empty torrc.
Tread the case of a non-existing conffile, when allowed, exactly like the one
with an empty torrc.


svn:r13943
2008-03-10 12:41:33 +00:00
Peter Palfrader
e8f4d79ec1 options_init_from_torrc(): move code that looks for torrc into its own function
Part of options_init_from_torrc()'s job was looking for -f flags (to specify
an alternate config file) on the command line, complaining if more than one
is given or the given does not exist.  If none is given then use the compiled-in
default location, accepting if it does not exist.  This logic has been moved
into its own function in an attemped to make options_init_from_torrc() easier
to deal with.


svn:r13942
2008-03-10 12:41:29 +00:00
Peter Palfrader
4118e319c7 options_init_from_torrc(): Split argv processing into two parts
Split the argv processing loop into two poarts, one that deals with
figuring out which conffile to use, and the other that figures out
which "command" (hash fingerprint, verify config, list fpr, run tor)
the user asked for.

There is a third part further down that imports command line args
into the config but that is not touched.


svn:r13941
2008-03-10 12:41:26 +00:00
Peter Palfrader
8987bd2fd9 If we decrement incoming_cmd's length when receiving the ending CRLF "." CRLF for a multi-line control command, also truncate the string by nul-terminating it in the correct place.
svn:r13939
2008-03-10 12:13:43 +00:00
Roger Dingledine
0df1564298 forward-port recent changes
svn:r13935
2008-03-10 07:50:09 +00:00
Nick Mathewson
7587e16796 r18639@catbus: nickm | 2008-03-07 20:11:48 -0500
Change semantics of add-a-log functions to copy severity setup: that is way less error-prone.  Fix up config.c to act accordingly.


svn:r13888
2008-03-08 01:11:54 +00:00
Nick Mathewson
f56ba5f3d6 r18630@catbus: nickm | 2008-03-05 17:31:33 -0500
Implement domain-selection for logging.  Source is documented; needs documentation in manpage (maybe).  For now, see doxygen comment on parse_log_severity_config in log.c


svn:r13875
2008-03-05 22:31:39 +00:00
Peter Palfrader
9e7b4400dc minor cleanup
in options_act() we set running_tor to options->command == CMD_RUN_TOR
once and used that in all but one place.  Now we use running_tor in that
place also.


svn:r13819
2008-03-03 12:48:13 +00:00
Roger Dingledine
5bf0a01011 forward-port r13799 and the 0.2.0.21-rc changelog
svn:r13808
2008-03-02 22:29:04 +00:00
Roger Dingledine
cf3e1b1309 we should consider dumping the v1 directory stuff from 0.2.1.x.
perhaps we would even replace the v1 directory with a static
page saying 'this is a tor server, let me tell you what that is'.


svn:r13797
2008-03-01 17:47:41 +00:00
Roger Dingledine
c5a7ff8e43 forward-port r13777
svn:r13778
2008-02-29 01:45:06 +00:00
Nick Mathewson
eefe2a3562 r18462@catbus: nickm | 2008-02-27 14:15:57 -0500
Add better warnings for the error that produced bug 614, and downgrade from a tor_assert() to a tor_fragile_assert().


svn:r13752
2008-02-27 19:19:34 +00:00
Nick Mathewson
d14f8f2547 r14516@tombo: nickm | 2008-02-27 03:10:26 -0500
Write some unit tests for a few functions and cases that needed them.


svn:r13751
2008-02-27 08:10:28 +00:00
Roger Dingledine
e7f3d6f76c fix most of pnx's warnings on irix64
svn:r13706
2008-02-24 23:39:53 +00:00
Nick Mathewson
3452486ac6 r14422@tombo: nickm | 2008-02-24 17:09:56 -0500
Whitespace fixes


svn:r13700
2008-02-24 22:11:18 +00:00
Nick Mathewson
ee8dce3084 r14421@tombo: nickm | 2008-02-24 17:05:18 -0500
Patch from mwenge: always willingly serve our own extrainfo from the controlport


svn:r13699
2008-02-24 22:11:12 +00:00
Nick Mathewson
dde81de3dd r14419@tombo: nickm | 2008-02-24 16:55:11 -0500
Patch from tup: use sizeof sockaddr_un as the size of a unix sockaddr.  Fixes unix controlsocket binding on openbsd.


svn:r13697
2008-02-24 22:11:00 +00:00
Nick Mathewson
e0de72dd87 r14410@tombo: nickm | 2008-02-23 16:51:46 -0500
Fix the last of the -Wshorten-64-to-32 warnings.


svn:r13696
2008-02-24 22:10:08 +00:00
Roger Dingledine
31f72a3d80 Servers that don't know their own IP address should go to the
authorities for their first directory fetch, even if their DirPort
is off or if they don't know they're reachable yet. This will help
them bootstrap better. Bugfix on 0.2.0.18-alpha; fixes bug 609.


svn:r13688
2008-02-23 23:39:16 +00:00
Roger Dingledine
cd4b95e402 Make "HashedControlPassword" an alias for "__HashedControlSessionPassword"
if it appears on the commandline. should help with bug 586.


svn:r13683
2008-02-22 23:20:28 +00:00
Nick Mathewson
7589765ae9 r14401@tombo: nickm | 2008-02-22 15:33:42 -0500
Fix a really stupid parthensis error noticed by mwenge.


svn:r13681
2008-02-22 20:33:47 +00:00
Nick Mathewson
e7db789e82 r14399@tombo: nickm | 2008-02-22 14:09:38 -0500
More 64-to-32 fixes. Partial backport candidate. still not done.


svn:r13680
2008-02-22 19:09:45 +00:00
Roger Dingledine
5ec5a747d7 Quiet the "Exitrouter '%s' seems to be more restrictive than its exit
policy. Not using this router as exit for now." message, since it
legitimately appears every so often and there's no need to alarm users.


svn:r13677
2008-02-22 14:31:40 +00:00
Nick Mathewson
e68760ac0f r14388@tombo: nickm | 2008-02-21 22:44:28 -0500
More 64-to-32 fixes.


svn:r13672
2008-02-22 03:44:36 +00:00
Nick Mathewson
69300eb606 r14374@tombo: nickm | 2008-02-21 16:57:39 -0500
Fix all remaining shorten-64-to-32 errors in src/common.  Some were genuine problems.  Many were compatibility errors with libraries (openssl, zlib) that like predate size_t.  Partial backport candidate.


svn:r13665
2008-02-21 21:57:47 +00:00
Roger Dingledine
1cd90948ab maybe appease the overflow detectors more
svn:r13663
2008-02-21 21:56:04 +00:00
Nick Mathewson
daefbfe691 r14371@tombo: nickm | 2008-02-21 16:13:18 -0500
Fix all -Wshorten-64-to-32 warnings that appear on my macbook.


svn:r13662
2008-02-21 21:15:31 +00:00
Nick Mathewson
5c03f82a65 r18345@catbus: nickm | 2008-02-21 13:45:04 -0500
Do the last part of arma's fix for bug 437: Track the origin of every addrmap, and use this info so we can remove all the trackhostexits-originated mappings for a given exit.


svn:r13660
2008-02-21 18:45:11 +00:00
Nick Mathewson
0ba2bfeef6 r14363@31-33-219: nickm | 2008-02-21 11:11:33 -0500
Answer the next-to-last XXX020rc item.


svn:r13658
2008-02-21 16:12:01 +00:00
Nick Mathewson
e2f25558b9 r14362@31-33-219: nickm | 2008-02-21 11:01:10 -0500
Change some of our log messages related to closed TLS connections in order to better reflect reality.


svn:r13657
2008-02-21 16:11:58 +00:00
Nick Mathewson
e18ee2a2ab r14357@31-33-219: nickm | 2008-02-21 10:39:11 -0500
Fix bug-handling code for unhandled write errors, so that it does not try to flush any data on the failed connection. Bugfix on 0.1.2.x.


svn:r13655
2008-02-21 15:39:26 +00:00
Nick Mathewson
41eca067a1 r14356@31-33-219: nickm | 2008-02-21 10:38:26 -0500
Defer a couple of XXX020rc items, based on recommendation from arma.


svn:r13654
2008-02-21 15:39:24 +00:00
Nick Mathewson
8b1789c71f r18336@catbus: nickm | 2008-02-21 09:33:15 -0500
Patch from Sebastian Hahn: remove obsolete timeval manipulation functions.


svn:r13653
2008-02-21 14:33:20 +00:00
Roger Dingledine
b3c0d066e5 other cleanups that have been sitting in my sandbox
svn:r13649
2008-02-21 09:01:32 +00:00
Roger Dingledine
a60f7caa54 start allowing clients to give up on trackhostexits targets if
five circuit attempts fail for a given stream. part of the fix
for bug 437. still an XXX020rc remaining.


svn:r13648
2008-02-21 09:00:54 +00:00
Roger Dingledine
18a209ffe6 Even though the man page said that "TrackHostExits ." should
work, nobody had ever implemented it. Bugfix on 0.1.0.x.


svn:r13647
2008-02-21 08:08:13 +00:00
Roger Dingledine
828c707812 Change the behavior of "getinfo status/good-server-descriptor"
so it doesn't return failure when any authority disappears.


svn:r13645
2008-02-21 06:06:45 +00:00
Roger Dingledine
b28a342e35 resolve one more, and leave two for nick.
svn:r13644
2008-02-21 05:53:50 +00:00
Roger Dingledine
1812a22a60 If we're trying to flush the last bytes on a connection (for
example, when answering a directory request), reset the  
time-to-give-up timeout every time we manage to write something
on the socket. Bugfix on 0.1.2.x.


svn:r13643
2008-02-21 05:51:09 +00:00
Roger Dingledine
8889229407 and another useful answer
svn:r13642
2008-02-21 05:42:12 +00:00
Roger Dingledine
0ddc9d5707 answer one of nick's XXX020rc's usefully
svn:r13641
2008-02-21 05:38:19 +00:00
Nick Mathewson
063ced8903 r18296@catbus: nickm | 2008-02-20 23:30:11 -0500
Answer one xxx020 item; move 7 other ones to a new "XXX020rc" category: they should get fixed before we cut a release candidate. arma: please review these to see whether you have fixes/answers for any. Please check out the other 14 XXX020s to see if any look critical for the release candidate.


svn:r13640
2008-02-21 04:30:14 +00:00
Nick Mathewson
47e6247673 r18294@catbus: nickm | 2008-02-20 22:42:44 -0500
Fix a spelling error and clean up a recent veracode-induced integer overflow check.  Both spotted by Chris Palmer.


svn:r13639
2008-02-21 03:42:56 +00:00
Nick Mathewson
1df0647c66 r18291@catbus: nickm | 2008-02-20 22:35:32 -0500
Resolve all DOCDOC issues, and document some other undocumented code, and fix a changelog entry.


svn:r13638
2008-02-21 03:38:46 +00:00
Nick Mathewson
ae507a61cc r18288@catbus: nickm | 2008-02-20 21:18:38 -0500
Recover from bad tracked-since value in mtbf history file.  This may finally close bug 537.


svn:r13636
2008-02-21 02:18:41 +00:00
Nick Mathewson
0e9dcfab97 r18286@catbus: nickm | 2008-02-20 21:10:33 -0500
Fix a bug that kept buf_find_string_offset from finding a string at the very end of the buffer.  Add a unit test for this. Also, do not save a pointer to a chunk that might get reallocated by buf_pullup().


svn:r13635
2008-02-21 02:10:38 +00:00
Nick Mathewson
3b58f9929f r18283@catbus: nickm | 2008-02-20 18:58:31 -0500
Fix assertion when searching for a string in an empty chunk.


svn:r13634
2008-02-20 23:58:48 +00:00
Nick Mathewson
304bdfdc6b r18279@catbus: nickm | 2008-02-20 18:38:48 -0500
Log message to try to detect error in buffers.c


svn:r13633
2008-02-20 23:38:57 +00:00
Nick Mathewson
8b8d38162b r18278@catbus: nickm | 2008-02-20 18:29:07 -0500
Unit tests for buf_find_string_offset()


svn:r13632
2008-02-20 23:38:55 +00:00
Nick Mathewson
f0e523c6ef r18272@catbus: nickm | 2008-02-20 18:20:33 -0500
add a flag to suppress overwriting the certificates file with new certificates, so we do not overwrite all certs when starting as an authority.


svn:r13630
2008-02-20 23:20:36 +00:00
Nick Mathewson
93aa335516 r18269@catbus: nickm | 2008-02-20 17:28:24 -0500
Apply patch from Sebastian Hahn: stop imposing an arbitrary maximum on the number of file descriptors used for busy servers.  Bug reported by Olaf Selke.


svn:r13626
2008-02-20 22:28:26 +00:00
Nick Mathewson
384a8ab777 r18267@catbus: nickm | 2008-02-20 16:57:45 -0500
Suppress signed/unsigned comparison warnings in buffers.c


svn:r13624
2008-02-20 21:57:48 +00:00
Nick Mathewson
7521ef9a00 r18264@catbus: nickm | 2008-02-20 12:48:21 -0500
fix bufs in buf_pos_t implementation.


svn:r13623
2008-02-20 17:48:39 +00:00
Nick Mathewson
5dd9d16b94 r18263@catbus: nickm | 2008-02-20 12:45:15 -0500
Oops. not supposed to use tor_assert() in eventdns.c


svn:r13622
2008-02-20 17:48:37 +00:00
Nick Mathewson
dc949b846a r18259@catbus: nickm | 2008-02-20 12:03:15 -0500
Make the last of the veracode warning issues get fixed.


svn:r13620
2008-02-20 17:03:16 +00:00
Nick Mathewson
cefe0a1959 r18255@catbus: nickm | 2008-02-20 11:44:55 -0500
Add asserts and refactor some comparisons in order to fix some veracode-identified issues. Note a bug in buffers.c


svn:r13618
2008-02-20 16:57:39 +00:00
Roger Dingledine
1c8bd320be pass bucket sizes num_read and num_written around as size_ts
rather than ints


svn:r13610
2008-02-20 02:17:41 +00:00
Roger Dingledine
f2ed011813 We were comparing the raw BridgePassword entry with a base64'ed
version of it, when handling a "/tor/networkstatus-bridges"
directory request. Now compare correctly. Noticed by Veracode.


svn:r13609
2008-02-20 02:05:28 +00:00
Roger Dingledine
f34d46e7dd similarly, don't throw around an int for the uint8_t circ->state
svn:r13608
2008-02-20 01:01:09 +00:00
Roger Dingledine
7427cf5d56 don't throw around an int for relay_command if we're going to
squeeze it into a uint8_t later. also reported by veracode.


svn:r13607
2008-02-20 00:57:37 +00:00
Roger Dingledine
0977c29196 notice an integer overflow if we ever get source files with more
than 65k lines in them. also pointed out by veracode.


svn:r13606
2008-02-20 00:46:09 +00:00
Roger Dingledine
e9474ed28e if you thought r13604 was a kludge, how about this.
svn:r13605
2008-02-20 00:30:41 +00:00
Roger Dingledine
56a7c9238e be more clear about a possible integer underflow problem. this
should probably be fixed better somehow.


svn:r13604
2008-02-20 00:11:52 +00:00
Roger Dingledine
e0beb6cc5e check return value for crypto_pk_asn1_encode here too. thanks veracode.
svn:r13603
2008-02-19 23:59:16 +00:00
Nick Mathewson
260c37c14c r18236@catbus: nickm | 2008-02-19 18:55:21 -0500
Explain why I am right and veracode is wrong in routerparse.c line 1141.  Using math!


svn:r13602
2008-02-19 23:57:06 +00:00
Roger Dingledine
913f66278c rearrange our assert so we don't possibly overflow rh.length before
triggering the assert. reported by veracode.


svn:r13601
2008-02-19 23:54:17 +00:00
Nick Mathewson
0399538b90 r18233@catbus: nickm | 2008-02-19 18:46:07 -0500
Count sockets returned from socketpair() too.  This is probably not the socket counting bug.


svn:r13600
2008-02-19 23:46:08 +00:00
Roger Dingledine
707da4f73f start checking the return value of crypto_pk_asn1_encode() while
we're trying to establish an introduction point. bug reported
by veracode.


svn:r13599
2008-02-19 23:33:02 +00:00
Nick Mathewson
42c4670e27 r18230@catbus: nickm | 2008-02-19 18:29:43 -0500
Add a few asserts to catch possible errors found by veracode.


svn:r13598
2008-02-19 23:29:45 +00:00
Roger Dingledine
319c0d8933 is_reverse in our struct is uint8_t. don't make it be an int
elsewhere. bug reported by veracode.


svn:r13597
2008-02-19 23:14:34 +00:00
Nick Mathewson
dbcf29d301 r18228@catbus: nickm | 2008-02-19 18:05:53 -0500
Chris Palmer notes that almost nobody is using smartlist_set_capacity().  Chris Palmer is right.  Remove this basically pointless function.


svn:r13596
2008-02-19 23:05:56 +00:00
Nick Mathewson
9479dd3768 r18226@catbus: nickm | 2008-02-19 18:01:01 -0500
Brown-paper-bag time.  We were failing to count all the sockets from accept().


svn:r13595
2008-02-19 23:01:07 +00:00
Roger Dingledine
d1a195d3cb call a "number of characters" a size_t, not an int
svn:r13594
2008-02-19 22:52:50 +00:00
Roger Dingledine
c126b79f07 be more explicit about a harmless thing that freaked veracode out
svn:r13592
2008-02-19 22:32:32 +00:00
Nick Mathewson
4ccffd7aea r18218@catbus: nickm | 2008-02-19 17:27:40 -0500
When SafeLogging is off, have TLS errors and messages logged with their associated addresses.


svn:r13591
2008-02-19 22:27:44 +00:00
Roger Dingledine
810bfe970c make explicit that we don't care if a rename() call fails.
potential bug reported by veracode.


svn:r13590
2008-02-19 22:25:20 +00:00
Roger Dingledine
23e4c849c9 resolve another edge case in staying dormant
svn:r13586
2008-02-19 22:01:45 +00:00
Roger Dingledine
da7f0315e6 maybe it should compile too.
svn:r13585
2008-02-19 21:41:43 +00:00
Roger Dingledine
d964beac16 If we only ever used Tor for hidden service lookups or posts, we
would stop building circuits and start refusing connections after
24 hours, since we false believed that Tor was dormant. Reported
by nwf; bugfix on 0.1.2.x.


svn:r13583
2008-02-19 21:30:24 +00:00
Roger Dingledine
33c754315b clear up another connlimit lie
svn:r13582
2008-02-19 21:08:27 +00:00
Nick Mathewson
b98c437fcc r18195@catbus: nickm | 2008-02-19 14:11:15 -0500
TOR_PERF has not not been a sane thing for ages. Remove it.


svn:r13579
2008-02-19 19:30:37 +00:00
Roger Dingledine
be8a85dc1c document that if you enable TOR_PERF, you won't be compatible with the
main Tor network.


svn:r13577
2008-02-19 18:54:44 +00:00
Nick Mathewson
8c6b5d6640 r14246@tombo: nickm | 2008-02-17 19:33:02 -0500
Fix a wide line in control.c; make the check-spaces target ignore the openbsd malloc file.


svn:r13566
2008-02-19 05:08:27 +00:00
Nick Mathewson
3277e2a8ca r18142@catbus: nickm | 2008-02-18 14:24:31 -0500
Our preferred spelling for a bitfield is "unsigned int", not "unsigned" or "uint8_t".


svn:r13560
2008-02-18 19:24:33 +00:00
Nick Mathewson
08f7842384 r18139@catbus: nickm | 2008-02-18 13:14:05 -0500
Clarify logic in trusted_dirs_load_certs_from_string(); avoid a maybe-impossible maybe-not double-free spotted by lodger.


svn:r13558
2008-02-18 18:14:34 +00:00
Nick Mathewson
9e9b447b87 r14243@tombo: nickm | 2008-02-17 14:51:26 -0500
Better debugging to track down bug 606.  Also remove a break; that may have been the possible culprit


svn:r13547
2008-02-17 19:51:33 +00:00
Nick Mathewson
faa56a500b r14236@tombo: nickm | 2008-02-17 13:44:55 -0500
Partial fix for bug 586: Add an ephemeral __HashedControlSessionPassword.


svn:r13543
2008-02-17 18:45:07 +00:00
Roger Dingledine
4c1e516a09 cleanups and changelog entry for r13540
svn:r13542
2008-02-17 16:52:24 +00:00
Roger Dingledine
bd959adcb7 patch from karsten:
Resolved problems with (re-)fetching hidden service descriptors.
Before, v0 descriptors were not fetched at all (fix on 0.2.0.18-alpha),
re-fetching of v2 descriptors did not stop when a v0 descriptor was
received (fix on 0.2.0.18-alpha), and re-fetching of v2 descriptors did
not work in all cases (fix on 0.2.0.19-alpha).


svn:r13540
2008-02-17 16:47:47 +00:00
Nick Mathewson
6366dcd8ee r14186@tombo: nickm | 2008-02-15 18:38:52 -0500
Add an XXXX021 item so we eventually stop calling setuid() and setgid() unnecessarily.


svn:r13533
2008-02-15 23:39:17 +00:00
Nick Mathewson
24e8e1fb36 r14185@tombo: nickm | 2008-02-15 18:05:54 -0500
Replace the hefty tor_strpartition with a simple function to replace its only (trivial) use.


svn:r13532
2008-02-15 23:39:14 +00:00
Nick Mathewson
f5ed1f8469 r14183@tombo: nickm | 2008-02-15 17:37:53 -0500
Add initial unit tests for test_addr_compare_masked


svn:r13531
2008-02-15 23:39:10 +00:00
Nick Mathewson
ca4eb987c8 r14182@tombo: nickm | 2008-02-15 17:20:51 -0500
Defer, downgrade, or address more XXX020s.  The remaining ones are all ones we should deal with before release.


svn:r13530
2008-02-15 23:39:08 +00:00
Nick Mathewson
418c2e1b6b r14181@tombo: nickm | 2008-02-15 16:48:17 -0500
Fix all but 2 DOCDOC items; defer many XXX020s (particularly those where fixing them would fix no bugs at the risk of introducing some bugs).


svn:r13529
2008-02-15 23:39:04 +00:00
Nick Mathewson
ff64e78b20 r14170@tombo: nickm | 2008-02-15 11:50:38 -0500
Fix or downgrade a bunch of xxx020 items.


svn:r13527
2008-02-15 19:20:53 +00:00
Nick Mathewson
275bb57a77 r18068@catbus: nickm | 2008-02-13 11:33:19 -0500
Patch from karsten: make hidden service code respect SafeLogging.


svn:r13493
2008-02-13 16:34:00 +00:00
Nick Mathewson
d48f6425e5 r18066@catbus: nickm | 2008-02-13 11:22:19 -0500
Bugfix from Karsten: "Reversed r13439; v2 rendezvous descriptors were only re-fetched when a directory connection did not finish, not when a directory correctly replied with an error code like 404; bug found by nwf.


svn:r13492
2008-02-13 16:23:28 +00:00
Nick Mathewson
7ae3f6a491 r18056@catbus: nickm | 2008-02-12 17:21:10 -0500
Add roger's responses from IRC to some XXX020 items.


svn:r13487
2008-02-12 22:21:20 +00:00
Roger Dingledine
3abafccd0e Start choosing which bridge to use proportional to its advertised
bandwidth, rather than uniformly at random. This should speed up Tor
for bridge users. Also do this for people who set StrictEntryNodes.


svn:r13486
2008-02-12 22:02:47 +00:00
Nick Mathewson
f3eaeb99a3 r18051@catbus: nickm | 2008-02-12 15:20:43 -0500
Re-tune mempool parametes based on testing on peacetime: use smaller chuncks, free them a little more aggressively, and try very hard to concentrate allocations on fuller chunks.  Also, lots of new documentation.


svn:r13484
2008-02-12 20:20:52 +00:00
Nick Mathewson
aace52320c r18041@catbus: nickm | 2008-02-11 23:43:18 -0500
Make version negotiation and handshaking messages more useful and accurate.


svn:r13477
2008-02-12 04:43:25 +00:00
Nick Mathewson
8682293388 r18029@catbus: nickm | 2008-02-11 12:36:39 -0500
Fix command.c compilation with gcc 4.2 warnings enabled.


svn:r13475
2008-02-12 04:37:00 +00:00
Roger Dingledine
a89e523f19 note a simplification for the future
svn:r13466
2008-02-11 06:34:10 +00:00
Roger Dingledine
28483467d0 Directory mirrors no longer include a guess at the client's IP
address if the connection appears to be coming from the same /24
network; it was producing too many wrong guesses.


svn:r13464
2008-02-11 05:31:56 +00:00
Nick Mathewson
65ee9dc585 r14108@tombo: nickm | 2008-02-10 20:09:10 -0500
add some documentation


svn:r13462
2008-02-11 01:09:24 +00:00
Nick Mathewson
ab0c85eea6 r14103@tombo: nickm | 2008-02-10 13:40:09 -0500
Fix some XXX020s in command.c, and make it not-allowed to negotiate v1 using the v2 connection protocol: it is too hard to test, and pointless to support.


svn:r13460
2008-02-10 18:40:29 +00:00
Nick Mathewson
b5c03f05d8 r14102@tombo: nickm | 2008-02-10 13:30:04 -0500
Remove some deadcode.


svn:r13459
2008-02-10 18:40:27 +00:00
Nick Mathewson
a4db22f675 r14101@tombo: nickm | 2008-02-10 13:24:27 -0500
Merge connection_or_act_on_netinfo into command.c; remove some fields from or_handshake_state().


svn:r13458
2008-02-10 18:40:23 +00:00
Roger Dingledine
5a0f214908 patch from tup to fix bug 605
svn:r13453
2008-02-09 22:52:29 +00:00
Roger Dingledine
d2528e6b48 "fix" the unit tests on openbsd/netbsd
svn:r13450
2008-02-09 21:41:49 +00:00
Roger Dingledine
965afb4970 cleanups on r13442.
oh, and this should be backported too.


svn:r13444
2008-02-09 10:46:22 +00:00
Roger Dingledine
b42c9d69f0 Patch from "Andrew S. Lists" to catch when we contact a directory mirror
at IP address X and he says we look like we're coming from IP address X.


svn:r13442
2008-02-09 10:36:49 +00:00
Roger Dingledine
509d2912dc doxygen and other cleanups
svn:r13440
2008-02-09 03:11:10 +00:00
Nick Mathewson
be1e577d5e Re-fetch v2 rendezvous descriptor only when first try failed. Patch from karsten.
svn:r13439
2008-02-09 02:51:20 +00:00
Roger Dingledine
1f034cc5c7 note a question for nick
svn:r13437
2008-02-09 02:34:00 +00:00
Nick Mathewson
8f7fcdd64e r17991@catbus: nickm | 2008-02-08 18:41:26 -0500
More protocol negotiation work. Make the negotiation actually complete and set the state to open.  Fix a crash bug that occured when we forcibly stopped the connection from writing.


svn:r13434
2008-02-08 23:41:29 +00:00
Nick Mathewson
272d37deb3 r17989@catbus: nickm | 2008-02-08 18:09:23 -0500
Fix a new segfault when poisoning a non-present socks request.


svn:r13433
2008-02-08 23:09:26 +00:00
Nick Mathewson
a378bb5f5a r17985@catbus: nickm | 2008-02-08 16:30:02 -0500
Bugfix from Karsten Loesing: Retry v2 rend descriptors on intro point failure.


svn:r13431
2008-02-08 21:30:07 +00:00
Nick Mathewson
141a5877f3 r14063@tombo: nickm | 2008-02-08 15:48:32 -0500
Add a bunch more code documentation; change the interface of fetch_var_cell_from_buf() so it takes the current link protocol into account and can't get confused by weird command bytes on v1 connections.


svn:r13430
2008-02-08 21:13:15 +00:00
Nick Mathewson
de827f89df r14062@tombo: nickm | 2008-02-08 15:17:07 -0500
Change DNs in x509 certificates to be harder to fingerprint.  Raise common code.  Refactor random hostname generation into crypto.c


svn:r13429
2008-02-08 21:13:12 +00:00
Nick Mathewson
809227a121 r14061@tombo: nickm | 2008-02-08 14:30:42 -0500
Add a couple of (currently disabled) strategies for trying to avoid using too much ram in memory pools: prefer putting new cells in almost-full chunks, and be willing to free the last empty chunk if we have not needed it for a while.  Also add better output to mp_pool_log_status to track how many mallocs a given memory pool strategy is saving us, so we can tune the mempool parameters.


svn:r13428
2008-02-08 21:13:08 +00:00
Nick Mathewson
5d250d3e1b r14060@tombo: nickm | 2008-02-08 13:36:52 -0500
Fix warning in onion.c


svn:r13427
2008-02-08 21:13:05 +00:00
Nick Mathewson
8ab4b0d302 r14059@tombo: nickm | 2008-02-08 13:36:34 -0500
downgrade xxxs in test.c


svn:r13426
2008-02-08 21:13:02 +00:00
Nick Mathewson
23a9c9695b r17968@catbus: nickm | 2008-02-07 14:11:02 -0500
Clean up IPv6-testing code in test.c; resolve a bunch of XXX020s.


svn:r13425
2008-02-08 21:09:35 +00:00
Nick Mathewson
729555e1ca r17967@catbus: nickm | 2008-02-07 11:44:51 -0500
Fix some warnings identified by building with -D_FORTIFY_SOURCE=2.  Remove a redundant (and nuts) definition of _FORTIFY_SOURCE from eventdns.c.


svn:r13424
2008-02-08 21:09:29 +00:00
Nick Mathewson
eecc44dab8 r17963@catbus: nickm | 2008-02-07 10:14:25 -0500
Be more thorough about memory poisoning and clearing.  Add an in-place version of aes_crypt in order to remove a memcpy from relay_crypt_one_payload.


svn:r13414
2008-02-07 16:10:33 +00:00
Nick Mathewson
842a33ff20 Update some copyright notices: it is now 2008.
svn:r13412
2008-02-07 05:31:47 +00:00
Nick Mathewson
46b1a21dc4 r17955@catbus: nickm | 2008-02-06 16:53:07 -0500
The SSL portion of the revised handshake now seems to work: I just finally got a client and a server to negotiate versions.  Now to make sure certificate verification is really happening, connections are getting opened, etc.


svn:r13409
2008-02-06 21:53:13 +00:00
Nick Mathewson
4d70094b6e r17951@catbus: nickm | 2008-02-06 14:34:13 -0500
Add more documentation; change the behavior of read_to_buf_tls to be more consistent.  Note a longstanding problem with current read/write interfaces.


svn:r13407
2008-02-06 19:34:32 +00:00
Nick Mathewson
6e2946fb5d r17949@catbus: nickm | 2008-02-06 13:21:12 -0500
Fix bandwidth bucked calculations again, I think. Bugfix on 0.1.2.x. Backport candidate.


svn:r13406
2008-02-06 18:21:16 +00:00
Nick Mathewson
a869574c56 r17947@catbus: nickm | 2008-02-06 11:57:53 -0500
Fix a bunch of DOCDOC items; document the --quiet flag; refactor a couple of XXXX020 items.


svn:r13405
2008-02-06 16:58:05 +00:00
Roger Dingledine
f76cdc1a61 misc small fixes
svn:r13403
2008-02-06 12:46:46 +00:00
Roger Dingledine
c054f90f02 New config option ServerDNSAllowBrokenResolvConf to start a relay
even when the local resolv.conf file is missing, broken, or contains
only unusable nameservers.

Now I can run a local network on my laptop when I'm on an airplane.


svn:r13402
2008-02-06 12:46:17 +00:00
Roger Dingledine
bbcf406d9f If the networkstatus consensus lists no recommended versions, don't
complain to the user and demand that they upgrade to one of "".


svn:r13401
2008-02-06 12:45:04 +00:00
Roger Dingledine
e49d712b8a if i'm a v3 authority, tell myself about my cert when i startup.
otherwise i'll keep asking other authorities for it, which probably
isn't the best way to get it. this made bootstrapping a new network
very hard.


svn:r13400
2008-02-06 12:39:25 +00:00
Roger Dingledine
55971c71b6 if we have a networkstatus concensus but only 0 or 1 descriptors,
don't declare that we're ready to build circuits yet. we're not.


svn:r13399
2008-02-06 12:37:25 +00:00
Roger Dingledine
d1aafdc519 don't fetch or cache running-routers files if there are no v1
authorities


svn:r13398
2008-02-06 12:36:04 +00:00
Nick Mathewson
ec6c131da6 r17936@catbus: nickm | 2008-02-06 00:31:11 -0500
Fix/downgrade some more XXX020s.


svn:r13397
2008-02-06 05:31:21 +00:00
Nick Mathewson
368f62c79d r17933@catbus: nickm | 2008-02-05 19:54:28 -0500
Stamp out a bunch of atoi users; make more tor_parse_long() users check their outputs.


svn:r13395
2008-02-06 00:54:47 +00:00
Nick Mathewson
12071df6c8 r17930@catbus: nickm | 2008-02-05 18:20:40 -0500
Initial attempts to track down bug 600, and refactor possibly offending code.  1) complain early if circuit state is set to OPEN when an onionskin is pending.  2) refactor onionskin field into one only used when n_conn is pending, and a separate onionskin field waiting for attention by a cpuworker.  This might even fix the bug.  More likely, it will make it fail with a more useful core.


svn:r13394
2008-02-05 23:20:49 +00:00
Nick Mathewson
ff9bd0fd3a r17929@catbus: nickm | 2008-02-05 17:10:26 -0500
Fix or downgrade a few XXX020 items.


svn:r13393
2008-02-05 23:20:44 +00:00
Nick Mathewson
9c7eaa7a9d r17918@catbus: nickm | 2008-02-05 16:39:17 -0500
Remove a few #if-0d items.


svn:r13392
2008-02-05 21:39:56 +00:00
Nick Mathewson
7dc70c2405 r17917@catbus: nickm | 2008-02-05 16:38:15 -0500
Oops; fix compilation of control.c


svn:r13391
2008-02-05 21:39:51 +00:00
Nick Mathewson
fac2cd3b03 r17916@catbus: nickm | 2008-02-05 16:29:35 -0500
Fix some XXX020 items in control.c: add a maximum line length and note that the number of versioning authorities is no longer apparent to clients.


svn:r13390
2008-02-05 21:39:49 +00:00
Nick Mathewson
cf6fe27616 r17915@catbus: nickm | 2008-02-05 16:28:57 -0500
Remove a dead function.


svn:r13389
2008-02-05 21:39:46 +00:00
Nick Mathewson
92aaf68d19 r17914@catbus: nickm | 2008-02-05 16:12:16 -0500
Remove or downgrade some XXX020 items.


svn:r13388
2008-02-05 21:39:44 +00:00
Nick Mathewson
c11c48fc78 r17913@catbus: nickm | 2008-02-05 16:11:33 -0500
Correctly register failures in connection_add() in dnsserv_launch_request()


svn:r13387
2008-02-05 21:39:40 +00:00
Nick Mathewson
83e740fa91 r17911@catbus: nickm | 2008-02-05 15:53:22 -0500
Fix a potential bug that would make authorities fail to vote under bizarre circumstances that probably never happened.


svn:r13385
2008-02-05 21:39:36 +00:00
Nick Mathewson
e09c207c3c r17910@catbus: nickm | 2008-02-05 15:36:29 -0500
Check for correctness of AuthDir* options in options_validate; check for possible bugs where options_validate() is happy but parse_policies_from_options() is sad.


svn:r13384
2008-02-05 21:39:32 +00:00
Nick Mathewson
c8a689c9e8 r17909@catbus: nickm | 2008-02-05 14:48:22 -0500
As planned, rename networkstatus_vote_t to networkstatus_t, now that v3 networkstatuses are working and standard and v2 networkstatuses are obsolete.


svn:r13383
2008-02-05 21:39:29 +00:00
Nick Mathewson
a51deb9a9c r17903@catbus: nickm | 2008-02-05 14:40:03 -0500
Remove some dead code; fix some XXX020s; turn some XXX020s into XXXX_IP6s (i.e., "needs to be fixed when we add ipv6 support").


svn:r13382
2008-02-05 19:40:26 +00:00
Nick Mathewson
2866c53eec r17900@catbus: nickm | 2008-02-05 14:14:54 -0500
I wonder what the emacs command is for "exchange words?"  I know that there _is_ one, because I apparently hit it by accident.


svn:r13381
2008-02-05 19:40:21 +00:00
Nick Mathewson
3958d7b16f r17898@catbus: nickm | 2008-02-05 14:01:35 -0500
Add (and use) a MAP_DEL_CURRENT macro to augment a non-const variant of MAP_FOREACH.


svn:r13379
2008-02-05 19:40:17 +00:00
Nick Mathewson
2502359a5b r17897@catbus: nickm | 2008-02-05 13:51:40 -0500
Whitespace cleanups


svn:r13378
2008-02-05 19:40:15 +00:00
Roger Dingledine
fdbefc8934 If we're a relay, avoid picking ourselves as an introduction point,
a rendezvous point, or as the final hop for internal circuits. Bug
reported by taranis and lodger. Bugfix on 0.1.2.x.


svn:r13372
2008-02-04 17:25:24 +00:00
Roger Dingledine
426a9bbde1 Don't trigger an assert if we start a directory authority with a
private IP address (like 127.0.0.1).


svn:r13371
2008-02-04 16:58:50 +00:00
Roger Dingledine
dad9f434e0 correct copyright statement
svn:r13370
2008-02-04 16:54:14 +00:00
Nick Mathewson
91bac90310 r17863@catbus: nickm | 2008-02-01 00:27:07 -0500
Bugfix from weasel: possible fix for 593: make connection_write_to_buf("") work when using zlib compression.


svn:r13347
2008-02-01 05:27:12 +00:00
Nick Mathewson
f013fb5e31 r17854@catbus: nickm | 2008-01-30 17:52:43 -0500
Periodically check whether we have an expired consensus networkstatus.  If we do, and we think we have enough directory info, then call router_dir_info_changed().  Fixes bug 401.  This bug was deferred from 0.1.2.x, but fixing it there is nontrivial.


svn:r13342
2008-01-30 22:52:46 +00:00
Nick Mathewson
1793aeafae r17852@catbus: nickm | 2008-01-30 17:23:36 -0500
Correctly insert connections into the identity->connection map when we connect to a bridge without having specified its key.  Fixes bug 574.


svn:r13341
2008-01-30 22:23:44 +00:00
Roger Dingledine
78633b3a03 suggest a better fix for bug 597
svn:r13340
2008-01-30 20:53:14 +00:00
Nick Mathewson
0b06546620 r17844@catbus: nickm | 2008-01-30 13:31:37 -0500
Fix bug 597: stop telling people to email Tor-ops.  Also give a better suggestion when some other identity has been assigned the nickname we are using.


svn:r13337
2008-01-30 18:32:30 +00:00
Roger Dingledine
6dfd2f531c Revert r13301 and part of r13304. I guess nick's svk messed up.
svn:r13305
2008-01-27 01:03:30 +00:00
Nick Mathewson
68cf666d04 Fix bug 571: associate certificates with keys, not dirservers, so that we can have certificates for dirservers we do not recognize.
svn:r13304
2008-01-26 23:18:30 +00:00
Nick Mathewson
ad07366da5 Fix compile with warnings enabled
svn:r13301
2008-01-26 22:03:13 +00:00
Roger Dingledine
42f90bdc14 "de" means to do something, and "in" means to undo it. right?
help prevent future versions of bug 593.


svn:r13288
2008-01-26 01:05:16 +00:00
Roger Dingledine
af4b735e9a move hidden-service stuff out of directory.c
svn:r13287
2008-01-26 00:42:13 +00:00
Roger Dingledine
aa25bf1405 a slightly better interface for hid_serv_get_responsible_directories()
svn:r13271
2008-01-25 07:22:42 +00:00
Roger Dingledine
5fcc79185f avoid calling smartlist_get(..., -1) if we have a consensus but no
hsdir nodes.


svn:r13270
2008-01-25 07:11:32 +00:00
Roger Dingledine
d72ccd95a8 clean out some proposal 114 stuff
svn:r13269
2008-01-25 06:47:46 +00:00
Roger Dingledine
1445e17a21 We were computing the wrong Content-Length: header for directory
responses that need to be compressed on the fly, causing clients
asking for those items to always fail. Bugfix on 0.2.0.x; fixes
bug 593.


svn:r13268
2008-01-25 01:45:06 +00:00
Roger Dingledine
649a63f435 don't pre-initialize some vars that we assign to right after
svn:r13267
2008-01-25 01:34:20 +00:00
Roger Dingledine
d262fff20d patch "15" from karsten: don't retry a v2 renddesc fetch
if we have a perfectly good v0 renddesc.


svn:r13265
2008-01-24 22:49:14 +00:00
Roger Dingledine
cbe9863422 patch "14a" from karsten: don't fail if we can't find
REND_NUMBER_OF_CONSECUTIVE_REPLICAS v2 hsdirs.


svn:r13263
2008-01-24 22:46:29 +00:00
Peter Palfrader
ab79f53206 Some log messages during dirvoting - maybe downgrade to debug if you want
svn:r13261
2008-01-24 20:00:37 +00:00
Roger Dingledine
aca8d8fc03 patch from karsten to make vote logs more useful
svn:r13260
2008-01-24 19:48:16 +00:00
Roger Dingledine
ba7a37cf94 shrink it even more. coding is fun!
svn:r13258
2008-01-24 07:33:28 +00:00
Roger Dingledine
317f9e6551 more shrinking; get rid of selectible_dirs smartlist that was
leaking on error cases


svn:r13257
2008-01-24 07:22:59 +00:00
Roger Dingledine
529263f8ab continue r13250 cleanup: remove some duplicate code
svn:r13256
2008-01-24 06:58:10 +00:00
Roger Dingledine
4637a61b3c more cleanup on r13250: no need to log in both places
svn:r13253
2008-01-24 05:15:50 +00:00
Roger Dingledine
c973eb5e23 start to clean up r13250: retry v2 renddesc fetches when we
fail to reach the dirserver too.


svn:r13251
2008-01-24 04:45:30 +00:00
Roger Dingledine
6b1374556e put in karsten's "patch 14". needs a lot of cleanup and a changelog.
svn:r13250
2008-01-24 03:28:50 +00:00
Roger Dingledine
980fcb1ca7 When we get a consensus that's been signed by more people than
we expect, don't log about it; it's not a big deal.


svn:r13249
2008-01-24 02:31:37 +00:00
Roger Dingledine
e67f23f897 weasel was worried there was a leak here. i don't think there
is. but i could be wrong.


svn:r13248
2008-01-24 01:14:50 +00:00
Peter Palfrader
12bd40931b Fix a warning
svn:r13243
2008-01-23 09:05:40 +00:00
Peter Palfrader
1d91c156fe Some people still think letters fall off the side of the code if they go farther than 80 chars
svn:r13242
2008-01-23 08:45:14 +00:00
Peter Palfrader
fc91704f78 Log where uploaded consensus signatures come from
svn:r13241
2008-01-23 08:38:05 +00:00
Roger Dingledine
9d1832dd5a Set up dannenberg (run by CCC) as the sixth v3 directory
authority.


svn:r13231
2008-01-22 22:38:38 +00:00
Roger Dingledine
a49f14d0d4 When we setconf ClientOnly to 1, close any current OR and Dir
listeners. Reported by mwenge.


svn:r13214
2008-01-21 21:21:19 +00:00
Roger Dingledine
b79850d574 Make "ClientOnly 1" config option disable directory ports too.
svn:r13213
2008-01-21 21:00:50 +00:00
Roger Dingledine
ff62154ba3 New config options WarnPlaintextPorts and RejectPlaintextPorts so
Tor can warn and/or refuse connections to ports commonly used with
vulnerable-plaintext protocols.

We still need to figure out some good defaults for them.


svn:r13198
2008-01-20 05:54:15 +00:00
Roger Dingledine
a1f2817307 minor cleanups
svn:r13190
2008-01-19 20:00:53 +00:00
Roger Dingledine
7dde7b02a2 try to grow a convention about where we put the time_to_foo and
FOO_INTERVAL declarations.


svn:r13177
2008-01-18 05:00:35 +00:00
Roger Dingledine
43dce232ad If we've gone 12 hours since our last bandwidth check, and we
estimate we have less than 50KB bandwidth capacity but we could
handle more, do another bandwidth test.


svn:r13176
2008-01-18 04:58:40 +00:00
Roger Dingledine
3d3663a123 Don't answer "/tor/networkstatus-bridges" directory requests if
the request isn't encrypted.


svn:r13175
2008-01-18 04:51:12 +00:00
Roger Dingledine
6228213647 minor typo
svn:r13174
2008-01-18 04:50:15 +00:00
Roger Dingledine
4682e5f924 when we're counting how many descriptors to not download, be a
little bit more accurate


svn:r13173
2008-01-18 04:47:03 +00:00
Roger Dingledine
06047bcec9 Avoid going directly to the directory authorities even if you're a
relay, if you haven't found yourself reachable yet or if you've
decided not to advertise your dirport yet. Addresses bug 556.


svn:r13172
2008-01-18 04:42:22 +00:00
Roger Dingledine
55e052b0a5 Assert error introduced in r11957:
Fix an assert if we post a general-purpose descriptor via the
control port but that descriptor isn't mentioned in our current
network consensus. Bug reported by Jon McLachlan; bugfix on
0.2.0.9-alpha.


svn:r13153
2008-01-17 05:25:21 +00:00
Nick Mathewson
4a3b7496f0 r17639@catbus: nickm | 2008-01-15 19:09:21 -0500
Fix some hard to trigger but nonetheless real memory leaks spotted by an anonymous contributor.  Needs review.  Partial backport candidate.


svn:r13147
2008-01-16 05:27:19 +00:00
Nick Mathewson
24aae484c9 r17624@catbus: nickm | 2008-01-15 00:42:01 -0500
Fixes to more anonymously-reported typos and logic errors.


svn:r13136
2008-01-15 05:57:19 +00:00
Nick Mathewson
a984011814 r17623@catbus: nickm | 2008-01-15 00:22:04 -0500
bulletproof option_get_canonical_name()


svn:r13135
2008-01-15 05:57:14 +00:00
Nick Mathewson
89dfec02d8 r17614@catbus: nickm | 2008-01-14 13:55:25 -0500
Add a missing "goto err" when parsing v2 ns docs


svn:r13133
2008-01-14 19:00:33 +00:00
Nick Mathewson
581ba51c5c r17612@catbus: nickm | 2008-01-14 13:46:04 -0500
Oops; fix compile


svn:r13131
2008-01-14 19:00:26 +00:00
Nick Mathewson
3b8f76aa51 r17611@catbus: nickm | 2008-01-14 13:44:16 -0500
add some missing checks for failing return values.


svn:r13130
2008-01-14 19:00:23 +00:00
Nick Mathewson
e49229caf8 r17610@catbus: nickm | 2008-01-14 13:20:49 -0500
Fix a bogus free() call on a base64 failure in router_append_dirobj_signature().


svn:r13129
2008-01-14 19:00:19 +00:00
Nick Mathewson
edf5e70784 r15891@tombo: nickm | 2008-01-12 19:20:24 -0500
Basic hacks to get TLS handshakes working: remove dead code; fix post-handshake logic; keep servers from writing while the client is supposed to be renegotiating.  This may work.  Needs testing.


svn:r13122
2008-01-13 00:20:47 +00:00
Nick Mathewson
ae6df065ed r15890@tombo: nickm | 2008-01-12 17:19:51 -0500
Add a --disable-buffer-freelists configure argument to build without buffer RAM chunk freelists, so we can benchmark the impact of this.


svn:r13121
2008-01-13 00:20:44 +00:00
Nick Mathewson
705b4670d3 r17580@catbus: nickm | 2008-01-11 20:40:30 -0500
Fix policies.c build on gcc 4.2 with warnings.


svn:r13112
2008-01-12 05:52:59 +00:00
Roger Dingledine
4e9a701d4b fix unit tests after r13092
svn:r13100
2008-01-10 23:11:13 +00:00
Nick Mathewson
b84955285a r17564@catbus: nickm | 2008-01-10 13:19:59 -0500
Fix bug in r13094: be sure to set the purpose and send_unencrypted fields correctly in our own routerinfo and extrainfo.


svn:r13098
2008-01-10 18:20:04 +00:00
Nick Mathewson
10d86f7615 r17558@catbus: nickm | 2008-01-10 13:07:41 -0500
If we do not serve v2 directory info, and our cached v2 networkstatus files are very old, remove them.  If the directory is old, remove that too.  (We already did this for obsolete routers files.)


svn:r13096
2008-01-10 18:08:42 +00:00
Roger Dingledine
2ac1e36248 minor cleanups
svn:r13095
2008-01-10 17:54:24 +00:00
Nick Mathewson
04263648c4 r17554@catbus: nickm | 2008-01-10 12:48:29 -0500
Do not send bridge descriptors over unencrypted connections.


svn:r13094
2008-01-10 17:48:40 +00:00
Nick Mathewson
29b0f51a73 r17553@catbus: nickm | 2008-01-10 12:18:27 -0500
Add connection_dir_is_encrypted() so that we can refrain from sending bridge descriptors over an unencrypted link.


svn:r13093
2008-01-10 17:48:36 +00:00
Nick Mathewson
59fdab43cd r17552@catbus: nickm | 2008-01-10 12:13:43 -0500
Make bridge geoip data get rounded up, not down.


svn:r13092
2008-01-10 17:48:32 +00:00
Nick Mathewson
ca5f670fab r17548@catbus: nickm | 2008-01-10 11:08:12 -0500
Make proposal-109 behavior optional.


svn:r13090
2008-01-10 16:08:47 +00:00
Roger Dingledine
a7eef34a03 Jan 08 19:55:01.865 [notice] Added -2 pending signatures while building consensus.
svn:r13080
2008-01-09 01:06:19 +00:00
Roger Dingledine
7d3bf1608b Set up gabelmoo (run by Karsten Loesing) as the fifth v3 directory
authority.


svn:r13079
2008-01-08 23:51:48 +00:00
Roger Dingledine
8609c825e9 our defensive programming plan hid a bug. switch to offensive programming.
svn:r13078
2008-01-08 23:35:03 +00:00
Roger Dingledine
50f4cd10ad don't rebuild the router store for all those times when we
fetch one descriptor and then we don't like it


svn:r13077
2008-01-08 23:31:25 +00:00
Roger Dingledine
58d88dfc7f make new v3 authorities that aren't in the DirServers list believe
in themselves again. bug experienced by karsten.


svn:r13076
2008-01-08 23:08:39 +00:00
Nick Mathewson
177d5102d5 r17503@catbus: nickm | 2008-01-07 14:15:30 -0500
Change set_current_consensus interface to take a flags variable.  Do not try to fetch certificates until after we have tried loading the fallback consensus.  Should fix bug 583.


svn:r13058
2008-01-07 19:15:34 +00:00
Nick Mathewson
a62ab48d30 r17500@catbus: nickm | 2008-01-07 13:54:51 -0500
More messing about with bug 557 issues: do not let bizarre settings for myfamily or contactinfo muck with generated router descriptors.


svn:r13057
2008-01-07 18:54:58 +00:00
Nick Mathewson
dd35fe59c4 r17499@catbus: nickm | 2008-01-07 13:39:46 -0500
Bugfix on fix for 557: Make values containing special characters work right with getconf, setconf, and saveconf.  Document this in control-spec.txt


svn:r13056
2008-01-07 18:54:55 +00:00
Nick Mathewson
a63eb68fe1 r17495@catbus: nickm | 2008-01-07 12:48:56 -0500
Consequence of fix for 539: when a client gets a 503 response with a nontrivial body, pretend it got a 200 response.  This lets clients use information erroneously sent to them by old buggy servers.


svn:r13054
2008-01-07 17:49:13 +00:00
Roger Dingledine
ea2280ada7 hack at networkstatus.c until we actually try to load our
fallback consensus. nick, can you take a closer look at this,
and add a changelog entry if it's a valid fix?


svn:r13050
2008-01-07 15:41:47 +00:00
Roger Dingledine
5a912aa1c8 cleanups on r13037
svn:r13045
2008-01-06 23:37:48 +00:00
Nick Mathewson
d73b791969 r17473@catbus: nickm | 2008-01-05 22:15:05 -0500
Add a reverse mapping from SSL to tor_tls_t*: we need this in order to do a couple of things the sensible way from inside callbacks.  Also, add a couple of missing cases in connection_or.c


svn:r13040
2008-01-06 03:16:11 +00:00
Roger Dingledine
5aa7ce2915 patch from karsten to complain less when a node loses
its hsdir status


svn:r13037
2008-01-06 01:54:09 +00:00
Nick Mathewson
17036de8b7 r17469@catbus: nickm | 2008-01-05 20:14:07 -0500
Fix bug 579: Count DNSPort and hidden services when checking whether Tor is going to do anything.  Change "no configured ports" from fatal to warning.


svn:r13036
2008-01-06 01:14:11 +00:00
Nick Mathewson
614dc52623 r17467@catbus: nickm | 2008-01-05 19:54:20 -0500
fix whitespace


svn:r13035
2008-01-06 00:54:22 +00:00
Nick Mathewson
58de695f90 r15787@tombo: nickm | 2008-01-02 01:59:07 -0500
Allow config values in quotes to contain special characters, with full C escape syntax.  With tests.  Addresses bug 557.


svn:r13021
2008-01-02 06:59:15 +00:00
Nick Mathewson
86f5180853 r15786@tombo: nickm | 2008-01-02 01:11:51 -0500
Push the strdups used for parsing configuration lines into parse_line_from_string().  This will make it easier to parse more complex value formats, which in turn will help fix bug 557


svn:r13020
2008-01-02 06:59:12 +00:00