summaryrefslogtreecommitdiff
path: root/toxcore/DHT.h
AgeCommit message (Collapse)Author
2018-07-05Make tox.c unambiguously parseable.iphydf
Rules: 1. Constants are uppercase names: THE_CONSTANT. 2. SUE[1] types start with an uppercase letter and have at least one lowercase letter in it: The_Type, THE_Type. 3. Function types end in "_cb": tox_friend_connection_cb. 4. Variable and function names are all lowercase: the_function. This makes it easier for humans reading the code to determine what an identifier means. I'm not convinced by the enum type name change, but I don't know a better rule. Currently, a lot of enum types are spelled like constants, which is confusing. [1] struct/union/enum
2018-06-24Add Logger to various net_crypto functions.iphydf
In preparation for adding log statements. Also, fix an uninitialised variable warning in cppcheck.
2018-05-20Finish @Diadlo's network Family abstraction.iphydf
The Family stuff in toxcore is a big mess. I'm sure I saw a bunch of bugs on the way, but I'm not verifying that code now, so the bugs stay.
2018-03-16Move struct DHT_Friend into DHT.c.iphydf
2018-02-18Use `const` more in C code.iphydf
2018-01-16Make DHT a module-private type.iphydf
2018-01-16Make pack/unpack_ip_port public DHT functions.iphydf
These will be needed for new group chats.
2018-01-14Use apidsl to generate ping.h.iphydf
The ping.api.h file looks rather ugly, but it works. This is an exercise in finding the complete set of use cases needed from apidsl for toxcore. We'll try to make things work as much as possible, and then make apidsl better and make the .api.h files pretty.
2018-01-13Make Ping_Array a module-private type.iphydf
2017-08-24Remove useless 'to_net_family' and 'to_host_family'Diadlo
2017-08-24AF_INET -> TOX_AF_INETDiadlo
2017-06-05Change return type to be the same as return value typeDiadlo
Return value of 'addto_list' function is 'used' counter, which is uint32_t. It will be better to use the same return type.
2017-06-05Extract SharedKey struct and use it as var instead of indexingDiadlo
2017-02-26Add part of platform-independent network API implementationDiadlo
socket -> net_socket htons -> net_htons htonl -> net_htonl connect -> net_connect sendto -> net_sendto_ip4 getaddrinfo -> net_getipport sa_family_t -> Family
2017-01-19Update license headers and remove redundant file name comment.iphydf
"All rights reserved" was incorrect. The project was licensed under GPL3, which means a lot of rights are licensed to everybody in the world, i.e. not reserved to the "Tox Project".
2016-12-22Wrap all sodium/nacl functions in crypto_core.c.iphydf
2016-11-24add NAT hole punching level to Tox APIGregory Mullen (grayhatter)
2016-11-06Remove assocendoffile78
2016-11-03Move packing and unpacking DHT request packets to DHT module.iphydf
These definitely don't belong in a module called "crypto core". The DHT module seems like the best place to put them, since they are sent to DHT nodes.
2016-09-16Ensure that all TODOs have an owner.iphydf
In the future, all TODOs added either need a bug number (TODO(#NN)) or a person's github user name. By default, I made irungentoo the owner of all toxcore TODOs, mannol the owner of toxav TODOs, and myself the owner of API TODOs.
2016-09-13Use <stdbool.h> and replace _Bool with bool.iphydf
This header is a requirement for the public API, therefore is assumed to exist. It is a C99 standard library header, and _Bool is not intended to be used directly, except in legacy code that defines bool (and true/false) itself. We don't use or depend on such code. None of our client code uses or depends on such code. There is no reason to not use bool.
2016-09-06Make friend requests statelessGregory Mullen (grayhatter)
Messenger is slightly twisty when it comes to sending connection status callbacks It will very likely need at the very least a partial refactor to clean it up a bit. Toxcore shouldn't need void *userdata as deep as is currently does. (amend 1) Because of the nature of toxcore connection callbacks, I decided to change this commit from statelessness for connections changes to statelessness for friend requests. It's simpler this was and doesn't include doing anything foolish in the time between commits. group fixup because grayhatter doesn't want to do it "arguably correct" is not how you write security sensitive code Clear a compiler warning about types within a function.
2016-08-27Move logging to a callback.iphydf
This removes the global logger (which by the way was deleted when the first tox was killed, so other toxes would then stop logging). Various bits of the code now carry a logger or pass it around. It's a bit less transparent now, but now there is no need to have a global logger, and clients can decide what to log and where.
2016-01-04DHT improvements part 1.irungentoo
2015-12-16Slightly increase ping timeout.irungentoo
2015-12-16Improved the to_ping list.irungentoo
2015-12-15More efficient DHT searching.irungentoo
2015-12-11DHT improvements.irungentoo
Feed better nodes to onion, bootstrap off close clients when DHT friend is added.
2015-08-07Removed a useless define.irungentoo
2015-07-30client_id -> public_keyirungentoo
2015-07-29client_id -> public_keyirungentoo
2015-07-28client_id -> public_keyirungentoo
2015-07-27client_id -> public_keyirungentoo
2015-07-25Comment fix.irungentoo
2015-07-15Added function to help calculate size of packet nodes.irungentoo
2015-06-26Some comment fixes.irungentoo
2015-06-07Don't bootstrap to all loaded nodes at once.irungentoo
2015-06-06Save DHT nodes in a smarter way.irungentoo
2015-01-29Code cleanups.irungentoo
Rename array in Node_format from client_id to public_key.
2015-01-02Removed useless function.irungentoo
2014-12-31Check if received ip family is valid for the onion packets.irungentoo
2014-12-30Remove useless code.irungentoo
2014-11-21Cleaned up packet length types in toxcore.irungentoo
They are now all uint16_t instead of sometimes being uint32_t. Replaced some other uint32_t with unsigned ints.
2014-09-27Moved all the connection stuff from messenger to friend_connection.irungentoo
Messenger was doing way do many things. friend_connection takes care of finding and establishing a connection to friends.
2014-09-26Added callbacks to onion_client and net_crypto for the temp dht key.irungentoo
Better than the polling mess. Moved DHT to Messenger from onion_client (still needs some cleanups).
2014-09-26Added callbacks to DHT called when the ip of a peer is discovered.irungentoo
2014-09-26DHT can now be used for group chat cons and friend cons at the same time.irungentoo
2014-09-25More groupchats code written.irungentoo
2014-09-25Removed now useless atributes from structs.irungentoo
2014-09-12Removed tox_connect, initial connections are made on first tox_dosaneki