Nick Mathewson
26e0909e51
In the hsdescv3 fuzzer, replace the decryption function.
...
The new decryption function performs no decryption, skips the salt,
and doesn't check the mac. This allows us to fuzz the
hs_descriptor.c code using unencrypted descriptor test, and exercise
more of the code.
Related to 21509.
2017-10-27 14:28:02 -04:00
David Goulet
c4ef21ff5e
fuzzing: Make hsdescv3 use the decoding API correctly
...
Fixes #21509
Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-10-26 09:52:15 -04:00
David Goulet
4d2de821ce
Revert "Temporarily disable compilation of the v3 hs fuzzing code"
...
This reverts commit 5ef656e7d1
.
2017-10-26 09:41:47 -04:00
Nick Mathewson
72b5e4a2db
Move tor_git_revision into a new module.
...
At first, we put the tor_git_revision constant in tor_main.c, so
that we wouldn't have to recompile config.o every time the git
revision changed. But putting it there had unintended side effect
of forcing every program that wanted to link libor.a (including
test, test-slow, the fuzzers, the benchmarks, etc) to declare their
own tor_git_revision instance.
That's not very nice, especially since we want to start supporting
others who want to link against Tor (see 23846).
So, create a new git_revision.c file that only contains this
constant, and remove the duplicated boilerplate from everywhere
else.
Part of implementing ticket 23845.
2017-10-18 13:49:35 -04:00
Nick Mathewson
4ce60dab00
Resolve inconsistencies between buf refactor and HTTP connect
2017-09-05 14:41:35 -04:00
Nick Mathewson
73b0e2e6fd
Merge branch 'http_tunnel_squashed'
2017-09-05 14:34:29 -04:00
Nick Mathewson
ad9190404b
Add a fuzzer for HTTP CONNECT
2017-09-05 14:34:09 -04:00
Nick Mathewson
5ef656e7d1
Temporarily disable compilation of the v3 hs fuzzing code
...
Turns out, it wasn't up-to-date with the latest v3 hs API :(
2017-08-28 14:12:56 -04:00
Nick Mathewson
f53d405084
Fix compilation.
2017-08-28 14:00:00 -04:00
Nick Mathewson
18bc7fa70b
Merge remote-tracking branch 'haxxpop/fuzzing-hsv3'
2017-08-28 13:46:24 -04:00
Ties Stuij
2e99f839e9
22839: Build tor with rust enabled on win
...
- make tor_util static library name configurable
- fix Rust libary dependency order for Windows
2017-08-21 15:08:24 -04:00
Suphanat Chunhapanya
97347b1109
Fuzz outer layer of hsv3 descriptor
...
The code in fuzz_hsdescv3.c fuzzes the unencrypted layer of the hsv3
descriptor. We need to fuzz the encrypted layer later.
2017-08-13 17:50:51 +07:00
Nick Mathewson
1721487bea
Remove hardwired libfuzzer path; closes 22105.
2017-06-19 15:35:46 -04:00
Nick Mathewson
69ef94820b
Merge branch 'add_rust_squashed'
2017-05-19 08:47:18 -04:00
Nick Mathewson
5acddbbbf7
bug#22143/prop#140: identify input diffs by their digest-as-signed
...
See may 3 changes to prop140 for more background.
2017-05-03 13:09:08 -04:00
Sebastian Hahn
915fa39d0f
Add --enable-rust configure switch
...
Introduce a way to optionally enable Rust integration for our builds. No
actual Rust code is added yet and specifying the flag has no effect
other than failing the build if rustc and cargo are unavailable.
2017-04-29 08:55:57 +02:00
Alexander Færøy
22e6ad6f26
Clean up mentions of 'zlib' and rename the mentions to 'compressed'.
...
This patch cleans up in various places where 'zlib' is mentioned.
2017-04-27 15:51:14 +02:00
Nick Mathewson
4266ec766a
Use atomic counters for compressor allocation.
2017-04-25 10:29:07 -04:00
Alexander Færøy
ce1feae9d9
Add --enable-zstd to our configure script.
...
This patch adds support for enabling support for Zstandard to our configure
script. By default, the --enable-zstd option is set to "auto" which means if
libzstd is available we'll build Tor with Zstandard support.
See: https://bugs.torproject.org/21662
2017-04-25 08:10:09 -04:00
Alexander Færøy
157af1d26e
Add --enable-lzma to our configure script.
...
This patch adds support for enabling support for LZMA to our configure
script. By default, the --enable-lzma option is set to "auto" which
means if liblzma is available we'll build Tor with LZMA support.
See: https://bugs.torproject.org/21662
2017-04-25 08:06:02 -04:00
Nick Mathewson
6657fe1e54
Generate src/test/fuzz/include.am from a script
...
It was very error-prone to maintain this by hand.
2017-03-16 17:14:10 -04:00
Nick Mathewson
4a4f1e44af
Merge branch 'prop140_21643_diff_only_squashed'
2017-03-16 14:58:43 -04:00
Nick Mathewson
dd92579b63
Add fuzzers for consensus diff backend code
...
This takes two fuzzers: one which generates a diff and makes sure it
works, and one which applies a diff.
So far, they won't crash, but there's a bug in my
string-manipulation code someplace that I'm having to work around,
related to the case where you have a blank line at the end of a
file, or where you diff a file with itself.
2017-03-16 14:42:55 -04:00
Nick Mathewson
7505f452c8
Run the copyright update script.
2017-03-15 16:13:17 -04:00
Nick Mathewson
491348cb8c
Rename make fuzz to make test-fuzz-corpora
2017-02-14 18:04:10 -05:00
Nick Mathewson
77788fa537
Fix a memory-leak in fuzz_vrs.c
2017-02-01 10:57:01 -05:00
Nick Mathewson
088cc3604b
Don't use %zu in fuzz-http: windows doesn't like it.
2017-01-30 09:09:42 -05:00
Nick Mathewson
d71fc47438
Update documentation and testing integration for fuzzing
2017-01-30 08:37:27 -05:00
Nick Mathewson
2202ad7ab0
Fix a pair of compilation errors.
2017-01-30 08:37:27 -05:00
Nick Mathewson
1d8e9e8c69
Fix memory leak on zero-length input on fuzz_http.c
2017-01-30 08:37:27 -05:00
Nick Mathewson
34fd636870
memory leak in fuzz_vrs
2017-01-30 08:37:26 -05:00
Nick Mathewson
09d01466b2
actually build .as for fuzzing
2017-01-30 08:37:26 -05:00
Nick Mathewson
1c7862bfb4
missing backslash
2017-01-30 08:37:26 -05:00
Nick Mathewson
f547352637
differently build oss fuzzers
2017-01-30 08:37:26 -05:00
Nick Mathewson
cf71f8ad32
More oss-fuzz fixes
2017-01-30 08:37:25 -05:00
Nick Mathewson
92679d90d5
Try to refactor OSS fuzzers into static libraries.
2017-01-30 08:37:25 -05:00
Nick Mathewson
1b244a64e4
libfuzzer tweaks per recommendations
2017-01-30 08:37:25 -05:00
Nick Mathewson
024fa9d4d7
routerstatus fuzzing
2017-01-30 08:37:25 -05:00
Nick Mathewson
eb414a08a9
Add libfuzzer support.
2017-01-30 08:37:25 -05:00
Nick Mathewson
b1567cf500
Three more fuzzers: consensus, hsdesc, intro points
2017-01-30 08:37:24 -05:00
Nick Mathewson
83e9918107
Tools for working with directories of fuzzed stuff.
2017-01-30 08:37:24 -05:00
Nick Mathewson
301eff0e90
fuzzing: Add copyright notices and whitespace fixes
2017-01-30 08:37:24 -05:00
Nick Mathewson
4afb155db2
Add microdesc format fuzzer.
2017-01-30 08:37:24 -05:00
Nick Mathewson
3c74855934
Addition to test cases: make sure fuzzer binaries allow known cases
...
This isn't fuzzing per se, so much as replaying the highlights of
past fuzzer runs.
2017-01-30 08:37:24 -05:00
Nick Mathewson
81e44c2257
Add extrainfo fuzzer
2017-01-30 08:37:24 -05:00
Nick Mathewson
44fa14c0e2
Try to tweak fuzzing.md to correspond to my changes
2017-01-30 08:37:24 -05:00
teor
416e2f6b28
Guide fuzzing by adding standard tor GET and POST testcases
2017-01-30 08:37:23 -05:00
Nick Mathewson
56b61d1831
Add more tweaks from teor's http fuzzing code.
...
Move option-manipulation code to fuzzing_common.
2017-01-30 08:37:23 -05:00
Nick Mathewson
949e9827d6
Add a descriptor fuzzing dictionary.
2017-01-30 08:37:23 -05:00
Nick Mathewson
ca657074b9
Fuzzing: initialize siphash key, don't init_logging twice.
2017-01-30 08:37:23 -05:00
Nick Mathewson
0666928c5c
Replace signature-checking and digest-checking while fuzzing
2017-01-30 08:37:22 -05:00
Nick Mathewson
60769e710f
Port fuzz_http to use fuzzing_common.
...
Move common logic from fuzz_http to fuzzing_common.
2016-12-19 15:34:56 -05:00
teor
a967d568dc
Add a fuzzer for the http used in our directory protocol
...
(Teor wrote the code, nick extracted it. It won't compile yet.)
2016-12-19 15:34:56 -05:00
Nick Mathewson
b96c70d668
Fuzzing: Add an initial fuzzing tool, for descriptors.
...
This will need some refactoring and mocking.
2016-12-19 15:34:55 -05:00