Nick Mathewson
9e57ffa520
Merge branch 'maint-0.2.8'
2016-04-01 08:15:05 -04:00
Nick Mathewson
e247093e0e
Merge remote-tracking branch 'karsten/task-18460-2' into maint-0.2.8
2016-04-01 08:10:58 -04:00
Yawning Angel
a19f4192da
Issue a STATUS_SERVER
event on meaningful hibernation state changes.
...
Implements feature #18685 .
2016-03-30 20:19:11 +00:00
Andrea Shepard
183d465f0e
Merge branch 'bug15221_027' into maint-0.2.7
2016-03-30 12:23:42 +00:00
Nick Mathewson
beba70ec77
Don't declare "incoming_queue" in every file including channel.h
...
Found with my wacky symbol-usage-enforcer.
2016-03-29 13:55:14 -04:00
Andrea Shepard
0b45cab147
Merge branch 'bug18570_027' into maint-0.2.7
2016-03-29 15:01:36 +00:00
Roger Dingledine
1103d82492
fix typo in comment
2016-03-29 10:56:26 -04:00
Andrea Shepard
1218d731d1
Merge branch 'bug16248_027' into maint-0.2.7
2016-03-29 14:33:45 +00:00
Nick Mathewson
4e76b206b5
Merge remote-tracking branch 'arma/feature18624'
2016-03-29 08:06:21 -04:00
Nick Mathewson
90c24c0ced
Merge branch 'maint-0.2.8'
2016-03-28 20:09:22 -04:00
Nick Mathewson
ba87f5bb25
Fix my dumb unreleased bug in 18673
2016-03-28 20:09:09 -04:00
Nick Mathewson
055a7a198a
Rename tor_dup_addr to tor_addr_to_str_dup.
...
Patch from icanhasaccount; closes 18462.
2016-03-28 16:36:51 -04:00
Nick Mathewson
3220bd816b
Merge branch 'maint-0.2.8'
2016-03-28 16:14:21 -04:00
Nick Mathewson
447b1c6b1d
Begin an 0.2.9 branch
2016-03-28 15:54:59 -04:00
Nick Mathewson
a3f36bfd81
and NOW the version is 0.2.8.2-alpha-dev
2016-03-28 15:53:17 -04:00
Nick Mathewson
5b12642d09
Bump version correctly this time
2016-03-28 11:22:20 -04:00
Nick Mathewson
addd181721
Fix memory leak in TestingEnableCellStatsEvent
...
Only when we were actually flushing the cell stats to a controller
would we free them. Thus, they could stay in RAM even after the
circuit was freed (eg if we didn't have any controllers).
Fixes bug 18673; bugfix on 0.2.5.1-alpha.
2016-03-28 11:12:15 -04:00
Nick Mathewson
68e663f777
Fix memory leaks that stopped chutney working with asan
2016-03-28 10:24:28 -04:00
Nick Mathewson
1d315b28a2
Fix a memory leak in tor-gencert.
...
This way I can run chutney under asan.
Fixes part of 18672.
2016-03-28 10:21:41 -04:00
Nick Mathewson
fc877b3c9e
Bump the version number
2016-03-28 09:32:14 -04:00
Nick Mathewson
32e8886314
One more test that didnt pass on windows. See #18665 .
2016-03-28 08:57:29 -04:00
Nick Mathewson
9604a5ba91
Fix memory-counting error in rephist.c. Bug 18651. (Now with actual patch)
2016-03-28 07:40:20 -04:00
Nick Mathewson
4895d8288c
Do not treat "DOCDOC" as doxygen.
2016-03-26 10:11:45 -04:00
Nick Mathewson
cc90b57b04
add a little documentation to memarea. (I have been testing a tool.)
2016-03-26 10:09:19 -04:00
Nick Mathewson
c0568a89d9
Whitespace fixes
2016-03-26 09:54:31 -04:00
Nick Mathewson
dd572dac34
Fix all doxygen warnings (other than missing docs)
2016-03-26 09:53:12 -04:00
Nick Mathewson
c81b1358e7
Merge branch 'bug18649_squashed'
2016-03-26 08:17:19 -04:00
teor (Tim Wilson-Brown)
6057fb2f5b
Clarify excess consensus connection cleanup by adding comments
...
Comment-only change
2016-03-26 08:16:33 -04:00
Nick Mathewson
24c0c5ef19
Disable failing broken time format case for windows.
2016-03-25 22:00:20 -04:00
Nick Mathewson
8d16c2f30e
Merge remote-tracking branch 'arma/bug18625'
2016-03-25 17:19:59 -04:00
Nick Mathewson
4bb44f2c15
Only check in-boundsness of seconds when time_t is smaller than i64
...
Otherwise coverity complains that we're checking an whether an int64 is
less than INT64_MIN, which of course it isn't.
Fixes CID 1357176. Not in any released Tor.
2016-03-25 16:46:02 -04:00
Karsten Loesing
b79d8590c9
Include IPv6 consensus downloads in dirreq stats.
...
Fixes #18460 .
2016-03-25 20:56:29 +01:00
Roger Dingledine
8251fe5150
use a clearer argument for connection_ap_make_link()
...
that function calls it argument "want_onehop", so it makes more
sense to pass that boolean into it.
2016-03-24 19:57:39 -04:00
Roger Dingledine
98abd49f6f
remove the extraneous dir_port variable
...
we already are using "port" to describe the place we're going to
ask to connect to.
2016-03-24 19:14:32 -04:00
Roger Dingledine
fbd79f38c2
remove a redundant check about whether dirport is 0
2016-03-24 19:14:31 -04:00
Roger Dingledine
f590a303db
revert the or_connection and dir_connection flags
...
They incorrectly summarized what the function was planning to do,
leading to wrong behavior like making an http request to an orport,
or making a begindir request to a dirport.
This change backs out some of the changes made in commit e72cbf7a
, and
most of the changes made in commit ba6509e9
.
This patch resolves bug 18625. There more changes I want to make
after this one, for code clarity.
2016-03-24 19:14:21 -04:00
Nick Mathewson
d5f50cb052
Merge remote-tracking branch 'dgoulet/bug18623_028_01'
2016-03-24 15:03:50 -04:00
Roger Dingledine
c4208ef65f
dir auths only give Guard if they're giving Stable
...
This change allows us to simplify path selection for clients, and it
should have minimal effect in practice since >99% of Guards already have
the Stable flag. Implements ticket 18624.
2016-03-24 15:00:01 -04:00
David Goulet
ba6509e9e1
Fix broken directory request to the DirPort
...
Commit e72cbf7a4
introduced a change to directory_initiate_command_rend()
that made tor use the ORPort when making a directory request to the DirPort.
The primary consequence was that a relay couldn't selftest its DirPort thus
failing to work and join the network properly.
The main issue was we were always considering an anonymized connection to be
an OR connection which is not true.
Fixes #18623
Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2016-03-24 13:57:53 -04:00
Nick Mathewson
4f86d75a4b
try to fix a test failure for sizeof(time_t)==4.
2016-03-24 12:26:46 -04:00
Nick Mathewson
6256c61d95
Merge branch 'timegm_overflow_squashed'
2016-03-24 10:18:00 -04:00
teor (Tim Wilson-Brown)
19fb86a2dc
Add a missing UL on a long in a unit test
2016-03-24 10:17:48 -04:00
teor (Tim Wilson-Brown)
b99bd3e7ff
Add unit tests with dates from 2035 to 2039
...
Platforms with 32-bit time_t sometimes give different results.
They don't always indicate failure on overflow, #18480 should
fix these.
2016-03-24 10:17:48 -04:00
teor (Tim Wilson-Brown)
e71e8e005a
Avoid overflow in tor_timegm on 32 bit platforms due to year 2038
2016-03-24 10:17:48 -04:00
Nick Mathewson
424af93ded
Merge branch 'bug18517_squashed'
2016-03-24 10:14:05 -04:00
teor (Tim Wilson-Brown)
f2153f9716
Always allow OR connections to bridges on private addresses
...
Regardless of the setting of ExtendAllowPrivateAddresses.
This fixes a bug with pluggable transports that ignore the
(potentially private) address in their bridge line.
Fixes bug 18517; bugfix on 23b088907f
in tor-0.2.8.1-alpha.
2016-03-24 10:13:58 -04:00
Nick Mathewson
54559e5845
Merge remote-tracking branch 'teor/bug18351'
2016-03-24 09:33:58 -04:00
Nick Mathewson
ea9472d085
Merge remote-tracking branch 'teor/bug18489'
2016-03-24 09:01:28 -04:00
teor (Tim Wilson-Brown)
b1569e39c8
Check if fallbacks support extrainfo descriptors before requesting them
...
When requesting extrainfo descriptors from a trusted directory
server, check whether it is an authority or a fallback directory
which supports extrainfo descriptors.
Fixes bug 18489; bugfix on 90f6071d8d
in tor-0.2.4.7-alpha.
Reported by "atagar", patch by "teor".
2016-03-24 22:03:58 +11:00
teor (Tim Wilson-Brown)
eb5a262a15
Code indentation whitespace-only fix
2016-03-24 21:56:37 +11:00
teor (Tim Wilson-Brown)
355f78364a
Clarify ReachableAddress log messages
...
Make it clearer that they are about outgoing connection attempts.
Specify the options involved where they were missing from one log
message.
Clarify a comment.
2016-03-24 20:59:49 +11:00
teor (Tim Wilson-Brown)
f2a344e397
Downgrade IP version warnings to avoid filling logs
...
Downgrade logs and backtraces about IP versions to
info-level. Only log backtraces once each time tor runs.
Assists in diagnosing bug 18351; bugfix on c3cc8e16e
in
tor-0.2.8.1-alpha.
Reported by "sysrqb" and "Christian", patch by "teor".
2016-03-24 10:39:23 +11:00
Nick Mathewson
7123e9706e
Repair build when no sandbox support is enabled.
2016-03-22 13:18:18 -04:00
Nick Mathewson
ca8423a703
Merge remote-tracking branch 'public/bug18253'
2016-03-22 10:08:50 -04:00
Nick Mathewson
dae8484107
Try to fix an intermittent test failure on openbsd.
2016-03-22 09:12:59 -04:00
Nick Mathewson
9dff41694a
Never use sprintf. tor_snprintf instead. Bug in tests, not in any released tor.
2016-03-22 08:52:17 -04:00
Nick Mathewson
a17537a238
Fix an fd leak in check_private_dir().
...
The fd would leak when the User wasn't recogniezed by
getpwnam(). Since we'd then go on to exit, this wasn't a terribad
leak, but it's still not as nice as no leak at all.
CID 1355640; bugfix on no released Tor.
2016-03-22 08:29:51 -04:00
Roger Dingledine
580e549f75
remove extraneous breaks
...
commit edeba3d4
removed a switch, but left the "break" lines in
from that switch. fortunately the resulting behavior was not wrong,
since there was an outer switch that it was ok to break from.
2016-03-21 17:11:18 -04:00
Roger Dingledine
4861e24552
fix indentation after #18332 patches
...
no actual changes here -- but the new indenting makes it clear
that the fixes in #18332 were not as good as they should have been.
the next commit will deal with that.
2016-03-21 17:08:02 -04:00
Nick Mathewson
6a91cab79c
Merge branch 'maint-0.2.7'
2016-03-21 13:26:04 -04:00
Nick Mathewson
e1e62f9d57
Merge branch 'ed25519_voting_fixes_squashed' into maint-0.2.7
2016-03-21 13:25:12 -04:00
Nick Mathewson
2f2fba8a91
Use nth consistently in dircollate.h.
...
Documentation-only patch. Issue 17668.T6.
2016-03-21 13:24:09 -04:00
Nick Mathewson
b24f15a9a1
In routers_make_ed_keys_unique, break ties for published_on
...
This ensures that if we can't use published_on to decide an ed,rsa
mapping, we at least decide deterministically.
Resolves 17668.T3
2016-03-21 13:24:09 -04:00
Nick Mathewson
beef6ed451
Assert that dircollator is collated when we're reading its output.
...
Fix for 17668.S2.
2016-03-21 13:24:09 -04:00
Nick Mathewson
48f8229504
After we strip out duplicate entries from 'routers', don't use 'rl'.
...
We've got to make sure that every single subsequent calculation in
dirserv_generate_networkstatus_vote_obj() are based on the list of
routerinfo_t *after* we've removed possible duplicates, not before.
Fortunately, none of the functions that were taking a routerlist_t
as an argument were actually using any fields other than this list
of routers.
Resolves issue 18318.DG3.
2016-03-21 13:24:09 -04:00
Nick Mathewson
fa07c60c67
Fix another case of 17668: Add NoEdConsensus
...
I had a half-built mechanism to track, during the voting process,
whether the Ed25519 value (or lack thereof) reflected a true
consensus among the authorities. But we never actually inserted this
field in the consensus.
The key idea here is that we first attempt to match up votes by pairs
of <Ed,RSA>, where <Ed> can be NULL if we're told that there is no
Ed key. If this succeeds, then we can treat all those votes as 'a
consensus for Ed'. And we can include all other votes with a
matching RSA key and no statement about Ed keys as being "also about
the same relay."
After that, we look for RSA keys we haven't actually found an entry
for yet, and see if there are enough votes for them, NOT considering
Ed keys. If there are, we match them as before, but we treat them
as "not a consensus about ed".
When we include an entry in a consensus, if it does not reflect a
consensus about ed keys, then we include a new NoEdConsensus flag on
it.
This is all only for consensus method 22 or later.
Also see corresponding dir-spec patch.
2016-03-21 13:24:09 -04:00
Nick Mathewson
60ca3f358f
Document has_ed25519_listing
2016-03-21 13:23:32 -04:00
Nick Mathewson
13a31e72db
Never vote for an ed key twice.
...
When generating a vote, and we have two routerinfos with the same ed
key, omit the one published earlier.
This was supposed to have been solved by key pinning, but when I
made key pinning optional, I didn't realize that this would jump up
and bite us. It is part of bug 18318, and the root cause of 17668.
2016-03-21 13:23:32 -04:00
Nick Mathewson
c20e34e189
Fix log message subjects in networkstatus_parse_vote_from_string()
...
Some of these messages called the thing being parsed a "vote" whether
it is a vote or a consensus.
Fixes bug 18368.
2016-03-21 13:23:32 -04:00
Nick Mathewson
6182e34628
Document dircollate.c (and remove an unused global)
2016-03-21 13:23:32 -04:00
Nick Mathewson
233180a9ab
Merge remote-tracking branch 'public/bug18548'
2016-03-21 12:36:41 -04:00
Nick Mathewson
005a20ec85
Log a better message when OfflineMasterKey is set.
...
Fixes bug 18133; bugfix on 0.2.7.2-alpha.
2016-03-21 11:57:23 -04:00
Nick Mathewson
d567796946
Merge remote-tracking branch 'public/bug17443_v2'
2016-03-21 11:21:31 -04:00
Nick Mathewson
ddd30f966a
Merge remote-tracking branch 'arma/ticket18332-try3'
2016-03-21 10:41:23 -04:00
Nick Mathewson
13eb120bea
Merge remote-tracking branch 'special/bug18600'
2016-03-21 10:32:39 -04:00
Nick Mathewson
cb3f9bc2d4
Merge branch 'bug18570_027'
2016-03-21 10:20:16 -04:00
Andrea Shepard
bd87d37a86
Make sure channel_t queues its own copy of incoming cells
2016-03-21 10:14:47 -04:00
Andrea Shepard
1cdc7fddb2
Add new channel/queue_incoming unit tests; modify channel unit tests for new clarified handling of alloc/free responsibility for queued incoming cells
2016-03-21 10:14:47 -04:00
Steven Chamberlain
a42938c076
test_options.c: assert that TransProxyType is tested
...
If a new platform defines USE_TRANSPARENT, ensure that a test runs for
its TransProxyType.
2016-03-21 09:51:35 -04:00
John Brooks
2c057c2833
Scrub service name in introduction circuit warning
...
Fixes bug 18600.
2016-03-21 19:23:28 +07:00
Steven Chamberlain
45681f695c
test_options.c: NULL a pointer after free #18447
...
tdata will be double-freed if none of linux, __FreeBSD__, DARWIN or
__OpenBSD__ are defined. (For example, FreeBSD derivatives).
2016-03-17 19:20:36 -04:00
Roger Dingledine
e28448a23e
Bridges now refuse "rendezvous2" publish attempts
...
Suggested during review of ticket 18332.
2016-03-16 16:46:14 -04:00
Nick Mathewson
368825ff45
Sandbox: Don't preseed getaddrinfo(gethostname()) in client mode.
...
If we're a server with no address configured, resolve_my_hostname
will need this. But not otherwise. And the preseeding itself can
consume a few seconds if like tails we have no resolvers.
Fixes bug 18548.
2016-03-15 11:19:59 -04:00
Nick Mathewson
b48f8a8114
Fix whitespace.
2016-03-15 09:21:29 -04:00
Nick Mathewson
c9899ee640
Merge remote-tracking branch 'weasel/bug18458'
2016-03-15 09:18:24 -04:00
Peter Palfrader
d8626d34e5
Fix log message: say RelaxDirModeCheck instead of StrictDirModes
2016-03-14 20:27:53 +01:00
Nick Mathewson
4b02af452d
Merge branch 'bug15221_027'
2016-03-14 14:10:47 -04:00
Nick Mathewson
dd7c999617
Make unix sockets work with the linux seccomp2 sandbox again
...
I didn't want to grant blanket permissions for chmod() and chown(),
so here's what I had to do:
* Grant open() on all parent directories of a unix socket
* Write code to allow chmod() and chown() on a given file only.
* Grant chmod() and chown() on the unix socket.
2016-03-14 14:07:02 -04:00
Nick Mathewson
0cdeac77e0
Don't chmod/chown unix sockets if their permissions are already ok
...
This is a part of a fix for 18253; bugfix on 0.2.8.1-alpha.
Alternatively, we could permit chmod/chown in the sandbox, but I
really don't like giving the sandbox permission to alter
permissions.
2016-03-14 13:40:44 -04:00
Nick Mathewson
725e0c76e3
Permit setrlimit, prlimit, prlimit64 calls.
...
We call setrlimit under some circumstances, and it can call prlimit
and prlimit64 under the hood.
Fixes bug 15221.
2016-03-14 13:21:16 -04:00
Nick Mathewson
36ad65a7d1
When using open() to make sure we created a dir, close the fd afterwards
...
Found by coverity. Not in any released Tor. Fixes CID 1355640.
Also, don't check for fd correctness with assert(fd). You need to
assert (fd >= 0).
2016-03-14 13:03:44 -04:00
Nick Mathewson
a64be7eaa9
Merge remote-tracking branch 'public/bug16248_027'
2016-03-14 12:53:57 -04:00
Nick Mathewson
307b863556
Add comments to connection_check_event().
2016-03-14 12:53:21 -04:00
David Goulet
d8b93b31a0
hs: Do not close desc fetch conn. if we can't pick an HSDir
...
Launching 7 descriptor fetches makes a connection to each HSDir that is 6
and the seventh one fails to pick an HSDir because they are all being used
already so it was killing all pending connections at once.
Fixes #15937
Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2016-03-14 11:00:46 -04:00
Nick Mathewson
a86f78a9f2
Merge remote-tracking branch 'teor/bug17153'
2016-03-11 11:23:58 -05:00
Nick Mathewson
fe0d346a6d
Merge remote-tracking branch 'teor/bug8976_01_028'
2016-03-11 11:11:38 -05:00
Nick Mathewson
91d7cf50c6
Change behavior on missing/present event to warn instead of asserting.
...
Add a changes file.
2016-03-11 10:50:36 -05:00
Roger Dingledine
edeba3d472
simplify rend_cache_store_status_t back to a boolean
...
it used to be a tri-state, but now it's just a bi-state, so we can
take out all the machinery like the enum.
2016-03-11 10:49:57 -05:00
Roger Dingledine
dc500c8cb4
rip out rend_id_is_in_interval()
...
it was used by hid_serv_responsible_for_desc_id(), which we no
longer use.
2016-03-11 10:46:21 -05:00
Roger Dingledine
5390296338
rip out hid_serv_acting_as_directory()
...
When we made HidServDirectoryV2 always 1, we removed the situation
where a relay could choose not to be an HSDir. Now simplify the
rest of the code to reflect this decision.
(We have to remove two apparently unrelated free() calls in the unit
tests, since they used to free stuff that we created as a side effect
of calling router_get_my_routerinfo(), and now we no longer call that.)
2016-03-11 10:45:03 -05:00
Roger Dingledine
e167910fce
rip out hid_serv_responsible_for_desc_id()
...
This simplifies relay behavior, because the relay offers the hsdir
functionality independent of whether the directory authorities have
decided this relay is suitable for clients to use yet.
Implements ticket 18332.
2016-03-11 10:40:31 -05:00
Nick Mathewson
e79da62645
If we start/stop reading on a dnsserv connection, don't assert.
...
Fixes bug 16248. Patch from cypherpunks. Bugfix on 0.2.0.1-alpha.
2016-03-11 10:33:19 -05:00
Nick Mathewson
656e23171d
Merge remote-tracking branch 'teor/bug18454'
2016-03-11 10:22:41 -05:00
Nick Mathewson
36ac47bd85
Merge remote-tracking branch 'public/bug18204_028'
2016-03-11 10:10:15 -05:00
Nick Mathewson
ef31c8862f
Add changes file for 18448; refactor
...
(I've made it so FreeBSD || FreeBSD_kernel is enough to ensure that
we think you might have ipfw, and so that the logic is all in one
place.)
2016-03-11 10:05:28 -05:00
Steven Chamberlain
db263442af
enable and test transproxy on FreeBSD derivatives #18448
...
The transproxy feature is only enabled when __FreeBSD__ is defined, and
only regular FreeBSD does that. Change this to __FreeBSD_kernel__ which
is defined on derivatives as well.
This enables the relevant options/validate__transproxy test on FreeBSD
derivatives.
2016-03-11 10:01:25 -05:00
Nick Mathewson
82df3e70ac
Do not link tests against both libor.a and libor-testing.a
...
Also, put libor-testing.a at a better position in the list of
libraries, to avoid linker errors.
This is a fix, or part of a fix, for 18490.
2016-03-11 09:53:25 -05:00
Hassan Alsibyani
b1917a0614
moving hid_serv_get_responsible_directories and hid_serv_acting_as_directory from routerlist.c to rendcommon.c
2016-03-11 09:15:48 -05:00
Nick Mathewson
58bcae37a2
Merge branch 'maint-0.2.7'
2016-03-09 10:37:00 -05:00
Nick Mathewson
17cfdb358c
Merge branch 'maint-0.2.6' into maint-0.2.7
2016-03-09 10:36:50 -05:00
Nick Mathewson
443dddb749
Merge branch 'maint-0.2.5' into maint-0.2.6
2016-03-09 10:36:35 -05:00
Nick Mathewson
21f9829e79
Merge branch 'maint-0.2.4' into maint-0.2.5
2016-03-09 10:36:20 -05:00
teor (Tim Wilson-Brown)
9f98e6535a
Correctly duplicate addresses in get_interface_address6_list
2016-03-04 18:42:27 +01:00
teor (Tim Wilson-Brown)
2627299ef0
Avoid freeing an uninitialised pointer in get_interface_addresses_ioctl
2016-03-04 18:41:49 +01:00
teor (Tim Wilson-Brown)
b0ca80c23f
Reject multicast rendezvous point addresses
...
Unless ExtendAllowPrivateAddresses is 1.
2016-03-04 18:21:13 +01:00
Karsten Loesing
8e2640b15a
Update geoip and geoip6 to the March 3 2016 database.
2016-03-04 10:56:51 +01:00
teor (Tim Wilson-Brown)
10330c1234
Remove an extraneous space in a log message
2016-03-01 19:08:02 +01:00
Peter Palfrader
1ef7df551d
First RelaxDirModeCheck implementation
2016-03-01 17:08:14 +01:00
teor (Tim Wilson-Brown)
2120e14009
Allow internal IPv6 addresses in descriptors in private networks
2016-03-01 16:48:16 +01:00
Nick Mathewson
9fc472e1a8
clean/extend some module docs, including fix from #18403
2016-02-28 17:57:47 +01:00
Nick Mathewson
69fc025e95
Merge remote-tracking branch 'teor/fallbacks-201602-v2'
2016-02-28 15:51:22 +01:00
Nick Mathewson
88ad2f5fb2
Merge remote-tracking branch 'teor/bug18123'
2016-02-28 15:40:35 +01:00
Alexander Færøy
d4c5ccf79c
Use the kdf_rfc5869() function instead of kdf().
...
This patch fixes an issue in "ntor_ref.py gen_kdf_vectors" where the
script tries to call the undefined function kdf().
2016-02-28 15:24:59 +01:00
Nick Mathewson
57699de005
Update the copyright year.
2016-02-27 18:48:19 +01:00
Nick Mathewson
f4864d37ec
It appears I added an empty file by mistake.
2016-02-27 18:25:51 +01:00
Nick Mathewson
23f8c9b32f
Add a brief file-level description for everything in src/common
2016-02-27 18:19:57 +01:00
Nick Mathewson
fe6ca826df
Make sure that every module in src/or has a brief description.
2016-02-27 18:08:24 +01:00
Nick Mathewson
d5cbc21ad1
Fix an unused-variable warning
2016-02-27 10:20:15 +01:00
Nick Mathewson
0a276947ba
Merge branch 'bug18392'
2016-02-27 10:17:51 +01:00
teor (Tim Wilson-Brown)
e2202146d1
Update default fallback directories for 0.2.8.2-alpha (Feb 2016)
...
Allow fallback directories which have been stable for 7 days
to work around #18050 , which causes relays to submit descriptors
with 0 DirPorts when restarted. (Particularly during Tor version
upgrades.)
Ignore low fallback directory count in alpha builds.
Set the target count to 50.
2016-02-27 10:04:00 +01:00
teor (Tim Wilson-Brown)
8e103cb2d0
Set EXCLUSIVEADDRUSE on Win32 to avoid a local port-stealing attack
2016-02-26 10:53:57 +01:00
Nick Mathewson
3687526c66
Merge remote-tracking branch 'teor/bug18384'
2016-02-25 13:46:34 -05:00
Nick Mathewson
7255b1121d
Fix check_private_dir() to work on Windows again.
...
On windows, you cannot open() a directory. So for Windows we should
just take our previous stat-based approach.
Closes bug 18392; bug not in any released Tor.
2016-02-25 13:34:12 -05:00
Nick Mathewson
7a782820e9
Make the sandbox work again with chutney.
...
Previously, we had a problem due to the check_private_dir() rewrite.
Bug not in any released Tor.
2016-02-24 16:01:24 -05:00
Nick Mathewson
f2e23d5ad6
Fix a huge number of leaks in test_config.c
...
I no longer see asan reporting memory leaks in the unit tests.
2016-02-24 15:44:40 -05:00
Nick Mathewson
a3f764ea69
Fix memory leaks in routerlist/pick_directory_server_impl test
2016-02-24 15:13:29 -05:00
Nick Mathewson
ba0ddd7467
Fix a leak in test_have_enough_mem_for_dircache
2016-02-24 15:06:12 -05:00
Nick Mathewson
73c433a48a
Remove the freelist from memarea.c
...
This is in accordance with our usual policy against freelists,
now that working allocators are everywhere.
It should also make memarea.c's coverage higher.
I also doubt that this code ever helped performance.
2016-02-24 14:32:09 -05:00
teor (Tim Wilson-Brown)
9ab1037de1
Silence clang-scan warnings in ed25519_donna
2016-02-24 23:24:01 +08:00
Nick Mathewson
1318c1611f
Another clang+_FORTIFY_SOURCE issue
...
There was a parenthesis issue in test_util that clang found
confusing. This part was only in master.
Closes issue 14821.
2016-02-23 14:06:45 -05:00
Nick Mathewson
a7f303a481
Merge branch 'maint-0.2.7'
2016-02-23 14:05:54 -05:00
Nick Mathewson
67e5d49d8a
Make clang asan work with FORTIFIED_SOURCE again.
...
Short version: clang asan hates the glibc strcmp macro in
bits/string2.h if you are passing it a constant string argument of
length two or less. (I could be off by one here, but that's the
basic idea.)
Closes issue 14821.
2016-02-23 14:05:34 -05:00
Nick Mathewson
94c8f3605f
Replace two instances of N_DIGEST_ALGORITHMS.
...
These should have been N_COMMON_DIGEST_ALGORITHMS.
Fixes bug 18380; bug not in any released Tor.
2016-02-23 12:42:10 -05:00
Nick Mathewson
d3af4f4e43
Merge remote-tracking branch 'arma/bug16825'
2016-02-23 10:45:39 -05:00
Nick Mathewson
e88686cb2c
Merge remote-tracking branch 'teor/bug18348-v2'
2016-02-23 07:36:56 -05:00
Nick Mathewson
48c1c028ca
Merge branch 'bug18296_squashed'
2016-02-23 07:32:18 -05:00
Nick Mathewson
21f72990db
Simple fix for integer overflow in smartlist_heapify.
2016-02-23 07:31:58 -05:00
Nick Mathewson
882e0fbd76
Merge branch 'bug17795'
2016-02-23 07:25:12 -05:00
Nick Mathewson
e202f3a1ca
Fix an erroneous renaming
...
Did you know that crypto_digest_all is a substring of
crypto_digest_alloc_bytes()? Hence the mysterious emergence of
"crypto_common_digestsoc_bytes".
Next time I should use the \b assertion in my regexen.
Spotted by Mike.
2016-02-23 07:22:53 -05:00
Nick Mathewson
b3534dfc5e
Add missing check to test_address_get_if_addrs_ifaddrs. Bug 18378
2016-02-23 07:17:00 -05:00
Andrea Shepard
cda2381789
Appease make check-spaces
2016-02-23 05:07:29 +00:00
Nick Mathewson
e019e11e61
Another memory leak in the tests
2016-02-22 16:20:11 -05:00
Nick Mathewson
4cc50ee805
Small fixup on last fix to test leaks
2016-02-22 16:16:56 -05:00
Nick Mathewson
041d6482db
Fix a bunch of memory leaks in the unit tests
2016-02-22 16:14:03 -05:00
Nick Mathewson
bb431ad3df
Add a missing free in parsing an :auto port
...
Fixes bug 18374; bugfix on 0.2.3.3-alpha.
2016-02-22 15:51:43 -05:00
Nick Mathewson
ef42c00cf0
asan does not like TO_CONN(NULL)
2016-02-22 15:45:37 -05:00
cypherpunks
1e9950847c
Define O_NOFOLLOW on platforms that do not have it
...
Fixes #18339
2016-02-22 15:28:24 -05:00
Nick Mathewson
a508119169
Update to trunnel 1.4.4 to fix 18373
2016-02-22 14:19:29 -05:00
Nick Mathewson
2240aa1269
Merge branch 'bug16023_028_01_squashed'
2016-02-22 13:17:58 -05:00
Nick Mathewson
60efce445b
Enable ed25519 collator in voting.
...
Previously, I had left in some debugging code with /*XXX*/ after it,
which nobody noticed. Live and learn! Next time I will use /*XXX
DO NOT COMMIT*/ or something.
We need to define a new consensus method for this; consensus method
21 shouldn't actually be used.
Fixes bug 17702; bugfix on 0.2.7.2-alpha.
2016-02-22 10:07:42 -05:00
Roger Dingledine
e3eaee1d2c
avoid redundant bootstrap events if the number of descs we just fetched is 0
2016-02-22 03:02:01 -05:00
Roger Dingledine
56c5e282a7
avoid extra LOG_NOTICE for every new microdesc batch
...
We already write out bootstrapping progress (see bug 9927) per new
microdesc batch. There's no need to do a full "I learned some more
directory information, but not enough to..." line each time too.
2016-02-22 02:55:42 -05:00
Roger Dingledine
43193ec888
refactor directory_info_has_arrived so we can quiet the logs
...
no actual behavior changes
2016-02-22 02:54:32 -05:00
Roger Dingledine
c6952f65ef
new microdescs mean progress towards bootstrapping
...
Now, when a user who has set EntryNodes finishes bootstrapping, Tor
automatically repopulates the guard set based on this new directory
information. Fixes bug 16825; bugfix on 0.2.3.1-alpha.
2016-02-22 02:47:57 -05:00
Roger Dingledine
a9993a92fb
fix two typos in comments
2016-02-22 02:34:50 -05:00
teor (Tim Wilson-Brown)
d359cfab13
Update unit tests for fascist_firewall_choose_address*
...
Check that clients, bridge clients, and relays choose addresses
as expected.
2016-02-21 00:00:40 +11:00
teor (Tim Wilson-Brown)
be16c16bda
Downgrade directory preference warning to info level
2016-02-20 23:42:08 +11:00
teor (Tim Wilson-Brown)
c281c03654
If both IPv4 and IPv6 addresses could be used, choose one correctly
...
If there is a node, use node_ipv6_or/dir_preferred().
If there is no node, use fascist_firewall_prefer_ipv6_or/dirport().
2016-02-20 23:40:37 +11:00
teor (Tim Wilson-Brown)
4afb107278
Refactor IPV6_OR_LOOKUP into fascist_firewall_choose_address_rs
...
It's only used once now, so having it as a macro is unhelpful.
2016-02-20 23:30:23 +11:00
teor (Tim Wilson-Brown)
a4853f1bc1
Make some fascist_firewall_choose_address* functions static
2016-02-20 23:30:17 +11:00
teor (Tim Wilson-Brown)
a4eddfff66
Refactor fascist_firewall_allows_address without changing behaviour
2016-02-20 20:01:51 +11:00
teor (Tim Wilson-Brown)
25543387ed
Ensure relays must use IPv4, and can use IPv6
...
A mistake in previous refactoring had relays using IPv4 and IPv6.
2016-02-20 19:28:51 +11:00
David Goulet
13a8571834
Add onion address to the HS_DESC UPLOADED event
...
Fixes #16023
Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2016-02-17 15:30:46 -05:00
Nick Mathewson
5494938467
Set or_ap/dir_ap.port on the invalid addr case. Bug in no released Tor. CID 1353178 and 1353179.
2016-02-16 12:58:02 -05:00
Nick Mathewson
31c96a3699
Fix a NULL dereference on unit test failure. CID 1353177.
2016-02-16 12:55:41 -05:00
Nick Mathewson
5cd6c577df
Merge branch 'bug17852_revised'
2016-02-16 11:34:06 -05:00
Jeremy
f48c607fd9
Harden check_private_dir() to remove any potential race.
...
Remove any potential race between stat() and chmod().
Replace stat() with fstat().
Replace chmod() with fchmod()
2016-02-16 11:21:46 -05:00
Jeremy
4e19133dcc
src/common/util.c:expand_filename() - Perhaps use GetFullPathName() as a form of input validation on the filename argument.
2016-02-16 11:21:45 -05:00
Nick Mathewson
a874d66ea9
Handle the case where tor-gencert gets a passphrase with no NL
...
Closes ticket 17443.
2016-02-12 08:54:09 -05:00
Nick Mathewson
1f679d4ae1
Fix all doxygen warnings other than "X is not documented"
2016-02-11 22:06:44 -05:00
Nick Mathewson
fed8c5199a
Merge branch 'check_log_mutex_uncherrypicked'
2016-02-11 13:41:31 -05:00
teor (Tim Wilson-Brown)
a7a98e27ea
Initialise logging before trying to use it in unit tests
2016-02-11 13:41:25 -05:00
Nick Mathewson
7788ee43e5
Merge branch 'maint-0.2.7'
2016-02-11 13:04:43 -05:00
Nick Mathewson
be6174f8f6
Merge branch 'maint-0.2.6' into maint-0.2.7
2016-02-11 13:01:46 -05:00
Nick Mathewson
740421af19
Merge branch 'maint-0.2.5' into maint-0.2.6
2016-02-11 13:00:25 -05:00
Nick Mathewson
ce289e2cb5
Merge branch 'maint-0.2.4' into maint-0.2.5
2016-02-11 12:55:40 -05:00
Nick Mathewson
ad95d64fec
Merge branch 'bug18162_024' into maint-0.2.4
2016-02-11 12:55:25 -05:00
Nick Mathewson
c2fd648469
Make ensure_capacity a bit more pedantically correct
...
Issues noted by cypherpunks on #18162
2016-02-11 12:54:52 -05:00
Nick Mathewson
838d4dee12
make check-spaces
2016-02-11 12:50:55 -05:00
Nick Mathewson
2b5ff52594
Merge branch 'feature17840-v11-tests_truncated'
2016-02-11 12:45:51 -05:00
Nick Mathewson
ba2be81fc3
Merge remote-tracking branch 'teor/feature17840-v11-merged-v2'
2016-02-11 12:20:20 -05:00
Nick Mathewson
cae59b913f
Rename circuit_about_to_free_{terminal -> atexit}
2016-02-11 12:15:12 -05:00
Nick Mathewson
7f9ac4957c
Split a long line
2016-02-11 12:13:02 -05:00
Nick Mathewson
bc7a5eeeda
Merge remote-tracking branch 'weasel/bug18261'
2016-02-11 12:12:02 -05:00
Nick Mathewson
c0a6c34652
Merge remote-tracking branch 'teor/bug18208'
2016-02-10 16:32:05 -05:00
Nick Mathewson
162d2022e1
Merge branch 'bug17682_squashed'
2016-02-10 15:50:28 -05:00
Nick Mathewson
601b41084a
Bulletproof the safe_timer_diff function
...
Originally it can overflow in some weird cases. Now it should no longer
be able to do so.
Additionally, limit main's timers to 30 days rather than to 38 years;
we don't actually want any 38-year timers.
Closes bug 17682.
2016-02-10 15:49:11 -05:00
Nick Mathewson
ee75c02691
Merge remote-tracking branch 'andrea/bug18116'
2016-02-10 15:42:11 -05:00
Nick Mathewson
69c47ab5fd
Merge remote-tracking branch 'sebastian/bug18242'
2016-02-10 15:38:52 -05:00
Nick Mathewson
4dc8dc4b89
Merge remote-tracking branch 'public/bug18184'
2016-02-10 15:36:48 -05:00
Nick Mathewson
a8d6989589
Whitespace fixes
2016-02-10 15:35:46 -05:00
Nick Mathewson
9746aed2ba
Another automated rename.
...
Also simplify crypto_common_digests() to have no loop.
2016-02-10 15:32:12 -05:00
Nick Mathewson
8a4bba06d2
Rename crypto_digest_all, and digests_t.
...
They are no longer "all" digests, but only the "common" digests.
Part of 17795.
This is an automated patch I made with a couple of perl one-liners:
perl -i -pe 's/crypto_digest_all/crypto_common_digests/g;' src/*/*.[ch]
perl -i -pe 's/\bdigests_t\b/common_digests_t/g;' src/*/*.[ch]
2016-02-10 15:28:19 -05:00
Andrea Shepard
ae0f858602
Properly detach circuits from cmuxes when calling circuit_free_all() on shutdown again
2016-02-10 05:35:03 +00:00
Andrea Shepard
3014bfb61b
Appease make check-spaces
2016-02-10 02:20:59 +00:00
Nick Mathewson
92048a1b43
Add missing consts; my fault.
2016-02-08 08:34:18 -05:00
Nick Mathewson
9f6589d65a
Merge branch 'decorated_ipv6_directory_send_command_squashed'
2016-02-08 08:33:28 -05:00
Malek
061586e36c
decorated ipv6 address for directory send command
2016-02-08 08:33:18 -05:00
Nick Mathewson
d004f06830
fix wide lines, use more locals.
2016-02-08 08:31:31 -05:00
Harini Kannan
c30be5a82d
Using router_get_my_routerinfo()
2016-02-07 16:07:35 -05:00
Peter Palfrader
42e131e9ac
Fix a segfault during startup
...
If unix socket was configured as listener (such as a ControlSocket or a
SocksPort unix socket), and tor was started as root but not configured
to switch to another user, tor would segfault while trying to string
compare a NULL value. Fixes bug 18261; bugfix on 0.2.8.1-alpha. Patch
by weasel.
2016-02-06 22:17:02 +01:00
Nick Mathewson
2d879bd39f
Document port_out argument to tor_addr_from_sockaddr
2016-02-06 15:34:47 -05:00
Nick Mathewson
0f5f6b8a41
Merge remote-tracking branch 'yawning/bug18221'
2016-02-06 15:30:22 -05:00
Nick Mathewson
b645e2f2b0
Merge remote-tracking branch 'alec/dead_code_removal'
2016-02-06 15:08:49 -05:00
Alec Heifetz
6852868b4a
Removed dead code in main.c
2016-02-06 14:41:31 -05:00
Nick Mathewson
31a27729b9
Fix spaces.
2016-02-06 14:00:24 -05:00
Nick Mathewson
03371e3d3c
Merge branch 'cleaned_aes_crypt'
2016-02-06 13:54:09 -05:00
Malek
a9cd291753
Removed aes_crypt, left only aes_crypt_inplace. Removed should_use_openssl_CTR, was used for openssl 1.0.0 bug.
2016-02-06 13:38:11 -05:00
Hassan Alsibyani
edd93f9de8
changing output of crypto_cipher_crypt_inplace from int to void
2016-02-06 12:14:39 -05:00
Sebastian Hahn
55d6fd27cb
Fix the --disable-asserts-in-tests configure option
2016-02-05 14:40:07 +01:00
Nick Mathewson
1f5cdf2b6c
Merge branch 'maint-0.2.7'
2016-02-05 08:13:47 -05:00
Nick Mathewson
d920cbb82c
Merge branch 'maint-0.2.6' into maint-0.2.7
2016-02-05 08:13:35 -05:00
Nick Mathewson
44ad3be221
Merge branch 'maint-0.2.5' into maint-0.2.6
2016-02-05 08:13:24 -05:00
Nick Mathewson
f06d9a9cef
Merge branch 'maint-0.2.4' into maint-0.2.5
2016-02-05 08:13:13 -05:00
teor (Tim Wilson-Brown)
add8acf428
Avoid calling log functions in logv when SMARTLIST_DEBUG is defined
2016-02-05 14:14:17 +11:00
teor (Tim Wilson-Brown)
db72b509d1
Check that the log mutex is initialised before trying to lock or unlock it
2016-02-05 14:08:58 +11:00
Nick Mathewson
6149703089
Bump to 0.2.8.1-alpha-dev
2016-02-04 18:24:20 -05:00
Nick Mathewson
af116081f9
Make the no-assertions-during-coverage check into a configure option
...
Closes ticket 18242.
The rationale here is that I like having coverage on by default in my
own working directory, but I always want assertions turned on unless
I'm doing branch coverage specifically.
2016-02-04 12:51:52 -05:00
Nick Mathewson
c595f6d25e
Add an assertion to tor_libevent_get_base()
...
Closes ticket 18241.
2016-02-04 12:37:00 -05:00
Nick Mathewson
1bac468882
Fix two problems in the 0.2.8.x unit tests
...
1. We were sometimes using libevent uninitialized, which is Not Allowed.
2. The malformed-PTR dns test was supposed to get a -1 output... but
the test was wrong, since it forgot that in-addr.arpa addresses
are in reverse order.
Bugs not in any released tor.
2016-02-04 12:30:48 -05:00
Nick Mathewson
5da517e689
Bump version. (This is not yet the release.)
2016-02-04 10:07:06 -05:00
Karsten Loesing
d5ac79e056
Update geoip and geoip6 to the February 2 2016 database.
2016-02-04 08:53:24 +01:00
Nick Mathewson
fa52b6f075
Make tortls unit tests pass with LibreSSL.
...
Part of the fix for 17921.
2016-02-03 11:31:57 -05:00
Nick Mathewson
c1c3e45eab
Make crypto/rng_engine test pass on libressl. Bug not in any released tor.
2016-02-03 11:18:16 -05:00
Nick Mathewson
27582325dc
Make Tor build happily with OpenSSL master and libressl.
...
Also tested with 1.0.0t and 1.0.2f.
Closes ticket 19784.
Closes most of 17921. (Still need to make some tests pass.)
2016-02-03 11:13:12 -05:00
teor (Tim Wilson-Brown)
c213f277cd
Make bridge clients prefer the configured bridge address
...
When ClientPreferIPv6ORPort is auto, bridges prefer the configured
bridge ORPort address. Otherwise, they use the value of the option.
Other clients prefer IPv4 ORPorts if ClientPreferIPv6ORPort is auto.
When ClientPreferIPv6DirPort is auto, all clients prefer IPv4 DirPorts.
2016-02-03 23:56:19 +11:00
teor (Tim Wilson-Brown)
b316c87bc9
Make bridge clients prefer the configured bridge address
...
When ClientPreferIPv6ORPort is auto, bridges prefer the configured
bridge ORPort address. Otherwise, they use the value of the option.
Other clients prefer IPv4 ORPorts if ClientPreferIPv6ORPort is auto.
When ClientPreferIPv6DirPort is auto, all clients prefer IPv4 DirPorts.
2016-02-03 23:52:39 +11:00
Yawning Angel
c625ab9f5a
Validate the DH parameters for correctness.
...
We use sensible parameters taken from common sources, and no longer
have dynamic DH groups as an option, but it feels prudent to have
OpenSSL validate p and g at initialization time.
2016-02-02 22:03:48 +00:00
teor (Tim Wilson-Brown)
92b1c3b604
Update ExitPolicy when interface addresses change
...
Tor exit relays reject local interface addresses in their exit policy.
Make sure those policies are updated when interface addresses change.
2016-02-02 15:05:59 +11:00
Nick Mathewson
b860f82d56
Treat bt_test.py failures as "SKIP" on freebsd.
...
Closes #18204 .
2016-02-01 14:11:45 -05:00
Nick Mathewson
c6fa55d2da
Bitwise negate is ~, not !.
...
Spotted by coverity; bug in tests only, not in any released Tor.
This is CID 1351128
2016-02-01 13:12:58 -05:00
Nick Mathewson
7631cffbcc
Fix warnings from check-spaces
2016-02-01 10:24:13 -05:00
Nick Mathewson
ac7e43d30a
Redux: don't expect unix sockets to be accepted on windows
2016-02-01 10:21:11 -05:00
Nick Mathewson
49442b5e67
Don't expect unix sockets to be accepted on Windows
...
Fixes failures in test_config.c; bug not in any released tor.
2016-02-01 09:57:54 -05:00
Nick Mathewson
f4ac44c9f2
Merge branch 'options_validate_second_round_cleaned'
2016-02-01 09:52:11 -05:00
teor (Tim Wilson-Brown)
e3da5ad6e3
Replace incorrect use of snprintf in unit tests with tor_snprintf
...
This avoids a potential out of bounds write.
2016-02-01 09:50:43 -05:00
teor (Tim Wilson-Brown)
f7b2ae91e9
Make all unit tests independent of log message order and count
2016-02-01 09:50:43 -05:00
teor (Tim Wilson-Brown)
dbb5819e96
Report malformed options in options_validate unit tests
2016-02-01 09:50:42 -05:00
Ola Bini
fe92e9bb96
Add a helper to search for strings in the log, and change option tests to use this helper instead of looking at specific indices in the log list
2016-02-01 09:50:42 -05:00
Nick Mathewson
4cd93a6a59
Merge branch 'maint-0.2.7'
...
(We already had a fix for the address test freebsd issues)
2016-02-01 09:41:45 -05:00
Nick Mathewson
7d1fe7c9e7
Try to fix address tests on FreeBSD
...
In jails, there is not always a localhost.
Bugfix not on any released Tor.
2016-02-01 09:38:31 -05:00
teor (Tim Wilson-Brown)
1dae4dac12
Add unit tests for ClientUseIPv[4,6] and ClientPreferIPv6[OR,Dir]Port
2016-02-01 09:15:07 +11:00
teor (Tim Wilson-Brown)
26f68a771c
Report malformed options in options_validate unit tests
2016-02-01 09:11:16 +11:00
teor (Tim Wilson-Brown)
13db39b856
Fix existing options_validate unit tests for ClientUseIPv4
2016-02-01 09:10:52 +11:00
Ola Bini
8627a40fba
Add a helper to search for strings in the log, and change option tests to use this helper instead of looking at specific indices in the log list
2016-02-01 09:09:44 +11:00
Nick Mathewson
5f7df92571
Remove support for unsigned time_t
...
We've never actually tested this support, and we should probably assume
it's broken.
To the best of my knowledge, only OpenVMS has this, and even on
OpenVMS it's a compile-time option to disable it. And I don't think
we build on openvms anyway. (Everybody else seems to be working
around the 2038 problem by using a 64-bit time_t, which won't expire
for roughly 292 billion years.)
Closes ticket 18184.
2016-01-29 09:18:59 -05:00
teor (Tim Wilson-Brown)
c4cb4706c9
Merge branch 'feature17840-v11-squashed' into feature17840-v11-merged
...
Conflicts:
src/or/directory.c
src/test/test_routerlist.c
Fix minor conflicts.
2016-01-29 07:37:06 +11:00
teor (Tim Wilson-Brown)
73fc67bc89
Tor2Web: tell extend_info_from_node intro point connections are direct
2016-01-29 07:16:32 +11:00
teor (Tim Wilson-Brown)
1401117ff2
Return NULL from extend_info_from_node if the node has no allowed address
...
Modify callers to correctly handle these new NULL returns:
* fix assert in onion_extend_cpath
* warn and discard circuit in circuit_get_open_circ_or_launch
* warn, discard circuit, and tell controller in handle_control_extendcircuit
2016-01-29 07:16:32 +11:00
teor (Tim Wilson-Brown)
77a9de0d48
Automatically use IPv6 when ClientUseIPv4 is 0
...
Consequential changes to log messages:
* it's no longer possible to disable both IPv4 and IPv6,
* refactor common string out of remaining log messages
2016-01-29 07:16:32 +11:00
teor (Tim Wilson-Brown)
3a00215c35
Minor whitespace-only fix
2016-01-29 07:16:05 +11:00
teor (Tim Wilson-Brown)
4db5a35e66
Consistently format addresses in node_get_address_string
...
Also, don't write to a buffer with length zero.
2016-01-29 07:16:05 +11:00
teor (Tim Wilson-Brown)
772577b547
Optimise reachability checks when iterating through relay lists
...
Skip address checks on servers.
Skip allowed-only address checks on non-bridge clients with IPv4.
2016-01-29 07:16:04 +11:00
teor (Tim Wilson-Brown)
e991d642ec
Add firewall_is_fascist_dir()
...
Refactor common parts of firewall_is_fascist_or().
2016-01-29 07:16:04 +11:00
teor (Tim Wilson-Brown)
3b8216f215
Use fascist firewall and ClientUseIPv4 for bridge clients
...
Bridge clients ignore ClientUseIPv6, acting as if it is always 1.
This preserves existing behaviour.
Make ClientPreferIPv6OR/DirPort auto by default:
* Bridge clients prefer IPv6 by default.
* Other clients prefer IPv4 by default.
This preserves existing behaviour.
2016-01-29 07:16:04 +11:00
teor (Tim Wilson-Brown)
4528f89316
Make entry_guard_set_status consistent with entry_is_live
...
Check fascist_firewall_allows_node in entry_guard_set_status and
return the same message as entry_is_live.
2016-01-29 07:15:53 +11:00
teor (Tim Wilson-Brown)
1648666203
Choose bridge addresses by IPv4/IPv6 preferences
2016-01-29 07:15:53 +11:00
teor (Tim Wilson-Brown)
c3cc8e16e9
Log when IPv4/IPv6 restrictions or preferences weren't met
2016-01-29 07:13:57 +11:00
teor (Tim Wilson-Brown)
e72cbf7a4e
Choose directory servers by IPv4/IPv6 preferences
...
Add unit tests, refactor pick_directory functions.
2016-01-29 07:13:57 +11:00
teor (Tim Wilson-Brown)
268608c0a0
Choose OR Entry Guards using IPv4/IPv6 preferences
...
Update unit tests.
2016-01-29 07:13:57 +11:00
teor (Tim Wilson-Brown)
2d33d192fc
Add ClientUseIPv4 and ClientPreferIPv6DirPort torrc options
...
ClientUseIPv4 0 tells tor to avoid IPv4 client connections.
ClientPreferIPv6DirPort 1 tells tor to prefer IPv6 directory connections.
Refactor policy for IPv4/IPv6 preferences.
Fix a bug where node->ipv6_preferred could become stale if
ClientPreferIPv6ORPort was changed after the consensus was loaded.
Update documentation, existing code, add unit tests.
2016-01-29 07:13:57 +11:00
teor (Tim Wilson-Brown)
4460feaf28
Fix *_get_all_orports to use ipv6_orport
...
node_get_all_orports and router_get_all_orports incorrectly used or_port
with IPv6 addresses. They now use ipv6_orport.
Also refactor and remove duplicated code.
2016-01-29 07:13:56 +11:00
Nick Mathewson
39b597c2fd
Restrict the meaning of digests_t to sha1+sha256.
...
This saves CPU and RAM when handling consensuses and x509 certs.
Closes ticket 17795; bug not in any released tor.
2016-01-27 13:10:17 -05:00
Nick Mathewson
bca7083e82
avoid integer overflow in and around smartlist_ensure_capacity.
...
This closes bug 18162; bugfix on a45b131590
, which fixed a related
issue long ago.
In addition to the #18162 issues, this fixes a signed integer overflow
in smarltist_add_all(), which is probably not so great either.
2016-01-27 12:32:41 -05:00
Nick Mathewson
1a022525f7
attempt to fix crashes in unit tests
2016-01-27 09:42:08 -05:00
Nick Mathewson
39a86185c8
Correct further grammatical errors in tor comments
...
Avoid using a pronoun where it makes comments unclear.
Avoid using gender for things that don't have it.
Avoid assigning gender to people unnecessarily.
2016-01-27 08:51:28 -05:00
Nick Mathewson
42dea56363
Merge remote-tracking branch 'teor/bug18145'
2016-01-26 10:01:34 -05:00
teor (Tim Wilson-Brown)
4339fa5609
Replace "Alice" with "the client" in a hidden service log message
2016-01-26 13:49:16 +11:00
teor (Tim Wilson-Brown)
fb939ed82e
Replace Alice/Bob with client/service in hidden service comments
2016-01-26 13:48:31 +11:00
teor (Tim Wilson-Brown)
7a4b4f0c3a
Correct grammatical errors in tor log messages
...
Avoid using gender for things that don't have it.
2016-01-26 13:47:23 +11:00
teor (Tim Wilson-Brown)
c927b6cb1a
Correct grammatical errors in tor comments
...
Avoid using gender for things that don't have it.
Avoid assigning a gender to tor users.
2016-01-26 13:46:54 +11:00
Nick Mathewson
0010b8064e
Fix redundant-declaration warning
2016-01-22 09:53:42 -05:00
Nick Mathewson
cbed61d128
Merge remote-tracking branch 'twstrike/parse_port_config_tests'
2016-01-21 12:15:39 -05:00
Nick Mathewson
ae3d2a93f0
Merge remote-tracking branch 'twstrike/options_test'
2016-01-19 20:14:18 -05:00
Ola Bini
32946e2c96
Make sure that tests for domain sockets only run on OSes with domain sockets
2016-01-19 11:14:41 -05:00
Ola Bini
3e738211d4
Use correct u64 int ops instead of regular int ops, in order to avoid warnings on 32bit clang
2016-01-19 11:11:01 -05:00
Nick Mathewson
f557a7f327
Merge branch 'maint-0.2.7'
2016-01-19 08:30:48 -05:00
Nick Mathewson
534a0ba59b
Merge branch 'maint-0.2.6' into maint-0.2.7
2016-01-19 08:30:39 -05:00
Nick Mathewson
e2efa9e321
Refine the memwipe() arguments check for 18089 a little more.
...
We still silently ignore
memwipe(NULL, ch, 0);
and
memwipe(ptr, ch, 0); /* for ptr != NULL */
But we now assert on:
memwipe(NULL, ch, 30);
2016-01-19 08:28:58 -05:00
Nick Mathewson
7b6d7aae09
Merge branch 'fallbacks-0281-squashed'
2016-01-18 20:16:05 -05:00
teor (Tim Wilson-Brown)
ab3c86479a
Add default fallback directories for the 0.2.8 alpha releases
...
Allow fallback directories which have been stable for 30 days
to work around #18050 , which causes relays to submit descriptors
with 0 DirPorts when restarted. (Particularly during Tor version
upgrades.)
Ignore low fallback directory count in alpha builds.
2016-01-18 20:15:59 -05:00
Nick Mathewson
ab58f60321
Merge branch 'maint-0.2.7'
2016-01-18 20:03:28 -05:00
Nick Mathewson
8335b1f9a9
Merge branch 'maint-0.2.6' into maint-0.2.7
2016-01-18 20:00:16 -05:00
teor (Tim Wilson-Brown)
db81565331
Make memwipe() do nothing when passed a NULL pointer or zero size
...
Check size argument to memwipe() for underflow.
Closes bug #18089 . Reported by "gk", patch by "teor".
Bugfix on 0.2.3.25 and 0.2.4.6-alpha (#7352 ),
commit 49dd5ef3
on 7 Nov 2012.
2016-01-18 19:58:07 -05:00
Nick Mathewson
0ace22ef6d
Merge remote-tracking branch 'origin/maint-0.2.7'
2016-01-18 19:52:34 -05:00
Nick Mathewson
83dfcfbc4a
Merge remote-tracking branch 'teor/bug18050' into maint-0.2.7
2016-01-18 19:51:57 -05:00
teor (Tim Wilson-Brown)
6094a886cf
Check ORPort and DirPort reachability before publishing a relay descriptor
...
Otherwise, relays publish a descriptor with DirPort 0 when the DirPort
reachability test takes longer than the ORPort reachability test.
Closes bug #18050 . Reported by "starlight", patch by "teor".
Bugfix on 0.1.0.1-rc, commit a1f1fa6ab
on 27 Feb 2005.
2016-01-18 14:00:29 +11:00
Nick Mathewson
da4dbb29b7
Fix some leaks in the unit tests.
2016-01-15 11:45:19 -05:00
Nick Mathewson
f6ea7a6258
Make the new directory tests build and run again.
...
Had to disable a couple.
Also add changes file for 17003.
2016-01-15 11:20:14 -05:00
Nick Mathewson
537214d10e
Merge remote-tracking branch 'twstrike/directory-tests'
2016-01-15 11:08:22 -05:00
Nick Mathewson
f47d4af04c
Whitespace cleanup
2016-01-15 10:57:03 -05:00
Nick Mathewson
00b13cb091
Merge remote-tracking branch 'twstrike/options_test'
2016-01-15 10:52:27 -05:00
Ola Bini
1722232d78
Update tests to match current changes to options_validate
2016-01-13 10:54:08 -05:00
Ola Bini
6d5215fd19
Move clearing of log messages on advice from @cypherpunks, in order to minimize risk of race conditions leading to another memory leak
2016-01-13 10:35:49 -05:00
Ola Bini
5c1c117b8e
Revert my addition of callback cleaner and instead use existing functionality for temporary log files
2016-01-13 10:35:06 -05:00
Ola Bini
0bfa616e2e
Remove a small memory leak in log callback setup
2016-01-13 10:35:05 -05:00
Ola Bini
ce953b864b
Fix memory leaks
2016-01-13 10:35:05 -05:00
Ola Bini
f2a7a83626
Fix all white space issues
2016-01-13 10:34:24 -05:00
Ola Bini
1a3fcda0a3
Fix some issues in gcc warnings
2016-01-13 10:32:09 -05:00
Ola Bini
5edd431d92
Add tests for options_act
2016-01-13 10:31:13 -05:00
Fergus Dall
d748c193e1
Include square brackets and port number in calcs for max_dl_per_request
2016-01-13 18:05:52 +10:30
Fergus Dall
91077d3aca
Update the limits in max_dl_per_request for IPv6 address length
2016-01-13 06:57:24 +10:30
Ola Bini
fcd7923a96
Fix remaining memory leaks
2016-01-12 12:33:05 -05:00
Ola Bini
ee39869f67
Fix some memory leaks
2016-01-12 12:14:34 -05:00
Ola Bini
b24a16e56e
Make it compile with gcc-warnings turned on
2016-01-12 11:53:07 -05:00
Nick Mathewson
3074b8365f
Add another safe_str_client to fix bug 17419
2016-01-12 10:42:01 -05:00
Fergus Dall
9e5a6f0293
Stop log_heartbeat test from failing in timezones with non-integer offsets
...
Instead of comparing the end of the time string against a constant,
compare it to the output of format_local_iso_time when given the
correct input.
2016-01-12 22:01:46 +10:30
Nick Mathewson
16840e52e5
Make the touch_file unit test work around FS/system time sync issues
...
Sometimes you can call time() and then touch a file, and have the
second come out a little before the first. See #18025 for way more
information than you necessarily wanted.
2016-01-11 10:03:00 -05:00
Nick Mathewson
1d6dd288e1
Try a little harder to only use SecureZeroMemory when it's present
...
We could be using AC_CHECK_FUNC_DECL too, but it shouldn't be needed.
2016-01-11 09:02:42 -05:00
Nick Mathewson
d10ea49588
Merge remote-tracking branch 'rl1987/feature17950'
2016-01-11 08:54:51 -05:00
rl1987
fd26c1d994
Re-add the removed address family check.
2016-01-09 15:03:54 +01:00
Nick Mathewson
95f5910810
Merge branch 'unixninja_ticket15989_squashed'
2016-01-08 15:52:22 -08:00
unixninja92
4f0e28977d
Added AccountRule in and AccountingRule out options
2016-01-08 15:52:10 -08:00
Nick Mathewson
5b5abd8c03
Merge commit '110765f5564a588c5f019d32b5e6f66cc7806c41'
2016-01-08 15:08:28 -08:00
Nick Mathewson
a1019b82c1
Merge remote-tracking branch 'public/feature16794_more'
2016-01-08 14:54:51 -08:00
cypherpunks
4c10a9c445
Simplify micro-revision dependency rules
...
The Automake variable OBJEXT is automatically adjusted to the correct
object file extension for the target platform.
2016-01-08 13:27:36 -08:00
rl1987
fb373a9ef6
On win32, use SecureZeroMemory() to securely wipe buffers.
...
{Also tweak the comments. -nickm)
2016-01-07 14:25:31 -08:00
Nick Mathewson
3783046f3b
Use memset_s or explicit_bzero when available.
2016-01-07 12:53:24 -08:00
Nick Mathewson
8d6aafbb4a
Merge remote-tracking branch 'teor/comments-20151213'
2016-01-07 12:50:10 -08:00
dana koch
be841f77aa
Compatibility defines should be used for LibreSSL.
...
LibreSSL doesn't use OpenSSL_version (it uses the older SSLeay_version
API), but it reports a major version number as 2 in
OPENSSL_VERSION_NUMBER. Instead of fudging the version check, for now,
let's just check if we're using LibreSSL by checking the version number
macro exists, and use compatibility defines unconditionally when we
detect LibreSSL.
2016-01-07 12:48:59 -08:00
Nick Mathewson
62bc4a199a
Fix #18012 harder.
2016-01-07 09:58:48 -08:00
Nick Mathewson
77bc95cb5e
Merge remote-tracking branch 'public/17826_redux'
2016-01-07 09:52:09 -08:00
Nick Mathewson
55232e32c7
Merge branch 'maint-0.2.7'
2016-01-07 09:43:24 -08:00
Nick Mathewson
b34c5c6b8a
Merge branch 'maint-0.2.6' into maint-0.2.7
...
Conflicts:
src/or/config.c
2016-01-07 09:43:12 -08:00
Nick Mathewson
c7b0cd9c2f
Merge branch 'maint-0.2.5' into maint-0.2.6
2016-01-07 09:41:36 -08:00
Nick Mathewson
9ca329581a
Merge branch 'maint-0.2.4' into maint-0.2.5
...
Conflicts:
src/or/config.c
2016-01-07 09:40:23 -08:00
teor (Tim Wilson-Brown)
11f63d26ac
Update dannenberg's V3 authority identity fingerprint
...
This new identity key was changed on 18 November 2015.
2016-01-07 09:39:04 -08:00
Nick Mathewson
b5ce332958
Try to fix windows test build ( #18012 )
2016-01-07 09:25:44 -08:00
Nick Mathewson
5ba7b1a74d
Merge remote-tracking branch 'gtank/feature16774-squashed'
2016-01-07 09:20:03 -08:00
Nick Mathewson
37b0d27a34
Merge branch 'maint-0.2.7'
2016-01-07 09:14:31 -08:00
Nick Mathewson
d9b11d05e8
Merge branch 'maint-0.2.6' into maint-0.2.7
2016-01-07 09:14:15 -08:00
Nick Mathewson
400df18688
Merge branch 'maint-0.2.5' into maint-0.2.6
2016-01-07 09:14:05 -08:00
Nick Mathewson
ae223138fb
Merge branch 'maint-0.2.4' into maint-0.2.5
2016-01-07 09:13:54 -08:00
Karsten Loesing
1496056c12
Update geoip and geoip6 to the January 5 2016 database.
2016-01-07 11:10:37 +01:00
George Tankersley
3bc45f2628
Add FallbackDir list to GETINFO config/defaults
2016-01-06 11:22:30 -08:00
rl1987
110765f556
Use get_interface6_via_udp_socket_hack() properly in _list().
...
When _list() is called with AF_UNSPEC family and fails to enumerate
network interfaces using platform specific API, have it call
_hack() twice to find out IPv4 and/or IPv6 address of a machine Tor
instance is running on. This is correct way to handle this case
because _hack() can only be called with AF_INET and AF_INET6 and
does not support any other address family.
2016-01-06 14:47:35 +01:00
rl1987
680d0701e5
Tweak ioctl case.
2016-01-06 11:47:31 +01:00
Nick Mathewson
7660471054
Unit tests for getpw* functions
2016-01-03 09:00:30 -08:00
Nick Mathewson
c941240f32
clean up the "skip this util test on windows" logic.
2016-01-03 08:47:14 -08:00
Nick Mathewson
8aa9ee73da
Add a test for touch_file
2016-01-03 08:37:14 -08:00
Nick Mathewson
de8110fba2
Explicitly test our get/set_uint{8,16,32,64}.
2016-01-03 08:27:54 -08:00
Nick Mathewson
a8749ea9fd
Test another codepath in inet_ntop
2016-01-03 08:27:44 -08:00
rl1987
44497e9ebc
Add family argument to get_interface_addresses_raw (and subfunctions).
2016-01-03 15:35:45 +01:00
teor (Tim Wilson-Brown)
ce5406b71a
Fix a comment typo in main.c
2016-01-03 17:34:42 +11:00
teor (Tim Wilson-Brown)
3a24364a69
Fix typos in microdesc_t and node_t comments
2016-01-03 17:34:42 +11:00
teor (Tim Wilson-Brown)
1949908d13
Fix a typo in the comment for tor_addr_port_split
2016-01-03 17:34:41 +11:00
Nick Mathewson
603110aa1d
Merge branch 'feature17796_squashed'
2015-12-29 09:48:39 -05:00
Nick Mathewson
a12c5f462f
Remove the (now-unused) digest_algorithm_bitfield_t
2015-12-29 09:47:04 -05:00
Nick Mathewson
488cdee5e7
When allocating a crypto_digest_t, allocate no more bytes than needed
...
Previously we would allocate as many bytes as we'd need for a
keccak--even when we were only calculating SHA1.
Closes ticket 17796.
2015-12-29 09:47:04 -05:00
Nick Mathewson
bc2cd0ff2b
Use timingsafe_memcmp() where available.
...
See ticket 17944; patch from "logan".
2015-12-29 09:43:01 -05:00
Nick Mathewson
263f6d11fd
Mark all object files built based on micro-revision.i as depending on it
...
Fixes make -j for some users; fixes bug 17826.
Bugfix on 0.2.5.1, when we started building testing versions of all
the object files.
2015-12-26 13:43:13 -05:00
Nick Mathewson
6365859825
Disable the dynlock functions we were giving openssl.
...
OpenSSL doesn't use them, and fwict they were never called. If some
version of openssl *does* start using them, we should test them before
we turn them back on.
See ticket 17926
2015-12-23 09:58:36 -05:00
Nick Mathewson
d7c841f467
Unit tests for crypto_force_rand_ssleay().
...
Part of 16794.
2015-12-23 09:58:08 -05:00
Nick Mathewson
b18f533cf0
Always test both ed25519 backends.
...
Part of #16794
2015-12-23 09:16:26 -05:00
Nick Mathewson
45f5e59751
Remove extra quotes from log message
...
Bug 17843; fix on ddc65e2b
2015-12-22 10:31:26 -05:00
Nick Mathewson
4ec0f8531e
Add an unreachable line to make the compiler happy
2015-12-22 10:27:04 -05:00
Nick Mathewson
f2a5df252f
whoops; really fix the 32-bit builds
2015-12-21 13:10:10 -05:00
Nick Mathewson
8ede8d411a
Fix a couple of jenkins issues from 12538.
2015-12-21 12:32:20 -05:00
Nick Mathewson
62f97545e4
Merge remote-tracking branch 'public/bug12538_merged'
2015-12-21 07:30:32 -05:00
Nick Mathewson
bb19799a49
Appease "make check-spaces"
2015-12-20 15:00:20 -05:00
Nick Mathewson
2d9c38ea72
Repair "make distcheck".
2015-12-20 14:57:27 -05:00
Nick Mathewson
7b0cbf22c0
Merge remote-tracking branch 'yawning/feature17783_take2'
2015-12-20 14:10:52 -05:00
Yawning Angel
081b159abc
Add the randomized large buffer test for SHA-3 incremental hashing.
...
This creates a random 100 KiB buffer, and incrementally hashes
(SHA3-512) between 1 and 5 * Rate bytes in a loop, comparing the running
digest with the equivalent one shot call from the start of the buffer.
2015-12-20 07:11:20 +00:00
Yawning Angel
9467485517
Add crypto_xof_t
and assorted routines, backed by SHAKE256.
...
This is an eXtendable-Output Function with the following claimed
security strengths against *all* adversaries:
Collision: min(d/2, 256)
Preimage: >= min(d, 256)
2nd Preimage: min(d, 256)
where d is the amount of output used, in bits.
2015-12-19 22:45:21 +00:00
Yawning Angel
687f9b3bd7
Add the SHA-3 hash functions to common/crypto.h.
...
* DIGEST_SHA3_[256,512] added as supported algorithms, which do
exactly what is said on the tin.
* test/bench now benchmarks all of the supported digest algorithms,
so it's possible to see just how slow SHA-3 is, though the message
sizes could probably use tweaking since this is very dependent on
the message size vs the SHA-3 rate.
2015-12-19 22:44:05 +00:00
Yawning Angel
5356eba6ca
Use tor specific headers and memwipe() instead of memset_s(), and build.
...
This is where things get tor specific. It's just replacing stdint.h
and memset_s with the tor compat code so going back is trivial...
2015-12-19 22:34:39 +00:00
Yawning Angel
18685df031
Expose an incremental API in addition to the one-shot routines.
...
The digest routines use init/update/sum, where sum will automatically
copy the internal state to support calculating running digests.
The XOF routines use init/absorb/squeeze, which behave exactly as stated
on the tin.
2015-12-19 22:34:39 +00:00
Yawning Angel
e993003792
Clean import of keccak-tiny ( https://github.com/coruus/keccak-tiny )
...
As of commit: 64b6647514212b76ae7bca0dea9b7b197d1d8186
2015-12-18 20:32:10 +00:00
Nick Mathewson
f0a4282e9a
fix routerlist/pick_directory_server_impl in light of 12538
2015-12-18 14:10:03 -05:00
Nick Mathewson
f5f35e9009
Fix config/directory_fetch after 12538 merge
2015-12-18 13:36:41 -05:00
Nick Mathewson
a6c9fcc486
Fix nodelist/node_is_dir test wrt 12538.
2015-12-18 13:24:23 -05:00
Nick Mathewson
c4fb7ad034
Merge branch 'feature12538_028_01_squashed'
2015-12-18 13:16:49 -05:00
Nick Mathewson
14c9b99051
mark a variable unused to fix a warning.
2015-12-18 13:16:40 -05:00
David Goulet
ea6f88478c
Use dir_server_mode() in find_dl_schedule()
...
Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2015-12-18 13:14:10 -05:00
Nick Mathewson
0c8e042c30
Restore semantics of advertise vs serve on directory cacheing
...
When we are low on accounted bandwidth, we stop advertising that
we're a directory, but we will continue to answer directory
requests, just as before.
2015-12-18 13:14:10 -05:00
Nick Mathewson
54406f78b8
Change dataflow on generating 'dir-cache' flag.
...
Convention is that router_dump_router_to_string() should look at its
input "router", which should be generated by
router_build_fresh_descirptor().
2015-12-18 13:14:10 -05:00
Matthew Finkel
6a5528356f
Assert rs are added in con and con_md tests
2015-12-18 13:14:10 -05:00
Matthew Finkel
185c93c954
Automatically generate md-con method vers in test
2015-12-18 13:14:10 -05:00
Matthew Finkel
21654ca7bd
Let make_consensus_method_list be used in tests
2015-12-18 13:14:10 -05:00
Matthew Finkel
fb80a748ea
A router must be a dir cache before it may be HSDir
...
Fixes #15801
2015-12-18 13:14:09 -05:00
Matthew Finkel
3007de8efc
{dis,en}abling DirCache is a semantic change
2015-12-18 13:14:09 -05:00
Matthew Finkel
d49ad438a8
Rebuild descriptor when DirCache is {dis,en}abled
2015-12-18 13:14:09 -05:00
Matthew Finkel
997f779a7f
Add new DirCache configuration option
...
This will give relay operators the ability of disabling the caching of
directory data. In general, this should not be necessary, but on some
lower-resource systems it may beneficial.
2015-12-18 13:14:09 -05:00
Matthew Finkel
e0bd6cdef2
Add unit test for router_pick_directory_server_impl
2015-12-18 13:14:09 -05:00
Matthew Finkel
0a7d22a664
Client should check if dir server has open dir port or handles tunnelled requests
...
Final piece of prop 237. Closes 12538.
2015-12-18 13:14:09 -05:00
cypherpunks
59e5bf7e2a
Remove an extra space in backtrace version string
2015-12-18 13:09:05 -05:00
cypherpunks
4c55ccbe95
Fix a memory leak in the backtrace test
2015-12-18 13:09:05 -05:00
cypherpunks
afc5af3f00
Log the backtrace when the backtrace test fails
2015-12-18 13:09:04 -05:00
Nick Mathewson
0c5d8d9a4f
Move some more code inside a tortls.c ifdef to fix deadcode warning.
2015-12-18 11:11:42 -05:00
Nick Mathewson
4ede2decad
Fix an unreached null-pointer deref in connection tests
...
This is CID 1343603
2015-12-18 10:35:25 -05:00
Nick Mathewson
9b1c491ec6
Fix a buffer overrun in connection tests.
...
This is CID 1343601.
2015-12-18 10:32:50 -05:00
Nick Mathewson
498897e33d
Fix a coverity uninitialized-pointer warning in policy tests.
...
This is CID 1340255
2015-12-18 10:29:27 -05:00
Nick Mathewson
428e2b7636
Fix a coverity NULL-pointer deref warning in the DNS tests.
...
This is CID 1340251
2015-12-18 10:27:30 -05:00
Nick Mathewson
6b5b1a02d4
Fix a coverity NULL-pointer deref warning in the tortls tests.
...
Also, make our cert validation code more NULL-resistant.
This is CID 1327891.
2015-12-18 10:25:15 -05:00
Nick Mathewson
2e99371eb9
Looks like I added one X509_free too many :(
2015-12-18 10:20:14 -05:00
Nick Mathewson
9e2c4ee557
Fix some dead code in tortls.c
...
If SSL_CIPHER_find exists, then we won't use either of the two
kludges that would replace it.
Found by Coverity; fixes CID 1340256.
2015-12-18 10:04:01 -05:00
Nick Mathewson
4604b3ab19
Fix a null-pointer deref when writing geoip stats
...
Found by coverity; CID 1327892.
2015-12-18 10:00:44 -05:00
Nick Mathewson
2e74d182b2
Fix remaining memory leaks in unit tests.
2015-12-18 09:58:14 -05:00
cypherpunks
6598581d81
Add zlib path when linking the switch_id test
2015-12-18 08:42:16 -05:00
Nick Mathewson
f96d191cf3
Merge branch '17752_again'
2015-12-17 16:31:56 -05:00
Nick Mathewson
8585cc57f8
Merge branch 'maint-0.2.7'
2015-12-17 14:57:16 -05:00
Nick Mathewson
2cbaf39af4
Add some more ed25519 key files to the seccomp sandbox list
...
Fixes bug 17675; bugfix on 0.2.7.3-alpha.
2015-12-17 14:56:24 -05:00
Nick Mathewson
f1be33fc00
Another try at fixing 17752
...
I believe that the final SMARTLIST_DEL_CURRENT was sometimes
double-removing items that had already been removed by
connection_mark_unattached_ap or
connection_ap_handshake_attach_circuit().
The fix here is to prevent iteration over the list that other
functions might be modifying.
2015-12-17 12:30:13 -05:00
cypherpunks
54d9632cdd
Fix unused variable errors
2015-12-17 12:18:07 -05:00
Nick Mathewson
4bb72a4d12
Return 77 means "skipped"
2015-12-17 08:36:31 -05:00
cypherpunks
759e6f8afb
Improve warning message
...
The user parameter is not checked so we do not know the user has been
specified.
2015-12-17 08:34:27 -05:00
cypherpunks
9d5e47d2d7
Add missing parentheses
2015-12-17 08:34:27 -05:00
cypherpunks
fd399ec850
Remove Windows specific data type usage
...
The Tor code base already contains usage of setsockopt(2) with an int as
their option value without problems.
2015-12-17 08:34:27 -05:00
cypherpunks
2d2312d989
Conform to the type signature of setsockopt(2)
...
According to the POSIX standard the option value is a pointer to void
and the option length a socklen_t. The Windows implementation makes the
option value be a pointer to character and the option length an int.
Casting the option value to a pointer to void conforms to the POSIX
standard while the implicit cast to a pointer to character conforms to
the Windows implementation.
The casts of the option length to the socklen_t data type conforms to
the POSIX standard. The socklen_t data type is actually an alias of an
int so it also conforms to the Windows implementation.
2015-12-17 08:34:27 -05:00
cypherpunks
596f9a4b4c
Use a Windows specific socket error code
2015-12-17 08:34:27 -05:00
cypherpunks
46694f2862
Do not run switch_id test on Windows
2015-12-17 08:34:27 -05:00
Nick Mathewson
b9714e1366
Merge remote-tracking branch 'teor/fix-multi-dir'
2015-12-16 20:04:49 -05:00
teor (Tim Wilson-Brown)
1b70497948
Prop210: Fix directory fetch tests
...
Check that directory fetches behave as expected under Prop 210.
2015-12-17 11:40:49 +11:00
teor (Tim Wilson-Brown)
e7e61ec7ec
Prop210: Check fallback directories and authorities work as expected
...
Also clarify comments.
2015-12-17 11:39:40 +11:00
teor (Tim Wilson-Brown)
9882a88b74
Prop210: Only clients benefit from multiple consensus downloads
...
Anything that's a server can afford to wait for a few minutes.
(Except for bridge relays, which act like clients.)
2015-12-17 11:38:24 +11:00
Nick Mathewson
e6be486aea
More emergency-check code for un-removed pending entry conns
...
This might also be what #17752 needs.
2015-12-16 19:16:07 -05:00
Nick Mathewson
24fcb6adbb
Add an edge_about_to_close() call to ap_about_to_close().
...
Fixes #17876
2015-12-16 18:52:34 -05:00
Nick Mathewson
613e0e1c1a
Move pending-connection code into connection_ap_about_to_close
...
It is AP-specific, so that's where it belongs. This shouldn't have
caused a bug, but due to #17876 , we were never actually calling
connection_edge_about_to_close from connection_ap_about_to_close,
causing bug #17874 (aka bug #17752 ).
2015-12-16 18:49:23 -05:00
Matthew Finkel
1ceb7142a1
A relay now advertises "tunnelled-dir-server" in its descriptor
...
When a relay does not have an open directory port but it has an
orport configured and is accepting client connections then it can
now service tunnelled directory requests, too. This was already true
of relays with an dirport configured.
We also conditionally stop advertising this functionality if the
relay is nearing its bandwidth usage limit - same as how dirport
advertisement is determined.
Partial implementation of prop 237, ticket 12538
2015-12-16 16:16:01 +01:00
Matthew Finkel
467d0919d2
Authorities must set a router's V2Dir flag if it supports tunnelled reqs
...
Partial implementation of prop 237, ticket 12538
2015-12-16 16:15:41 +01:00
Nick Mathewson
3317cd3a1f
Merge branch 'maint-0.2.7'
2015-12-16 09:24:40 -05:00
Nick Mathewson
33b5bfb948
Don't call pthread_condattr_setclock() unless it exists
...
Fixes bug 17819; bugfix on 0.2.6.3-alpha (specifically, d684dbb0
).
2015-12-16 09:23:44 -05:00
Nick Mathewson
a5da27cb35
Merge branch 'maint-0.2.7'
2015-12-16 09:07:11 -05:00
Nick Mathewson
784e9fff9b
... and fix another backtrace_symbols_fd call in sandbox.c
2015-12-16 09:05:49 -05:00
Nick Mathewson
e0aa4f837c
... and fix the linux backtrace_symbols{,_fd} calls
2015-12-16 09:05:18 -05:00
Nick Mathewson
9d17d10b36
tweak router_parse_addr_policy_item_from_string docs
2015-12-16 08:49:32 -05:00
Nick Mathewson
bb23ad3e47
Merge remote-tracking branch 'teor/feature17863'
2015-12-16 08:48:28 -05:00
Nick Mathewson
10e442ba93
Merge remote-tracking branch 'teor/feature17864'
2015-12-16 08:41:20 -05:00
Nick Mathewson
a03469aa85
More debugging code to try to track down #17659
2015-12-16 08:37:40 -05:00
Nick Mathewson
a4ca2ef1ff
Add some assertions to try to catch #17752
2015-12-16 08:24:54 -05:00
Nick Mathewson
c4df0c9f52
... and fix the linux backtrace_symbols{,_fd} calls
2015-12-16 08:20:53 -05:00
teor (Tim Wilson-Brown)
978210d5a8
Wait for busy authorities/fallbacks rather than ignoring excluded nodes
...
Applies the 6c443e987d
fix to router_pick_directory_server_impl.
6c443e987d
applied to directory servers chosen from the consensus,
and was:
"Tweak the 9969 fix a little
If we have busy nodes and excluded nodes, then don't retry with the
excluded ones enabled. Instead, wait for the busy ones to be nonbusy."
2015-12-16 09:07:11 +11:00
teor (Tim Wilson-Brown)
e2e09a2dbe
Warn when comparing against an AF_UNSPEC address in a policy
...
It produces unexpected results, and it's most likely a bug.
2015-12-16 08:51:59 +11:00
teor (Tim Wilson-Brown)
ce92335214
Add policy assume_action support for IPv6 addresses
...
These IPv6 addresses must be quoted, because : is the port separator,
and "acce" is a valid hex block.
Add unit tests for assumed actions in IPv6 policies.
2015-12-16 08:51:35 +11:00
teor (Tim Wilson-Brown)
cd0a5db5e9
Initialise malformed_list to 0 each time we parse a policy
2015-12-16 08:51:34 +11:00
teor (Tim Wilson-Brown)
e54e71fb6b
Limit IPv6 mask bits to 128
2015-12-16 08:51:34 +11:00
Nick Mathewson
6ba8afe5f8
Merge remote-tracking branch 'teor/feature15775-fallback-v9-squashed'
2015-12-15 14:04:00 -05:00
Nick Mathewson
a56fb58d6e
Fix some memory leaks in the unit tests
2015-12-15 14:00:08 -05:00
teor
4c1c2a313d
Add Fallback Directory Candidate Selection Script
...
"Tor has included a feature to fetch the initial consensus from nodes
other than the authorities for a while now. We just haven't shipped a
list of alternate locations for clients to go to yet.
Reasons why we might want to ship tor with a list of additional places
where clients can find the consensus is that it makes authority
reachability and BW less important.
We want them to have been around and using their current key, address,
and port for a while now (120 days), and have been running, a guard,
and a v2 directory mirror for most of that time."
Features:
* whitelist and blacklist for an opt-in/opt-out trial.
* excludes BadExits, tor versions that aren't recommended, and low
consensus weight directory mirrors.
* reduces the weighting of Exits to avoid overloading them.
* places limits on the weight of any one fallback.
* includes an IPv6 address and orport for each FallbackDir, as
implemented in #17327 . (Tor won't bootstrap using IPv6 fallbacks
until #17840 is merged.)
* generated output includes timestamps & Onionoo URL for traceability.
* unit test ensures that we successfully load all included default
fallback directories.
Closes ticket #15775 . Patch by "teor".
OnionOO script by "weasel", "teor", "gsathya", and "karsten".
2015-12-16 05:54:40 +11:00
Nick Mathewson
efc8b2dbbf
clean whitespace
2015-12-15 13:22:41 -05:00