Commit Graph

5151 Commits

Author SHA1 Message Date
sudden6
e04b890817
add scripts to run the fuzzing process
This adds scripts and Dockerfiles to run the fuzzing process standalone
or with OSS-Fuzz/ClusterFuzzLite integrations.
2022-01-10 21:05:51 +01:00
sudden6
7dd8dbd897
intercept network, crypto and time
This fuzzing harness must be as deterministic as possible for the fuzzer
to detect additional coverage reliably.
2022-01-10 21:05:49 +01:00
sudden6
9eb88798a3
add fuzzing harnesses
Toxsave harness ported to libFuzzer interface.
New harness for bootstrap phase.
2022-01-10 20:57:00 +01:00
iphydf
210ea9e25c
chore: Retry asan/tsan tests a few more times.
These are somewhat flaky. A few more retries should make them pass unless
they are properly broken. Most of the time they time out and one more
attempt would pass it. I've added 2 more attempts.
2022-01-10 14:46:58 +00:00
iphydf
f46f51e554
cleanup: Don't use memcpy where assignment can be used.
See https://github.com/TokTok/hs-tokstyle/pull/104.
2022-01-10 10:58:42 +00:00
Robin Linden
7411f70109
Output test logs on failure in Conan build 2022-01-10 02:27:13 +01:00
Robin Linden
23df660fd2
Remove always-true check in receivepacket error handling 2022-01-10 02:27:13 +01:00
Robin Linden
f78c741790
Update MSVC auto test disables to match what somewhat reliably works 2022-01-10 02:27:13 +01:00
Robin Linden
091dc6c833
Fix many MSVC auto tests failing due to WSAECONNRESET 2022-01-10 02:27:13 +01:00
Robin Linden
d2ef514569
Disable building cracker with MSVC
It uses OpenMP features MSVC doesn't support.
2022-01-10 02:27:13 +01:00
Robin Linden
11c9c05213
Don't ignore build/test failures in Appveyor 2022-01-10 02:27:12 +01:00
iphydf
5ab301ecab
chore: Remove all references to Travis CI.
Travis gave up on FOSS, so no more free advertisement for Travis.
2022-01-10 01:17:46 +00:00
iphydf
73484d8995
cleanup: Use calloc instead of malloc for struct allocations.
`malloc` is used only for byte/int arrays. Also, we no longer allow plain
`void *` allocations. Every allocation should have a real value type.
2022-01-09 22:42:50 +00:00
iphydf
9ab77e015d
cleanup: Fix calloc argument order.
See https://github.com/TokTok/hs-tokstyle/pull/102
2022-01-09 18:42:20 +00:00
iphydf
83d5d0d280
cleanup: Remove useless parentheses. 2022-01-06 20:36:03 +00:00
Robin Linden
fe7b467df4
Add a GH Actions code coverage job 2022-01-06 16:39:48 +01:00
sudden6
d2bf72479c
fix: use correct sample size in toxav_basic_test 2022-01-04 21:12:57 +01:00
jfreegman
0385315200
Make struct typedefs have the same name as their struct 2022-01-04 11:36:28 -05:00
iphydf
e848853968
chore: Remove old travis docker scripts.
These aren't useful anymore. We don't have travis anymore, so there's no
need to simulate the travis CI environment.
2022-01-02 19:41:46 +00:00
iphydf
277f512dbb
chore: Add bazel-debug build.
This has in the already found real bugs that only happen when compiling
with stack protector and no optimisations.
2022-01-02 03:15:39 +00:00
jfreegman
7318127dca
Remove dead code
Neither of these clauses can ever be reached.

Also attempt to fix travis Windows build
2022-01-01 19:44:11 -05:00
jfreegman
53bd3c86df
Fix possible unintended negative loop bound 2022-01-01 16:01:29 -05:00
jfreegman
e6d671eeab
Add ability for autotests to use TCP connections
This also allows us to set other tox options
2022-01-01 15:43:59 -05:00
iphydf
8cd4827a14
cleanup: Reduce the scope of for-loop iterator variables.
Found by tokstyle after https://github.com/TokTok/hs-tokstyle/pull/95.
2022-01-01 03:26:41 +00:00
iphydf
6f61de54d3
chore: Add "tcc" and "compcert" compiler targets.
It's nice we are able to compile with `tcc`. Let's not break that.
CompCert is also neat, but its interpreter mode doesn't work on tox, so
we only use the compiler.
2021-12-30 23:09:23 +00:00
zugz (tox)
64a48c0e78
cleanup: Remove hardening code from DHT 2021-12-30 00:00:01 +00:00
iphydf
eb4dc4326a
refactor: Extract some functions from the big run_auto_test function.
This reduces complexity of the single function. Also reduced duplication
a bit.
2021-12-29 00:50:12 +00:00
iphydf
8ce2ae0fcb
chore: Add macOS build. 2021-12-28 23:28:48 +00:00
jfreegman
d8397c93c8
Put breaks inside case bracers 2021-12-25 12:30:39 -05:00
iphydf
b8c7c2a923
chore: Login to dockerhub before trying to push to dockerhub. 2021-12-23 17:26:17 +00:00
iphydf
1639703c62
chore: Only push versioned docker image on tag builds. 2021-12-23 16:49:57 +00:00
iphydf
1e11865c4c
chore: Add bootstrap daemon docker image build.
This will also push to dockerhub on merge.
2021-12-23 15:54:24 +00:00
iphydf
29eb3dd490
chore: Remove apidsl comment from tox.h.
There is no more apidsl, so you can edit tox.h manually now.
2021-12-23 15:33:03 +00:00
iphydf
2f546a9710
chore: Rename test source to match standard.
All tests should end in `_test.c` or `_test.cc` for unit tests.
2021-12-23 03:50:16 +00:00
iphydf
93fa988a9d
chore: Don't run CI on master branch pushes.
All pushes have already been checked in the pull request. This is just
duplicate work, wasting GH action runners.
2021-12-22 11:03:13 +00:00
iphydf
aa64ecc34e
cleanup: Sync comments in all toxcore/*.[ch]. 2021-12-22 10:48:53 +00:00
iphydf
f49168e209
chore: Make all function comments doxygen style /** comments.
This way, they become eligible for the tokstyle comment sync check.
2021-12-22 10:48:53 +00:00
iphydf
ac5df0692c
chore: Add docker image for running circleci/cmake-{asan,tsan}.
Use `make asan` or `make tsan` to run a similar setup to the one we run
on circleci.
2021-12-22 10:14:16 +00:00
iphydf
d73393a078
chore: Fix FreeBSD build. 2021-12-22 01:36:17 +00:00
jfreegman
e92a67ed5f
Merge friend_connections from NGC fork 2021-12-21 15:07:21 -05:00
iphydf
24f49fc917
chore: Fix up a few source code comment and style issues.
Tokstyle no longer allows:
* Includes inside an `extern "C"`
* Comments on function definition and declaration to be different.
* Doxygen comments commenting on other doxygen comments.
2021-12-21 18:14:53 +00:00
iphydf
4841fc9439
cleanup: Move sodium.h include to front of network.c.
I missed this one because cimple didn't recurse into `#ifdef`.
2021-12-21 15:01:12 +00:00
iphydf
78c26e3c0d
chore: Move cmake-freebsd-stage2 back into the toxcore repo.
This is more likely to change with the code so should live here, not in
dockerfiles.
2021-12-21 14:43:02 +00:00
iphydf
74bf0fc2c8
chore: Disable -Wmissing-braces.
This flag isn't helpful for the most common case of aggregate
initialisation, namely `{0}`. We don't want to be writing `{{{0}}}` with
some brittle number of braces.
2021-12-21 12:04:04 +00:00
iphydf
656c7692a3
chore: Add FreeBSD build to CI. 2021-12-20 23:57:16 +00:00
iphydf
3f0ab46229
cleanup: Pull #include directives to the beginning of the file.
We won't be allowing includes to appear after other declarations.
2021-12-20 11:53:14 +00:00
iphydf
9e659e6577
chore: Add cross compilation CI targets.
To test the cross compilation dockerfile.
2021-12-20 01:47:05 +00:00
jfreegman
b07a159856
Remove redundant (and incorrect) comments 2021-12-19 15:14:24 -05:00
sudden6
fe4df5b6a3
refactor: rename variable to clarify purpose 2021-12-19 21:07:18 +01:00
iphydf
4746a8b3af
cleanup: Remove apidsl; remove crypto_memcmp.
* `crypto_memcmp` was replaced by more specific functions. We never want
  to compare arbitrary amounts of data this way. We use these functions
  to compare key material.
* apidsl has been bothering people, so now we un-bother them. You're
  welcome.
* Added the memlock/unlock functions from the New Group Chats branch.
* Remove some system dependencies in crypto_core_mem.c.
* Renamed UPPERCASE_NAMES to Snake_Camel_Case names.
2021-12-19 19:22:38 +00:00