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.
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.
This commit deprecates the tox_group_reconnect groupchat API function and
modifies the tox_group_join function to automatically reconnect to groups
when it's called with a chat_id that designates a group that it's already
a member of.
This allows clients to implement group rejoin functionality that lets peers
rejoin/reconnect to groups with a passed password argument, which may be
necessary if the group password changes while a peer is offline. This fixes
the bug described in #2806.
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.
This only fixes the symptoms, not the real problem.
Sometimes or consistently on some platforms a socket might need a moment
before it can be written to.
save_compatibility_test was failing on big-endian systems, as it was
written and tested on a little-endian system and savedata is not
endianness portable[1].
[1] https://github.com/TokTok/c-toxcore/issues/2693
This way, clients can decide whether they want to depend on unstable
functionality while we change the NGC save format. We can release with
experimental functionality disabled by default.
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.