Nick Mathewson
c6846d7bf0
Merge remote-tracking branch 'andrea/bug18322_v3_squashed'
2016-06-30 11:18:00 -04:00
Nick Mathewson
a31f55b16b
Merge remote-tracking branch 'teor/bug19483-fix-v2'
2016-06-30 11:04:13 -04:00
Andrea Shepard
13a16e0011
Also check if the sandbox is configured as well as if it's active; sandbox_init() runs rather late in the startup process
2016-06-30 09:37:23 +00:00
Andrea Shepard
34d9dabed1
Do sandbox_is_active() check before reconstructing dump_desc() FIFO on startup too
2016-06-30 07:45:55 +00:00
Andrea Shepard
9580b99dab
Add unit test for dump_desc_populate_fifo_from_directory()
2016-06-30 07:03:26 +00:00
Andrea Shepard
f99c9df02b
Make things mockable for dump_desc_populate_fifo_from_directory() unit test
2016-06-30 07:03:26 +00:00
Andrea Shepard
42f089473a
Unit test for dump_desc_populate_one_file()
2016-06-30 07:03:26 +00:00
Andrea Shepard
2154160a24
Add support for mocking functions declared with attributes without causing gcc warnings
2016-06-30 07:03:26 +00:00
Andrea Shepard
421cf21b3c
Reload unparseable descriptor dump FIFO state from on-disk dumped descriptors at startup
2016-06-30 07:03:26 +00:00
Andrea Shepard
38cced90ef
Move unparseable descriptor dumps into subdirectory of DataDir
2016-06-30 07:03:25 +00:00
Andrea Shepard
dc37546cff
Add sandbox_is_active() check to dump_desc()
2016-06-30 07:03:25 +00:00
Andrea Shepard
603f483092
Use uint64_t for total length of dumped descriptors, nad be careful about overflows in the loop in dump_desc_fifo_add_and_clean()
2016-06-30 07:03:25 +00:00
Andrea Shepard
824ee581b0
Add dir/dump_unparseable_descriptors unit test
2016-06-30 07:03:25 +00:00
Andrea Shepard
2a17b93cc4
Make options_get_datadir_fname2_suffix() mockable
2016-06-30 07:03:25 +00:00
Andrea Shepard
35fc5879fb
Expose a few more dump_desc()-related things to the test suite
2016-06-30 07:03:25 +00:00
Andrea Shepard
4e4a760491
Add extern support for file-scope variables in testsupport.h
2016-06-30 07:03:25 +00:00
Andrea Shepard
17ed2fed68
Expose dump_desc() to the test suite and make things it calls mockable
2016-06-30 07:03:24 +00:00
Andrea Shepard
726dc9acf5
Remove old unparseable descriptor logging mechanism, add bump-to-head-of-queue for repeated unparseable descriptors, rename config variable
2016-06-30 07:03:24 +00:00
Andrea Shepard
1cde3e2776
Add multiple descriptor dump support for dump_desc() in routerparse.c; fixes bug 18322
2016-06-30 07:03:24 +00:00
Roger Dingledine
4dc7b3ca28
fix typo
2016-06-29 22:56:56 -04:00
teor (Tim Wilson-Brown)
69535f1284
Add tv_udiff and tv_mdiff unit tests with negative values
2016-06-30 09:29:18 +10:00
teor (Tim Wilson-Brown)
aae14f8346
Fix bug19483: avoid range checks when they are always true
...
Some compilers are smart enough to work out that comparisons to
LONG_MAX are a no-op on L64.
2016-06-30 09:29:14 +10:00
Nick Mathewson
7602b0b31f
Merge remote-tracking branch 'weasel/bug19503'
2016-06-29 16:10:10 -04:00
teor (Tim Wilson-Brown)
d36a0c4d22
Add more unit tests for tv_udiff and tv_mdiff
2016-06-29 17:23:42 +10:00
teor (Tim Wilson-Brown)
4234ca3bf2
Improve overflow checks in tv_udiff and tv_mdiff
...
Validate that tv_usec inputs to tv_udiff and tv_mdiff are in range.
Do internal calculations in tv_udiff and tv_mdiff in 64-bit,
which makes the function less prone to integer overflow,
particularly on platforms where long and time_t are 32-bit,
but tv_sec is 64-bit, like some BSD configurations.
Check every addition and subtraction that could overflow.
2016-06-29 17:23:24 +10:00
Andrea Shepard
ad0ce8716d
Unit tests for GETINFO download/desc and download/bridge cases
2016-06-29 06:55:57 +00:00
Andrea Shepard
45724beac4
Unit test for GETINFO download/cert case
2016-06-29 05:58:22 +00:00
Andrea Shepard
becf510ef2
Unit test for GETINFO download/networkstatus case
2016-06-29 05:56:21 +00:00
Andrea Shepard
657eaee6ae
Expose GETINFO download status statics for test suite and make things mockable
2016-06-29 05:55:42 +00:00
Andrea Shepard
c692900728
Add bridge descriptor download status queries to GETINFO
2016-06-29 05:55:42 +00:00
Andrea Shepard
8798ca4be2
Add router descriptor download status queries to GETINFO
2016-06-29 05:55:42 +00:00
Andrea Shepard
18c6e13993
Expose authority certificate download statuses on the control port
2016-06-29 05:55:42 +00:00
teor (Tim Wilson-Brown)
2e51608a8b
Fix an integer overflow bug in the tv_mdiff range check
...
The temporary second used for rounding can cause overflow,
depending on the order the compiler performs the operations.
2016-06-29 12:53:50 +10:00
Nick Mathewson
f42dbc4e26
Merge branch 'maint-0.2.8'
2016-06-28 19:15:43 -04:00
Nick Mathewson
2c9354fc10
Merge branch 'bug19071-extra-squashed' into maint-0.2.8
2016-06-28 19:15:20 -04:00
teor (Tim Wilson-Brown)
26146dbe9e
Comment-out fallbacks in a way the stem fallback parser understands
...
If we manually remove fallbacks in C by adding '/*' and '*/' on separate
lines, stem still parses them as being present, because it only looks at
the start of a line.
Add a comment to this effect in the generated source code.
2016-06-28 19:15:08 -04:00
Nick Mathewson
d793a988cd
Merge branch 'maint-0.2.8'
2016-06-28 11:22:48 -04:00
Nick Mathewson
bc9a0f82b3
whitespace fixes
2016-06-28 11:14:42 -04:00
Nick Mathewson
f87aa4555d
Merge remote-tracking branch 'teor/bug18812' into maint-0.2.8
2016-06-28 11:12:51 -04:00
teor (Tim Wilson-Brown)
608c12baaf
Resolve bug18812 by logging fallback key changes at info level
2016-06-28 14:18:16 +10:00
teor (Tim Wilson-Brown)
812fd416ef
Make it clear that fallbacks include authorities
...
Comment-only change
2016-06-28 14:14:04 +10:00
teor (Tim Wilson-Brown)
14b1c7a66e
Refactor connection_or_client_learned_peer_id for bug18812
...
No behavioural change.
Also clarify some comments.
2016-06-28 14:12:18 +10:00
Nick Mathewson
4e2a7cd3ae
Add missing braces around conditional.
2016-06-27 13:19:49 -04:00
Nick Mathewson
14169a3d70
Remove an always-true condition: all ints are <= INT_MAX
2016-06-27 13:18:54 -04:00
Nick Mathewson
2197bfcc6a
Merge branch 'maint-0.2.8'
2016-06-27 13:17:42 -04:00
Andrea Shepard
8cf9fe5ba6
Expose consensus download statuses on the control port
2016-06-27 16:38:37 +00:00
Peter Palfrader
54c3066c72
Fix a typo in the getting passphrase prompt for the ed25519 identity key
2016-06-25 13:33:35 +02:00
Yawning Angel
0116eae59a
Bug19499: Fix GCC warnings when building against bleeding edge OpenSSL.
...
The previous version of the new accessors didn't specify const but it
was changed in master.
2016-06-24 22:20:41 +00:00
Nick Mathewson
703254a832
Merge remote-tracking branch 'public/bug15942_v2_alternative'
2016-06-23 09:01:24 -04:00
teor (Tim Wilson-Brown)
828e2e1a2e
Remove a fallback that changed DirPort
...
The operator has confirmed that the DirPort change is perament.
The relay will be reconsidered as a fallback in 0.2.9.
2016-06-23 10:38:03 +10:00
Nick Mathewson
61dac57aa3
Merge branch 'maint-0.2.8'
2016-06-22 08:20:11 -04:00
teor (Tim Wilson-Brown)
69635e41c8
Remove and blacklist 3 fallbacks which disappeared
...
Blacklist them in case they appear again.
2016-06-22 12:18:10 +10:00
teor (Tim Wilson-Brown)
b15cecd4f8
Remove 2 fallbacks: one lost guard, the other had bad uptime
...
Leave these fallbacks in the whitelist, they may improve before 0.2.9.
2016-06-22 12:18:06 +10:00
teor (Tim Wilson-Brown)
7e9532b9be
Remove and blacklist 4 fallbacks which are unsuitable
...
Remove a fallback that changed its fingerprint after it was listed
This happened after to a software update:
https://lists.torproject.org/pipermail/tor-relays/2016-June/009473.html
Remove a fallback that changed IPv4 address
Remove two fallbacks that were slow to deliver consensuses,
we can't guarantee they'll be fast in future.
Blacklist all these fallbacks until operators confirm they're stable.
2016-06-22 12:16:57 +10:00
Nick Mathewson
cb8557f7c9
Merge branch 'maint-0.2.8'
2016-06-21 09:00:40 -04:00
Ivan Markin
b432efb838
Remove useless message about nonexistent onion services after uploading a descriptor
2016-06-21 09:00:22 -04:00
Nick Mathewson
dd9cebf109
Merge branch 'maint-0.2.8'
2016-06-21 08:54:49 -04:00
George Kadianakis
f038e9cb00
Fix bug when disabling heartbeats.
...
Callbacks can't return 0.
2016-06-21 08:54:30 -04:00
David Goulet
b3b4ffce2e
prop250: Add memory and disk state in new files
...
This commit introduces two new files with their header.
"shared_random.c" contains basic functions to initialize the state and allow
commit decoding for the disk state to be able to parse them from disk.
"shared_random_state.c" contains everything that has to do with the state
for both our memory and disk. Lots of helper functions as well as a
mechanism to query the state in a synchronized way.
Signed-off-by: David Goulet <dgoulet@torproject.org>
Signed-off-by: George Kadianakis <desnacked@riseup.net>
2016-06-20 15:26:58 -04:00
David Goulet
9744a40f7a
Add tor_htonll/ntohll functions
...
Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2016-06-20 15:26:58 -04:00
David Goulet
49e8f47505
util: zero target buffer of base*_encode/decode
...
Make sure to memset(0) the destination buffer so we don't leave any
uninitialized data.
Fixes #19462
Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-06-20 13:47:19 -04:00
Nick Mathewson
2f75b34dce
Patch from dgoulet: fix a base16 problem that manifested w stem
2016-06-20 13:37:45 -04:00
Nick Mathewson
5fbd195918
Coverage hack for test_switch_id.sh
...
This hack provides a way to make sure we can see coverage from
test-switch-id. If you set OVERRIDE_GCDA_PERMISSIONS_HACK, we
temporarily make the .gcda files mode 0666 before we run the
test scripts, and then we set them to 0644 again afterwards.
That's necessary because the test_switch_id.sh script does a
setuid() to 'nobody' part way through, and drops the ability to
change its mind back.
2016-06-20 11:15:47 -04:00
Nick Mathewson
603cb712ef
Small coverage improvements on compat.c
2016-06-20 11:03:13 -04:00
Nick Mathewson
ba28da8de5
compat.c coverage: simplify under-tested alloc_getcwd.
...
Yes, HURD lacks PATH_MAX. But we already limited the maximum buffer
to 4096, so why not just use that?
2016-06-20 10:47:31 -04:00
Nick Mathewson
2b74e13a7c
More coverage in backtrace.c
2016-06-20 10:31:36 -04:00
Nick Mathewson
c1f0ec3058
Merge remote-tracking branch 'dgoulet/bug19465_029_01'
2016-06-20 10:20:41 -04:00
Nick Mathewson
ba88d78127
Fix unit test crash on 32-bit.
2016-06-20 10:20:03 -04:00
Nick Mathewson
a09ec22a9b
Simpler implementation of random exponential backoff.
...
Consumes more entropy, but is easier to read.
2016-06-20 10:10:02 -04:00
David Goulet
85edef27eb
test: Increase offset to rendcache descriptor time
...
Slow system can sometime take more than 10 seconds to reach the test
callsite resulting in the unit test failing when using time in the future or
in the past.
Fixes #19465
Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-06-20 09:53:11 -04:00
Nick Mathewson
6cedd49323
Merge branch 'bug14013_029_01_squashed'
2016-06-20 08:48:09 -04:00
nikkolasg
568dc27a19
Make base16_decodes return number of decoded bytes
...
base16_decodes() now returns the number of decoded bytes. It's interface
changes from returning a "int" to a "ssize_t". Every callsite now checks the
returned value.
Fixes #14013
Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-06-20 08:44:58 -04:00
Nick Mathewson
1160ac1283
Changes file for 19063; use the BUG macro
2016-06-19 12:38:15 -04:00
U+039b
58e6a6aaeb
Fix #19063 : Add check in utility macro
2016-06-19 12:34:49 -04:00
Nick Mathewson
81cfd5c9a1
Merge branch 'zlib_coverage_squashed'
2016-06-19 12:20:38 -04:00
Nick Mathewson
d937b86699
Unindent block
2016-06-19 12:20:24 -04:00
Nick Mathewson
5a725dab0a
Mark some torgzip lines as unreachable/untestable.
2016-06-19 12:20:24 -04:00
Nick Mathewson
358fc026d9
Remove a ridiculous realloc call from torgzip.c
...
realloc()ing a thing in order to try to save memory on it just
doesn't make sense with today's allocators. Instead, let's use the
fact that whenever we decompress something, either it isn't too big,
or we chop it up, or we reallocate it.
2016-06-19 12:20:24 -04:00
Nick Mathewson
808015316a
Remove support for zlib <= 1.1
...
zlib 1.2 came out in 2003; earlier versions should be dead by now.
Our workaround code was only preventing us from using the gzip
encoding (if we decide to do so), and having some dead code linger
around in torgzip.c
2016-06-19 12:20:24 -04:00
Nick Mathewson
b421648da2
Merge remote-tracking branch 'public/thread_coverage'
2016-06-19 12:15:55 -04:00
Andrea Shepard
5a4ed29f01
Better comments on exponential-backoff related members of download_status_t
2016-06-18 19:05:46 +00:00
Andrea Shepard
1f1df4ab74
Move exponential-random backoff computation out of download_status_schedule_get_delay() into separate function, per code review
2016-06-18 18:23:55 +00:00
Andrea Shepard
1dfbfd319e
Better comment for download_status_schedule_get_delay() per code review
2016-06-18 17:11:32 +00:00
Andrea Shepard
6370c4ee87
Use exponential backoff for router descriptor downloads from consensuses
2016-06-18 16:32:17 +00:00
Andrea Shepard
5cb27d8991
Use exponential backoffs for bridge descriptor downloads
2016-06-18 16:32:17 +00:00
Andrea Shepard
36d45a9f64
Use exponential backoffs for certificate downloads
2016-06-18 16:32:17 +00:00
Andrea Shepard
5104e5645f
Use exponential backoffs for consensus downloads
2016-06-18 16:32:16 +00:00
Andrea Shepard
1553512af4
Unit test for DL_SCHED_RANDOM_EXPONENTIAL
2016-06-18 16:32:16 +00:00
Andrea Shepard
695b0bd1d5
Implement DL_SCHED_RANDOM_EXPONENTIAL support for download_status_t
2016-06-18 16:32:16 +00:00
Andrea Shepard
033cf30b3c
Keep make check-spaces happy
2016-06-18 16:07:44 +00:00
Nick Mathewson
48b25e6811
Merge branch 'bug18280_029_03_nm_squashed'
2016-06-17 13:53:57 -04:00
David Goulet
f4f9a9be40
test: Add base32_encode/decode unit tests
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-06-17 13:53:47 -04:00
David Goulet
4e4a7d2b0c
Fix base32 API to take any source length in bytes
...
Fixes #18280
Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2016-06-17 13:53:47 -04:00
cypherpunks
94762e37b9
Use the Autoconf macro AC_USE_SYSTEM_EXTENSIONS
...
The Autoconf macro AC_USE_SYSTEM_EXTENSIONS defines preprocessor macros
which turn on extensions to C and POSIX. The macro also makes it easier
for developers to use the extensions without needing (or forgetting) to
define them manually.
The macro can be safely used because it was introduced in Autoconf 2.60
and Tor requires Autoconf 2.63 and above.
2016-06-17 10:17:44 -04:00
Nick Mathewson
9a63f059b9
Merge remote-tracking branch 'dgoulet/bug18604_029_01'
2016-06-17 09:07:41 -04:00
Nick Mathewson
a8c766220f
Mark an abort() as unreachable.
2016-06-16 15:53:05 -04:00
Nick Mathewson
a418904962
Coverage on parse_config_line_from_str_verbose.
2016-06-16 15:52:19 -04:00
Nick Mathewson
c9ea9de806
Remove parse_config_line_from_str alias
...
All of our code just uses parse_config_line_from_str_verbose.
2016-06-16 15:40:56 -04:00
Nick Mathewson
128ab31c64
Mark code unreachable in unescape_string()
...
Also, add tests for it in case someday it does become reachable.
2016-06-16 15:36:08 -04:00
Nick Mathewson
dd73787190
On Windows, tv_sec is long, not time_t.
...
I'm not angry, Windows: just very disappointed.
2016-06-16 13:57:16 -04:00
David Goulet
ab35f9de46
Correctly close intro circuit when deleting ephemeral HS
...
When deleting an ephemeral HS, we were only iterating on circuit with an
OPEN state. However, it could be possible that an intro point circuit didn't
reached the open state yet.
This commit makes it that we close the circuit regardless of its state
except if it was already marked for close.
Fixes #18604
Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-06-16 13:09:24 -04:00
Nick Mathewson
6ceb37971e
Try to fix memarea test on 32-bit systems
2016-06-16 11:59:51 -04:00
Nick Mathewson
5c596cdbc0
Tests for message rate-limiting
...
Also note a bug in the rate-limiting message.
2016-06-16 11:54:50 -04:00
Nick Mathewson
9b0bd65f22
I believe I found some dead code in our time parsing functions
2016-06-16 11:14:12 -04:00
Nick Mathewson
79370914d1
tests for size_mul_check__()
...
it's important, and we should make sure we got it right.
2016-06-16 10:43:01 -04:00
Nick Mathewson
41cb26c169
Correct the rounding behavior on tv_mdiff.
...
Fix for bug 19428.
2016-06-16 10:16:04 -04:00
Nick Mathewson
f05a213fe1
Improve coverage on tv_udiff, and tv_mdiff.
...
I found some bugs in tv_mdiff; separate commit for that
2016-06-16 10:07:44 -04:00
Nick Mathewson
6dc2b605b8
Improve coverage on esc_for_log, esc_for_log_len
2016-06-16 09:58:53 -04:00
Nick Mathewson
d1ab295d7b
add LCOV_EXCL for unreachable exit() blocks in src/common
2016-06-16 09:50:52 -04:00
Nick Mathewson
f986e26850
Reach 100% line coverage on memarea.c
2016-06-16 09:37:44 -04:00
Nick Mathewson
7b54d7ebbd
Mark src/common tor_assert(0)/tor_fragile_assert() unreached for coverage
...
I audited this to make sure I was only marking ones that really
should be unreachable.
2016-06-15 17:28:26 -04:00
Nick Mathewson
e718a582af
Bump to 0.2.8.4-rc-dev
2016-06-15 12:55:17 -04:00
David Goulet
c7f1b46a10
Perform cache lookup when FetchHidServDescriptors is set
...
The FetchHidServDescriptors check was placed before the descriptor cache
lookup which made the option not working because it was never using the
cache in the first place.
Fixes #18704
Patched-by: twim
Signef-off-by: David Goulet <dgoulet@torproject.org>
2016-06-15 10:04:07 -04:00
Nick Mathewson
3a0d42fbf9
bump version to 0.2.8.4-rc
2016-06-14 20:36:35 -04:00
Nick Mathewson
05e2750ea7
whoops; blank line
2016-06-14 20:21:59 -04:00
Nick Mathewson
227d3b3d6b
Use ENABLE/DISABLE_GCC_WARNING in masater.
2016-06-14 20:21:02 -04:00
Nick Mathewson
8486dea8d7
Merge branch 'maint-0.2.8'
2016-06-14 20:16:46 -04:00
Nick Mathewson
d6b01211b9
Resolve the remaining openssl "-Wredundant-decls" warnings.
...
Another part of 19406
2016-06-14 20:14:53 -04:00
Nick Mathewson
3bffdf05d1
use new-form macros to disable -Wredundant-decls
2016-06-14 12:22:52 -04:00
Nick Mathewson
df4fa92a88
Merge branch 'maint-0.2.8'
2016-06-14 12:17:24 -04:00
Nick Mathewson
71aacbe427
Suppress the Wredundant-decls warning in another set of openssl headers
2016-06-14 12:17:02 -04:00
Yawning Angel
c5e2f7b944
Bug 19406: Fix the unit tests to work with OpenSSL 1.1.x
...
Just as it says on the tin. Don't need to fully disable any tests and
reduce coverage either. Yay me.
2016-06-14 12:13:09 -04:00
Yawning Angel
6ddef1f7e0
Bug 19406: OpenSSL removed SSL_R_RECORD_TOO_LARGE in 1.1.0.
...
This is a logging onlu change, we were suppressing the severity down to
INFO when it occured (treating it as "Mostly harmless"). Now it is no
more.
2016-06-14 12:13:09 -04:00
Yawning Angel
b563a3a09d
Bug 19406: OpenSSL made RSA and DH opaque in 1.1.0.
...
There's accessors to get at things, but it ends up being rather
cumbersome. The only place where behavior should change is that the
code will fail instead of attempting to generate a new DH key if our
internal sanity check fails.
Like the previous commit, this probably breaks snapshots prior to pre5.
2016-06-14 12:13:09 -04:00
Yawning Angel
86f0b80681
Bug 19406: OpenSSL changed the Thread API in 1.1.0 again.
...
Instead of `ERR_remove_thread_state()` having a modified prototype, it
now has the old prototype and a deprecation annotation. Since it's
pointless to add extra complexity just to remain compatible with an old
OpenSSL development snapshot, update the code to work with 1.1.0pre5
and later.
2016-06-14 12:13:09 -04:00
Nick Mathewson
4c90cdc0e7
Coverity dislikes (double) (int/int).
...
When you divide an int by an int and get a fraction and _then_ cast
to double, coverity assumes that you meant to cast to a double
first.
In my fix for -Wfloat-conversion in 493499a339
, I
did something like this that coverity didn't like.
Instead, I'm taking another approach here.
Fixes CID 1232089, I hope.
2016-06-13 11:25:19 -04:00
Nick Mathewson
6a7d11f38a
Merge branch 'maint-0.2.8'
2016-06-13 10:49:24 -04:00
Nick Mathewson
2ee3dbe801
Merge branch 'maint-0.2.7' into maint-0.2.8
2016-06-13 10:49:05 -04:00
Nick Mathewson
80089c9e7c
Merge branch 'maint-0.2.6' into maint-0.2.7
2016-06-13 10:48:56 -04:00
Nick Mathewson
b4bb88606e
Merge branch 'maint-0.2.5' into maint-0.2.6
2016-06-13 10:48:48 -04:00
Nick Mathewson
f25f7b759c
Merge branch 'maint-0.2.4' into maint-0.2.5
2016-06-13 10:48:35 -04:00
Andrea Shepard
925f76b486
Keep make check-spaces happy
2016-06-12 21:47:14 +00:00
Roger Dingledine
0616fd6fb6
typo/comment/log fixes i found in my sandbox from montreal
2016-06-12 16:14:15 -04:00
Karsten Loesing
c14c662758
Update geoip and geoip6 to the June 7 2016 database.
2016-06-12 11:35:50 +02:00
Nick Mathewson
47edbd4fad
Fix build on 32-bit systems.
2016-06-11 13:26:05 -04:00
Nick Mathewson
ada5668c5e
Merge remote-tracking branch 'public/bug19203_027' into maint-0.2.8
2016-06-11 10:16:00 -04:00
Nick Mathewson
d6b2af7a3a
Merge branch 'bug19180_easy_squashed'
2016-06-11 10:15:40 -04:00
Nick Mathewson
e80a032b61
Add clang's -Wstring-conversion, and fix the one place it hits
2016-06-11 10:11:54 -04:00
Nick Mathewson
53a3b39da1
Add -Wmissing-variable-declarations, with attendant fixes
...
This is a big-ish patch, but it's very straightforward. Under this
clang warning, we're not actually allowed to have a global variable
without a previous extern declaration for it. The cases where we
violated this rule fall into three roughly equal groups:
* Stuff that should have been static.
* Stuff that was global but where the extern was local to some
other C file.
* Stuff that was only global when built for the unit tests, that
needed a conditional extern in the headers.
The first two were IMO genuine problems; the last is a wart of how
we build tests.
2016-06-11 10:11:54 -04:00
Nick Mathewson
80f1a2cbbd
Add the -Wextra-semi warning from clang, and fix the cases where it triggers
2016-06-11 10:11:54 -04:00
Nick Mathewson
c3adbf755b
Resolve some warnings from OSX clang.
2016-06-11 10:11:53 -04:00
Nick Mathewson
9bbd6502f0
Use autoconf, not gcc version, to decide which warnings we have
...
This gives more accurate results under Clang, which can only help us
detect more warnings in more places.
Fixes bug 19216; bugfix on 0.2.0.1-alpha
2016-06-11 10:11:53 -04:00
Nick Mathewson
4caed2424a
Enable -Woverlength-strings for GCC>=4.6 on MOST of the code.
...
IMO it's fine for us to make exceptions to this rule in the unit
tests, but not in the code at large.
2016-06-11 10:11:52 -04:00
Nick Mathewson
8f2d2933f9
Use -Wdouble-promotion in GCC >= 4.6
...
This warning triggers on silently promoting a float to a double. In
our code, it's just a sign that somebody used a float by mistake,
since we always prefer double.
2016-06-11 10:11:52 -04:00
Nick Mathewson
493499a339
Add -Wfloat-conversion for GCC >= 4.9
...
This caught quite a few minor issues in our unit tests and elsewhere
in our code.
2016-06-11 10:11:52 -04:00
Nick Mathewson
2ff20c93a5
Add -Wunused-const-variable=2 on GCC >=6.1
...
This caused a trivial warning in curve25519-donna-64bit.h, which
had two unused constants. I commented them out.
2016-06-11 10:11:52 -04:00
Nick Mathewson
b14c1f4082
Merge remote-tracking branch 'public/bug19203_027' into HEAD
2016-06-11 10:11:44 -04:00
Nick Mathewson
4f8086fb20
Enable -Wnull-dereference (GCC >=6.1), and fix the easy cases
...
This warning, IIUC, means that the compiler doesn't like it when it
sees a NULL check _after_ we've already dereferenced the
variable. In such cases, it considers itself free to eliminate the
NULL check.
There are a couple of tricky cases:
One was the case related to the fact that tor_addr_to_in6() can
return NULL if it gets a non-AF_INET6 address. The fix was to
create a variant which asserts on the address type, and never
returns NULL.
2016-06-11 10:10:29 -04:00
Nick Mathewson
c274f825da
Merge remote-tracking branch 'asn/bug17688'
2016-06-11 10:07:15 -04:00
Andrea Shepard
9eeaeddbb1
Reduce make check-spaces noise
2016-06-09 11:50:25 +00:00