tor/src/test
Nick Mathewson 845e8dbe59 Fuzzing module for various string operations, currently focusing on
encoding and decoding.

There are bunches of places where we don't want to invest in a full
fuzzer, but we would like to make sure that some string operation
can handle all its possible inputs.  This fuzzer uses the first byte
of its input to decide what to do with the rest of the input.  Right
now, all the possibilities are decoding a string, and seeing whether
it is decodeable.  If it is, we try to re-encode it and do the whole
thing again, to make sure we get the same result.

This turned up a lot of bugs in the key-value parser, and I think it
will help in other cases too.

Closes ticket 28808.
2018-12-12 11:07:08 -05:00
..
fuzz Fuzzing module for various string operations, currently focusing on 2018-12-12 11:07:08 -05:00
bench.c Use subsystems manager for subsystems used in tests. 2018-11-05 09:22:02 -05:00
bt_test.py Merge branch 'maint-0.3.4' into maint-0.3.5 2018-10-31 11:02:58 -04:00
ed25519_exts_ref.py Update copyrights to 2018. 2018-06-20 08:13:28 -04:00
ed25519_vectors.inc Don't double hash the ed25519 blind key parameter. 2017-08-08 20:29:34 -04:00
example_extrainfo.inc Add -Wmissing-variable-declarations, with attendant fixes 2016-06-11 10:11:54 -04:00
failing_routerdescs.inc Sign extrainfo documents with ed25519 2015-05-28 10:42:22 -04:00
fakechans.h Update copyrights to 2018. 2018-06-20 08:13:28 -04:00
fuzz_static_testcases.sh Update copyrights to 2018. 2018-06-20 08:13:28 -04:00
hs_build_address.py prop224 client-side: Start validating onion address pubkeys. 2017-09-14 09:13:11 -04:00
hs_indexes.py test: Unit test for the hs indexes 2017-09-15 12:46:26 +03:00
hs_ntor_ref.py Merge branch 'maint-0.3.4' 2018-07-03 09:48:03 -04:00
hs_test_helpers.c test: Fix coverity CID 1439129 2018-09-10 10:28:35 -04:00
hs_test_helpers.h Fix every include path changed in the previous commit (automated) 2018-07-05 17:15:50 -04:00
include.am Add a framework for testing set_routerstatus_from_routerinfo(). 2018-12-03 13:22:23 -05:00
log_test_helpers.c Merge branch 'maint-0.2.9' into maint-0.3.3 2018-11-15 16:54:16 -05:00
log_test_helpers.h Merge branch 'maint-0.3.3' into maint-0.3.4 2018-11-15 16:54:56 -05:00
Makefile.nmake Add tests for circuitstats.c 2017-12-07 00:04:39 +00:00
ntor_ref.py Merge branch 'maint-0.2.9' into maint-0.3.2 2018-07-03 09:48:03 -04:00
ope_ref.py Implementation for a simple order-preserving encryption scheme. 2018-07-17 15:57:46 -04:00
rend_test_helpers.c Fix every include path changed in the previous commit (automated) 2018-07-05 17:15:50 -04:00
rend_test_helpers.h Fix every include path changed in the previous commit (automated) 2018-07-05 17:15:50 -04:00
rust_supp.txt Add a leak suppression for backtrace_alloc 2018-06-20 18:02:49 -04:00
slow_ed25519.py Add a reference implementation of our ed25519 modifications 2014-09-25 15:08:32 -04:00
slownacl_curve25519.py Make the python test scripts work on python3 2014-04-27 22:54:24 -04:00
sr_commit_calc_ref.py test: Fix shared random unit test for big endian 2016-08-26 14:46:29 -04:00
sr_srv_calc_ref.py prop250: Add unit tests 2016-07-01 14:01:41 -04:00
test-child.c Update copyrights to 2018. 2018-06-20 08:13:28 -04:00
test-memwipe.c Rename util_malloc to malloc. 2018-07-10 15:16:57 -04:00
test-network.sh Fix everything that previously referred to src/or 2018-07-05 17:15:50 -04:00
test-timers.c Use NSS in crypto_rand.c 2018-07-31 19:46:00 -04:00
test.c Merge branch 'prop293_squashed' 2018-12-05 09:24:51 -05:00
test.h Add a framework for testing set_routerstatus_from_routerinfo(). 2018-12-03 13:22:23 -05:00
test_accounting.c Fix every include path changed in the previous commit (automated) 2018-07-05 17:15:50 -04:00
test_addr.c Add tests for tor_addr_parse, separate from tor_addr_port_parse. 2018-08-31 18:57:42 +03:00
test_address.c Update address tests to avoid offending coverity. 2018-11-02 13:29:24 -04:00
test_address_set.c Fix every include path changed in the previous commit (automated) 2018-07-05 17:15:50 -04:00
test_bridges.c Add a test case with a matching ip but mismatched identity. 2018-09-13 16:38:33 -04:00
test_bt.sh Try putting ulimit -c 0 in test_bt.sh to see if it fixes bug 26787 2018-07-18 16:33:48 -04:00
test_bt_cl.c Rename torlog.[ch] to log.[ch] 2018-07-10 15:20:30 -04:00
test_buffers.c Move buffers.c out of lib/containers to resolve a circularity. 2018-11-14 16:07:03 -05:00
test_bwmgt.c Merge branch 'maint-0.3.4' 2018-08-06 10:39:59 -04:00
test_cell_formats.c Move the non-crypto parts of onion.c out of src/core/crypto 2018-09-21 09:14:05 -04:00
test_cell_queue.c Fix every include path changed in the previous commit (automated) 2018-07-05 17:15:50 -04:00
test_channel.c Fix every include path changed in the previous commit (automated) 2018-07-05 17:15:50 -04:00
test_channelpadding.c Move buffers.c out of lib/containers to resolve a circularity. 2018-11-14 16:07:03 -05:00
test_channeltls.c Move buffers.c out of lib/containers to resolve a circularity. 2018-11-14 16:07:03 -05:00
test_checkdir.c Fix every include path changed in the previous commit (automated) 2018-07-05 17:15:50 -04:00
test_circuitbuild.c In count_acceptable_nodes(), count direct and indirect nodes with node_has_preferred_descriptor() 2018-11-05 08:26:02 -05:00
test_circuitlist.c Fix every include path changed in the previous commit (automated) 2018-07-05 17:15:50 -04:00
test_circuitmux.c Merge branch 'maint-0.3.4' 2018-09-20 10:43:08 -04:00
test_circuitstats.c Fix every include path changed in the previous commit (automated) 2018-07-05 17:15:50 -04:00
test_circuituse.c Fix every include path changed in the previous commit (automated) 2018-07-05 17:15:50 -04:00
test_compat_libevent.c Make the NET_PARTICIPANT role dependent on user activity 2018-11-15 11:17:22 -05:00
test_config.c Add code to parse K=V lines into config_line_t format. 2018-12-12 11:07:08 -05:00
test_connection.c Split directory.c code into several modules 2018-09-21 12:57:22 -04:00
test_connection.h Update copyrights to 2018. 2018-06-20 08:13:28 -04:00
test_conscache.c Fix every include path changed in the previous commit (automated) 2018-07-05 17:15:50 -04:00
test_consdiff.c Consdiff: use lengths on inputs so they don't need NUL at the end 2018-09-11 11:16:50 -04:00
test_consdiffmgr.c Merge branch 'networkstatus_mmap' into networkstatus_mmap_merge 2018-10-31 09:04:12 -04:00
test_containers.c Fix every include path changed in the previous commit (automated) 2018-07-05 17:15:50 -04:00
test_controller.c Split routerlist.c into 4 separate modules 2018-09-19 17:08:57 -04:00
test_controller_events.c Defer reporting directory bootstrap progress 2018-09-10 15:20:50 -05:00
test_crypto.c Try to fix new coverity warnings in unit tests. 2018-09-05 08:30:35 -04:00
test_crypto_ope.c Fix issues with crypto_ope compilation now that crypto.h is gone 2018-07-31 19:56:42 -04:00
test_crypto_openssl.c Rename util_malloc to malloc. 2018-07-10 15:16:57 -04:00
test_crypto_slow.c When enabling NSS, disable OpenSSL. 2018-08-21 12:25:33 -04:00
test_data.c Run rectify_include_paths.py 2018-06-20 09:35:05 -04:00
test_descriptors.inc Move test_descriptors.txt to an include file 2014-07-16 22:37:00 +02:00
test_dir.c Add tests for parsing each routerstatus flag. 2018-12-03 13:40:08 -05:00
test_dir_common.c Merge branch 'networkstatus_mmap' into networkstatus_mmap_merge 2018-10-31 09:04:12 -04:00
test_dir_common.h Remove routerparse include from files that dont use it 2018-10-01 11:35:11 -05:00
test_dir_handle_get.c Merge branch 'networkstatus_mmap' into networkstatus_mmap_merge 2018-10-31 09:04:12 -04:00
test_dns.c Exclude test and a supporting function when evdns_base_get_nameserver_addr() is not available 2018-10-20 20:34:08 +03:00
test_dos.c Split geoip from geoip-related stats. 2018-09-27 09:36:52 -04:00
test_entryconn.c Fix every include path changed in the previous commit (automated) 2018-07-05 17:15:50 -04:00
test_entrynodes.c Merge remote-tracking branch 'tor-github/pr/536' 2018-12-01 11:24:02 -05:00
test_extorport.c Move buffers.c out of lib/containers to resolve a circularity. 2018-11-14 16:07:03 -05:00
test_geoip.c Extract the non-stats part of geoip into a new src/lib/geoip. 2018-09-27 10:26:01 -04:00
test_guardfraction.c extract networkstatus parsing to its own file. 2018-10-01 10:46:00 -05:00
test_handles.c Remove util.h 2018-07-05 15:04:18 -04:00
test_helpers.c Move buffers.c out of lib/containers to resolve a circularity. 2018-11-14 16:07:03 -05:00
test_helpers.h Add unittest for HiddenServiceExportCircuitID. 2018-09-15 16:52:32 +03:00
test_hs.c hs: Render obsolete Tor2web 2018-08-28 16:01:57 -04:00
test_hs_cache.c Split directory.c code into several modules 2018-09-21 12:57:22 -04:00
test_hs_cell.c Merge branch 'maint-0.3.3' into maint-0.3.4 2018-07-30 09:01:59 -04:00
test_hs_client.c test: Add test for closing intro circuits when storing a new descriptor 2018-10-18 12:56:51 -04:00
test_hs_common.c Fix a comment typo in test_hs_common.c 2018-11-22 16:56:06 +10:00
test_hs_config.c Add test for HiddenServiceAuthorizeClient and v3 onion services 2018-10-30 10:49:03 -04:00
test_hs_control.c Fix every include path changed in the previous commit (automated) 2018-07-05 17:15:50 -04:00
test_hs_descriptor.c Make crypto_strongest_rand() non-mockable 2018-09-18 12:40:18 -04:00
test_hs_descriptor.inc Add unittest for #23233. 2017-08-21 19:16:30 +03:00
test_hs_intropoint.c Merge branch 'maint-0.3.3' into maint-0.3.4 2018-07-30 09:01:59 -04:00
test_hs_ntor.c Fix every include path changed in the previous commit (automated) 2018-07-05 17:15:50 -04:00
test_hs_ntor.sh prop224: Add Python integration tests for HS ntor. 2017-04-13 09:22:19 -04:00
test_hs_ntor_cl.c Use NSS's digest code in Tor. 2018-07-31 19:46:00 -04:00
test_hs_service.c Func rename: Make it clear that update_all_descriptors() does intro points. 2018-10-23 16:43:54 +03:00
test_introduce.c Rename crypto.c to crypto_cipher.c (since that's all it still has.) 2018-07-11 14:12:36 -04:00
test_key_expiration.sh SKIP test_key_expiration.sh on Windows until the underlying issue is resolved 2018-07-18 12:37:12 +10:00
test_keygen.sh Merge branch 'maint-0.3.2' into maint-0.3.3 2018-07-17 14:56:52 -04:00
test_keypin.c Fix every include path changed in the previous commit (automated) 2018-07-05 17:15:50 -04:00
test_link_handshake.c When Tor is compiled with NSS, don't claim support for LinkAuth=1 2018-09-16 13:28:29 -04:00
test_logging.c Rename torlog.[ch] to log.[ch] 2018-07-10 15:20:30 -04:00
test_mainloop.c Test for check_network_participation_callback() 2018-11-26 16:32:40 -05:00
test_microdesc.c Add a consensus method in which md families get canonicalized. 2018-11-24 12:01:09 -05:00
test_nodelist.c Add a function to canonicalize nodefamilies per prop298 2018-11-24 10:53:38 -05:00
test_ntor.sh Add more quotes in the test scripts 2015-09-24 15:25:53 -04:00
test_ntor_cl.c Use NSS's digest code in Tor. 2018-07-31 19:46:00 -04:00
test_oom.c Move buffers.c out of lib/containers to resolve a circularity. 2018-11-14 16:07:03 -05:00
test_oos.c Split directory.c code into several modules 2018-09-21 12:57:22 -04:00
test_options.c Add options to control dormant-client feature. 2018-11-26 16:32:40 -05:00
test_parsecommon.c Add a couple more checks to test_parsecommon.c 2018-10-25 09:24:30 -04:00
test_pem.c Add rudimentary support for PEM-encoding, since NSS doesn't do that. 2018-08-21 12:24:08 -04:00
test_periodic_event.c Make the NET_PARTICIPANT role dependent on user activity 2018-11-15 11:17:22 -05:00
test_policy.c Merge branch 'ticket27490a_squashed' 2018-12-01 20:32:18 -05:00
test_procmon.c Fix every include path changed in the previous commit (automated) 2018-07-05 17:15:50 -04:00
test_proto_http.c Move buffers.c out of lib/containers to resolve a circularity. 2018-11-14 16:07:03 -05:00
test_proto_misc.c Move buffers.c out of lib/containers to resolve a circularity. 2018-11-14 16:07:03 -05:00
test_protover.c Merge branch 'maint-0.3.4' into maint-0.3.5 2018-10-23 19:21:44 -04:00
test_pt.c Isolate resolve.h usage in the modules that really need it. 2018-07-10 13:36:45 -04:00
test_rebind.py Print error message we get from socket.connect_ex when it fails 2018-12-03 14:49:33 +02:00
test_rebind.sh Create a temporary directory for tor's DataDirectory in test_rebind. 2018-11-23 12:51:39 -05:00
test_relay.c Merge branch 'bug23512-v4-029-fixes' 2018-09-20 14:41:44 -04:00
test_relaycell.c Merge branch 'bug27772_squashed' 2018-10-14 15:31:52 -04:00
test_relaycrypt.c Fix every include path changed in the previous commit (automated) 2018-07-05 17:15:50 -04:00
test_rendcache.c test: Fix a warning underflow in rend_cache/clean 2018-11-29 10:02:50 -05:00
test_replay.c Fix every include path changed in the previous commit (automated) 2018-07-05 17:15:50 -04:00
test_router.c Merge remote-tracking branch 'public/prop298' 2018-12-05 09:43:03 -05:00
test_routerkeys.c Move key-loading and crosscert-checking out of feature/relay 2018-09-25 15:14:57 -04:00
test_routerlist.c Move buffers.c out of lib/containers to resolve a circularity. 2018-11-14 16:07:03 -05:00
test_routerset.c Merge branch 'bug27772_squashed' 2018-10-14 15:31:52 -04:00
test_rust.sh Fix segfaults related to sanitizers+jemalloc 2018-10-01 22:55:59 -07:00
test_scheduler.c Fix every include path changed in the previous commit (automated) 2018-07-05 17:15:50 -04:00
test_shared_random.c Merge branch 'networkstatus_mmap' into networkstatus_mmap_merge 2018-10-31 09:04:12 -04:00
test_slow.c Fix every include path changed in the previous commit (automated) 2018-07-05 17:15:50 -04:00
test_socks.c Move buffers.c out of lib/containers to resolve a circularity. 2018-11-14 16:07:03 -05:00
test_status.c Extract all the "am I a server" functions from router.c 2018-09-25 16:00:50 -04:00
test_storagedir.c Fix various GCC LTO warnings in the unit tests. 2018-10-14 15:25:16 -04:00
test_switch_id.c Fix every include path changed in the previous commit (automated) 2018-07-05 17:15:50 -04:00
test_switch_id.sh Coverage hack for test_switch_id.sh 2016-06-20 11:15:47 -04:00
test_threads.c Merge remote-tracking branch 'github/bug27073_029' 2018-09-18 08:16:42 -04:00
test_tortls.c Fix various GCC LTO warnings in the unit tests. 2018-10-14 15:25:16 -04:00
test_tortls.h Port test_tortls_verify to not depend on openssl internals 2018-09-04 14:52:35 -04:00
test_tortls_openssl.c Merge branches 'bug27684' and 'bug27685' 2018-09-13 13:09:57 -04:00
test_util.c Move buffers.c out of lib/containers to resolve a circularity. 2018-11-14 16:07:03 -05:00
test_util_format.c Fix every include path changed in the previous commit (automated) 2018-07-05 17:15:50 -04:00
test_util_process.c Fix every include path changed in the previous commit (automated) 2018-07-05 17:15:50 -04:00
test_util_slow.c Rename crypto.c to crypto_cipher.c (since that's all it still has.) 2018-07-11 14:12:36 -04:00
test_voting_flags.c Add a framework for testing set_routerstatus_from_routerinfo(). 2018-12-03 13:22:23 -05:00
test_voting_schedule.c Fix every include path changed in the previous commit (automated) 2018-07-05 17:15:50 -04:00
test_workqueue.c Move the non-crypto parts of onion.c out of src/core/crypto 2018-09-21 09:14:05 -04:00
test_workqueue_cancel.sh Add several test scripts wrapping test_workqueue 2016-06-08 17:29:06 -04:00
test_workqueue_efd.sh Add several test scripts wrapping test_workqueue 2016-06-08 17:29:06 -04:00
test_workqueue_efd2.sh Add several test scripts wrapping test_workqueue 2016-06-08 17:29:06 -04:00
test_workqueue_pipe.sh Add several test scripts wrapping test_workqueue 2016-06-08 17:29:06 -04:00
test_workqueue_pipe2.sh Add several test scripts wrapping test_workqueue 2016-06-08 17:29:06 -04:00
test_workqueue_socketpair.sh Add several test scripts wrapping test_workqueue 2016-06-08 17:29:06 -04:00
test_x509.c Try to fix new coverity warnings in unit tests. 2018-09-05 08:30:35 -04:00
test_zero_length_keys.sh Start splitting src/or 2018-07-05 17:15:50 -04:00
testing_common.c Turn "compress" into a subsystem. 2018-11-05 09:22:02 -05:00
testing_rsakeys.c Refactor crypto_rsa to use pem module. 2018-08-21 12:24:08 -04:00
vote_descriptors.inc Add -Wmissing-variable-declarations, with attendant fixes 2016-06-11 10:11:54 -04:00
zero_length_keys.sh Integrate zero_length_keys test into the automake test suite. 2015-04-23 09:56:12 -04:00