Commit Graph

5561 Commits

Author SHA1 Message Date
jfreegman 76bc4c496d refactor: TCP connection netprof objects are now owned by Messenger
This allows us to have a single netprof object for all TCP client
connections, which makes it easier to query and keep track of
TCP network data for groupchats. Previously we were not properly
querying groupchat TCP network data via the netprof API.
2025-03-18 21:32:41 -04:00
dependabot[bot] 59d3f6674f chore(deps): bump golang.org/x/net
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.33.0 to 0.36.0.
- [Commits](https://github.com/golang/net/compare/v0.33.0...v0.36.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-13 11:23:11 +00:00
Green Sky 9324a974d4 fix: forgot an enum in the nodes request rename
see https://github.com/TokTok/c-toxcore/pull/2860
2025-03-12 19:29:40 +01:00
github-actions[bot] 81b1e4f634 chore: Release v0.2.21-rc.1
Pre-release for toxcore. Primarily, we now have an experimental network profiling callback.
v0.2.21-rc.1
2025-02-24 14:28:06 +00:00
Robin Linden 9303e2e49a chore: Update the pkgsrc versions in the update-versions tool 2025-02-24 01:50:17 +01:00
Robin Linden 71ec4b3b1e chore: Update the version-sync script to work in a post-tox.api.h world 2025-02-22 15:49:22 +01:00
iphydf 66da842f75 chore: Add version update script compatible with ci-tools. 2025-02-21 13:40:30 +00:00
iphydf 199878f766 chore: Use new bazel script for circle ci. 2025-02-20 09:07:36 +00:00
iphydf 8278e9cda4 chore: Add release issue template and workflow. 2025-02-16 19:58:08 +00:00
iphydf a9bb3a1c4d chore: Fix alpine-s390x build. 2025-02-16 00:37:49 +00:00
iphydf 6e0a641272 chore: Add a source tarball deploy workflow.
This builds the autotools files (configure, etc.) so people can build
the code without needing to install autotools.
2025-02-15 12:44:03 +00:00
iphydf 4adebe4d8b chore: Don't upload ios/macos variants in deploy workflows.
We already put them into an xcframework. There's no strong reason to
keep them as separate assets as well.

Also removed the Makefile for single-file uploads, because it
individually appears in the release assets. The .c files are
intentionally separate asset uploads, but the Makefile is always the
same so can be fetched directly from the repo if needed.
2025-02-15 12:10:04 +00:00
iphydf 18f1d858cc chore: Move one of the 3 freebsd builds to post-submit.
This one takes a long time and never fails because we ignore test
failures (of which it has many). The other 2 freebsd builds actually
check for test failures so are more valuable. We keep this one for now
because it's our own freebsd image build, so we at least want to keep it
building in case the other 2 freebsd builds break (e.g. Cirrus shuts
down or the freebsd vm workflow goes away).
2025-02-15 10:04:39 +00:00
iphydf 432ab60c00 feat: Add a Makefile for the single file deploy build.
This makefile is untested, so hope is the strategy here.
2025-02-15 09:44:40 +00:00
iphydf a86c0011fd chore: Add deploy job for single C file library. 2025-02-15 08:32:28 +00:00
iphydf 2e7495e8f2 docs: Update changelog format to use the new clog-compatible way. 2025-02-14 13:03:45 +00:00
iphydf a682da99e8 chore: Export wasmExports from the wasm binary.
This is needed by dart's wasm_ffi.
2025-02-10 13:21:10 +00:00
iphydf 12f34cdff2 chore: Add wasm to the nightly binary deploys. 2025-02-09 22:56:18 +00:00
iphydf 1451029613 chore: Add strict-abi support for macOS/iOS.
Also enable it for all binary deployment builds. This avoids exporting
sodium/vpx/opus symbols through the toxcore library, which way conflict
with other exported symbols if client code links to e.g. libsodium
itself for its own purposes.
2025-02-09 13:18:46 +00:00
iphydf c53c30e09d chore: Add time option to manual fuzz trigger.
This allows us to test things with less than 1 hour of waiting time.
2025-02-05 21:49:53 +00:00
iphydf 2ccecdc2a1 chore: Add remaining fuzz tests to cflite.
So we can run them daily and get coverage info from them.
2025-02-05 21:03:48 +00:00
iphydf 4626c2e230 test: Add a Net_Crypto fuzz test. 2025-02-05 19:45:48 +00:00
iphydf b4a0e617c4 refactor: Use IP string length from ip_ntoa instead of strlen.
Saves us a strlen and is slightly safer. Also, changed the event length
to not include the terminating NUL byte. Adding it is just confusing.
2025-02-05 16:58:20 +00:00
Green Sky b85b91f22f cleanup: rename getnodes/sendnodes to nodes request/response
This change alignes the naming to be closer to the spec and
make it less ambiguous. This change also changes the naming
of some private/experimental marked APIs.
- tox_callback_dht_nodes_response()
- tox_dht_nodes_request()
- Tox_Event_Dht_Get_Nodes_Response

Also remove the "IPv6" from response.
The non-ipv6 capable response was removed 12 years ago.
2025-02-04 23:13:02 +01:00
iphydf f1991aaa02 perf: Use stack allocation for strerror rendering. 2025-01-30 21:20:25 +00:00
jfreegman 3984211ccb cleanup: remove kicked peers from saved peers list 2025-01-30 15:53:39 -05:00
Green Sky 26a991ed2b fix: ip to string function not accepting tcp families 2025-01-30 18:09:20 +01:00
iphydf 712861f2e6 cleanup: Make websockify output qtox-compatible logging.
At the moment this is just because qtox outputs logs in this format and
now I'm used to it, so I want to unify our log outputs to this format.
We don't really parse this output, but after this change, we could
theoretically parse the websockify log output in the qtox/debugtox log
viewer.
2025-01-30 15:16:07 +00:00
iphydf 01932ea2f7 chore: Add opus and vpx to the toxcore wasm build. 2025-01-29 23:31:00 +00:00
Green Sky d29c42ef63 refactor: don't fully discard received DHT nodes.
This is mostly forward thinking, where we might introduce
other ip families, in addition to ipv4, ipv6, tcp_ipv4 etc.
2025-01-29 22:21:25 +01:00
iphydf 21e2325934 chore: Fix xcframework tarball creation.
Also, always run the "create tarball" action on pull requests as well,
so we know whether it's going to work for master pushes.
2025-01-29 14:04:27 +00:00
iphydf b10c8b766b chore: Fix xcframework checksum creation. 2025-01-29 12:57:45 +00:00
iphydf 93787a9322 chore: Add ios/macos framework build. 2025-01-29 00:51:01 +00:00
Green Sky 9f723f891d fix: run do_gca also in bootstrap nodes 2025-01-28 16:08:14 +01:00
iphydf 496cc70355 chore: Support arm64 iphone simulator. 2025-01-28 02:51:39 +00:00
iphydf aa0e2a8e92 chore: Add support for more iOS architectures.
Including simulator (i386 and x86_64).
2025-01-27 18:29:35 +00:00
iphydf 13ad8e81cb chore: Add binary deploy workflows. 2025-01-27 11:50:09 +00:00
iphydf c834472637 refactor: Move tox_log_level out into its own file.
Perhaps we can reuse it in the logger.
2025-01-26 12:05:18 +00:00
iphydf 8799bea76c cleanup: Mark events/dispatch headers as experimental.
We're already installing these, but they have been experimental all this
time. We should not install them until we're really done with them.
2025-01-25 22:53:09 +00:00
iphydf d4164edb54 refactor: Remove tox_types.h; use struct tags instead.
This header was a nice idea but causes a *lot* of pain with C++ modules.
2025-01-25 22:14:25 +00:00
iphydf d408c98209 refactor: Move Tox_Options to tox_options.h.
For backwards compatibility, we also `#include "tox_options.h"` in
`tox.h`, but in 0.3.0 we can break that so most toxcore client code
doesn't need the options, only the part that creates the instance.
2025-01-24 18:18:31 +00:00
iphydf 5ab42d4120 chore: Move most cirrus jobs to circleci.
Cirrus is very expensive now. We need to make our builds cheaper before
we can use it more. For now, only the build that can't move out will
stay, i.e. the FreeBSD VM one.
2025-01-24 14:11:26 +00:00
iphydf 463eeae114 cleanup: Avoid clashing with global define DEBUG.
Some systems define this, breaking our test code.
2025-01-22 23:52:44 +00:00
iphydf 92cc1e9174 refactor: Make Tox_Options own the passed proxy host and savedata.
This way, client code can immediately free their data and can pass
temporaries to the options setters.
2025-01-21 23:06:53 +00:00
iphydf f276b39722 test: Add some more asserts for I/O and alloc to succeed.
Silences some warnings from static analysis.
2025-01-19 17:51:33 +00:00
iphydf edb4dfc486 fix: Don't crash on malloc failures in bin_unpack. 2025-01-19 15:01:15 +00:00
iphydf be457d5d0b cleanup: Use tox memory for bin_unpack and net_strerror.
Some of the last places where we use malloc.
2025-01-18 21:46:10 +00:00
iacore d9b8fa6098 fix: Fake broadcast address for 127.x.x.x 2025-01-16 08:34:19 +00:00
jfreegman aa649165a5 chore: Add code for future netprof TCP testing
TCP does not presently work for autotests, but this
will allow us to test netprof with TCP packets
when it's fixed
2025-01-15 14:19:57 -05:00
jfreegman 9e5693de5a chore: add to_string functions for netprof enums
Also fixed u64 formatting in the netprof auto test
2025-01-15 11:18:27 -05:00