Age | Commit message (Collapse) | Author |
|
(Note to self: make clean is your friend. Those extra seconds are well spent.)
|
|
- 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.
|
|
Patch to allow DHT_bootstrap to also do LAN discovery.
|
|
Conflicts resolved:
toxcore/Messenger.c
toxcore/network.h
|
|
Conflicts:
toxcore/Messenger.c
|
|
|
|
This patch inserts LAN discovery in DHT_bootstrap, allowing it to find clients even if it's run parameterless (and clients don't connect to it directly, e.g. because the port is already bound to a different client).
- moves the #define of LAN_DISCOVERY_INTERVAL from Messenger.c to LAN_discovery.h
- includes LAN_discovery.h into DHT_bootstrap.c
- DHT_bootstrap.c sends and accepts LAN_discovery packets
|
|
- addr_resolv(_or_parse_ip)(): added an optional parameter to return both an IPv6 and an IPv4 address if requested address family was AF_UNSPEC
- logging of unhandled packets
DHT.c:
- bootstrap_from_address(): use the additional return from addr_resolv_or_parse_ip() to bootstrap in both network types at once
Lossless_UDP_testclient.c:
- main(): adapt to signature change of addr_resolve()
Messenger.c. LAN_discovery.h:
- lost a htons(), readded
- moved LAN_DISCOVERY_INTERVAL #define into LAN_discovery.h
LAN_discovery.c:
- added IPv4-in-IPv6 local address test
|
|
- remove local PORT definition in favor of TOX_PORT_DEFAULT
|
|
- #define'd tox's network port (as range)
- finally killed tox_new_ex() in favor of changing tox_new()'s signature
- renamed tox_bootstrap() to tox_bootstrap_from_ip()
network.h:
- #define'd tox's network port (as range)
- renamed SEND_NODES_EX to SEND_NODES_IPV6
- bind() loop uses #define'd port range
DHT.c:
- renamed SEND_NODES_EX to SEND_NODES_IPV6
- sending ipv6 node addresses even if can't use them ourselves
nTox.c:
- adapted to changed tox_new()
|
|
- correct a message who claims we're going to exit when we actually aren't
- don't treat a failed close on reading the data file as failure of the reading
|
|
|
|
|
|
- don't claim "Added friend" per default, check for returned ID first
- on '/q' SAVE... else everything but the keys is lost on each restart
- for that, split load_key() into load_data() and save_data()
- announce own nickname on startup
|
|
- removed almost unused variable without further use
|
|
- unbroke Messenger_load(): lost a length adjustment
- addeditional check for enough data available
|
|
- tox_bootstrap_ex(), DHT_bootstrap_ex() renamed to tox_bootstrap_from_address(), DHT_bootstrap_from_address()
- (handle_)sendnodes_ex() renamed to (handle_)sendnodes_ipv6()
- only sending sendnodes_ipv6() if we're actually IPv6 enabled
- changed comments to conform better
nTox.c, Messenger_text.c, DHT_test.c, DHT_bootstrap.c:
- fallout from *_ex() to *_from_address()
DHT_bootstrap.c:
- corrected a potentially wrong info message
util.c:
- fixed logfile name: now (funcptr) => now() (number)
network.c:
- addead comment about the necessity of bind() to succeed
auto_test/messenger_test.c:
- defaulting ipv6enabled to TOX_ENABLE_IPV6_DEFAULT
LAN_discovery.c:
- slight cleanup and comments for clarity
|
|
|
|
- undo "fixing" the wrong variable
- fix the logging in receivepacket()
|
|
- moved cmdline_parsefor_ipv46() to testing/misc_tools.c
|
|
|
|
LAN_discovery.c: IPv6: send both v6 multicast and v4 broadcast if socket allows
|
|
- add missing includes (autobuild warnings)
|
|
- reset errno from failed bind() calls if the last one succeeds
DHT_bootstrap.c:
- move the perror() output next to where it belongs to
|
|
|
|
|
|
|
|
|
|
- return to the caller if the string could be resolved into an IP
other/DHT_bootstrap.c, testing/*_test.c, testing/nTox.c:
- parse cmdline for --ipv4/--ipv6 switch to allow user a choice
util.h:
- proper old-style C-comment
|
|
|
|
|
|
- client_in_list: split loop in two to avoid inserting a client_id duplicate
- final pieces for IPv6 expansion: (handle_)sendnodes_ex(), called from hande_getnodes() resp. handler callback
|
|
|