Commit Graph

5582 Commits

Author SHA1 Message Date
iphydf 7c3be23429 refactor: Add file/line to tox-bootstrapd logging.
Also, allow trace logging in bootstrapd (disabled by default, but
enabled on the websockify docker image so we can debug things there).
2025-10-18 22:33:09 +00:00
iphydf f84e8cdce3 refactor: Move loglogdata out of network.c.
With another bit of refactoring, this can be an independent bit of code
that can be independently benchmarked and tested.
2025-10-08 18:38:08 +00:00
iphydf 390f7db060 refactor: Move random and memory OS-specifics to os_* files. 2025-10-08 10:59:32 +00:00
Green Sky 6f7f515544 chore(toxav): use realtime deadline for vp8 encoder
Technically all this does is choose a quality based on frame
duration, which we always set to 1, and as such is always realtime.
(In same timebase as pts, which we use as a frame counter...)

Also no deadline for decoder. (documentation tells us its ignored)
2025-10-06 01:01:32 +02:00
Green Sky 5047ae5a24 chore: make the source tarball exhibit the old behavior 2025-10-05 21:51:36 +02:00
iphydf 14804a4b86 chore: Fix sonar-scan CI action. 2025-10-05 19:16:46 +00:00
Green Sky e2db7d946d cleanup: Exclude lan_discovery test from running on macos,
instead of excluding it from the project.
2025-10-05 20:36:12 +02:00
iphydf 3accade676 chore: Fix CI, disabling some tests that no longer run on CI. 2025-10-05 18:05:23 +00:00
iphydf ef8d767e6f cleanup: Fix comment formatting errors.
Cimple is now stricter in these.
2025-10-05 18:05:02 +00:00
iphydf 34ec822da7 cleanup: Fix some clang-19 format warnings. 2025-07-13 12:26:15 +00:00
iphydf 40b3f0b463 refactor: Use clang's nullability qualifiers instead of attributes. 2025-07-13 00:26:24 +00:00
iphydf f81e30679b refactor: Use per-parameter nullability annotations.
This is less error-prone.
2025-07-12 09:20:18 +00:00
Green Sky 6794447518 chore(toxav): increase the idle iterate interval to 1 second
and remove a non-existant reference in a comment
2025-05-16 11:10:12 +02:00
Green Sky 3e22fd5cc4 fix(toxav): handle vpx_image_alloc failure 2025-05-15 23:35:37 +02:00
Green Sky 4057695c5f chore(toxav): tighten the video bitrate
to the same as the vp8 encoder internally checks.
2025-05-15 21:51:46 +02:00
github-actions[bot] 3e6b22f5de chore: Release v0.2.21
This release brings 2 great featues. First, the abillty to disable DNS lookups, which has been a long requested security feature, which we plan to default to in an upcoming version.
Second, there is an network profiler, which tallies up sent and received network packets.

Beside these features we also have fixes like a 75% memory usage reduction for NGCs and connecting to NGC with a password if we are already joined, which might be necessary if a password was set or changed while you where away.
Furthermore, we now have better localhost discovery, which means that nodes on the same system find each other.

---

If you have not yet upgraded to the previous release (0.2.20), you absolutely should, as it fixes a security issue. All releases before 0.2.20 used VBR opus encoding, which is susceptible to transcription attacks. ( see https://github.com/TokTok/c-toxcore/pull/2757 )
2025-05-15 12:08:17 +00:00
Green Sky 219773bff5 fix(ngc): dont double every message, if we are not directly connected
but we and the other peer would support direct.
2025-05-13 17:12:40 +02:00
Green Sky 1d4cc783b1 fix(bazel): one more fuzz target that needs netprof 2025-03-31 13:50:07 +02:00
Green Sky 066aafbfcd fix(bazel): make net_prof visible to its consumers 2025-03-28 15:09:32 +01:00
Green Sky 9dcc2f530d fix(bazel): missing dep for auto_tests 2025-03-21 13:06:25 +01:00
Green Sky 741ac5f5e6 fix(bazel): missing dep for fuzz target 2025-03-20 13:00:30 +01:00
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