summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-06-12Fix AppVeyor failing due to conan remote being added twiceHEADmasterRobin Linden
2020-05-29Add support for the conan C/C++ package managerRobin Linden
* Don't overwrite the CMAKE_MODULE_PATH * Allow linking libsodium statically with MSVC * Allow finding libsodium the normal way on MSVC * Allow using pthreads4w for pthreads on MSVC * Fall back to find_package if pkg_find_module fails * Don't pass incompatible compile flags to MSVC * Also try to find Opus and libvpx using their canonical names * Support building using conan * Allow pkg_use_module to take a list of libraries to look for * Build for Windows on Appveyor using conan
2020-05-17Format comments according to tokstyle's requirements.iphydf
2020-05-17Fix tcp_relay_test by adding a second bootstrap node.iphydf
This is a non-hermetic network test. initramfs node is down, so let's have a second one for redundancy.
2020-05-08style: Run restyled on Travis and Circle CI scripts.iphydf
2020-05-06cleanup: Make pylint and mypy happy with bootstrap_node_info.py.iphydf
2020-05-05Add autotools build to localbuild docker images.iphydf
2020-05-05refactor: Remove multi-declarators entirely.iphydf
We no longer allow `int a, b;`. In the few cases where we used it, we instead better * limit the scope of the identifier (e.g. in a for-init-decl) * split the line and have 2 separate declarators, because the identifiers designate different types of things (e.g. friend numbers and group numbers).
2020-05-05chore: Don't build pushes to branches, only to tags.iphydf
2020-05-05refactor: Disallow multiple initialised declarators per decl.iphydf
We no longer allow: ```c int a = 0, b = 0; int a[3], b[3]; int a, *b; ``` But we do still allow (for now): ```c int a, b; ```
2020-05-05Use bash arrays instead of strings for static analysis scripts.iphydf
These are more robust wrt. spaces in names.
2020-05-05Exclude imported libsodium sources from restyled.iphydf
Also limit clang-format to .cc files. Don't apply it to .c files.
2020-05-05chore: Delete release-drafter config in favour of global one.iphydf
2020-05-05refactor: Minor cleanup: limit scope of loop iterators.iphydf
2020-05-04Fix typo: `NAC_LIBS` -> `NACL_LIBS`.iphydf
This is working, so probably `NACL_LIBS` is entirely useless, but I can't be bothered to figure out what this was supposed to be, so here we are.
2020-05-04Stop hard-coding packet IDs in tests.iphydf
2020-05-04Add logging to TCP and onion client.iphydf
2020-05-03Add a script to run Travis CI locally.iphydf
This isn't quite Travis, but close enough for local testing.
2020-05-03Fix a bug in savedata loading when malloc fails.iphydf
Also added a bunch of asserts to tests where they don't check allocs.
2020-05-03Enable cimple tests by default but allow disabling them.iphydf
Use `bazel test //c-toxcore/... --build_tag_filters=-haskell` to run all tests except the ones that depend on Haskell (i.e. cimple tests).
2020-05-02Add a check that we don't have any unused functions.iphydf
This check puts all of our code in a C++ anonymous namespace, which is effectively making all functions `static`. This allows the compiler to determine that a function is unused, so we can delete it.
2020-05-02Fix errors on error paths found by oomer.iphydf
* Use-after-free because we free network before dht in one case. * Various unchecked allocs in tests (not so important). * We used to not check whether ping arrays were actually allocated in DHT. * `ping_kill` and `ping_array_kill` used to crash when passing NULL. Also: * Added an assert in all public API functions to ensure tox isn't NULL. The error message you get from that is a bit nicer than "Segmentation fault" when clients (or our tests) do things wrong. * Decreased the sleep time in iterate_all_wait from 20ms to 5ms. Everything seems to still work with 5ms, and this greatly decreases the amount of time spent per test run, making oomer run much faster.
2020-05-02Include `<string.h>` for `explicit_bzero`.iphydf
We need this for vanilla nacl builds on Linux.
2020-05-01Release 0.2.12Robin Linden
2020-04-29Bound the number of friends you can have to ~4 billion.iphydf
If you have UINT32_MAX friends, then adding one more friend will cause an overflow of the friend list (wrap to 0) and result in all friends being deleted. This subsequently results in a null pointer dereference when we're trying to add one friend to the deleted friend list.
2020-04-29Disable non-hermetic tests by default.iphydf
See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=955319.
2020-04-27Add execution trace option for debugging.iphydf
Use `cmake -DEXECUTION_TRACE=ON` to use it.
2020-04-26Rework the toxchat/bootstrap-node Docker image.iphydf
* Use fully static build for the bootstrap daemon. * Store a sha256sum of the binary in the repo. * Updated documentation for it. * Add support for fully static build in cmake. * Enable the docker build on every PR, so we catch changes to the checksum. I realise this is adding toil, but having the checksum is valuable for security of released binaries.
2020-04-26Allow test coverage to fluctuate 2% up and down, but not below 80%.iphydf
2020-04-26Skip invalid TCP relays and DHT nodes when loading save datazugz (tox)
2020-04-25Set up release-drafter.iphydf
See https://github.com/release-drafter/release-drafter
2020-04-25Add CODEOWNERS and settings.yml files.iphydf
2020-04-24[ImgBot] Optimize imagesImgBotApp
*Total -- 23.11kb -> 12.21kb (47.19%) /other/tox.png -- 17.50kb -> 6.99kb (60.05%) /other/tox-warning.png -- 5.61kb -> 5.21kb (7.04%) Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
2020-04-24Fix continuous integration builds.iphydf
2020-04-20Enable TCP relay test in Bazel and autotools build.iphydf
This test was fixed by @robinlinden, but not enabled in all builds.
2020-04-19Invert `not_valid` functions and name them `is_valid`.iphydf
Also changed their return type to bool instead of 1/0 ints.
2020-04-19fix saving of combination of loaded and connected TCP relayszugz (tox)
2020-04-16Add new semi-private API functions to set per-packet-id custom handlers.zoff99
This is to prepare for ToxAV becoming independent of toxcore internal calls.
2020-04-16Remove tokstyle exemptions from build files.iphydf
We put some tokstyle exemptions into the source files themselves, instead. This way we can check some of the code in those files, and more in the future when tokstyle supports more constructs (like apidsl). Also: hacked ping_array.api.h to not emit `_array` as parameter names. We'll need to fix apidsl to do this better. This works for now.
2020-04-13Fix things not being initialized if creating a TCP-only networkRobin Linden
2020-04-09Stop using the "inline namespace" feature of apidsl.iphydf
This adds complexity for very little value.
2020-04-09Use public API for sending in RTP.zoff99
2020-04-08Give CI workflow a better name: clang-sanitizersiphydf
2020-04-08Install ci-tools and get tokstyle via the script it provides.iphydf
2020-04-08Use public API for sending in BWC.zoff99
2020-04-07Remove newlines from the end of LOGGER format strings.iphydf
See https://github.com/TokTok/hs-tokstyle/pull/49 for the corresponding tokstyle analysis.
2020-04-07Change ToxAVCall struct mutex to a more distinct name.zoff99
2020-04-07Create own instance of MonoTime for ToxAV.zoff99
2020-04-05Stop using Messenger's mono_time in bandwidth controller.zoff99
We're actually still using it, but we got a private pointer now, preparing us for having a private mono_time in toxav.
2020-04-05Fix 2 memory leaks in ToxAV.zoff99