Nick Mathewson
3c0a63c40f
Fix a memory error in test_shared_random
...
Bug not in any released Tor.
2018-06-29 13:49:02 -04:00
Nick Mathewson
d583459d58
Fix some memory errors in the recent coverity fixes.
...
Found by asan on travis :/
2018-06-29 13:48:36 -04:00
Nick Mathewson
92b4996b23
Merge branch 'maint-0.3.2' into maint-0.3.3
2018-06-29 13:07:13 -04:00
Nick Mathewson
d3ecb3a8d6
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-06-29 13:07:13 -04:00
Nick Mathewson
1f389dadd0
Merge branch 'maint-0.3.4'
2018-06-29 13:07:13 -04:00
Nick Mathewson
6e9d5fc4ec
Merge remote-tracking branch 'ahf-github/maint-0.3.2' into maint-0.3.2
2018-06-29 13:07:07 -04:00
Nick Mathewson
7a47379f25
Merge branch 'maint-0.3.4'
2018-06-29 13:06:16 -04:00
Nick Mathewson
f82f8179e6
Merge branch 'maint-0.3.2' into maint-0.3.3
2018-06-29 13:06:15 -04:00
Nick Mathewson
f6b30a97a9
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-06-29 13:06:15 -04:00
Nick Mathewson
68dfbd5ef4
Merge branch 'maint-0.3.1' into maint-0.3.2
2018-06-29 13:06:15 -04:00
Nick Mathewson
b89a66e997
Merge remote-tracking branch 'ahf-github/maint-0.3.0' into maint-0.3.1
2018-06-29 13:06:11 -04:00
Nick Mathewson
419077c26d
Merge remote-tracking branch 'ahf-github/maint-0.3.1' into maint-0.3.1
2018-06-29 13:06:08 -04:00
Nick Mathewson
1a5be3c5e7
Merge branch 'maint-0.3.4'
2018-06-29 13:03:00 -04:00
Nick Mathewson
5ab23e03fa
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-06-29 13:02:56 -04:00
Nick Mathewson
df896ed632
Merge branch 'maint-0.3.2' into maint-0.3.3
2018-06-29 13:00:56 -04:00
Nick Mathewson
fe2588a5a8
Merge branch 'maint-0.3.1' into maint-0.3.2
2018-06-29 13:00:56 -04:00
Nick Mathewson
1385a5118d
Merge branch 'maint-0.2.9' into maint-0.3.1
2018-06-29 13:00:56 -04:00
Nick Mathewson
6ac64e16ed
Eliminate compat.h
2018-06-29 12:21:52 -04:00
Nick Mathewson
71e56c70e9
Remove windows libraries from util.h and compat.h
2018-06-29 12:21:52 -04:00
Nick Mathewson
31897a256c
Extract socks5_status_t
...
I'm not sure of the best place to put this header long-term, since
both or/*.c and tools/tor-resolve.c use it.
2018-06-29 12:21:52 -04:00
Nick Mathewson
e0957022bd
Extract get_uname to lib/osinfo.
2018-06-29 12:21:52 -04:00
Nick Mathewson
40199b180e
Remove read_all and write_all
...
These had become wrappers around their fd and socket variants; there
were only a few users of the original functions still remaining.
2018-06-29 12:21:52 -04:00
Nick Mathewson
0362cdc169
Move fd and memory-info functions.
2018-06-29 12:21:52 -04:00
Nick Mathewson
935ba02565
Fix paths for buffers.h; automated.
2018-06-28 16:29:35 -04:00
Nick Mathewson
a742a826f6
Remove all include common/ uses in crypto_ops and tls.
2018-06-28 14:40:25 -04:00
Nick Mathewson
57f4b83852
Fix up the include path of compat_time.h (automated)
2018-06-28 13:01:54 -04:00
Nick Mathewson
a097ddb4f5
Extract time functionality into lib/wallclock and lib/time
2018-06-28 13:01:54 -04:00
Nick Mathewson
bdea94a665
Move floating-point math functions into a new lib/math
2018-06-28 12:24:45 -04:00
Nick Mathewson
6178a9f758
Move compute_num_cpus to lib/thread
2018-06-28 12:08:18 -04:00
Nick Mathewson
db1a420c4e
Move tor_gethostname to lib/net
2018-06-28 11:57:01 -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
ec4eee6356
Fix the include paths for storagedir,conffile (automated)
2018-06-28 09:42:33 -04:00
Nick Mathewson
38fd3e0df0
Fix up the modules that include memarea.h (automated)
2018-06-28 09:25:58 -04:00
Nick Mathewson
9cf335c9a5
Extract threading code into a new library.
...
Note that the workqueue code does *not* go here: it is logically at
a higher level, since it needs to use libevent and the networking
stack.
2018-06-28 09:14:42 -04:00
Nick Mathewson
544ab27a94
Extract the alert-socket code into lib/net.
...
This code was in compat_threads, since it was _used_ for efficiently
notifying the main libevent thread from another thread. But in
spite of its usage, it's fundamentally a part of the network code.
2018-06-28 08:49:07 -04:00
Nick Mathewson
696f6f1569
Split confline into confline and conffile.
...
The "conffile" module knows about includes and filesystem access,
whereas confline doesn't. This will make it possible to put these
functions into libraries without introducing a cycle.
2018-06-27 16:59:56 -04:00
Nick Mathewson
235ddb15a0
Move util_format into a new libtor-encoding library
...
libtor-encoding is about various ways to transform data to and from
character sequences.
2018-06-27 16:18:42 -04:00
Nick Mathewson
2113603718
Merge branch 'sandbox_refactor'
2018-06-27 14:45:14 -04:00
Nick Mathewson
b9b05e437d
Merge branch 'net_refactor'
2018-06-27 12:52:31 -04:00
Nick Mathewson
55b7939367
Fix up include paths for sandbox.h (automated)
2018-06-27 10:04:41 -04:00
Nick Mathewson
0742b38725
Revert "Use the "commands" argument of AC_CONFIG_FILES to make scripts +x"
...
This reverts commit 56c1fbf33f
.
2018-06-27 09:53:46 -04:00
Nick Mathewson
d893be190f
rectify include paths (automatic) for address.h
2018-06-27 09:13:04 -04:00
Nick Mathewson
3930416dec
Link GetAdaptersAddresses, rather than loading it on-demand.
...
This function has been present since Windows XP.
2018-06-27 09:12:57 -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
5f41bc91c6
Merge branch 'ticket26439'
2018-06-26 17:02:06 -04:00
Nick Mathewson
ebbb0348dc
Finish renaming digestset_contains to digestset_probably_contains
...
Since bloom filters are probabilistic, it's nice to make it clear
that the "contains" operation can have false positives.
2018-06-26 13:27:50 -04:00
Nick Mathewson
bf89278c79
Refactor bloom filter logic not to be digest-specific.
...
Now the address-set code and the digest-set code share the same
backend.
Closes ticket 26510
2018-06-26 13:27:23 -04:00
Nick Mathewson
92d8284a97
Merge branch 'log_dependencies'
2018-06-26 11:27:33 -04:00
Nick Mathewson
b059c38d8a
Merge branch 'maint-0.3.4'
2018-06-25 13:50:37 -04:00
Nick Mathewson
d85fbc9a58
Add some casts to get test_dir.c compiling on windows.
...
Fixed bug 26479. Bug introduced by 0a6f4627a4292e4; bug not in any
released version.
2018-06-24 14:06:39 -04:00
Nick Mathewson
3cc0a145bd
Fix test_geoip failures on windows by writing file in binary mode.
...
Fixes bug 26480; bug appeared when we re-enabled the geoip tests on
windows. Bug originally introduced by our fix to 25787; bug not in
any released Tor.
2018-06-24 14:06:05 -04:00
Alexander Færøy
8ec6b36dca
Fix memory leak in test_sr_setup_commits().
...
This patch fixes a memory leak in test_sr_setup_commits() where the
place_holder is allocated, but never freed again.
See: Coverity CID 1437440.
2018-06-23 13:11:03 +02:00
Alexander Færøy
a2e623f631
Fix memory leak in helper_add_hsdir_to_networkstatus().
...
This patch fixes a memory leak in helper_add_hsdir_to_networkstatus()
where the rs object might not get properly freed.
See: Coverity CID 1437427.
2018-06-23 13:07:56 +02:00
Alexander Færøy
8e805bf0f6
Fix memory leak in new_establish_intro_cell().
...
This patch fixes a memory leak in new_establish_intro_cell() that could
happen if a test assertion fails and the *cell_out value isn't properly
free'd.
See: Coverity CID 1437445
2018-06-23 13:07:56 +02:00
Alexander Færøy
8550016e6f
Fix memory leak in test_channelpadding_consensus().
...
The relay variable is always allocated, but might not be freed before we
return from this function.
See: Coverity CID 1437431
2018-06-23 12:52:04 +02:00
Alexander Færøy
c997d49ad6
Fix memory link in test_link_specifier().
...
This patch fixes a memory leak in test_link_specifier() where ls might
not get freed in case one of the test macros fails.
See: Coverity CID 1437434.
2018-06-23 12:39:20 +02:00
Alexander Færøy
dc2384da30
Fix potential memory leak in hs_helper_build_hs_desc_impl().
...
This patch fixes a memory leak in hs_helper_build_hs_desc_impl() where
if a test assertion would fail we would leak the storage that `desc`
points to.
See: Coverity CID 1437448
2018-06-23 10:27:10 +02:00
Alexander Færøy
1724f995c7
Fix potential memory leak in test_hs_auth_cookies().
...
This patch fixes a potential memory leak in test_hs_auth_cookies() if a
test-case fails and we goto the done label where no memory clean up is
done.
See: Coverity CID 1437453
2018-06-23 03:17:09 +02:00
Alexander Færøy
8c8941eb29
Fix potential memory leak in hs_helper_build_intro_point().
...
This patch fixes a potential memory leak in
hs_helper_build_intro_point() where a `goto done` is called before the
`intro_point` variable have been assigned to the value of the `ip`
variable.
See: Coverity CID 1437460
See: Coverity CID 1437456
2018-06-23 02:29:54 +02: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
da4ae8a6b6
Automated fixup of include paths after torlog.h movement.
2018-06-22 10:32:10 -04:00
Nick Mathewson
c2a558a346
Expunge container.h
2018-06-22 09:49:13 -04:00
Nick Mathewson
50a5954003
Remove bloom filters, order statistics, and bitarrays from container.h
2018-06-22 09:49:13 -04:00
Nick Mathewson
b8be8265b6
Rectify include paths after container split (automatic)
2018-06-22 09:49:13 -04:00
Taylor Yu
d935aceb2b
Use correct CARGO_HOME in test_rust.sh
...
Out-of-tree builds could fail to run the rust tests if built in
offline mode. cargo expects CARGO_HOME to point to the .cargo
directory, not the directory containing .cargo.
Fixes bug 26455; bug not in any released tor.
2018-06-21 18:20:03 -05:00
Nick Mathewson
e066966bf4
Extract tor_malloc and friends to a new module.
2018-06-21 15:20:01 -04:00
Nick Mathewson
56c1fbf33f
Use the "commands" argument of AC_CONFIG_FILES to make scripts +x
...
Closes ticket 26439.
2018-06-21 14:26:47 -04:00
Nick Mathewson
3305ae5044
Rectify include paths (automated).
...
You have no idea how glad I am that this is automated.
2018-06-21 13:20:07 -04:00
Nick Mathewson
accf239fa3
Rectify include paths (automated)
2018-06-21 13:19:00 -04:00
Nick Mathewson
d2f4a716e8
Remove unused pubsub module.
2018-06-21 13:14:14 -04:00
Nick Mathewson
b420da4cf8
Rectify include paths (automated)
2018-06-21 13:14:14 -04:00
Nick Mathewson
275aff6917
Rectify include paths (automated)
2018-06-21 10:47:11 -04:00
Nick Mathewson
b2346b1201
Refactor makefiles to keep list of internal libraries in one place.
...
This change makes it possible for us to change the list of libraries
more easily, without changing every single linker line.
2018-06-21 10:35:30 -04:00
Nick Mathewson
2ad062ee60
Merge branch 'mikeperry_bug26214-rebased_squashed'
2018-06-21 09:20:03 -04:00
Mike Perry
46b06cd699
Bug 26214: Test updates.
2018-06-21 09:18:51 -04:00
Nick Mathewson
c42071f750
Merge branch 'maint-0.3.4'
2018-06-21 08:59:58 -04:00
Nick Mathewson
e845bd17f8
Merge branch 'bug25787_squashed' into maint-0.3.4
2018-06-21 08:56:27 -04:00
Nick Mathewson
cacf326e78
Revise geoip tests to not require paths of actual geoip config
...
When I wrote the first one of these, it needed the path of the geoip
file. But that doesn't translate well in at least two cases:
- Mingw, where the compile-time path is /c/foo/bar and the
run-time path is c:\foo\bar.
- Various CI weirdnesses, where we cross-compile a test binary,
then copy it into limbo and expect it to work.
Together, these problems precluded these tests running on windows.
So, instead let's just generate some minimal files ourselves, and
test against them.
Fixes bug 25787
2018-06-21 08:56:20 -04:00
Nick Mathewson
27e456cd72
Merge remote-tracking branch 'rl1987/ticket19979_2'
2018-06-21 08:53:48 -04:00
Nick Mathewson
72a5ae8c66
Merge branch 'maint-0.3.4'
2018-06-21 08:38:21 -04:00
Nick Mathewson
d110f9c9a6
Add a leak suppression for backtrace_alloc
...
This appears to be an internal rust thing: I don't know why it's
leaking. We should investigate further.
2018-06-20 18:02:49 -04:00
Nick Mathewson
e99ecf9399
Merge branch 'rust_build_script_v3' into additional_rust_test_fixes
2018-06-20 17:07:47 -04:00
Nick Mathewson
398f15bdf1
Merge branch 'maint-0.3.4'
2018-06-20 16:37:39 -04:00
Isis Lovecruft
7589fd6d40
rust: Remove --all-features flag from cargo test
call in test_rust.sh.
...
We'd like to feature gate code that calls C from Rust, as a workaround
to several linker issues when running `cargo test` (#25386 ), and we
can't feature gate anything out of test code if `cargo test` is called
with `--all-features`.
* FIXES #26400 : https://bugs.torproject.org/26400
2018-06-20 16:37:33 -04:00
Nick Mathewson
5ecd1fec15
Move horrible-emergency handling into torerr.[ch]
...
Previously we had code like this for bad things happening from
signal handlers, but it makes sense to use the same logic to handle
cases when something is happening at a level too low for log.c to be
involved.
My raw_assert*() stuff now uses this code.
2018-06-20 15:08:06 -04:00
Nick Mathewson
9fa73003fc
Remove dmalloc support; closes #26426
...
Dmalloc hasn't seen a release in over a decade, and there are much
better tools to use these days.
2018-06-20 10:21:34 -04:00
Nick Mathewson
0dab29ce10
Run rectify_include_paths.py
2018-06-20 09:35:05 -04:00
Nick Mathewson
257b280776
Simplify AM_CPPFLAGS include setup
...
We had accumulated a bunch of cruft here. Now let's only include
src and src/ext. (exception: src/trunnel is autogenerated code, and
need to include src/trunnel.)
This commit will break the build hard. The next commit will fix it.
2018-06-20 09:27:04 -04:00
Nick Mathewson
e9c93a3415
Merge branch 'maint-0.3.4'
2018-06-20 08:29:52 -04:00
Nick Mathewson
0a6f4627a4
eol@eof in test-dir.c
2018-06-20 08:29:38 -04:00
Nick Mathewson
fb0019daf9
Update copyrights to 2018.
2018-06-20 08:13:28 -04:00
Nick Mathewson
5acbcf150e
Merge branch 'maint-0.3.4'
2018-06-20 07:53:22 -04:00
rl1987
9054ccb36b
Enable DEBUG_SMARTLIST in unit tests
2018-06-20 07:49:41 -04:00
rl1987
7bb3777dfb
Refrain from accessing empty smartlist in test_bridges_clear_bridge_list
...
Just check that smartlist length is zero instead
2018-06-20 07:49:41 -04:00
rl1987
5af29fbb63
When possible, use RFC5869 HKDF implementation from OpenSSL
...
Also, stop supporting empty HKDF input key material
2018-06-19 19:26:31 +03:00
Nick Mathewson
bd9ebb3763
Use a rust build script to set linker options correctly for tests.
...
We need this trick because some of our Rust tests depend on our C
code, which in turn depend on other native libraries, which thereby
pulls a whole mess of our build system into "cargo test".
To solve this, we add a build script (build.rs) to set most of the
options that we want based on the contents of config.rust. Some
options can't be set, and need to go to the linker directly: we use
a linker replacement (link_rust.sh) for these. Both config.rust and
link_rust.sh are generated by autoconf for us.
This patch on its own should enough to make the crypto test build,
but not necessarily enough to make it pass.
2018-06-19 12:01:13 -04:00