Age | Commit message (Collapse) | Author |
|
|
|
|
|
also rename client_in_list() to client_or_ip_port_in_list(), it also checks for an identical ip/port and replaces the client_id, recycling the entry
DHT.c:
- rename client_in_list() to client_or_ip_port_in_list()
- replace_bad(), replace_good(): if IPv6, only insert into the upper half of the given list
- addto_lists(): convert ipv4-in-ipv6 mapped to ipv4
|
|
Allow loginit() to be delayed, store loglog() data in intermediate buffer...
|
|
and flush it out when loginit() is called
util.c:
- handle loglog() before loginit() by storing the lines into an expanding buffer
- when loginit() is called, write out and kill the buffer
network.c:
- push loginit() to the point where we know the actually used port
|
|
|
|
|
|
|
|
Group message callback modified.
|
|
|
|
util.c:
- fix in empty section at the end of the state, showed as bug when having an empty name
DHT.c:
- fix in saving less data than originally announced, showed as bug when not having reached any clients ever (no clients or only with timestamp of zero)
|
|
|
|
|
|
State loading/saving: Instead of a blob, segment into sections marked with tags.
|
|
|
|
Messenger.c:
- additional size checks
- removed one pointless copying of data, instead using it directly
util.c:
- lost a newline vs. master
|
|
Conflicts:
toxcore/Messenger.c
toxcore/util.c
toxcore/util.h
|
|
Fix in ip_equal, plus testing code which led to that fix...
|
|
network.c:
- use the correct macro for IPv4-in-IPv6 test
network_test.c:
- bunch of tests for addr_resolve() and ip_equal()
|
|
|
|
|
|
|
|
|
|
|
|
struct in6_addr member names can differ per platform.
|
|
|
|
network.c:
- ip_equal(): on IPv4 vs. IPv6, check if the IPv6 is an embedded IPv4 and if true, compare that
|
|
network.c:
- addr_resolve(): save AF_UNSPEC ip4 address into ip4, not into to->ip4
|
|
Also fixed the "[i] could not send message" bug in nTox.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- get_close_nodes(): refactored the inner loop out into get_close_nodes_inner()
|
|
- addr_resolve(): for() instead of while(), flip conditions for a much neater function (suggested by Andreas Schneider)
- ip_ntoa(): enforced termination: terminate at the maximum position, that's the one snprintf() may forget
- networking_poll(): forgot tabs2spaces
|
|
- LAN_ip(): use standard macro from IPv4-in-IPv6 test
|
|
- get_close_nodes()/sendnodes()/sendnodes_ipv6(): when selecting for SEND_NODES/SEND_NODES_IPV6, treat embedded IPv4-in-IPv6 addresses as being IPv4
Messenger.c:
- added a named constant for sixty seconds friend/client dump
- fix logging to convert client_id to printable before printing
|
|
65536) friends...
|
|
|
|
|
|
Primary rationale: The part that DHT saves changes if IP is expanded to IPv6. To let people keep their friends/name, change the datafile format now, while everybody is still on the same page.
Loading/Saving rewritten to allow a part of the file to be incomprehensible to the loading routine.
Added a magic cookie at the beginning to mark the file as tox's.
Changes in some part of the datafile can be skipped and the remaining parts still be consumed.
Allows a wide margin of forward compatibility (like the IP to IPv6 transition, but also e.g. a change in the key format).
As long as the file is not completely garbled, the routine will read as much as possible. Only the KEY section is considered mandatory: a malformed key section leads to a negative result.
util.*:
- holds the driving function which jumps from section to section and calls back with section length and tag (type)
Messenger.c,DHT.*:
- new loading functions call the util-function with a callback, which subsequently consumes the sections
- old routines are kept to fall back onto if the magic cookie at the beginning isn't present
- saving is still done in one local routine
|
|
Nonces don't need to be random, only different.
also random_int now gives same quality random numbers for both NaCl and
libsodium.
|
|
|
|
messages.
|
|
Group chats are not complete, they seem to work very well though.
This means that the functions will change.
|
|
|
|
Please wait until the tox.h API is updated before integrating it into
your clients.
nTox:
/g
creates a new group chat
/i friendnum groupnum
invite friendnum to groupnum
/z groupnum message
send message to groupnum
NOTE: group chats currenly might not handle packet loss well if there are less than 6 participants.
|
|
Conflicts resolved:
toxcore/Messenger.c
toxcore/network.h
|