Nick Mathewson
aaa3129043
Merge remote-tracking branch 'dgoulet/ticket16943_029_05-squashed'
...
Trivial Conflicts:
src/or/or.h
src/or/routerparse.c
2016-07-01 15:29:05 -04:00
Nick Mathewson
c6846d7bf0
Merge remote-tracking branch 'andrea/bug18322_v3_squashed'
2016-06-30 11:18:00 -04: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
38cced90ef
Move unparseable descriptor dumps into subdirectory of DataDir
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
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
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
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
David Goulet
9744a40f7a
Add tor_htonll/ntohll functions
...
Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2016-06-20 15:26: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
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
a8c766220f
Mark an abort() as unreachable.
2016-06-16 15:53:05 -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
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
d1ab295d7b
add LCOV_EXCL for unreachable exit() blocks in src/common
2016-06-16 09:50:52 -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
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
ce1dbbc4fd
Enable the -Waggregate-return warning
...
Suppress it in the one spot in the code where we actually do want to
allow an aggregate return in order to call the mallinfo() API.
2016-05-27 11:26:14 -04:00
Nick Mathewson
f2205071f0
Remove round_int64_to_next_multiple_of: It is now unused.
2016-05-19 21:21:24 -04:00
Nick Mathewson
7bc9d1e002
Merge branch 'maint-0.2.8'
2016-05-12 15:33:56 -04:00
Nick Mathewson
e8cc9f3edf
Merge branch 'maint-0.2.7' into maint-0.2.8
2016-05-12 15:33:47 -04:00
Nick Mathewson
4165b1a0da
Merge branch 'bug18977_026_v2' into maint-0.2.7
2016-05-12 15:33:35 -04:00
Nick Mathewson
44cbd00dfa
Fix a compiler warning on windows when sizeof(long)==sizeof(int)
2016-05-12 14:51:38 -04:00
Nick Mathewson
20b01cece8
Merge branch 'bug18977_024_v2' into bug18977_026_v2
...
Had conflicts related to other correct_tm bugs in 0.2.6. Added wday
for another case.
2016-05-12 14:39:06 -04:00
Nick Mathewson
e57f26c135
Have correct_tm set tm_wday as well.
...
The tm_wday field had been left uninitialized, which was causing
some assertions to fail on Windows unit tests.
Fixes bug 18977.
2016-05-12 14:37:27 -04:00
Nick Mathewson
6bc052365a
Use a much less clever scan_signed no-overflow hack
2016-05-12 14:33:26 -04:00
Nick Mathewson
2384256a37
Merge branch 'maint-0.2.8'
2016-05-04 15:12:20 -04:00
Nick Mathewson
b8e8910d60
Merge branch 'bug18686_025' into maint-0.2.8
2016-05-04 15:12:11 -04:00
Nick Mathewson
c7b9e0b8ed
Report success when not terminating an already terminated process.
...
Also, document the actual behavior and return values of
tor_terminate_process.
Fixes bug18686; bugfix on 0.2.3.9-alpha.
2016-05-04 15:10:36 -04:00
Nick Mathewson
7865402106
Move tor_assert implementation into its own header/module.
2016-04-04 11:06:04 -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
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
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
Peter Palfrader
1ef7df551d
First RelaxDirModeCheck implementation
2016-03-01 17:08:14 +01:00
Nick Mathewson
57699de005
Update the copyright year.
2016-02-27 18:48:19 +01:00
Nick Mathewson
d5cbc21ad1
Fix an unused-variable warning
2016-02-27 10:20:15 +01: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
Andrea Shepard
cda2381789
Appease make check-spaces
2016-02-23 05:07:29 +00: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