Nick Mathewson
6178a9f758
Move compute_num_cpus to lib/thread
2018-06-28 12:08:18 -04:00
Nick Mathewson
8c6ff9fec2
Move tor_escape_str_for_pt_args into or/transports.c
2018-06-28 11:49:27 -04:00
Nick Mathewson
30166261bb
Move string_is_key_value to lib/encoding
2018-06-28 11:46:32 -04:00
Nick Mathewson
48ebd9bf76
Move weakrng into lib/intmath
2018-06-28 11:39:49 -04:00
Nick Mathewson
315e6b59dd
Extract process-management functionality into a new lib/process
...
Note that procmon does *not* go here, since procmon needs to
integrate with the event loop.
2018-06-28 11:18:13 -04:00
Nick Mathewson
38fd3e0df0
Fix up the modules that include memarea.h (automated)
2018-06-28 09:25:58 -04:00
Nick Mathewson
42b3caa6ad
Move network code to libtor-net.
...
There are some additional changes to come: those points are marked
by XXXX.
2018-06-27 09:08:35 -04:00
Nick Mathewson
80730c45e0
Move tor_parse_long and friends into parse_int.h in libtor-string
2018-06-26 21:02:29 -04:00
Nick Mathewson
79f73ab330
Finally extract the log library and make it build.
...
This patch:
- introduces an fdio module for low-level fd functions that don't
need to log.
- moves the responsibility for opening files outside of torlog.c,
so it won't need to call tor_open_cloexec.
2018-06-22 11:40:20 -04:00
Nick Mathewson
e066966bf4
Extract tor_malloc and friends to a new module.
2018-06-21 15:20:01 -04:00
Nick Mathewson
accf239fa3
Rectify include paths (automated)
2018-06-21 13:19:00 -04:00
Nick Mathewson
b420da4cf8
Rectify include paths (automated)
2018-06-21 13:14:14 -04:00
Nick Mathewson
0dab29ce10
Run rectify_include_paths.py
2018-06-20 09:35:05 -04:00
Nick Mathewson
fb0019daf9
Update copyrights to 2018.
2018-06-20 08:13:28 -04:00
Nick Mathewson
c3b7258370
Merge remote-tracking branch 'isis/bug24660_r1'
2018-05-03 13:50:18 -04:00
Nick Mathewson
9abf541f7f
Add a function to compute millisecond time difference quickly.
...
Our main function, though accurate on all platforms, can be very
slow on 32-bit hosts. This one is faster on all 32-bit hosts, and
accurate everywhere except apple, where it will typically be off by
1%. But since 32-bit apple is a relic anyway, I think we should be
fine.
2018-04-26 12:01:48 -04:00
Mike Perry
0e06a9c3e7
Helper function to add u32 without overflow.
2018-04-16 21:46:31 +00:00
Nick Mathewson
4b58b97c68
32-bit compilation warnings
2018-04-13 17:01:03 -04:00
Nick Mathewson
d8ef9a2d1e
Expose a function that computes stamp units from msec.
...
(It turns out we can't just expose STAMP_TICKS_PER_SECOND, since
Apple doesn't have that.)
2018-04-13 10:41:08 -04:00
Isis Lovecruft
fe3aca1491
crypto: Refactor (P)RNG functionality into new crypto_rand module.
...
* ADD new /src/common/crypto_rand.[ch] module.
* ADD new /src/common/crypto_util.[ch] module (contains the memwipe()
function, since all crypto_* modules need this).
* FIXES part of #24658 : https://bugs.torproject.org/24658
2018-04-06 21:45:28 +00:00
Nick Mathewson
6317aa2cc0
Merge branch 'maint-0.3.3'
2018-03-28 07:50:47 -04:00
Nick Mathewson
b504c854d3
Rename string_is_valid_hostname -> string_is_valid_nonrfc_hostname
...
Per discussion on 25055.
2018-03-28 07:42:27 -04:00
rl1987
6b6d003f43
Don't explode on NULL or empty string
2018-03-28 07:39:03 -04:00
rl1987
d891010fdd
Allow alphanumeric TLDs in test for now
2018-03-28 07:39:03 -04:00
rl1987
dbb7c8e6fd
Validate hostnames with punycode TLDs correctly
2018-03-28 07:39:03 -04:00
rl1987
db850fec3a
Test TLD validation
2018-03-28 07:39:03 -04:00
rl1987
1af016e96e
Do not consider IP strings valid DNS names. Fixes #25055
2018-03-28 07:39:03 -04:00
Nick Mathewson
a1dd8afc16
Merge branch '25162_zstd_static'
2018-02-15 20:28:07 -05:00
Nick Mathewson
78382d557a
Merge remote-tracking branch 'dgoulet/bug25113_029_01'
2018-02-07 11:33:14 -05:00
David Goulet
fe3dfe7e38
test: Bump to 10 msec gap in the monotonic test
...
On slow system, 1 msec between one read and the other was too tight. For
instance, it failed on armel with a 4msec gap:
https://buildd.debian.org/status/package.php?p=tor&suite=experimental
Increase to 10 msec for now to address slow system. It is important that we
keep this OP_LE test in so we make sure the msec/usec/nsec read aren't
desynchronized by huge gaps. We'll adjust again if we ever encounter a system
that goes slower than 10 msec between calls.
Fixes #25113
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-02-07 10:50:52 -05:00
Deepesh Pathak
ca6682f3f8
Fix spelling mistakes corresponding to ticket #23650
2018-02-07 10:41:57 -05:00
Nick Mathewson
7cb954209d
Make zstd unit tests try running with static-only fns disabled
...
Since we're making it so that unstable zstd apis can be disabled,
we need to test them. I do this by adding a variant setup/cleanup
function for the tests, and teaching it about a fake compression
method called "x-zstd:nostatic".
2018-02-06 11:05:07 -05:00
Nick Mathewson
28fbfa8712
whitespace fix
2017-12-20 09:17:13 -05:00
Nick Mathewson
60bf8f6cf6
Improve add_msec test to cover ms->sec rollover
...
Per mikeperry's suggestion, I'm making sure that the millisecond
part of the time will always roll over in this test.
2017-12-20 09:12:38 -05:00
Nick Mathewson
dd6dec2665
Add a function to add msec to a monotime.
...
We'll use this for the channel padding logic.
2017-12-13 08:54:29 -05:00
Nick Mathewson
4c877ae874
Add monotime functions for clearing monotonic times
...
We need this to replace some of our "msec" users with monotime
users.
2017-12-13 08:29:23 -05:00
Nick Mathewson
c3c0a05f51
Add a new notion of "stamps" to be a fast 32-bit monotonic timestamp
...
The goal here is to replace our use of msec-based timestamps with
something less precise, but easier to calculate. We're doing this
because calculating lots of msec-based timestamps requires lots of
64/32 division operations, which can be inefficient on 32-bit
platforms.
We make sure that these stamps can be calculated using only the
coarse monotonic timer and 32-bit bitwise operations.
2017-11-27 09:43:15 -05:00
Nick Mathewson
4e6374c26b
Merge remote-tracking branch 'catalyst-oniongit/bug23691'
2017-09-28 19:07:23 -04:00
Taylor Yu
2ae1b7e2db
Fix leak in test_util.c
...
AddressSanitizer found a leak in test_util_decompress_dos_impl().
Fixes bug #23691 .
2017-09-28 17:53:38 -05:00
Alexander Færøy
c2fac2c6b0
Enable disabled test that was disabled due to bug #23551
...
See: https://bugs.torproject.org/23551
2017-09-28 18:58:15 +02:00
Nick Mathewson
3a073c463d
Improve unit test coverage for compression code.
...
These tests try uncompressing garbage, verify that we won't
make compression bombs, and verify that we won't uncompress
compression bombs.
2017-09-28 12:20:02 -04:00
Nick Mathewson
230a336798
Use setup_full_capture_of_logs for 21800
...
setup_capture_of_logs() doesn't actually suppress warnings :p
2017-09-22 10:22:47 -04:00
Nick Mathewson
512c57cff9
test_util: capture the log in the correct place.
2017-09-22 08:51:03 -04:00
Nick Mathewson
33d44dc4ac
Capture "Result does not fit in tor_timegm()" warnings in util tests
...
Fixes bug 21800; bugfix on 0.2.9.x
2017-09-21 15:32:16 -04:00
Nick Mathewson
76c33f7ff4
Merge branch 'scan-build-032'
2017-09-15 16:40:11 -04:00
Nick Mathewson
c1deabd3b0
Run our #else/#endif annotator on our source code.
2017-09-15 16:24:44 -04:00
Nick Mathewson
f2f729e26b
Clear up dead-assignment warnings from scan-build
2017-09-12 21:32:34 -04:00
Nick Mathewson
3092c8bb3e
Merge branch 'maint-0.3.1'
2017-09-12 17:09:47 -04:00
Nick Mathewson
eb078a3bd5
Merge branch 'maint-0.3.0' into maint-0.3.1
2017-09-12 17:09:47 -04:00
Nick Mathewson
dedafe95fe
Merge branch 'maint-0.2.9' into maint-0.3.0
2017-09-12 17:09:47 -04:00