Peter Palfrader
783c52b6df
Reject relative control socket paths and emit a warning.
...
Previously we would accept relative paths, but only if they contained a
slash somewhere (not at the end).
Otherwise we would silently not work. Closes : #9258 . Bugfix on
0.2.3.16-alpha.
2013-07-15 09:04:17 -04:00
Roger Dingledine
6848e29307
cosmetic cleanups
2013-07-14 02:49:34 -04:00
Nick Mathewson
aac732322a
Merge remote-tracking branch 'public/gsoc-ctoader-cap-phase1-squashed'
2013-07-12 17:12:43 -04:00
Nick Mathewson
14d5e7f85e
Remove a bogus semicolon spotted by Gisle Vanem
2013-07-11 15:53:35 -04:00
Cristian Toader
f9c1ba6493
Add a basic seccomp2 syscall filter on Linux
...
It's controlled by the new Sandbox argument. Right now, it's rather
coarse-grained, it's Linux-only, and it may break some features.
2013-07-11 09:13:13 -04:00
Nick Mathewson
ec6c155f82
Add some basic unit tests for the circuit map data structure.
...
These show off the new mocking code by mocking the circuitmux code
so that we can test the circuit map code in isolation.
2013-07-10 15:26:34 -04:00
Nick Mathewson
17e9fc09c3
Coverage support: build with --enable-coverage to have tests run with gcov
...
If you pass the --enable-coverage flag on the command line, we build
our testing binaries with appropriate options eo enable coverage
testing. We also build a "tor-cov" binary that has coverage enabled,
for integration tests.
On recent OSX versions, test coverage only works with clang, not gcc.
So we warn about that.
Also add a contrib/coverage script to actually run gcov with the
appropriate options to generate useful .gcov files. (Thanks to
automake, the .o files will not have the names that gcov expects to
find.)
Also, remove generated gcda and gcno files on clean.
2013-07-10 15:22:16 -04:00
Nick Mathewson
a3e0a87d95
Completely refactor how FILENAME_PRIVATE works
...
We previously used FILENAME_PRIVATE identifiers mostly for
identifiers exposed only to the unit tests... but also for
identifiers exposed to the benchmarker, and sometimes for
identifiers exposed to a similar module, and occasionally for no
really good reason at all.
Now, we use FILENAME_PRIVATE identifiers for identifiers shared by
Tor and the unit tests. They should be defined static when we
aren't building the unit test, and globally visible otherwise. (The
STATIC macro will keep us honest here.)
For identifiers used only by the unit tests and never by Tor at all,
on the other hand, we wrap them in #ifdef TOR_UNIT_TESTS.
This is not the motivating use case for the split test/non-test
build system; it's just a test example to see how it works, and to
take a chance to clean up the code a little.
2013-07-10 15:20:10 -04:00
Nick Mathewson
f7d654b81e
Start work on fancy compiler tricks to expose extra stuff to our tests
...
This is mainly a matter of automake trickery: we build each static
library in two versions now: one with the TOR_UNIT_TESTS macro
defined, and one without. When TOR_UNIT_TESTS is defined, we can
enable mocking and expose more functions. When it's not defined, we
can lock the binary down more.
The alternatives would be to have alternate build modes: a "testing
configuration" for building the libraries with test support, and a
"production configuration" for building them without. I don't favor
that approach, since I think it would mean more people runnning
binaries build for testing, or more people not running unit tests.
2013-07-10 15:20:09 -04:00
Nick Mathewson
fab99844fc
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-07-08 11:35:48 -04:00
Nick Mathewson
b34279d3ab
Add a comment and a check for why flag indices will be <= 63
2013-07-08 11:35:06 -04:00
Nick Mathewson
15cd79f832
FIx undefined behavior in dirvote.c
...
Fix a bug in the voting algorithm that could yield incorrect results
when a non-naming authority declared too many flags. Fixes bug 9200;
bugfix on 0.2.0.3-alpha.
Found by coverity scan.
2013-07-03 12:01:37 -04:00
Nick Mathewson
0c3d676f9e
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-06-29 03:51:53 -04:00
Nick Mathewson
c955149271
Give a warning when bufferevents are enabled.
...
Ticket 9147.
2013-06-29 03:45:40 -04:00
Nick Mathewson
cde1a2ca05
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-06-24 12:55:29 -04:00
Nick Mathewson
ca6aacce16
Fix bug 9122: don't allow newdefaultoptions to be NULL
...
(This caused a crash that was reported as bug 9122, but the underlying
behavior has been wrong for a while.)
Fix on 0.2.3.9-alpha.
2013-06-24 12:53:37 -04:00
Marek Majkowski
10480dff01
Fix #5584 - raise awareness of safer logging - warn about potentially unsafe config options
2013-06-24 11:22:34 -04:00
Marek Majkowski
1555876d5f
Fix #9108 - make global_circuitlist a doubly linked list
2013-06-20 16:56:54 +01:00
Marek Majkowski
d7538b57b4
Don't access global_circuitlist variable directly. Use a getter instead.
2013-06-20 16:40:05 +01:00
Nick Mathewson
f7986269c3
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-06-18 14:47:15 -04:00
Nick Mathewson
7c4544e5a4
Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
2013-06-18 14:45:29 -04:00
Nick Mathewson
60d633c73a
Fix some problems with the bug9002 fix.
...
Fixes bug 9090; bug not in any released Tor.
2013-06-18 11:54:57 -04:00
Nick Mathewson
b5d1fded3d
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-06-18 10:25:30 -04:00
Nick Mathewson
efa342f5fa
Tweak bug9063_redux patch: {n_p}_chan_cells, not {n,p}_conn_cells
2013-06-18 10:25:10 -04:00
Nick Mathewson
d3063da691
Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
...
Conflicts:
src/or/config.c
src/or/relay.c
2013-06-18 10:23:03 -04:00
Nick Mathewson
c37fdc2eef
Merge branch 'bug9063_redux_023_squashed' into maint-0.2.3
2013-06-18 10:16:47 -04:00
Nick Mathewson
2e1fe1fcf9
Implement a real OOM-killer for too-long circuit queues.
...
This implements "algorithm 1" from my discussion of bug #9072 : on OOM,
find the circuits with the longest queues, and kill them. It's also a
fix for #9063 -- without the side-effects of bug #9072 .
The memory bounds aren't perfect here, and you need to be sure to
allow some slack for the rest of Tor's usage.
This isn't a perfect fix; the rest of the solutions I describe on
codeable.
2013-06-18 10:15:16 -04:00
Nick Mathewson
2974c83735
Merge remote-tracking branch 'public/bug9082'
2013-06-17 11:57:55 -04:00
Nick Mathewson
0748c06f7c
Fix bug 9082: avoid leak when freeing destroy cell queues
...
In my #7912 fix, there wasn't any code to remove entries from the
(channel, circuit ID)->circuit map corresponding to queued but un-sent
DESTROYs.
Spotted by skruffy. Fixes bug 9082; bug not in any released Tor.
2013-06-17 11:30:56 -04:00
Nick Mathewson
dc516a5436
Limit hidden service descriptors to at most 10 guard nodes.
...
Fixes bug 9002; bugfix on 0.1.1.11-alpha (which introduced guard
nodes), or on 0.0.6pre1 (which introduced hidden services).
2013-06-16 20:24:48 -04:00
Andrea Shepard
469bd7a3cf
Merge branch 'bug9072-024' into bug9072-025
2013-06-15 02:27:23 -07:00
Andrea Shepard
9e45d940d4
Merge branch 'bug9072-023' into bug9072-024
2013-06-15 02:20:19 -07:00
Andrea Shepard
2a95f31716
Disable middle relay queue overfill detection code due to possible guard discovery attack
2013-06-15 02:16:00 -07:00
Nick Mathewson
6f5a720d15
Merge branch 'circuit_queue_cap-0.2.5-squashed'
...
Conflicts:
src/or/relay.c
2013-06-14 01:50:17 -04:00
Nick Mathewson
bd6bd1c9be
Fix signed/unsigned comparison warning
2013-06-14 01:41:53 -04:00
Nick Mathewson
c974582291
Increase the limit so leaky pipe might work
2013-06-14 01:40:35 -04:00
Nick Mathewson
79cdf81ec1
Increase the limit so leaky pipe might work
2013-06-14 01:37:22 -04:00
Nick Mathewson
9e8c104ab8
Increase the limit so leaky pipe might work
2013-06-14 01:35:21 -04:00
Andrea Shepard
459aada4d0
Don't queue more cells as a middle relay than the spec allows to be in flight
2013-06-13 21:59:01 -07:00
Andrea Shepard
418c2845d0
Don't queue more cells as a middle relay than the spec allows to be in flight
2013-06-13 21:53:36 -07:00
Andrea Shepard
4cce58d3c2
Don't queue more cells as a middle relay than the spec allows to be in flight
2013-06-13 21:39:04 -07:00
Nick Mathewson
483385d2bd
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-06-13 21:59:27 -04:00
Nick Mathewson
73ca1cf8b7
Rename networkstatus_dl_interval() -> networkstatus_dl_check_interval()
2013-06-13 12:44:46 -04:00
Nick Mathewson
45424b2ca1
Merge remote-tracking branch 'linus/bug8532'
2013-06-13 12:42:49 -04:00
Nick Mathewson
caa0d15c49
If we write the annotation but not the microdescriptor, rewind.
...
This fixes bug 9047 (and some parts of 9031, 8922, 8883 that weren't
fixed in 8822). Bugfix on 0.2.2.6-alpha.
2013-06-13 12:29:01 -04:00
Nick Mathewson
4b781e24fb
Merge remote-tracking branch 'public/bug7912_squashed'
2013-06-13 10:31:02 -04:00
Nick Mathewson
e61df2ec65
Fix compile warnings wrt printf formating of int64_t
2013-06-13 10:30:34 -04:00
Andrea Shepard
16f9861b22
Add destroy balance tracking and logging to circuitmux
2013-06-13 10:14:36 -04:00
Nick Mathewson
43d53e6d86
Implementation of a fix for bug 7912
...
I added the code to pass a destroy cell to a queueing function rather
than writing it immediately, and the code to remember that we
shouldn't reuse the circuit id until the destroy is actually sent, and
the code to release the circuit id once the destroy has been sent...
and then I finished by hooking destroy_cell_queue into the rest of
Tor.
2013-06-13 10:14:00 -04:00
Nick Mathewson
801eea03ad
Code to track on a circuit whether it has a "pending" delete cell
...
This will be used in a fix for bug7912.
2013-06-13 10:14:00 -04:00
Nick Mathewson
2949849143
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-06-13 09:43:53 -04:00
Nick Mathewson
25dddf7a8f
Merge remote-tracking branch 'public/bug8822' into maint-0.2.4
2013-06-13 09:40:32 -04:00
Nick Mathewson
d7d6529898
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-06-12 20:55:53 -04:00
Nick Mathewson
75b7cc1785
Merge remote-tracking branch 'andrea/bug8639_v3' into maint-0.2.4
2013-06-12 20:55:35 -04:00
Nick Mathewson
e602c4031b
Make all consumers of microdesc_t.body tolerate NULL
...
This is another fix to try to mitigate recurrences of 8031/8822.
2013-06-12 12:12:11 -04:00
Nick Mathewson
f455686b77
Unmap the microdescriptor cache before replacing it.
...
This is a reprise of the fix in bdff7e3299d78; 6905c1f6
reintroduced
that bug. Briefly: windows doesn't seem to like deleting a mapped
file. I tried adding the PROT_SHARED_DELETE flag to the createfile
all, but that didn't actually fix this issue. Fortunately, the unit
test I added in 4f4fc63fea
should
prevent us from making this particular screw-up again.
This patch also tries to limit the crash potential of a failure to
write by a little bit, although it could do a better job of retaining
microdescriptor bodies.
Fix for bug 8822, bugfix on 0.2.4.12-alpha.
2013-06-12 12:04:33 -04:00
Linus Nordberg
c132427db4
Hide consensus download interval, depending on TestingTorNetwork, in a macro.
2013-06-10 23:04:20 +02:00
Nick Mathewson
c300720bfa
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-06-10 12:28:30 -04:00
Nick Mathewson
607b29ae1a
Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
2013-06-10 12:26:39 -04:00
Nick Mathewson
77a1935339
Fix (Open?)BSD fast-connect bug with optimistic data.
...
There's an assertion failure that can occur if a connection has
optimistic data waiting, and then the connect() call returns 0 on the
first attempt (rather than -1 and EINPROGRESS). That latter behavior
from connect() appears to be an (Open?)BSDism when dealing with remote
addresses in some cases. (At least, I've only seen it reported with
the BSDs under libevent, even when the address was 127.0.0.1. And
we've only seen this problem in Tor with OpenBSD.)
Fixes bug 9017; bugfix on 0.2.3.1-alpha, which first introduced
optimistic data. (Although you could also argue that the commented-out
connection_start_writing in 155c9b80
back in 2002 is the real source
of the issue.)
2013-06-10 12:14:49 -04:00
Linus Nordberg
4d54b9774d
Add support for offsetting the voting interval in order to bootstrap faster.
...
A new option TestingV3AuthVotingStartOffset is added which offsets the
starting time of the voting interval. This is possible only when
TestingTorNetwork is set.
This patch makes run_scheduled_events() check for new consensus
downloads every second when TestingTorNetwork, instead of every
minute. This should be fine, see #8532 for reasoning.
This patch also brings MIN_VOTE_SECONDS and MIN_DIST_SECONDS down from
20 to 2 seconds, unconditionally. This makes sanity checking of
misconfiguration slightly less sane.
Addresses #8532 .
2013-06-08 15:25:32 +02:00
Andrea Shepard
ce147a2a9a
When launching a resolve request on behalf of an AF_UNIX control, omit the address field of the new entry connection. Fixes bug 8639.
2013-05-31 15:35:51 -07:00
Nick Mathewson
97d1caadfd
Start correctly when not in testing mode.
...
You can't use != to compare arbitary members of or_options_t.
(Also, generate a better error message to say which Testing* option
was set.)
Fix for bug 8992. Bugfix on b0d4ca49
. Bug not in any released Tor.
2013-05-28 16:13:06 -04:00
Nick Mathewson
d3125a3e40
Merge remote-tracking branch 'karsten/task-6752-3'
2013-05-28 10:59:35 -04:00
Karsten Loesing
3795f6a78b
Try harder to document default_options correctly.
2013-05-25 07:33:37 +02:00
Nick Mathewson
eef42d3863
Reformat 4282 fixes a little
2013-05-24 13:37:14 -04:00
Nick Mathewson
57e4324c42
Fix a logic error in 4282 fixes
...
check_or_create_data_subdir has succeeded when it returns 0, not
when it returns negative.
2013-05-24 13:36:15 -04:00
Peter Retzlaff
5b7eaa3765
Extract duplicate code in geoip and rephist.
...
Create new methods check_or_create_data_subdir() and
write_to_data_subdir() in config.c and use them throughout
rephist.c and geoip.c.
This should solve ticket #4282 .
2013-05-24 13:12:18 -04:00
Nick Mathewson
b4b0063e48
Tweak fix for #8789 a bit; avoid double-close and add changes file
2013-05-24 12:23:21 -04:00
Arlo Breault
d25e77f2c3
Close socket at err target.
...
In connection_listener_new().
See #8789 .
2013-05-24 12:05:57 -04:00
Karsten Loesing
b0d4ca4990
Tweak #6752 patch based on comments by nickm.
2013-05-24 10:28:31 +02:00
Nick Mathewson
f5820a1bf1
Restore 8093 log messages to WARN severity, but rate limit
...
See #8093 for discussion
2013-05-21 14:00:30 -04:00
Nick Mathewson
feeef00a6a
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-05-21 13:46:28 -04:00
Nick Mathewson
30c06c187a
Downgrade the unexpected sendme cell warnings for 0.2.4
...
See discussion on #8093
2013-05-21 13:45:21 -04:00
Nick Mathewson
cb488f9973
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-05-20 15:59:08 -04:00
Andrea Shepard
a2e72ac04a
Copy-paste description of PathBias params from man page to or.h comment
2013-05-20 12:46:00 -07:00
Nick Mathewson
382dbe9819
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-05-17 14:54:19 -04:00
Nick Mathewson
bc56918e5a
Fix bug 8846: better log message on IP version confusion
2013-05-17 14:50:45 -04:00
Karsten Loesing
1293835440
Lower dir fetch retry schedules in testing networks.
...
Also lower maximum interval without directory requests, and raise
maximum download tries.
Implements #6752 .
2013-05-16 12:08:48 +02:00
Nick Mathewson
69f66b960c
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-05-15 10:44:17 -04:00
Roger Dingledine
0bfaf86612
Fix socks5 handshake for username/password auth
...
The fix for bug 8117 exposed this bug, and it turns out real-world
applications like Pidgin do care. Bugfix on 0.2.3.2-alpha; fixes bug 8879.
2013-05-15 03:34:37 -04:00
Arlo Breault
88a780d899
Check the return value of memchr().
...
For quality-of-implementation in munge_extrainfo_into_routerinfo().
See #8791
2013-05-14 12:23:17 -04:00
Andrea Shepard
50beb81d53
Merge branch 'maint-0.2.4'
2013-05-10 21:05:34 -07:00
Andrea Shepard
aaa3a085db
Merge bug5595-v2-squashed into maint-0.2.4
2013-05-10 19:39:48 -07:00
Andrea Shepard
ac73ceb728
Rephrase comment in trusted_dirs_load_certs_from_string() to reflect 5595 fix
2013-05-09 10:55:07 -07:00
Andrea Shepard
17692b2fe2
Make warning in authority_cert_dl_failed() LD_BUG per NickM code review
2013-05-09 10:55:07 -07:00
Andrea Shepard
2824bf3445
Use tor_asprintf() and clean up string handling in authority_certs_fetch_missing()
2013-05-09 10:55:02 -07:00
Andrea Shepard
c0d96bae66
Clean up ugly constants in connection_dir_download_cert_failed(), and fix a broken one
2013-05-09 10:55:02 -07:00
Andrea Shepard
7b6ee54bdc
Avoid duplicate downloads by (fp,sk) and by fp for authority certs when bootstrapping
2013-05-09 10:55:01 -07:00
Andrea Shepard
fddb814fea
When downloading certificates, distinguish requesting by identity digest from requesting by ID digest, signing key pair; fixes bug 5595
2013-05-09 10:55:01 -07:00
Andrea Shepard
d5bd4a4763
Implement fp_pair_map_t
2013-05-09 10:54:55 -07:00
Nick Mathewson
82ab33c9a6
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-05-09 13:20:01 -04:00
Nick Mathewson
bae5dd6c8d
Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
2013-05-09 13:14:53 -04:00
Nick Mathewson
00e2310f12
Don't run off the end of the array-of-freelists
...
This is a fix for bug 8844, where eugenis correctly notes that there's
a sentinel value at the end of the list-of-freelists that's never
actually checked. It's a bug since the first version of the chunked
buffer code back in 0.2.0.16-alpha.
This would probably be a crash bug if it ever happens, but nobody's
ever reported something like this, so I'm unsure whether it can occur.
It would require write_to_buf, write_to_buf_zlib, read_to_buf, or
read_to_buf_tls to get an input size of more than 32K. Still, it's a
good idea to fix this kind of thing!
2013-05-09 13:10:48 -04:00
Andrea Shepard
9c58905a2b
Merge branch 'maint-0.2.4' into master
2013-05-07 02:24:08 -07:00
Nick Mathewson
a1d7f7ea50
Use a clearer idiom for node identity in router_counts_toward_thresholds
2013-05-05 18:55:19 -04:00
Nick Mathewson
139d367f29
Fix 8833: crash bug from using NULL node->ri in dirserv.c
...
It appears that moria1 crashed because of one instance of this (the
one in router_counts_toward_thresholds). The other instance I fixed
won't actually have broken anything, but I think it's more clear this
way.
Fixes bug 8833; bugfix on 0.2.4.12-alpha.
2013-05-05 18:52:53 -04:00
Nick Mathewson
ef83db4fe8
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-04-24 22:16:07 -04:00
Nick Mathewson
f8bb0064d6
Merge remote-tracking branch 'public/bug6026' into maint-0.2.4
2013-04-24 22:15:47 -04:00
Nick Mathewson
68ea7d24d8
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-04-24 22:05:41 -04:00
Mike Perry
ac22bf27d7
Increase the pathbias state file miscounting version check.
...
We now know the bug is present in 0.2.4.12-alpha too. It should be fixed in
0.2.4.13-alpha, though.
2013-04-24 22:03:03 -04:00
Mike Perry
2170f89a93
Bug 8235: Fix scaling adjustments.
...
We need to subtract both the current built circuits *and* the attempted
circuits from the attempt count during scaling, since *both* have already been
counted there.
2013-04-24 22:03:02 -04:00
Nick Mathewson
6defb10d72
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-04-18 22:45:12 -04:00
Nick Mathewson
b933360ee8
Add a boolean to flag-thresholds for "we have enough measured bandwidth"
...
Implements #8711 .
2013-04-18 22:43:52 -04:00
Nick Mathewson
0124b10d28
Turn on ntor by default client-side
...
Implements #8561 .
2013-04-18 22:35:15 -04:00
Nick Mathewson
ab3d5c0490
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-04-18 21:42:39 -04:00
Nick Mathewson
e35ca13528
Merge remote-tracking branch 'public/bug8716_023' into maint-0.2.4
2013-04-18 21:33:53 -04:00
Nick Mathewson
1b5320bfe3
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-04-18 11:28:11 -04:00
Nick Mathewson
06efbbb47e
Merge remote-tracking branch 'public/bug8719' into maint-0.2.4
2013-04-18 11:26:54 -04:00
Nick Mathewson
da30adcf0f
Merge remote-tracking branch 'origin/maint-0.2.4'
...
Conflicts:
src/common/crypto.c
2013-04-18 11:16:05 -04:00
Nick Mathewson
8362f8854a
Merge branch 'less_charbuf_rebased' into maint-0.2.4
...
Conflicts:
src/or/dirserv.c
src/or/dirserv.h
src/test/test_dir.c
2013-04-18 11:13:36 -04:00
Nick Mathewson
992bbd02f9
Re-enable test for parsing and generating descriptor with exit policy
...
Looks like I turned this off in 6ac42f5e
back in 2003 and never got
around to making it work again. There has been no small amount of
code drift.
2013-04-18 11:04:58 -04:00
Nick Mathewson
0f83fcc5c2
Add a quick-and-dirty-test for generate_v2_networkstatus.
...
It sure is a good thing we can run each test in its own process, or
else the amount of setup I needed to do to make this thing work
would have broken all the other tests.
Test mocking would have made this easier to write too.
2013-04-18 11:04:58 -04:00
Nick Mathewson
6706a05b79
Remove the now-unused router_get_networkstatus_v3_hash
2013-04-18 11:04:57 -04:00
Nick Mathewson
c35ef8e6e9
Test improvement: include microdesc lines in our synthetic microdesc consensuses.
2013-04-18 11:04:57 -04:00
Nick Mathewson
e1128d905c
Fix a couple of documentation issues.
2013-04-18 11:04:57 -04:00
Nick Mathewson
d2d5a7dabc
Remove some now-needless length defines
2013-04-18 11:04:57 -04:00
Nick Mathewson
28ef450b24
Remove RS_ENTRY_LEN
...
Nothing uses it any longer now that we use smartlists of strings for
stuff that manipulates iles of formatted routerstatuses.
2013-04-18 11:04:57 -04:00
Nick Mathewson
cb75519bbf
Refactor dirobj signature generation
...
Now we can compute the hash and signature of a dirobj before
concatenating the smartlist, and we don't need to play silly games
with sigbuf and realloc any more.
2013-04-18 11:04:57 -04:00
Nick Mathewson
fd93622cc8
Use chunks, not buffers, for router descriptors
2013-04-18 11:04:56 -04:00
Nick Mathewson
1186628fa9
Refactor v2 networkstatus generation to avoid buffer-style
2013-04-18 11:04:56 -04:00
Nick Mathewson
9246a7ca58
Refactor routerstatus_format_entry to avoid character-buffers
2013-04-18 11:04:56 -04:00
Nick Mathewson
cd1cdae0fa
Fix some wide lines
2013-04-18 10:30:14 -04:00
Nick Mathewson
cd2b508f4e
Don't leak a waiting-for-certs consensus when accepting it.
...
I believe this was introduced in 6bc071f765
, which makes
this a fix on 0.2.0.10-alpha. But my code archeology has not extended
to actually testing that theory.
2013-04-17 11:53:52 -04:00
Nick Mathewson
0a9c17a61a
Fix memory leak when sending configuration-changed event
...
Fix for bug #8718 ; bugfix on 0.2.3.3-alpha.
2013-04-17 11:34:15 -04:00
Nick Mathewson
bb79373fe8
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-04-17 10:50:58 -04:00
Nick Mathewson
b00a6211c5
Merge remote-tracking branch 'public/bug7143_v2' into maint-0.2.4
2013-04-17 10:49:59 -04:00
Nick Mathewson
bbc049a756
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-04-17 10:48:39 -04:00
Nick Mathewson
42731f69ef
Merge branch 'bug8037_squashed' into maint-0.2.4
2013-04-17 10:45:45 -04:00
Nick Mathewson
0cf2c01dbd
Reject most directory documents with an internal NUL.
...
(Specifically, we reject all the ones that aren't NUL-terminated,
since a NUL-terminated thing can't have a NUL in the middle.)
Another fix for #8037 .
2013-04-17 10:45:27 -04:00
Nick Mathewson
d34d0b4dc5
Merge remote-tracking branch 'origin/maint-0.2.4'
...
Conflicts:
src/or/dirserv.c
2013-04-14 21:57:56 -04:00
Nick Mathewson
a6545d6335
Merge branch 'bug8683_rebased' into maint-0.2.4
2013-04-14 21:48:44 -04:00
Nick Mathewson
f3ae628517
Remove a now-empty if body; invert the sense of its condition
2013-04-14 21:47:29 -04:00
Nick Mathewson
c4de828923
Remvoe total_bandwidth and total_exit_bandwidth as unused.
2013-04-14 21:47:29 -04:00
Nick Mathewson
52cadff0d6
Rename all fields which measure bw in kb to end with _kb
2013-04-14 21:45:05 -04:00
Nick Mathewson
49696786fb
Fix some KB/B confusion in flag threshold minima.
2013-04-14 21:43:50 -04:00
Roger Dingledine
9a4e9b4a80
fix trivial typo
2013-04-12 04:27:10 -04:00
Nick Mathewson
63ab5f4849
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-04-12 01:14:32 -04:00
Nick Mathewson
97246a5b6d
Merge remote-tracking branch 'public/bug5650_squashed' into maint-0.2.4
2013-04-12 01:13:22 -04:00
Nick Mathewson
39ac1db60e
Avoid busy-looping on WANTREAD within connection_handle_write
...
Fix for bug 5650. Also, if we get a WANTREAD while reading while
writing, make sure we're reading.
2013-04-12 01:11:31 -04:00
Nick Mathewson
265a7ebca6
Use credible_bandwidth uniformly in setting/using fast_bandwidth
...
We were using credible_bandwidth to build the fast_bandwidth
threshold, but comparing it to bandwidth_for_router.
2013-04-11 10:36:46 -04:00
Nick Mathewson
ec4ee3197f
Use correct units for dirserv_get_{credible_bandwidth,bandwidth_for_router}
...
We were mixing bandwidth file entries (which are in kilobytes) with
router_get_advertised_bw() entries, which were in bytes.
Also, use router_get_advertised_bandwidth_capped() for credible_bandwidth.
2013-04-11 10:26:17 -04:00
Nick Mathewson
e54a5a4f3c
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-04-11 01:47:10 -04:00
Nick Mathewson
922ab0883d
Merge remote-tracking branch 'public/bug8185_diagnostic' into maint-0.2.4
2013-04-11 01:46:28 -04:00
Nick Mathewson
1b026efc62
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-04-11 01:43:14 -04:00
Nick Mathewson
ee3cc44f27
Merge remote-tracking branch 'public/bug7302' into maint-0.2.4
...
Conflicts:
src/or/status.c
2013-04-11 01:42:54 -04:00
Nick Mathewson
3dfd1ebf12
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-04-11 01:40:31 -04:00
Nick Mathewson
7f50af116f
Merge remote-tracking branch 'public/bug8117_023' into maint-0.2.4
...
Conflicts:
doc/tor.1.txt
src/or/config.c
src/or/connection.c
2013-04-11 01:39:55 -04:00
Roger Dingledine
8e7226cf7f
fix text in function comment
...
(now that we moved to libevent)
2013-04-11 01:11:25 -04:00
Nick Mathewson
25f9ecf4b2
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-04-05 16:58:26 -04:00
Desoxy
74f5e304e4
Controller: Add CACHED keyword to ADDRMAP events ( #8596 part 2/2)
...
Add keyword CACHED="YES"/"NO" to ADDRMAP control events to indicate whether the
DNS response will be cached or not.
2013-04-03 18:50:51 +02:00
Desoxy
2c40138210
Controller: Always send ADDRMAP event after RESOLVE command ( #8596 part 1/2)
...
Since 7536c40
only DNS results for real SOCKS requests are added to the cache,
but not DNS results for DNSPort queries or control connection RESOLVE queries.
Only cache additions would trigger ADDRMAP events on successful resolve.
Change it so that DNS results received after a RESOLVE command also generate
ADDRMAP events.
2013-04-03 18:50:27 +02:00
Nick Mathewson
b349f09b47
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-04-03 09:36:59 -04:00
Nick Mathewson
33b7083f26
Fix a wide line
2013-04-03 09:36:37 -04:00
Mike Perry
56e7dff7bd
Add additional checks for Path Bias scaling.
...
Just in case more issues remain with scaling, it would be nice to pin-point
them as such.
2013-04-03 09:32:15 -04:00
Mike Perry
2b05a8c671
Clip invalid path bias counts at startup.
...
There was a bug in Tor prior to 0.2.4.10-alpha that allowed counts to
become invalid. Clipping the counts at startup allows us to rule out
log messages due to corruption from these prior Tor versions.
2013-04-03 09:32:15 -04:00
Nick Mathewson
a934376049
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-04-02 10:42:53 -04:00
Nick Mathewson
856d57531b
Merge remote-tracking branch 'public/bug7707_diagnostic' into maint-0.2.4
2013-04-02 10:41:14 -04:00
Nick Mathewson
7ccaf3f1a4
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-04-02 10:37:00 -04:00
Nick Mathewson
2c155064aa
Merge remote-tracking branch 'public/bug8427' into maint-0.2.4
2013-04-02 10:36:15 -04:00
Akshay Hebbar Y S
36acde6b4e
Removed obsolete code related to cached-routers
2013-04-01 21:50:35 -04:00
Nick Mathewson
c1a2be9ffe
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-03-29 12:26:01 -04:00
Mike Perry
9117b14218
Bug #8196 : Demote a path bias notice that can be caused by controllers.
...
We didn't see this in normal usage anyway.
2013-03-29 12:21:28 -04:00
Mike Perry
651e49713c
Bug 8419: Apply the badexit fix from #2203 to validatio too
...
This was causing dirauths to emit flag weight validation warns if there
was a sufficiently large amount of badexit bandwidth to make a difference in
flag weight results.
2013-03-29 12:20:54 -04:00
Mike Perry
f6a2f088fd
Bug 8477: Don't warn if fromerly GENERAL circuits still have streams.
...
This can happen in various cases of network failure.
2013-03-29 12:20:54 -04:00
Mike Perry
a7d6683629
Bug 8230: Mark circuits as opened before reachability testing.
...
Should silence two path bias Bug messages seen on relays at startup.
2013-03-29 12:20:54 -04:00
Nick Mathewson
c3cc79ec38
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-03-29 12:19:05 -04:00
Mike Perry
d39e6736fe
Don't relax the timeout for already opened 1-hop circuits.
2013-03-29 12:17:05 -04:00
Mike Perry
66586da9bc
Add detail to log messages related to bug 7799.
...
Note this does not solve bug 7799, it is only to help us diagnose it.
2013-03-29 12:17:04 -04:00
Nick Mathewson
097a08f6fe
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-03-28 09:33:58 -04:00
Karsten Loesing
1bce70a9e3
Make PathsNeededToBuildCircuits option work.
2013-03-28 09:32:19 -04:00
Nick Mathewson
eb9b282cc2
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-03-27 21:07:36 -04:00
Nick Mathewson
7f8098d2d0
Add some missing case values to please clang
...
It seems that some versions of clang that would prefer the
-Wswitch-enum compiler flag to warn about switch statements with
missing enum values, even if those switch statements have a
default.
Fixes bug 8598; bugfix on 0.2.4.10-alpha.
2013-03-27 21:04:08 -04:00
Mike Perry
87d50d0617
Clarify liveness log message and lower it to notice.
...
It could just be due to small clock jumps, after all.
2013-03-27 16:22:43 -07:00
Mike Perry
65c0489dd4
Bug 6572: Use timestamp_created for liveness sanity checks.
...
This should eliminate potential regressions caused by #7341 .
2013-03-26 20:28:19 -07:00
Nick Mathewson
e62b8051ee
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-03-26 22:20:33 -04:00
Mike Perry
914bfe765d
Bug 7065: Use $ for idhex instead of =
2013-03-26 18:49:41 -07:00
Nick Mathewson
967503c12c
Implement a placeholder mechanism in the channel,id->circ map
...
We'll use this to help fix bug 7912, by providing a way to mark
that a circuit ID can't get reused while a DESTROY is queued but not sent.
2013-03-21 11:55:07 -04:00
Nick Mathewson
e9ffd9890f
Remove check for whether bridge_line->digest is NULL
...
It can never be NULL, since it's an array in bridge_line_t.
Introduced in 266f8cddd8
. Found by coverity; this is CID 992691. Bug
not in any released Tor.
2013-03-21 07:47:42 -04:00
Nick Mathewson
ea6d53e724
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-03-21 07:25:24 -04:00
Nick Mathewson
6196d0e83d
The *default* guard lifetime is two months; the *min* is one
...
This caused an assertion failure when pruning guards.
Fixes bug #8553 ; bug not in any released Tor.
2013-03-21 07:22:59 -04:00
Nick Mathewson
fa3c237739
Per-SOCKSPort configuration for bug 8117 fix.
...
This might be necessary if the bug8117 fix confuses any applications.
Also add a changes file.
2013-03-20 16:17:06 -04:00
Nick Mathewson
a264c4feda
Prefer SOCKS_USER_PASS over SOCKS_NO_AUTH
2013-03-20 15:37:47 -04:00
Nick Mathewson
7c2eabcf8e
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-03-20 14:47:49 -04:00
Nick Mathewson
3412054987
Merge remote-tracking branch 'public/bug8475_023' into maint-0.2.4
2013-03-20 14:47:13 -04:00
Nick Mathewson
a87f22ef64
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-03-20 14:26:22 -04:00
Andrea Shepard
5c5198e713
Set default minimum bandwidth for exit flag to zero for TestingTorNetwork
2013-03-20 11:16:41 -07:00
Andrea Shepard
8e29a7ae1d
Fix an EOL@EOF in circuituse.c
2013-03-20 11:03:18 -07:00
Nick Mathewson
a660fe6fd5
Let testing networks override ABSOLUTE_MIN_VALUE_FOR_FAST_FLAG
...
This adds a new option to fix bug 8508 which broke chutney
networks. The bug was introduced by 317d16de
.
2013-03-20 13:34:57 -04:00
Nick Mathewson
63a42b38b1
Merge remote-tracking branch 'public/unsigned-time_t'
2013-03-20 10:53:07 -04:00
Nick Mathewson
80c987fbb4
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-03-20 10:34:31 -04:00
Nick Mathewson
5b0b51ca3f
Merge remote-tracking branch 'public/bug6304_v3' into maint-0.2.4
...
Conflicts:
src/or/circuitbuild.c
src/or/config.c
2013-03-20 10:31:56 -04:00
Nick Mathewson
7d1ade251b
Debugging log for bug 8185
...
If the bug recurs, log the filename and line number that triggered it
2013-03-19 17:00:40 -04:00
Nick Mathewson
96d39fd236
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-03-19 16:44:00 -04:00
Nick Mathewson
ca50fb4f81
Don't assert when writing a cell to a CLOSING connection.
...
Instead, drop the cell.
Fixes another case of bug 7350; bugfix on 0.2.4.4-alpha
2013-03-19 16:35:40 -04:00
Nick Mathewson
96e8e30ee3
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-03-19 16:17:42 -04:00
Nick Mathewson
323cb655be
Merge remote-tracking branch 'public/bug7164_diagnostic' into maint-0.2.4
2013-03-19 16:16:48 -04:00
Nick Mathewson
c547502ecb
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-03-19 16:15:39 -04:00
Nick Mathewson
6f20a74d52
Merge branch 'bug8240_v2_squashed' into maint-0.2.4
...
Conflicts:
doc/tor.1.txt
src/or/circuitbuild.c
src/or/config.c
src/or/or.h
2013-03-19 16:15:27 -04:00
Nick Mathewson
18752bca5b
Drop the minimum guard lifetime back down to one month
...
Mike believes that raising the default to 2 months with no way to lower
it may create horrible load-balancing issues.
2013-03-19 16:04:40 -04:00
Nick Mathewson
cf734a08f6
Add support for days of the week to intervals
2013-03-19 16:03:58 -04:00
Nick Mathewson
343f7aa059
Make the guard lifetime configurable and adjustable via the consensus
...
Fixes 8240.
(Don't actually increase the default guard lifetime. It seems likely to
break too many things if done precipitiously.)
2013-03-19 16:02:19 -04:00
Nick Mathewson
acbfc9c8cc
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-03-19 15:32:44 -04:00
Nick Mathewson
a7b46336eb
Merge remote-tracking branch 'public/bug7950' into maint-0.2.4
2013-03-19 15:32:17 -04:00
Nick Mathewson
084c857704
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-03-19 14:19:19 -04:00
Nick Mathewson
de7e99f8bb
Merge remote-tracking branch 'public/bug8031' into maint-0.2.4
2013-03-19 14:18:07 -04:00
Nick Mathewson
e6602f5991
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-03-19 14:16:46 -04:00
Nick Mathewson
c101ecc8dc
Merge remote-tracking branch 'asn/bug3594_rebased_and_fixed'
...
Conflicts:
src/common/util.c
src/or/entrynodes.h
2013-03-19 13:25:45 -04:00
Nick Mathewson
4eaca17f2f
Merge branch 'bug7582_v2' into maint-0.2.4
2013-03-19 12:29:29 -04:00
Nick Mathewson
73a35dc3c0
Free prepend_policy values in origin circuits
2013-03-19 12:29:08 -04:00
Nick Mathewson
6e94d2fb3a
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-03-18 16:36:52 -04:00
Nick Mathewson
597cd893c5
Merge remote-tracking branch 'public/bug6174' into maint-0.2.4
2013-03-18 16:36:25 -04:00
Nick Mathewson
b0f7af1615
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-03-18 16:34:29 -04:00
Nick Mathewson
01407f9718
Merge remote-tracking branch 'public/bug8062' into maint-0.2.4
2013-03-18 16:33:47 -04:00
Nick Mathewson
899c2805b1
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-03-18 15:57:51 -04:00
Nick Mathewson
bd9901bef2
Handle TRUNCATE correctly if our next channel isn't done yet.
...
Patch from 'cypherpunks'. Fixes bug #7947 . Bugfix on 0.0.7.1.
2013-03-18 15:55:55 -04:00
Nick Mathewson
d404b0200f
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-03-18 15:46:01 -04:00
Nick Mathewson
aa4fcc4f13
Merge remote-tracking branch 'public/bug6164' into maint-0.2.4
2013-03-18 15:45:49 -04:00
Nick Mathewson
5124bc251a
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-03-18 15:39:21 -04:00
Nick Mathewson
ad8a27a393
Fix some wide lines
2013-03-18 15:39:11 -04:00
Nick Mathewson
67709398b6
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-03-18 15:18:56 -04:00
Nick Mathewson
5959d1c105
Merge remote-tracking branch 'andrea/bug8435' into maint-0.2.4
2013-03-18 15:17:11 -04:00
Nick Mathewson
41cff47c6a
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-03-18 15:16:11 -04:00
Nick Mathewson
3f837d4826
Make stream events for RESOLVE lookups more consistent
...
Fixes 8203; patch by Desoxy
2013-03-18 15:13:59 -04:00
Andrea Shepard
0164f16f70
Improve comment for routers_with_measured_bw static var in dirserv.c
2013-03-18 12:04:41 -07:00
Andrea Shepard
e9bdb695e8
Improve comment on router_counts_toward_thresholds()
2013-03-18 11:58:30 -07:00
Andrea Shepard
d64e5969f4
Add dirserv_has_measured_bw() predicate wrapper for dirserv_query_measured_bw_cache()
2013-03-18 11:56:42 -07:00
Nick Mathewson
f15d9cf5db
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-03-18 14:50:36 -04:00
Nick Mathewson
26639b7798
Merge remote-tracking branch 'public/no_dup_guards' into maint-0.2.4
2013-03-18 14:50:01 -04:00
Nick Mathewson
1512747656
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-03-18 14:32:18 -04:00
Nick Mathewson
173efa1051
Merge remote-tracking branch 'public/bug8059' into maint-0.2.4
2013-03-18 14:31:50 -04:00
Nick Mathewson
a770e1cc22
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-03-18 14:30:28 -04:00
Nick Mathewson
63b67577d6
Check return values from fcntl and setsockopt
...
(Based on a patch from flupzor; bug #8206 )
2013-03-18 14:28:38 -04:00
Nick Mathewson
3fa9c9b688
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-03-18 14:24:30 -04:00
Nick Mathewson
eb9420082d
Check for 0.2.4.8, not 0.2.4.7, to determine EXTEND2 support
...
Fixes bug 8464; bugfix on b2863739
in 0.2.4.8-alpha
2013-03-18 14:23:19 -04:00
Andrea Shepard
f93f7e331b
Ignore advertised bandwidths if we have enough measured bandwidths available
2013-03-18 11:15:21 -07:00
Nick Mathewson
f48daef299
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-03-15 12:38:55 -04:00
Nick Mathewson
8b4728ebd6
Merge remote-tracking branch 'public/bug8180_023_v2' into maint-0.2.4
2013-03-15 12:38:11 -04:00
Nick Mathewson
686aaa5c4c
Upgrade the warn for EntryNodes without UseEntryGuards to an error
...
fixes bug 8180
2013-03-15 12:34:29 -04:00
Nick Mathewson
b163e801bc
Merge remote-tracking branch 'origin/maint-0.2.4'
...
Conflicts:
src/or/routerlist.c
2013-03-15 12:20:17 -04:00
Nick Mathewson
0cf327dc78
Merge remote-tracking branch 'public/unused_stuff' into maint-0.2.4
2013-03-15 12:17:23 -04:00
Nick Mathewson
9be3389dc7
Merge remote-tracking branch 'origin/maint-0.2.4'
2013-03-14 12:06:58 -04:00
Nick Mathewson
653b09e1ec
Make circuit_purpose_to_string handle CIRCUIT_PURPOSE_PATH_BIAS_TESTING
2013-03-14 12:06:03 -04:00
Nick Mathewson
1b28f366b8
Apply ClientDNSRejectInternalAddresses to IPv6 in RESOLVED cells
...
Fixes bug 8475; bugfix on 0.2.0.7-alpha.
2013-03-14 11:19:08 -04:00
Nick Mathewson
adfc3de833
Log fname:lineno in log messages for #7164
...
This should help us track down #7164 at last.
2013-03-13 10:42:58 -04:00
Nick Mathewson
b9a8f8c17c
Fix the warning about LearnCircuitBuildTimeout && !CircuitBuildTimeout
...
This is for bug 6304.
Add a changes file too
2013-03-13 09:17:43 -04:00
Nick Mathewson
7543fb61e3
Simplify the logic of circuit_build_times_get_initial_timeout.
2013-03-13 09:11:31 -04:00
Nick Mathewson
16f2e4aa8c
Don't warn about not sending a socks reply if we get a write error
...
If we get a write error on a SOCKS connection, we can't send a
SOCKS reply, now can we?
This bug has been here since 36baf7219
, where we added the "hey, I'm
closing an AP connection but I haven't finished the socks
handshake!" message. It's bug 8427.
2013-03-12 17:36:09 -04:00
Nick Mathewson
2b22c0aeef
On END_REASON_EXITPOLICY, mark circuit as unusable for that address.
...
Also, don't call the exit node 'reject *' unless our decision to pick
that node was based on a non-summarized version of that node's exit
policy.
rransom and arma came up with the ideas for this fix.
Fix for 7582; the summary-related part is a bugfix on 0.2.3.2-alpha.
2013-03-11 23:37:47 -04:00
Nick Mathewson
452cfaacfc
Track TLS overhead: diagnostic for bug 7707
2013-03-11 22:06:07 -04:00