Age | Commit message (Collapse) | Author |
|
These functions are akin to the tox_count_friendlist and tox_copy_friendlist, made available on the public API.
|
|
Significantly trimmed down version of an ID<=>IP cache.
|
|
Tolerate instable connectivity.
|
|
|
|
timeout (KILL_NODE_TIMEOUT), reset them all to BAD_NODE_TIMEOUT.
That keeps the client trying to at least ping the nodes in the hopes of the connection coming back up.
|
|
|
|
|
|
entries).
id_hash() was not at all working as expected for very small bucket size (when (size / 4) was zero). Simplified to be trivially correct.
Also added a used flag on adding an entry, which is set by callers if they have that association in active use. Those get priority over unused entries on collision.
Fleshed out test to be at least elementary useful.
Each group chat now uses an own, small assoc (80 entries).
|
|
On replacing a client with another, clear the stale association.
|
|
Besides acknowledging timeouts, the module isn't trying to do anything fancy with the data besides storing and retrieving.
|
|
Also check both associations for timeout, not just the incoming one.
Also removed client_in_list(): static & unused.
|
|
|
|
|
|
into FullName-group_peername
|
|
nTox: enforce friend name null termination, reduce memory loss, allow nickchange as oldname=>newname
|
|
(Seriously...)
group_chats.*:
- group_send_nick() to send own name
- setnick() to store a received name
Messenger.c:
- group_send_nick() before group_sendmessage() (in regular intervals, to inform new peers)
nTox.c:
- print_groupmessage(): on error or on a name of length zero the result of tox_group_peername() isn't null-terminated, catch that
|
|
|
|
|
|
- multiple places: tox_getname() doesn't terminate the string, make sure nTox does
- format_message():
. - renamed to print_formatted_message()
. - changed semantics: does the new_line() itself, saves caller from freeing the buffer (which no caller did)
. - changed signature: now also prints the friend's name when sending
. - intern: date is only printed once, the message line gets only time
- print_message(): enforce null termination
- main():
. - setlocale() to init locale (for date/time printing)
. - own name: ensure null termination
Messenger.c:
- notify of friend name change *before* the old name is overwritten
|
|
|
|
|
|
https://github.com/FullName/ProjectTox-Core into FullName-add2lists_forward
|
|
Unify most of handle_sendnodes[_ipv6]() into a common core.
|
|
handle_sendnodes_core(), leave only a minimal trail.
|
|
|
|
Avoids a DOS of sending a copy of a valid response with an invalid IP.
|
|
|
|
|
|
|
|
|
|
I'm sure nobody has any of the old save files anymore so I removed the
functions.
|
|
|
|
|
|
|
|
|
|
|
|
cleanup_unix_time_id_eq_cpy_is_timeout
Conflicts:
toxcore/net_crypto.c
|
|
unix_time():
- returns local value for current epoch
- value is updated explicitly with unix_time_update() called at new_DHT()/doMessenger()/do_DHT()
is_timeout():
- uses the local value for current epoch
id_cpy()/id_eq() => id_copy()/id_equal():
- centralized duplicate definitions
- replaced (most) memcpy()/memcmp() of (*, *, CLIENT_ID_SIZE) with id_copy()/id_equal()
|
|
|
|
|
|
|
|
|
|
https://github.com/FullName/ProjectTox-Core into FullName-Cleanup-defines
|
|
always off).
Additionally (besides cleanups):
network.h/tox.h:
- WIN32: fix a strange sa_family_t definition
- WIN32: define EWOULDBLOCK to WSAEWOULDBLOCK
- WIN32: kill macro for an existing function (IN6_ADDR_EQUAL)
network.c:
- use EWOULDBLOCK instead of EAGAIN (same value, but EWOULDBLOCK is more "popular")
- new_networking(): only try to enable IPv4-in-IPv6 if it's not already enabled per default
- inet_ntop()/inet_pton(): WIN32: remove partial initializers in favor of a simple memset()
- ip_equal(): WIN32: use an existing function
- logging: networking_wait_execute(): only dump result if not timeout
- logging: loglogdata(): kill an unused variable
LAN_discovery.c:
- send_broadcasts(): re-enabled, can only support IPv4 by principle, split into fetch_broadcast_info() (to fetch the addresses once) and send_broadcasts() (actual sending)
DHT.c:
- DHT_load_state_callback(): enclosed a fprintf(stderr, ...) into #ifdef DEBUG
Lossless_UDP.c:
- change_handshake(): harden against strange sa_family_t definitions
Messenger.c:
- logging: fix ID to string conversion
util.c:
- logging: eliminate a signed-warning
|
|
|
|
|
|
|
|
|
|
|
|
|