Nick Mathewson
c395334879
Mark some unreachable lines in crypto.c
2016-05-16 08:25:59 -04:00
Nick Mathewson
7a5f15b6e0
Improve test coverage of our strongest-rng code.
2016-05-16 08:25:59 -04:00
Nick Mathewson
ec81329339
Do not leak the 'tag' when trying to read a truncated ed25519 key file
...
Fix for bug 18956.
2016-05-16 08:25:59 -04:00
Nick Mathewson
5b91e70a4f
Mark unreachable lines in crypto_ed25519.c
2016-05-16 08:25:59 -04:00
Nick Mathewson
8a536be705
Mark unreachable lines in crypto_curve25519.c
...
Also, resolve a bug in test_ntor_cl.c
2016-05-16 08:25:53 -04:00
Nick Mathewson
820b1984ad
Mark three lines unreachable, with extensive docs and use of BUG macros
2016-05-16 08:25:53 -04:00
Nick Mathewson
bff53aabce
Remove redundant declarations of MIN
...
Apparently somewhere along the line we decided that MIN might be
missing.
But we already defined it (if it was missing) in compat.h, which
everybody includes.
Closes ticket 18889.
2016-04-25 15:28:58 -04:00
Nick Mathewson
26db1b65b9
Remove trunnel files from libor/libcrypto, since they are in libtrunnel. Found with modularity tool.
2016-04-20 13:39:07 -04:00
Nick Mathewson
520799f084
Merge branch 'handles_squashed'
2016-04-19 14:08:05 -04:00
Nick Mathewson
e015f7c9cc
Basic 'handle' implementation and tests.
...
This abstraction covers the case where one part of the program needs
to refer to another object that is allowed to disappear.
2016-04-19 14:07:43 -04:00
Nick Mathewson
94e3555187
Merge remote-tracking branch 'public/lcov_excl'
2016-04-19 14:05:51 -04:00
Nick Mathewson
12e26a6e76
Disambiguate: Avoid defining two static functions called chunk_free_unchecked
2016-04-15 12:20:14 -04:00
Nick Mathewson
381dae43b6
Add branch prediction to util_bug.h, and fix a bug.
2016-04-15 09:12:03 -04:00
Nick Mathewson
0e354ad459
Merge branch 'assert_nonfatal_squashed'
2016-04-14 16:25:21 -04:00
Nick Mathewson
a86ed1d717
Add an IF_BUG_ONCE macro, since that's a pretty common pattern too.
2016-04-14 16:25:07 -04:00
Nick Mathewson
532820b11c
Add a BUG macro for usage in if checks.
2016-04-14 16:25:06 -04:00
Nick Mathewson
a885271c08
Add new tor_assert_nonfatal*() macros.
...
Unlike tor_assert(), these macros don't abort the process. They're
good for checking conditions we want to warn about, but which don't
warrant a full crash.
This commit also changes the default implementation for
tor_fragile_assert() to tor_assert_nonfatal_unreached_once().
Closes ticket 18613.
2016-04-14 16:24:28 -04:00
Nick Mathewson
0630f1982d
Add LCOV_EXCL* markers to crypto.c and crypto_s2k.c
...
This marks some lines as unreachable by the unit tests, and as
therefore excluded from test coverage.
(Note: This convention is only for lines that are absolutely
unreachable. Don't use it anywhere you wouldn't add a
tor_fragile_assert().)
2016-04-12 21:13:33 -04:00
Nick Mathewson
eafcd7b0fc
Merge branch 'maint-0.2.8'
2016-04-12 13:02:37 -04:00
Nick Mathewson
7babf33239
Merge remote-tracking branch 'public/bug18716_027' into maint-0.2.8
2016-04-12 13:02:02 -04:00
Nick Mathewson
39c057d45a
memarea: Don't assume that sizeof(ulong) >= sizeof(void*).
...
Fixes bug 18716; bugfix on 0.2.1.1-alpha where memarea.c was
introduced. Found by wbenny.
2016-04-07 11:10:14 -04:00
Nick Mathewson
b46d126e64
Merge branch 'maint-0.2.8'
2016-04-05 10:38:53 -04:00
Nick Mathewson
967491f156
Only define NEW_THREAD_API when not building with LibreSSL.
2016-04-05 10:38:15 -04:00
Nick Mathewson
16f7851807
Merge remote-tracking branch 'teor/bug18720'
2016-04-05 10:08:11 -04:00
Nick Mathewson
6720628c97
Merge branch 'maint-0.2.8'
2016-04-05 10:06:18 -04:00
Yawning Angel
5db21f8f81
OpenSSL 1.1.0-pre5-dev and later made BIO opaque.
...
Detect newer versions and fix our TLS code to use the new API.
2016-04-05 10:03:24 -04:00
Yawning Angel
6729d7328c
OpenSSL 1.1.0-pre4 and later(?) have a new "thread API".
...
It appears that setting the various callbacks is no longer required, so
don't.
2016-04-05 10:03:24 -04:00
teor (Tim Wilson-Brown)
6a2b4db4f9
Fix a comment typo in compat.h
2016-04-05 13:45:37 +10:00
Nick Mathewson
7865402106
Move tor_assert implementation into its own header/module.
2016-04-04 11:06:04 -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
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
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
Nick Mathewson
6256c61d95
Merge branch 'timegm_overflow_squashed'
2016-03-24 10:18:00 -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
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
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
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
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
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
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
Peter Palfrader
1ef7df551d
First RelaxDirModeCheck implementation
2016-03-01 17:08:14 +01:00
Nick Mathewson
9fc472e1a8
clean/extend some module docs, including fix from #18403
2016-02-28 17:57:47 +01:00