Commit Graph

407 Commits

Author SHA1 Message Date
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
github-actions[bot] 81b1e4f634 chore: Release v0.2.21-rc.1
Pre-release for toxcore. Primarily, we now have an experimental network profiling callback.
2025-02-24 14:28:06 +00:00
iphydf 66da842f75 chore: Add version update script compatible with ci-tools. 2025-02-21 13:40:30 +00: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
Green Sky 9f723f891d fix: run do_gca also in bootstrap nodes 2025-01-28 16:08:14 +01:00
iphydf e092ecd124 cleanup: Use tox memory allocator in some more places. 2025-01-14 17:34:21 +00:00
iphydf 5bd8a85eb8 cleanup: Align internal logger with external on type of source line.
We use `uint32_t` everywhere now. It's easier that way, and line numbers
are never negative.
2025-01-12 23:47:23 +00:00
iphydf bc43cec062 chore: Happy new year! 2025-01-05 23:24:52 +00:00
iphydf 2a6dc64333 chore: Upgrade dependencies for websockify. 2024-12-20 20:50:00 +00:00
iphydf 0204db6184 cleanup: Fix layering check warnings.
These warnings aren't available yet, but will be in a future
toktok-stack build.
2024-12-04 10:24:23 +00:00
iphydf 819aa2b261 feat: Add option to disable DNS lookups in toxcore.
Allows clients to prevent leaking IP addresses through DNS lookups. This
option, together with disabling Tox UDP, entirely prevents any UDP
packets being sent by toxcore.
2024-11-27 17:19:56 +00:00
iphydf bdd17c1678 cleanup: Allocate logger using tox memory allocator. 2024-11-13 10:22:11 +00:00
Robin Linden 934a830111 chore: Release 0.2.20 2024-11-11 01:27:06 +01:00
iphydf ce4f29e803 cleanup: Fix all -Wsign-compare warnings. 2024-11-08 18:06:15 +00:00
Maxim Biro 5752fc29f8 refactor: Make tox-bootstrapd use bool instead of int
A continuation of the cleanup done in
b7404f24f6.

tox-bootrstrapd historically had used ints for boolean values, as it was
initially written in C89 which has no stdbool.h. Since then it has
modernized and moved on to using C11, but the usage of the int type to
represent boolean values, "boolean ints", remained. Recently, driven by
a desire to eliminate implicit int-to-bool conversion, @iphydf did a
cleanup in b7404f24f6, changing some of
the boolean ints to bools and doing manual int-to-bool conversion on the
remaining boolean ints. This left the codebase in an inconsistent state
of both ints and bools now being used to represent boolean values, not
to mention that the explicit int-to-bool conversions are a bit ugly. The
only boolean ints that remained are those stemming from libconfig's
config_lookup_bool() taking an *int parameter to return a boolean value,
as libconfig still uses C89. This commit adds a wrapper function around
libconfig's config_lookup_bool() that takes a *bool instead, eliminating
the remaining boolean ints and majority of the explicit int-to-bool
conversions in tox-bootstrapd.
2024-11-07 05:41:51 -05:00
iphydf 350c0ba120 cleanup: Sort apk/apt install commands in Dockerfiles.
CodeQL scanning is complaining about this.
2024-11-06 15:43:33 +00:00
dependabot[bot] 8c1bda502c chore(deps): bump golang.org/x/net
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.17.0 to 0.23.0.
- [Commits](https://github.com/golang/net/compare/v0.17.0...v0.23.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-06 15:06:20 +00:00
Maxim Biro 5344d7f84d fix: Memory leak in the bootstrap daemon 2024-04-03 23:31:27 -04:00
Robin Linden da438763d5 chore: Release 0.2.19 2024-03-27 23:29:16 +01:00
iphydf 86f5e55578 fix: Don't serve files from websockify.
Fixes security warning on websockify. It's not important, since this
program isn't used, but it's better to not have vulnerable code in a
security focussed project.
2024-02-17 20:52:55 +00:00
iphydf 08d3393def fix: Correct a few potential null derefs in bootstrap daemon.
Found by PVS Studio.
2024-02-09 18:00:04 +00:00
iphydf b7404f24f6 cleanup: Remove implicit bool conversions. 2024-02-02 01:31:54 +00:00
iphydf 4e2dba4d9f chore: Reformat sources with astyle.
Restyled astyle is fixed now.
2024-02-02 01:31:32 +00:00
iphydf 8d29935b7a chore: Only check the bootstrap daemon checksum on release.
It's pure toil until then. It's only interesting as part of the release
checklist, not in regular PRs.
2024-01-31 20:40:49 +00:00
iphydf f70e588bc6 cleanup: Add more const where possible. 2024-01-31 19:55:17 +00:00
iphydf 511bfe39c8 cleanup: Use Bazel modules to enforce proper #include hygiene. 2024-01-30 23:51:43 +00:00
iphydf 1710a0d091 refactor: Move pack/unpack IP_Port from DHT into network module.
It's misplaced in DHT, since the data structures are located in network.
2024-01-30 12:40:52 +00:00
iphydf 39aadf8922 fix: Don't use memcmp to compare IP_Ports.
`memcmp` compares padding bytes as well, which may be arbitrary or
uninitialised.
2024-01-29 13:58:45 +00:00
jfreegman d94246a906 fix: partially fix a bug that prevented group part messages from
sending.

When a peer leaves a group, they send a packet to the group
indicating that they're leaving. However if this packet is sent
via TCP, it gets put in a packet queue, which is then destroyed
on the rest of the group cleanup process before ever being able
to send.

This pr allows do_gc() to finish an iteration before cleaning the
group up, which allows the TCP packet queue to be emptied. However
this bug still exists on a tox_kill() event because we don't have
a chance to do another do_gc() iteration.
2024-01-27 12:27:27 -05:00
iphydf 6aa9e6850d cleanup: Minor cleanup of event unpack code. 2024-01-25 21:52:45 +00:00
iphydf bdf460a3a9 refactor: Rename system_{memory,...} to os_{memory,...}.
This rename happens in the system PR, so I'm pulling it out to reduce
the size of that PR.
2024-01-25 21:33:52 +00:00
iphydf 5c093c4888 cleanup: Remove all uses of SIZEOF_VLA.
This is step 1 towards removing VLAs altogether.
2024-01-25 07:40:41 +00:00
iphydf 8f07755834 cleanup: Use memzero(x, s) instead of memset(x, 0, s).
It's clearer and doesn't risk having a non-zero filler value.
2024-01-24 19:14:32 +00:00
iphydf 14a1a0b9bd cleanup: Remove plan9 support.
We really don't support it. I tried for half an hour to get some kind of
plan9 cross compilation to work, but it's not working. If anyone wants
to bring it back, they are welcome to send a PR including a CI check for
it. Until then, these 5 lines of unused code are gone.
2024-01-24 10:09:39 +00:00
iphydf 1cdcf938b9 cleanup: Add comment after every #endif.
This makes far-away endifs clearer, so we're applying the rule to all
endifs to be consistent.
2024-01-23 21:52:41 +00:00
iphydf bdd42b5452 refactor: Add common msgpack array packer with callback.
There will be more object arrays that need to be packed. This function
takes care of NULL (creating an empty array), and putting the correct
array size and calling the per-element callback the right amount of
times.
2024-01-18 13:52:35 +00:00
iphydf 89957be230 cleanup: Ensure handler params are named after callback params. 2024-01-18 10:55:31 +00:00
iphydf c650d9d345 refactor: Pass this pointer as first param to s11n callbacks. 2024-01-17 13:11:14 +00:00
iphydf e7fb91ddb8 refactor: Allow NULL pointers for byte arrays in events.
Some events, notably the file chunk recv one, can give NULL pointers to
the client. Not sure they should, but that's what happens, so we support
it.
2024-01-17 09:13:07 +00:00
jfreegman 5e2c8cabc1 cleanup: make some improvements to group moderation test
- We no longer assert peer roles in the mod event callback
because this causes an issue with the new events implementation,
which triggers the events after all the packets from the
current tox_iterate() are processed, rather than as the
packets are received. These checks were superfluous and shouldn't
reduce code coverage.
- A moderator now sets the topic before the founder kicks him in
order to increase internal code coverage.
2024-01-16 18:08:11 -05:00
iphydf 259de4867e cleanup: Remove bin_pack_{new,free}.
We should only ever use `bin_pack_obj` and friends, which stack-allocate
the packer and pass it to callbacks.
2024-01-16 19:18:45 +00:00
jfreegman 21a8ff5895 cleanup: skip a do_gc iteration before removing peers marked for deletion
This fixes an issue with events where we try to make queries on peers
that no longer exist internally
2024-01-16 13:11:52 -05:00
iphydf 16809dc36e feat: Add dht_get_nodes_response event to the events system.
Should probably rename it to something starting with `debug_` and make
it opt-in. Right now, it absolutely spams the events object.
2024-01-16 10:52:31 +00:00
iphydf e2c01e457b refactor: Use enum-specific pack functions for enum values.
It's more obvious this way.
2024-01-15 21:47:13 +00:00
iphydf afc472402b refactor: Factor out union pack switch from event packer.
Preparation for it being generated.
2024-01-15 19:21:19 +00:00
iphydf 6caa7ce4b1 cleanup: Move the 2-element array pack out of individual events.
It's common across all events. No need to repeat it.

Co-authored-by: Green Sky <green@g-s.xyz>
2024-01-15 19:04:45 +00:00
iphydf b4d8826228 cleanup: Remove old type-ordered event getters.
These are quite expensive, because they go through all events to index
in a typed array that no longer exists. Clients should index in the
union array and find the event they want themselves, or use dispatch.
2024-01-15 17:29:43 +00:00
Green Sky 001d00ab30 fix: dont resolve to ipv6 addresses when its disabled 2024-01-15 15:29:01 +01:00
iphydf 4cea4f9ca4 fix: Make all the fuzzers work again, and add a test for protodump.
fuzz_select_target wasn't selecting anything, so fuzzers using that
function either did nothing or would only ever select one of the
functions.
2024-01-13 15:06:30 +00:00
iphydf c4e209ea1d refactor: Factor out malloc+memcpy into memdup.
Only applied in one place, but perhaps later we can implement a pattern
in tokstyle to find more opportunities for using memdup.
2024-01-13 11:57:21 +00:00