Commit Graph

792 Commits

Author SHA1 Message Date
Nick Mathewson
3a3ed2abb2 Bump version to 0.2.5.4-alpha-dev 2014-04-25 23:38:12 -04:00
Nick Mathewson
b54669bc00 Bump version to 0.2.5.4-alpha.
Probably releasing within ~22 hours, pending testing
2014-04-25 02:07:53 -04:00
Nick Mathewson
67aa3685e7 Merge branch 'bug11396_v2_squashed'
Conflicts:
	src/or/main.c
2014-04-24 10:31:38 -04:00
Nick Mathewson
aca05fc5c0 get_total_system_memory(): see how much RAM we have 2014-04-24 10:26:14 -04:00
Nick Mathewson
4367cbd71b Merge remote-tracking branch 'public/sandbox_fixes_rebased_2' 2014-04-16 23:45:55 -04:00
Nick Mathewson
e6785ee16d 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.
2014-04-16 22:03:09 -04:00
Nick Mathewson
64f62881d8 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.
2014-04-14 17:10:34 -04:00
Nick Mathewson
a53e9bfeb4 bump to 0.2.5.3-alpha-dev 2014-03-23 00:15:25 -04:00
Nick Mathewson
2bd7280d79 Increment version to 0.2.5.3-alpha 2014-03-22 21:07:50 -04:00
Nick Mathewson
0efa2821c7 Merge branch 'bug11047' 2014-02-24 13:06:55 -05:00
Nick Mathewson
68ed4878ca pass our compiler -fasynchronous-unwind-tables by default
This should make more platforms (in particular, ones with compilers
where -fomit-frame-pointer is on by default but table generation
isn't) support backtrace generation.  Thanks to cypherpunks for this
one.

Fixes bug 11047; bugfix on 0.2.5.2-alpha.
2014-02-24 11:45:03 -05:00
Nick Mathewson
c0835f8e75 Merge remote-tracking branch 'origin/maint-0.2.4' 2014-02-18 01:16:22 +00:00
Nick Mathewson
e616f5b513 whoops; mistaek in a496010642. so many comma 2014-02-18 01:15:59 +00:00
Nick Mathewson
bafae045ba Merge remote-tracking branch 'origin/maint-0.2.4' 2014-02-17 23:06:34 +00:00
dana koch
a496010642 Enveigle configure to look for a2x.py as well as a2x.
It's not guaranteed that every package symlinks a2x to a2x.py; OpenBSD
does not do this, so let's just look for a2x.py as well.
2014-02-17 23:05:15 +00:00
Roger Dingledine
745434d29a bump to 0.2.5.2-alpha 2014-02-13 04:06:36 -05:00
Nick Mathewson
fbc20294aa Merge branch 'backtrace_squashed'
Conflicts:
	src/common/sandbox.c
	src/common/sandbox.h
	src/common/util.c
	src/or/main.c
	src/test/include.am
	src/test/test.c
2013-11-18 11:00:16 -05:00
Nick Mathewson
2662885aa9 Use pc_from_ucontext.m4 from Google Performance Tools
This M4 module lets us learn the right way (out of at least 18
possibilities) to extract the current PC for stack-trace-fixup-in-signal
purposes.  The Google Performance Tools license is 3-clause BSD.
2013-11-18 10:43:15 -05:00
Nick Mathewson
b0023083c4 On Linux (and some other systems) we need -rdynamic for backtraces 2013-11-18 10:43:14 -05:00
Nick Mathewson
063bea58bc Basic backtrace ability
On platforms with the backtrace/backtrace_symbols_fd interface, Tor
can now dump stack traces on assertion failure.  By default, I log
them to DataDir/stack_dump and to stderr.
2013-11-18 10:43:14 -05:00
Nick Mathewson
4c6081910d Only use -Wlogical-op with GCC 4.6 and later
It generates an apparently spurious warning with gcc 4.4 in debian;
we haven't tested 4.5.
2013-10-31 11:57:50 -04:00
Nick Mathewson
9b0a4cbe92 Add the -Wlogical-op switch when building with GCC 4.3 or later. 2013-10-30 22:39:53 -04:00
Nick Mathewson
b7a17de454 Better detection for certain broken cross-compiling situations.
Fixes bug 9869; patch from Benedikt Gollatz.
2013-10-21 13:30:38 -04:00
Nick Mathewson
21ac292820 Give a better warning when stack protection breaks linking.
Fix for 9948; patch from Benedikt Gollatz.
2013-10-21 13:07:47 -04:00
Nick Mathewson
187398318e When python is available, run the commandline unit tests from "make check" 2013-10-11 13:07:14 -04:00
Nick Mathewson
a6b4934037 Bump version to 0.2.5.1-alpha-dev 2013-10-02 22:41:41 -04:00
Roger Dingledine
fdf9fc5a7f bump to 0.2.5.1-alpha 2013-10-01 20:57:30 -04:00
guilhem
f8c45339f7 Don't preprocess torify
Since torify has been removed from tsocks, it doesn't need to be
preprocessed. Closes #5505.
2013-09-29 13:59:17 -04:00
Nick Mathewson
e0b2cd061b Merge remote-tracking branch 'ctoader/gsoc-cap-stage2'
Conflicts:
	src/common/sandbox.c
2013-09-13 12:31:41 -04:00
Nick Mathewson
4e00625bbe Build correctly with older libevents 2013-09-09 15:29:19 -04:00
Nick Mathewson
05f8429a28 Split libevent AC_CHECK_FUNCS call into multiple lines 2013-09-09 15:18:54 -04:00
Kevin Butler
77e4a01f12 Updated openssl configuration advice for Debian 2013-09-02 19:54:50 +01:00
Nick Mathewson
95597ab176 Remove a stray debugging echo from configure.ac 2013-07-18 08:54:28 -04:00
Nick Mathewson
c0391bae75 Merge remote-tracking branch 'public/fancy_test_tricks'
Conflicts:
	src/common/include.am

Conflict was from adding testsupport.h near where sandbox.h had
already been added.
2013-07-15 12:02:18 -04:00
Nick Mathewson
aac732322a Merge remote-tracking branch 'public/gsoc-ctoader-cap-phase1-squashed' 2013-07-12 17:12:43 -04:00
Cristian Toader
f9c1ba6493 Add a basic seccomp2 syscall filter on Linux
It's controlled by the new Sandbox argument.  Right now, it's rather
coarse-grained, it's Linux-only, and it may break some features.
2013-07-11 09:13:13 -04:00
Nick Mathewson
17e9fc09c3 Coverage support: build with --enable-coverage to have tests run with gcov
If you pass the --enable-coverage flag on the command line, we build
our testing binaries with appropriate options eo enable coverage
testing.  We also build a "tor-cov" binary that has coverage enabled,
for integration tests.

On recent OSX versions, test coverage only works with clang, not gcc.
So we warn about that.

Also add a contrib/coverage script to actually run gcov with the
appropriate options to generate useful .gcov files.  (Thanks to
automake, the .o files will not have the names that gcov expects to
find.)

Also, remove generated gcda and gcno files on clean.
2013-07-10 15:22:16 -04:00
Nick Mathewson
f7d654b81e Start work on fancy compiler tricks to expose extra stuff to our tests
This is mainly a matter of automake trickery: we build each static
library in two versions now: one with the TOR_UNIT_TESTS macro
defined, and one without.  When TOR_UNIT_TESTS is defined, we can
enable mocking and expose more functions. When it's not defined, we
can lock the binary down more.

The alternatives would be to have alternate build modes: a "testing
configuration" for building the libraries with test support, and a
"production configuration" for building them without.  I don't favor
that approach, since I think it would mean more people runnning
binaries build for testing, or more people not running unit tests.
2013-07-10 15:20:09 -04:00
dana koch
8c88c75966 Use double-quotes for regular_mans, not brackets.
This is a bashism; on systems where sh is not bash (eg., non-Linux, or
Ubuntu using dash), this breaks with a syntax error. This also doesn't
work properly in bash: only the first item is iterated on.
2013-06-12 08:58:06 -04:00
Nick Mathewson
e7134c2375 double-quotes and changes file for 6506. 2013-05-24 14:43:57 -04:00
Arlo Breault
15c6a9b023 Fix out-of-tree builds.
See #6506
2013-05-24 14:38:58 -04:00
Arlo Breault
f5cf614ed3 Config check for asciidoc and generated manpages.
If USE_ASCIIDOC is enabled but asciidoc isn't present and manpages
aren't already generated, it'll throw a warning during configure.
Works with the current git / tarball split.

Caveat: regular_mans are listed in the configure.ac

See #6506
2013-05-24 14:38:58 -04:00
Nick Mathewson
d39f713806 Merge remote-tracking branch 'origin/maint-0.2.4' 2013-04-11 18:13:45 -04:00
Nick Mathewson
85e7de68bc Better test program for 128-bit math support
Clang 3.2 does constant-folding and variable substitution to determine
that the program is equivalent to "return 1".  Splitting the 128-bit
math into a new function seems sufficient to fix this.
2013-04-11 18:08:37 -04:00
Nick Mathewson
e9e430403c Fix two dump bugs in "whether we can use curve25519-donna-c64" test
Dumb bug 1: == has higher precedence than &.

Dumb bug 2: the main() function in an AC_RUN_IFELSE test is expected
to return 0 on success, not 1.
2013-03-25 10:07:41 -04:00
Nick Mathewson
66d52b876a Merge remote-tracking branch 'origin/maint-0.2.4' 2013-03-20 10:52:49 -04:00
Nick Mathewson
90d2162f32 Merge commit '2f98bf5c9fac4dfd1bb07564ce08b13d1e330252' into maint-0.2.4
(This is the part of the Bug 8042 patch that warns about unsigned time_t)
2013-03-20 10:52:26 -04:00
Nick Mathewson
2810753928 Merge remote-tracking branch 'origin/maint-0.2.4' 2013-03-15 11:01:06 -04:00
Nick Mathewson
10fb339808 Be explicit that we want not only nacl but nacl-with-a-fast-curve25519
Resolves the user experience part of #8014.
2013-03-15 11:00:43 -04:00
Nick Mathewson
9be3389dc7 Merge remote-tracking branch 'origin/maint-0.2.4' 2013-03-14 12:06:58 -04:00
Nick Mathewson
051b1e8ac4 Look at the right variable when warning about signed size_t.
In 81d69f4c2d (0.2.21-alpha) we added a compile-time check for
a (totally broken) signed size_t.  In 0e597471af (not yet released)
I switched to a better configure-time check, which stored its output
in a different variable.  I didn't change the code which looked at
the output, however.

This bug is not in any released version of Tor, and would not affect
anybody with a working Tor.
2013-03-11 16:29:06 -04:00
Nick Mathewson
2f98bf5c9f Warn at configure time when time_t is unsigned
Inspired by #8042.

As far as I know, OpenVMS is the only place you're likely to hit an
unsigned time_t these days, and Tor's VMS support
is... lacking. Still worth letting people know about it, though.
2013-03-11 15:33:44 -04:00
Nick Mathewson
c72d58cbff Merge remote-tracking branch 'public/feature8109' 2013-03-01 00:33:37 -05:00
Nick Mathewson
94d0f226e6 Whoops. I forgot the "alpha" 2013-03-01 00:16:46 -05:00
Nick Mathewson
d9293ab3a7 Bump version in master to 0.2.5.0-alpha-dev 2013-03-01 00:13:36 -05:00
Nick Mathewson
41200b4770 Have autoconf check whether enums are signed.
Fixes bug 7727; fix on 0.2.4.10-alpha.
2013-02-07 16:30:32 -05:00
Nick Mathewson
0e597471af Use a nicely written autoconf macro to determine the sign of a type
This beats our old implementation, which wouldn't work when cross-compiling
2013-02-07 16:23:48 -05:00
Roger Dingledine
2c73fe5f5e bump to 0.2.4.10-alpha-dev 2013-02-04 18:20:13 -05:00
Roger Dingledine
54f9a402c5 bump to 0.2.4.10-alpha 2013-02-04 17:11:00 -05:00
Nick Mathewson
97d0872f59 Build donna32 with -fomit-frame-pointer 2013-01-30 13:08:04 -05:00
Nick Mathewson
73d605b0f7 Detect platforms where memset(0) doesn't set doubles to 0.0.
This is allowed by the C statndard, which permits you to represent
doubles any way you like, but in practice we have some code that
assumes that memset() clears doubles in structs.  Noticed as part of
7802 review; see 8081 for more info.
2013-01-29 17:38:15 -05:00
Nick Mathewson
b987081941 Check for nacl headers in nacl/ subdir
Fix for bug 7972
2013-01-16 10:29:11 -05:00
Nick Mathewson
4da083db3b Update the copyright date to 201. 2013-01-16 01:54:56 -05:00
Nick Mathewson
0301a1df6c Bump to 0.2.4.9-alpha-dev 2013-01-15 16:01:02 -05:00
Roger Dingledine
23dd7c9012 bump to 0.2.4.9-alpha 2013-01-15 11:57:34 -05:00
Nick Mathewson
85eb83052f Bump version to 0.2.4.8-alpha-dev 2013-01-15 00:24:19 -05:00
Roger Dingledine
26cffd3b86 bump to 0.2.4.8-alpha 2013-01-14 18:52:42 -05:00
Nick Mathewson
b1bdecd703 Merge branch 'ntor-resquashed'
Conflicts:
	src/or/cpuworker.c
	src/or/or.h
	src/test/bench.c
2013-01-03 11:52:41 -05:00
Nick Mathewson
89ec584805 Add a wrapper around, and test and build support for, curve25519.
We want to use donna-c64 when we have a GCC with support for
64x64->uint128_t multiplying.  If not, we want to use libnacl if we
can, unless it's giving us the unsafe "ref" implementation.  And if
that isn't going to work, we'd like to use the
portable-and-safe-but-slow 32-bit "donna" implementation.

We might need more library searching for the correct libnacl,
especially once the next libnacl release is out -- it's likely to have
bunches of better curve25519 implementations.

I also define a set of curve25519 wrapper functions, though it really
shouldn't be necessary.

We should eventually make the -donna*.c files get build with
-fomit-frame-pointer, since that can make a difference.
2013-01-02 14:10:48 -05:00
Roger Dingledine
747d284088 bump to 0.2.4.7-alpha-dev 2012-12-25 02:52:53 -05:00
Roger Dingledine
d3c2254fda bump to 0.2.4.7-alpha 2012-12-24 04:04:04 -05:00
Nick Mathewson
3fa9151f26 Merge branch 'win64-7260'
Conflicts:
	src/or/dns.c
2012-12-07 14:12:17 -05:00
Roger Dingledine
83b1a50cc0 bump to 0.2.4.6-alpha-dev 2012-11-13 01:46:59 -05:00
Roger Dingledine
b13c6becc8 bump to 0.2.4.6-alpha 2012-11-13 00:00:33 -05:00
Nick Mathewson
9dee6b1dce Compile (with warnings) with mingw64
Patch from yayooo for bug 7260, forward-ported to 0.2.4.
2012-11-02 13:51:11 -04:00
Roger Dingledine
2fd064d28f bump to 0.2.4.5-alpha-dev 2012-10-26 02:32:44 -04:00
Nick Mathewson
c331694d06 Bump the version number to 0.2.4.5-alpha
(For real this time.  It turns out that 4 and 5 are different numbers.)
2012-10-25 10:44:14 -04:00
Nick Mathewson
951b5b7e6a Bump version to 0.2.4.5-alpha 2012-10-25 10:33:17 -04:00
Roger Dingledine
a73b275300 bump to 0.2.4.4-alpha-dev 2012-10-21 13:25:35 -04:00
Roger Dingledine
fe3b95f359 bump to 0.2.4.4-alpha 2012-10-20 16:06:05 -04:00
Nick Mathewson
d92d3f3335 Add autoconf magic to support Bitrig
Bitrig is an openbsd fork.  Patch from dhill.  Ticket 6982.
2012-10-04 10:56:33 -04:00
Roger Dingledine
a2f57b9799 bump to 0.2.4.3-alpha-dev 2012-09-22 08:09:17 -04:00
Roger Dingledine
3355976bb4 bump to 0.2.4.3-alpha 2012-09-22 06:11:28 -04:00
Nick Mathewson
75c9ccd4f8 Merge remote-tracking branch 'public/bug6538'
Conflicts:
	configure.ac
2012-09-11 17:51:36 -04:00
Nick Mathewson
99cb9696ac Bump version to 0.2.4.2-alpha-dev 2012-09-10 19:49:20 -04:00
Roger Dingledine
73c13baa97 bump to 0.2.4.2-alpha 2012-09-10 17:38:50 -04:00
Ondrej Mikle
43c86bbc70 Removed dependency on tor.spec. Removed tor.spec.in. 2012-09-07 14:44:53 -04:00
Roger Dingledine
a504a81d22 bump to 0.2.4.1-alpha-dev 2012-09-05 20:05:50 -04:00
Roger Dingledine
237129847b bump to 0.2.4.1-alpha 2012-09-05 19:12:22 -04:00
Nick Mathewson
485b4b7eee Rename configure.in to configure.ac
This is the preferred filename to use with Autoconf 2.50 and later.
2012-09-04 11:12:00 -04:00
Felipe Bergo
3840dbcaaf moved configure.ac to configure.in, should work with older autoconfs and automakes
svn:r11
2002-06-28 23:43:00 +00:00
Felipe Bergo
f09e25e9f5 added automake/autoconf support. When in doubt, "aclocal && autoconf && autoheader && automake" from the top dir.
svn:r10
2002-06-28 23:26:42 +00:00