summaryrefslogtreecommitdiff
path: root/toxcore
AgeCommit message (Collapse)Author
2013-11-27Fixed ghost peer problem.irungentoo
2013-11-27Various changes to nTox including a potential crash (also possible from ↵Coren[m]
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
2013-11-27Friend requests from friends are now discarded.irungentoo
2013-11-25Behaviour changes for the group chat callback.irungentoo
2013-11-25Merge pull request #663 from FullName/peerchange-detailirungentoo
group_namelistchange(): for gui reasons, divulge peernumber and change type
2013-11-25setnick(): don't callback when an identical nickname is set againCoren[m]
2013-11-25Mimic more exactly what delpeer() does in the callback.Coren[m]
If the deleted peer wasn't last, send a name-change update for the overwritten peer.
2013-11-24Fixed possible build problem.irungentoo
2013-11-24group_namelistchange(): for ui reasons, divulge the peernumber and the ↵Coren[m]
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
2013-11-24Fixed bug with group chats.irungentoo
2013-11-23Kill_messenger now kills group chats.irungentoo
2013-11-23Added callback that tells you when the peer name list of a group chat changes.irungentoo
2013-11-22Added function to get the number of peers and list of names for group chats.irungentoo
2013-11-21Speed up group chat bootstrapping by a bit.irungentoo
2013-11-21Group chat peers now tell others when they quit.irungentoo
Also increased ping timeout.
2013-11-19Merge pull request #656 from Jman012/masterirungentoo
Added functions tox_count_chatlist and tox_copy_chatlist.
2013-11-19Fixed a cuple stylistic bugs. Behaviour should be the same but the code is ↵Jman012
now proper. Also fixed tox_copy_friendlist.
2013-11-19Added null check to each chat before incrementing.Jman012
2013-11-19Fixed possible issue.irungentoo
2013-11-18Fixed a few typos.Jman012
2013-11-18Added functions tox_count_chatlist and tox_copy_chatlist.Jman012
These functions are akin to the tox_count_friendlist and tox_copy_friendlist, made available on the public API.
2013-11-18Merge pull request #650 from FullName/ID-IP-basicirungentoo
Significantly trimmed down version of an ID<=>IP cache.
2013-11-17Nodes now only send good nodes (or the node that was specifically asked for).irungentoo
2013-11-17Merge pull request #652 from FullName/reset_on_long_timeoutirungentoo
Tolerate instable connectivity.
2013-11-17Fixed segfault.irungentoo
2013-11-17Tolerate instable connectivity: if *all* set close nodes are in terminal ↵Coren[m]
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.
2013-11-16Fixed build error on windows.irungentoo
2013-11-16Send our name when someone new joins the group chat.irungentoo
2013-11-17Assoc's array is now allocated dynamically and per default much smaller (320 ↵Coren[m]
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).
2013-11-14Merge pull request #649 from FullName/DHT-client_id-change-wipe-other-addressirungentoo
On replacing a client with another, clear the stale association.
2013-11-14Significantly trimmed down version of an ID<=>IP cache.Coren[m]
Besides acknowledging timeouts, the module isn't trying to do anything fancy with the data besides storing and retrieving.
2013-11-14On replacing a client with another, clear the stale association.Coren[m]
Also check both associations for timeout, not just the incoming one. Also removed client_in_list(): static & unused.
2013-11-13IPv6 address of ::1 is local.Coren[m]
2013-11-12Cleaned up the code.irungentoo
2013-11-12Merge branch 'group_peername' of https://github.com/FullName/ProjectTox-Core ↵irungentoo
into FullName-group_peername
2013-11-12Merge pull request #645 from FullName/nTox-patchesirungentoo
nTox: enforce friend name null termination, reduce memory loss, allow nickchange as oldname=>newname
2013-11-12Group chat: Add a nickname message. Remove strange default nickname. ↵Coren[m]
(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
2013-11-11Fixed possible segfault.irungentoo
2013-11-11Merge remote-tracking branch 'upstream/master' into nTox-patchesCoren[m]
2013-11-11nTox.c:Coren[m]
- 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
2013-11-10Fixed small issues.irungentoo
DHT_test now only prints non zero entries.
2013-11-10Added more printing to DHT_test, fixed typo.irungentoo
2013-11-10Merge branch 'master' into hardenirungentoo
Conflicts: toxcore/DHT.c
2013-11-09Optimized data sending slightly more.irungentoo
2013-11-08Code cleanups.irungentoo
2013-11-07Merge branch 'add2lists_forward' of ↵irungentoo
https://github.com/FullName/ProjectTox-Core into FullName-add2lists_forward
2013-11-07Merge pull request #642 from FullName/dht_handle_sendnodes_unifyirungentoo
Unify most of handle_sendnodes[_ipv6]() into a common core.
2013-11-06Unify most of handle_sendnodes[_ipv6]() into a common ↵Coren[m]
handle_sendnodes_core(), leave only a minimal trail.
2013-11-06Behind #define LOGGING: Correct usage of now() to replacement unix_time().Coren[m]
2013-11-06addto_lists(): store the IP/Port that was used to *send*.Coren[m]
Avoids a DOS of sending a copy of a valid response with an invalid IP.