Age | Commit message (Collapse) | Author |
|
Various changes to nTox including a potential crash (also possible from remote!)...
|
|
|
|
|
|
remote!), and a tiny change to toxcore.
Crash stuff:
nTox.c:
- do_refresh(): avoid crashes (input a "%" and the client goes "boom!", send someone a string with embedded "%" and see him blow up...)
Other stuff:
toxcore: tox.h (doc.)/network.c (code):
- networking_wait_prepare(): return -1 if lenptr was NULL and therefore not settable
nTox.c:
- fraddr_to_str(): function to convert a TOX_FRIEND_ADDRESS into a segmented (and therefore line-breakable) string
- print_friendlist(): print index of friend on name line, print id on 2nd line
- command /f: skip spaces (and +) inside a friend id
- command /r (new): "/r #" to remove a friend
- main(): reduce cpu consumption if we're not currently sending files
|
|
|
|
|
|
group_namelistchange(): for gui reasons, divulge peernumber and change type
|
|
|
|
If the deleted peer wasn't last, send a name-change update for the overwritten peer.
|
|
|
|
nature of the change (add, del, name change).
tox.*, Messenger.*, group_chats.*:
- expand interface of callback by peernumber/change
groupchats.c:
- call callback in addpeer/delpeer/setnick with peernumber and flag
nTox.c:
- print_groupchatpeers(): print as many names on a line as possible, not one peer per line
- print_groupnamelistchange(): only print the change, if possible (i.e. "new peer", "peer's new name")
- added command "/p" to print the list of peers
|
|
|
|
|
|
|
|
|
|
|
|
Also increased ping timeout.
|
|
Added functions tox_count_chatlist and tox_copy_chatlist.
|
|
now proper. Also fixed tox_copy_friendlist.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|