]> git.ipfire.org Git - thirdparty/tor.git/log
thirdparty/tor.git
11 years agoTry to sort the changelog a little more
Nick Mathewson [Thu, 24 Apr 2014 18:24:13 +0000 (14:24 -0400)] 
Try to sort the changelog a little more

11 years agoFwd-port: Add a missing changelog entry back from 0.2.4.11-alpha
Nick Mathewson [Thu, 24 Apr 2014 18:00:36 +0000 (14:00 -0400)] 
Fwd-port: Add a missing changelog entry back from 0.2.4.11-alpha

When I merged the fix for #7351, and implemented proposal 214 (4-byte
circuit IDs), I forgot to add a changes file.  Later, we never noticed
that it didn't have one.

Resolves ticket #11555.  Thanks to cypherpunks for noticing this was
missing.

This is a cherry-pick of 75e10f58a97f051f7d8576f96c2e32fcb2f07ade into
the master branch.

11 years agoReformat the changelog for 0.2.5.4-alpha. No textual changes.
Nick Mathewson [Thu, 24 Apr 2014 17:44:24 +0000 (13:44 -0400)] 
Reformat the changelog for 0.2.5.4-alpha.  No textual changes.

Also, add a script to do this, since doing it manually with fmt sucks.

11 years agoMore changes files get added to the changelog
Nick Mathewson [Thu, 24 Apr 2014 16:55:05 +0000 (12:55 -0400)] 
More changes files get added to the changelog

11 years agowhitespace fix
Nick Mathewson [Thu, 24 Apr 2014 16:34:23 +0000 (12:34 -0400)] 
whitespace fix

11 years agoMerge remote-tracking branch 'public/bug11553_025'
Nick Mathewson [Thu, 24 Apr 2014 14:48:32 +0000 (10:48 -0400)] 
Merge remote-tracking branch 'public/bug11553_025'

11 years agoMerge branch 'bug11396_v2_squashed'
Nick Mathewson [Thu, 24 Apr 2014 14:31:38 +0000 (10:31 -0400)] 
Merge branch 'bug11396_v2_squashed'

Conflicts:
src/or/main.c

11 years agoExpose the real maxmeminqueues via a GETINFO
Nick Mathewson [Fri, 4 Apr 2014 14:33:01 +0000 (10:33 -0400)] 
Expose the real maxmeminqueues via a GETINFO

That is, GETINFO limits/max-mem-in-queues

11 years agoChange the logic for the default for MaxMemInQueues
Nick Mathewson [Thu, 3 Apr 2014 16:06:44 +0000 (12:06 -0400)] 
Change the logic for the default for MaxMemInQueues

If we can't detect the physical memory, the new default is 8 GB on
64-bit architectures, and 1 GB on 32-bit architectures.

If we *can* detect the physical memory, the new default is
  CLAMP(256 MB, phys_mem * 0.75, MAX_DFLT)
where MAX_DFLT is 8 GB on 64-bit architectures and 2 GB on 32-bit
architectures.

You can still override the default by hand.  The logic here is simply
trying to choose a lower default value on systems with less than 12 GB
of physical RAM.

11 years agoget_total_system_memory(): see how much RAM we have
Nick Mathewson [Thu, 3 Apr 2014 15:46:01 +0000 (11:46 -0400)] 
get_total_system_memory(): see how much RAM we have

11 years agocopy all the changes files into the changelog again. still unedited
Nick Mathewson [Wed, 23 Apr 2014 18:59:38 +0000 (14:59 -0400)] 
copy all the changes files into the changelog again. still unedited

11 years agoMerge remote-tracking branch 'public/bug11553_024' into bug11553_025
Nick Mathewson [Wed, 23 Apr 2014 16:44:18 +0000 (12:44 -0400)] 
Merge remote-tracking branch 'public/bug11553_024' into bug11553_025

Conflicts:
src/or/circuitbuild.c

11 years agoImprovements to #11553 fix based on review
Nick Mathewson [Wed, 23 Apr 2014 16:39:01 +0000 (12:39 -0400)] 
Improvements to #11553 fix based on review

Use a per-channel ratelim_t to control the rate at which we report
failures for each channel.

Explain why I picked N=32.

Never return a zero circID.

Thanks to Andrea and to cypherpunks.

11 years agoMerge remote-tracking branch 'public/bug10268'
Nick Mathewson [Wed, 23 Apr 2014 15:11:08 +0000 (11:11 -0400)] 
Merge remote-tracking branch 'public/bug10268'

11 years agoMerge remote-tracking branch 'public/bug11200'
Nick Mathewson [Wed, 23 Apr 2014 15:07:52 +0000 (11:07 -0400)] 
Merge remote-tracking branch 'public/bug11200'

11 years agoMerge branch 'bug11156_issue2_squashed'
Nick Mathewson [Wed, 23 Apr 2014 15:05:54 +0000 (11:05 -0400)] 
Merge branch 'bug11156_issue2_squashed'

11 years agoSlightly improve the documentation of src/or/transports.c
George Kadianakis [Tue, 8 Apr 2014 16:19:51 +0000 (17:19 +0100)] 
Slightly improve the documentation of src/or/transports.c

Make it clear that a SIGHUP is not the only action that can cause a
config re-read.

11 years agoRename the got_hup element of managed proxies.
George Kadianakis [Tue, 8 Apr 2014 16:22:36 +0000 (17:22 +0100)] 
Rename the got_hup element of managed proxies.

Since we need to toggle that element in non-SIGHUP situations too where
the config was re-read (like in SETCONF or RESETCONF).

11 years agoDon't halt bootstrap to figure out if we should restart PT proxies.
George Kadianakis [Tue, 8 Apr 2014 15:59:46 +0000 (16:59 +0100)] 
Don't halt bootstrap to figure out if we should restart PT proxies.

Instead, figure out if we should restart PT proxies _immediately_ after
we re-read the config file.

11 years agoMerge remote-tracking branch 'origin/maint-0.2.4'
Nick Mathewson [Wed, 23 Apr 2014 15:04:10 +0000 (11:04 -0400)] 
Merge remote-tracking branch 'origin/maint-0.2.4'

This is an "ours" merge, to avoid taking the 0.2.4 version of the

11 years agoMerge remote-tracking branch 'public/bug9229_024' into maint-0.2.4
Nick Mathewson [Wed, 23 Apr 2014 15:01:39 +0000 (11:01 -0400)] 
Merge remote-tracking branch 'public/bug9229_024' into maint-0.2.4

11 years agoMerge remote-tracking branch 'public/bug9229_025'
Nick Mathewson [Wed, 23 Apr 2014 14:57:46 +0000 (10:57 -0400)] 
Merge remote-tracking branch 'public/bug9229_025'

Conflicts:
src/or/entrynodes.c

11 years agoMerge remote-tracking branch 'public/bug9963_v2_024'
Nick Mathewson [Fri, 18 Apr 2014 19:25:36 +0000 (15:25 -0400)] 
Merge remote-tracking branch 'public/bug9963_v2_024'

11 years agoImproved message when running sandbox on Linux without libseccomp
Nick Mathewson [Fri, 18 Apr 2014 18:49:39 +0000 (14:49 -0400)] 
Improved message when running sandbox on Linux without libseccomp

Previously we said "Sandbox is not implemented on this platform" on
Linux boxes without libseccomp.  Now we say that you need to build
Tor built with libseccomp. Fixes bug 11543; bugfix on 0.2.5.1-alpha.

11 years agoMerge remote-tracking branch 'public/bug11553_024' into bug11553_025
Nick Mathewson [Fri, 18 Apr 2014 17:23:44 +0000 (13:23 -0400)] 
Merge remote-tracking branch 'public/bug11553_024' into bug11553_025

11 years agoAdd a rate-limiter for the other circuitID exhaustion warning
Nick Mathewson [Fri, 18 Apr 2014 17:22:42 +0000 (13:22 -0400)] 
Add a rate-limiter for the other circuitID exhaustion warning

11 years agoDiagnostic warning to see if it's pending destroys causing 11553
Nick Mathewson [Fri, 18 Apr 2014 17:04:37 +0000 (13:04 -0400)] 
Diagnostic warning to see if it's pending destroys causing 11553

11 years agoMerge remote-tracking branch 'public/bug11553_024' into bug11553_025
Nick Mathewson [Fri, 18 Apr 2014 17:00:45 +0000 (13:00 -0400)] 
Merge remote-tracking branch 'public/bug11553_024' into bug11553_025

Conflicts:
src/or/channel.h

11 years agoSwitch to random allocation on circuitIDs.
Nick Mathewson [Fri, 18 Apr 2014 16:50:04 +0000 (12:50 -0400)] 
Switch to random allocation on circuitIDs.

Fixes a possible root cause of 11553 by only making 64 attempts at
most to pick a circuitID.  Previously, we would test every possible
circuit ID until we found one or ran out.

This algorithm succeeds probabilistically. As the comment says:

  This potentially causes us to give up early if our circuit ID
  space is nearly full.  If we have N circuit IDs in use, then we
  will reject a new circuit with probability (N / max_range) ^
  MAX_CIRCID_ATTEMPTS.  This means that in practice, a few percent
  of our circuit ID capacity will go unused.

  The alternative here, though, is to do a linear search over the
  whole circuit ID space every time we extend a circuit, which is
  not so great either.

This makes new vs old clients distinguishable, so we should try to
batch it with other patches that do that, like 11438.

11 years agoSupply better and less frequent warnings on circID exhaustion
Nick Mathewson [Fri, 18 Apr 2014 16:28:30 +0000 (12:28 -0400)] 
Supply better and less frequent warnings on circID exhaustion

Fixes the surface behavior of #11553

11 years agoMerge remote-tracking branch 'public/ticket11528_024'
Nick Mathewson [Thu, 17 Apr 2014 16:17:14 +0000 (12:17 -0400)] 
Merge remote-tracking branch 'public/ticket11528_024'

11 years agoRemove spurious libevent include in sandbox.c
Nick Mathewson [Thu, 17 Apr 2014 16:13:35 +0000 (12:13 -0400)] 
Remove spurious libevent include in sandbox.c

11 years agoElevate server TLS cipher preferences over client
Nick Mathewson [Thu, 17 Apr 2014 14:23:18 +0000 (10:23 -0400)] 
Elevate server TLS cipher preferences over client

The server cipher list is (thanks to #11513) chosen systematically to
put the best choices for Tor first.  The client cipher list is chosen
to resemble a browser.  So let's set SSL_OP_CIPHER_SERVER_PREFERENCE
to have the servers pick according to their own preference order.

11 years agoFix uninitialized-ram free in unit tests
Nick Mathewson [Thu, 17 Apr 2014 05:03:10 +0000 (01:03 -0400)] 
Fix uninitialized-ram free in unit tests

Fix on fb595922; bug not in any released Tor. Found with
--enable-expensive-hardening.

11 years agoMerge more changes files (verbatim) into the changelog
Nick Mathewson [Thu, 17 Apr 2014 04:13:11 +0000 (00:13 -0400)] 
Merge more changes files (verbatim) into the changelog

11 years agoMerge remote-tracking branch 'public/sandbox_fixes_rebased_2'
Nick Mathewson [Thu, 17 Apr 2014 03:45:55 +0000 (23:45 -0400)] 
Merge remote-tracking branch 'public/sandbox_fixes_rebased_2'

11 years agoAttribute 13304 and 13306 to 0.2.4.4-alpha.
Nick Mathewson [Thu, 17 Apr 2014 03:14:56 +0000 (23:14 -0400)] 
Attribute 13304 and 13306 to 0.2.4.4-alpha.

11 years agoMerge remote-tracking branch 'andrea/bug11304'
Nick Mathewson [Thu, 17 Apr 2014 03:13:30 +0000 (23:13 -0400)] 
Merge remote-tracking branch 'andrea/bug11304'

11 years agoMerge remote-tracking branch 'andrea/bug11306'
Nick Mathewson [Thu, 17 Apr 2014 03:13:27 +0000 (23:13 -0400)] 
Merge remote-tracking branch 'andrea/bug11306'

11 years agoMerge remote-tracking branch 'public/bug11477'
Nick Mathewson [Thu, 17 Apr 2014 03:06:39 +0000 (23:06 -0400)] 
Merge remote-tracking branch 'public/bug11477'

11 years agoMerge branch '10267_plus_10896_rebased_twice'
Nick Mathewson [Thu, 17 Apr 2014 03:03:41 +0000 (23:03 -0400)] 
Merge branch '10267_plus_10896_rebased_twice'

11 years agoChanges file for 10896
Nick Mathewson [Thu, 3 Apr 2014 21:05:31 +0000 (17:05 -0400)] 
Changes file for 10896

11 years agoCall pf-divert openbsd-specific, not no-linux
Nick Mathewson [Thu, 3 Apr 2014 21:00:22 +0000 (17:00 -0400)] 
Call pf-divert openbsd-specific, not no-linux

11 years agoFix OSX compilation.
Nick Mathewson [Thu, 3 Apr 2014 20:54:31 +0000 (16:54 -0400)] 
Fix OSX compilation.

11 years agoWhitespace, doc fixes
Nick Mathewson [Thu, 3 Apr 2014 20:41:54 +0000 (16:41 -0400)] 
Whitespace, doc fixes

11 years agoEducate tor on OpenBSD's use of divert-to rules with the pf firewall.
dana koch [Mon, 10 Feb 2014 10:23:51 +0000 (21:23 +1100)] 
Educate tor on OpenBSD's use of divert-to rules with the pf firewall.

This means that tor can run without needing to communicate with ioctls
to the firewall, and therefore doesn't need to run with privileges to
open the /dev/pf device node.

A new TransProxyType is added for this purpose, "pf-divert"; if the user
specifies this TransProxyType in their torrc, then the pf device node is
never opened and the connection destination is determined with getsockname
(as per pf(4)). The default behaviour (ie., when TransProxyType is "default"
when using the pf firewall) is still to assume that pf is configured with
rdr-to rules.

11 years agotor_addr_from_sockaddr() is applicable in ipfw code, so use it.
Nick Mathewson [Mon, 3 Feb 2014 19:13:08 +0000 (14:13 -0500)] 
tor_addr_from_sockaddr() is applicable in ipfw code, so use it.

11 years agoipfw TransPort support on FreeBSD (10267)
Nick Mathewson [Mon, 3 Feb 2014 19:09:07 +0000 (14:09 -0500)] 
ipfw TransPort support on FreeBSD (10267)

This isn't on by default; to get it, you need to set "TransProxyType
ipfw".  (The original patch had automatic detection for whether
/dev/pf is present and openable, but that seems marginally fragile.)

11 years agoadd a changes file for the sandbox fixes series
Nick Mathewson [Thu, 17 Apr 2014 02:45:27 +0000 (22:45 -0400)] 
add a changes file for the sandbox fixes series

11 years agoLog the name of the failing syscall on failure
Nick Mathewson [Thu, 17 Apr 2014 02:22:47 +0000 (22:22 -0400)] 
Log the name of the failing syscall on failure

11 years agoBlock certain option transitions while sandbox enabled
Nick Mathewson [Thu, 17 Apr 2014 01:57:45 +0000 (21:57 -0400)] 
Block certain option transitions while sandbox enabled

11 years agoSandbox: permit O_NONBLOCK and O_NOCTTY for files we refuse
Nick Mathewson [Thu, 17 Apr 2014 01:50:49 +0000 (21:50 -0400)] 
Sandbox: permit O_NONBLOCK and O_NOCTTY for files we refuse

OpenSSL needs this, or RAND_poll() will kill the process.

Also, refuse with EACCESS, not errno==-1 (!).

11 years agoDon't reload logs or rewrite pidfile while sandbox is active
Nick Mathewson [Wed, 16 Apr 2014 20:26:20 +0000 (16:26 -0400)] 
Don't reload logs or rewrite pidfile while sandbox is active

11 years agoDon't allow change to ConnLimit while sandbox is active
Nick Mathewson [Wed, 16 Apr 2014 20:05:10 +0000 (16:05 -0400)] 
Don't allow change to ConnLimit while sandbox is active

11 years agoAllow reloading torrc and writing to router-stability
Nick Mathewson [Wed, 16 Apr 2014 19:54:45 +0000 (15:54 -0400)] 
Allow reloading torrc and writing to router-stability

11 years agoUse SCMP_CMP_MASKED_EQ to allow flags, not force them
Nick Mathewson [Wed, 16 Apr 2014 19:17:23 +0000 (15:17 -0400)] 
Use SCMP_CMP_MASKED_EQ to allow flags, not force them

Older versions of Libevent are happy to open SOCK_DGRAM sockets
non-cloexec and non-nonblocking, and then set those flags
afterwards. It's nice to be able to allow a flag to be on or off in
the sandbox without having to enumerate all its values.

Also, permit PF_INET6 sockets. (D'oh!)

11 years agoAdd a couple of missing renames so the server sandbox works again
Nick Mathewson [Wed, 16 Apr 2014 19:15:31 +0000 (15:15 -0400)] 
Add a couple of missing renames so the server sandbox works again

11 years agoGet Libevent's PRNG functioning under the linux sandbox
Nick Mathewson [Wed, 16 Apr 2014 18:54:39 +0000 (14:54 -0400)] 
Get Libevent's PRNG functioning under the linux sandbox

Libevent uses an arc4random implementation (I know, I know) to
generate DNS transaction IDs and capitalization.  But it liked to
initialize it either with opening /dev/urandom (which won't work
under the sandbox if it doesn't use the right pointer), or with
sysctl({CTL_KERN,KERN_RANDOM,RANDOM_UUIC}).  To make _that_ work, we
were permitting sysctl unconditionally.  That's not such a great
idea.

Instead, we try to initialize the libevent PRNG _before_ installing
the sandbox, and make sysctl always fail with EPERM under the
sandbox.

11 years agoMake sure everything using an interned string is preceded by a log
Nick Mathewson [Wed, 16 Apr 2014 17:17:09 +0000 (13:17 -0400)] 
Make sure everything using an interned string is preceded by a log

(It's nice to know what we were about to rename before we died from
renaming it.)

11 years agoIntroduce arg-counting macros to wrap seccomp_rule_add()
Nick Mathewson [Wed, 16 Apr 2014 16:59:33 +0000 (12:59 -0400)] 
Introduce arg-counting macros to wrap seccomp_rule_add()

The compiler doesn't warn about this code:
       rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(openat), 1,
           SCMP_CMP(0, SCMP_CMP_EQ, AT_FDCWD),
           SCMP_CMP(1, SCMP_CMP_EQ, param->value),
           SCMP_CMP(2, SCMP_CMP_EQ, O_RDONLY|...));
but note that the arg_cnt argument above is only 1.  This means that
only the first filter (argument 0 == AT_FDCWD) is actually checked!

This patch also fixes the above error in the openat() filter.
Earlier I fixed corresponding errors in filters for rename() and
mprotect().

11 years agoFix sandbox protection for rename
Nick Mathewson [Wed, 16 Apr 2014 16:50:24 +0000 (12:50 -0400)] 
Fix sandbox protection for rename

(We were only checking the first parameter of each rename call.)

11 years agoUpgrade warning about missing interned string for sandbox
Nick Mathewson [Wed, 16 Apr 2014 16:48:56 +0000 (12:48 -0400)] 
Upgrade warning about missing interned string for sandbox

11 years agoHave sandbox string protection include multi-valued parmeters.
Nick Mathewson [Wed, 16 Apr 2014 16:45:34 +0000 (12:45 -0400)] 
Have sandbox string protection include multi-valued parmeters.

11 years agoClean up sandbox structures a bit
Nick Mathewson [Wed, 16 Apr 2014 16:24:08 +0000 (12:24 -0400)] 
Clean up sandbox structures a bit

Drop pindex,pindex2 as unused.

Admit a type to avoid using a void*

11 years agoAdd missing rename function for non-linux platforms
Nick Mathewson [Fri, 11 Apr 2014 07:06:05 +0000 (03:06 -0400)] 
Add missing rename function for non-linux platforms

11 years agoDrop 'fr' parameter from sandbox code.
Nick Mathewson [Fri, 11 Apr 2014 07:04:16 +0000 (03:04 -0400)] 
Drop 'fr' parameter from sandbox code.

Appearently, the majority of the filenames we pass to
sandbox_cfg_allow() functions are "freeable right after". So, consider
_all_ of them safe-to-steal, and add a tor_strdup() in the few cases
that aren't.

(Maybe buggy; revise when I can test.)

11 years agoRemove nonsensical exec permission from sandbox code.
Nick Mathewson [Fri, 11 Apr 2014 06:40:15 +0000 (02:40 -0400)] 
Remove nonsensical exec permission from sandbox code.

11 years agoAdd 'rename' to the sandboxed syscalls
Nick Mathewson [Fri, 28 Mar 2014 07:51:50 +0000 (03:51 -0400)] 
Add 'rename' to the sandboxed syscalls

(If we don't restrict rename, there's not much point in restricting
open, since an attacker could always use rename to make us open
whatever they want.)

11 years agoOnly intern one copy of each magic string for the sandbox
Nick Mathewson [Fri, 28 Mar 2014 06:10:19 +0000 (02:10 -0400)] 
Only intern one copy of each magic string for the sandbox

If we intern two copies of a string, later calls to
sandbox_intern_string will give the wrong one sometimes.

11 years agoFix some initial sandbox issues.
Nick Mathewson [Fri, 28 Mar 2014 05:52:08 +0000 (01:52 -0400)] 
Fix some initial sandbox issues.

Allow files that weren't in the list; Allow the _sysctl syscall;
allow accept4 with CLOEXEC and NONBLOCK.

11 years agoOnly expose clean_backtrace() if we'll implement it
Nick Mathewson [Thu, 17 Apr 2014 02:00:13 +0000 (22:00 -0400)] 
Only expose clean_backtrace() if we'll implement it

Fixes windows compilation; bug not in any released Tor.

Bugfix on cc9e86db.

11 years agoMerge remote-tracking branch 'origin/maint-0.2.4'
Nick Mathewson [Wed, 16 Apr 2014 19:37:19 +0000 (15:37 -0400)] 
Merge remote-tracking branch 'origin/maint-0.2.4'

11 years agoMerge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
Nick Mathewson [Wed, 16 Apr 2014 18:57:14 +0000 (14:57 -0400)] 
Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4

11 years agoremove note about dannenberg; it has upgraded.
Nick Mathewson [Wed, 16 Apr 2014 18:56:49 +0000 (14:56 -0400)] 
remove note about dannenberg; it has upgraded.

11 years agoMerge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
Nick Mathewson [Wed, 16 Apr 2014 17:32:20 +0000 (13:32 -0400)] 
Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4

11 years agoUpdate the authority signing key blacklist
Nick Mathewson [Wed, 16 Apr 2014 17:31:40 +0000 (13:31 -0400)] 
Update the authority signing key blacklist

Now it only has dannenberg

11 years agoCall connection_or_close_for_error() properly if write_to_buf() ever fails on an...
Andrea Shepard [Wed, 16 Apr 2014 04:25:49 +0000 (21:25 -0700)] 
Call connection_or_close_for_error() properly if write_to_buf() ever fails on an orconn

11 years agoAvoid redundant calls to connection_mark_for_close() on listeners when setting Disabl...
Andrea Shepard [Wed, 16 Apr 2014 03:35:31 +0000 (20:35 -0700)] 
Avoid redundant calls to connection_mark_for_close() on listeners when setting DisableNetwork to 1

11 years agoClose orconns correctly through channels when setting DisableNetwork to 1
Andrea Shepard [Wed, 16 Apr 2014 03:19:39 +0000 (20:19 -0700)] 
Close orconns correctly through channels when setting DisableNetwork to 1

11 years agoMerge remote-tracking branch 'public/bug11465'
Nick Mathewson [Wed, 16 Apr 2014 00:55:28 +0000 (20:55 -0400)] 
Merge remote-tracking branch 'public/bug11465'

11 years agoAnswer a question in a comment; fix a wide line.
Nick Mathewson [Wed, 16 Apr 2014 00:52:31 +0000 (20:52 -0400)] 
Answer a question in a comment; fix a wide line.

11 years agoFix compiler warning on test_status.c
Nick Mathewson [Tue, 15 Apr 2014 19:19:41 +0000 (15:19 -0400)] 
Fix compiler warning on test_status.c

11 years agoadd changes file for 11507
Nick Mathewson [Tue, 15 Apr 2014 19:03:49 +0000 (15:03 -0400)] 
add changes file for 11507

11 years agoUplift status.c unit test coverage with new test cases and macros.
dana koch [Tue, 15 Apr 2014 12:20:34 +0000 (22:20 +1000)] 
Uplift status.c unit test coverage with new test cases and macros.

A new set of unit test cases are provided, as well as introducing
an alternative paradigm and macros to support it. Primarily, each test
case is given its own namespace, in order to isolate tests from each
other. We do this by in the usual fashion, by appending module and
submodule names to our symbols. New macros assist by reducing friction
for this and other tasks, like overriding a function in the global
namespace with one in the current namespace, or declaring integer
variables to assist tracking how many times a mock has been called.

A set of tests for a small-scale module has been included in this
commit, in order to highlight how the paradigm can be used. This
suite gives 100% coverage to status.c in test execution.

11 years agoMerge remote-tracking branch 'public/bug11513_024'
Nick Mathewson [Tue, 15 Apr 2014 18:54:25 +0000 (14:54 -0400)] 
Merge remote-tracking branch 'public/bug11513_024'

11 years agoMerge remote-tracking branch 'origin/maint-0.2.4'
Nick Mathewson [Tue, 15 Apr 2014 18:52:12 +0000 (14:52 -0400)] 
Merge remote-tracking branch 'origin/maint-0.2.4'

11 years agoMerge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
Nick Mathewson [Tue, 15 Apr 2014 18:51:19 +0000 (14:51 -0400)] 
Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4

Conflicts:
src/or/circuituse.c

11 years agoMerge remote-tracking branch 'public/bug11519_023' into maint-0.2.3
Nick Mathewson [Tue, 15 Apr 2014 18:48:00 +0000 (14:48 -0400)] 
Merge remote-tracking branch 'public/bug11519_023' into maint-0.2.3

11 years agoDon't send uninitialized stack to the controller and say it's a date.
Nick Mathewson [Tue, 15 Apr 2014 01:51:30 +0000 (21:51 -0400)] 
Don't send uninitialized stack to the controller and say it's a date.

Fixes bug 11519, apparently bugfix on 0.2.3.11-alpha.

11 years agoMerge remote-tracking branch 'origin/maint-0.2.4'
Nick Mathewson [Mon, 14 Apr 2014 22:00:54 +0000 (18:00 -0400)] 
Merge remote-tracking branch 'origin/maint-0.2.4'

11 years agoMerge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
Nick Mathewson [Mon, 14 Apr 2014 22:00:38 +0000 (18:00 -0400)] 
Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4

Conflicts:
src/or/routerlist.h

11 years agoMerge branch 'bug11464_023_squashed' into maint-0.2.3
Nick Mathewson [Mon, 14 Apr 2014 21:59:01 +0000 (17:59 -0400)] 
Merge branch 'bug11464_023_squashed' into maint-0.2.3

11 years agoTweak changes file and comment dates.
Nick Mathewson [Mon, 14 Apr 2014 21:58:49 +0000 (17:58 -0400)] 
Tweak changes file and comment dates.

11 years agoFill in the list of blacklisted signing keys.
Nick Mathewson [Mon, 14 Apr 2014 20:03:53 +0000 (16:03 -0400)] 
Fill in the list of blacklisted signing keys.

I used a list of certificate files from arma, and a little script,
both at 11464.

11 years agoCode to blacklist authority signing keys
Nick Mathewson [Fri, 11 Apr 2014 14:22:14 +0000 (10:22 -0400)] 
Code to blacklist authority signing keys

(I need a list of actual signing keys to blacklist.)

11 years agoNew --enable-expensive-hardening option
Nick Mathewson [Mon, 14 Apr 2014 21:10:34 +0000 (17:10 -0400)] 
New --enable-expensive-hardening option

It turns on -fsanitize=address and -fsanitize=ubsan if they work.

Most relays won't want this. Some clients may.  Ticket 11477.

11 years agoNew sort order for server choice of ciphersuites.
Nick Mathewson [Mon, 14 Apr 2014 18:10:05 +0000 (14:10 -0400)] 
New sort order for server choice of ciphersuites.

Back in 175b2678, we allowed servers to recognize clients who are
telling them the truth about their ciphersuites, and select the best
cipher from on that list. This implemented the server side of proposal
198.

In bugs 11492, 11498, and 11499, cypherpunks found a bunch of mistakes
and omissions and typos in the UNRESTRICTED_SERVER_CIPHER_LIST we had.
In #11513, I found a couple more.

Rather than try to hand-edit this list, I wrote a short python script
to generate our ciphersuite preferences from the openssl headers.

The new rules are:
  * Require forward secrecy.
  * Require RSA (since our servers only configure RSA keys)
  * Require AES or 3DES. (This means, reject RC4, DES, SEED, CAMELLIA,
    and NULL.)
  * No export ciphersuites.

Then:
  * Prefer AES to 3DES.
  * If both suites have the same cipher, prefer ECDHE to DHE.
  * If both suites have the same DHE group type, prefer GCM to CBC.
  * If both suites have the same cipher mode, prefer SHA384 to SHA256
    to SHA1.
  * If both suites have the same digest, prefer AES256 to AES128.

11 years agoMerge remote-tracking branch 'asn/bug11486'
Nick Mathewson [Sun, 13 Apr 2014 01:42:45 +0000 (21:42 -0400)] 
Merge remote-tracking branch 'asn/bug11486'

11 years agoAdd another unit test for parse_bridge_line().
George Kadianakis [Fri, 11 Apr 2014 18:06:40 +0000 (21:06 +0300)] 
Add another unit test for parse_bridge_line().

11 years agochanges file for 11465
Nick Mathewson [Thu, 10 Apr 2014 19:51:18 +0000 (15:51 -0400)] 
changes file for 11465