summaryrefslogtreecommitdiff
path: root/toxcore/net_crypto.c
AgeCommit message (Collapse)Author
2014-05-17add_tcp_relay_peer() can be used to add relays that we know thatirungentoo
peer is connected to. Some cleanups/fixes.
2014-05-17net_crypto now works again on pure UDP.irungentoo
2014-05-17Added a function to get the DHT public key stored in net_crypto.irungentoo
The DHT public keys in onion_client/net_crypto are synced and set to whichever is more recent. Tox peers now try to connect directly even when already connected with a TCP relay.
2014-05-17Net_crypto can now handle packets sent as TCP OOB packets.irungentoo
Added timestamp to know which DHT public key is good in case onion_client and net_crypto report different ones.
2014-05-17Changed cookie/cookie request packet.irungentoo
Cookie now contains the dht public key of the peer which makes more sense than including the real public key of the reciever. It means we no longer have to rely entirely on onion_client to find the dht public key of the other peer.
2014-05-16Fixed typo.irungentoo
2014-05-16Some TCP code added to net_crypto.irungentoo
add_tcp_relay() can be used to connect to some TCP relays. If both Toxes are connected to the same TCP relay(s) and create a connection on which they set the others dht_public_key, they will connect.
2014-05-15Fixed possibility that packet_send_rate would get stuck.irungentoo
2014-05-12Fixed some issues.irungentoo
Friends with multiple ips (on LAN) should be handled better. Remade the function to check the crypto connection status.
2014-05-11Fixed issue where callbacks were not set for accepted connection.irungentoo
2014-05-11Added kill packets.irungentoo
There should be no more delay between a peer closing their client and their friend being notified of them going offline. (unless the kill packet is lost)
2014-05-10Added basic congestion control to net_crypto.irungentoo
2014-05-09Fixed small issues.irungentoo
Added set_buffer_end(). File transfer test now checks if pieces arrive correctly.
2014-05-08Connection between toxes is lossless once again.irungentoo
2014-05-05Fixed bug.irungentoo
2014-05-04Added arrays to store packets on send/recv in net crypto.irungentoo
Wrote down more of the protocol. Padding support has been added and implemented which will make it possible for us to pad packets to mitigate length related attacks.
2014-05-03All time in core is now monotonic.irungentoo
2014-05-02Messenger now works with the new net_crypto api.irungentoo
Added callbacks in net_crypto for the data packets and status changes. Added onion_getfriend_DHT_pubkey to onion_client. Net crypto isn't done yet so connections between toxes are not lossless, this means file sending is broken hence why the test fails.
2014-05-02Move the handshake creating code to a function.irungentoo
Fixed another instance where it was not sent.
2014-05-02Fixed one case of the handshake not being sent.irungentoo
2014-05-02Small fixes.irungentoo
2014-05-02Remove Lossless UDP (This breaks Tox.)irungentoo
2014-05-01Protocol implementation is starting to look ok.irungentoo
Still need to decide exactly how data packets will work though.
2014-04-30Remove duplicates.irungentoo
2014-04-30Some more code written for the middle level protocol stuff.irungentoo
2014-04-30Added number to cookie request/response packets to prevent possibleirungentoo
DoS issue.
2014-04-29Some more work done on the middle network protocol.irungentoo
Handshake most likely has no more possible flaws to it, next thing to do is to do the same with the data packets. Wrote a couple more functions.
2014-04-28Added some functions to create/handle middle level protocol packets.irungentoo
2014-04-27Added raw UDP cookie request packet handler.irungentoo
2014-04-23Major cleanups.irungentoo
Fixed circular dependency between DHT and net_crypto: DHT no longer depends on net_crypto. Moved the crypto request packets functions to crypto core and DHT. Cleaned up/added some defines that can be used to get the true maximum length of things like the friends request message. MAX_DATA_SIZE has been replaced in most places by more appropriate defines.
2014-04-22Decided pretty much how the handshake would work.irungentoo
Started writing the code. Astyled some files.
2014-04-21Crypto related cleanups.irungentoo
Moved Bunch of functions from net_crypto to crypto_core. decrypt_data_fast and decrypt_data_symmetric were the same thing therefore, removed decrypt_data_fast. Replaced all the crypto_secretbox_* defines with the equivalent crypto_box_* one. New define: crypto_box_KEYBYTES that is equal to crypto_box_BEFORENMBYTES.
2014-04-18Added function to increment nonce by specified number.irungentoo
Nonces now behave like big endian numbers.
2014-03-15A bit of work done on the TCP relay server.irungentoo
2014-03-07Fixed some possible ways connections could linger indefinitely without being ↵irungentoo
killed.
2014-03-03Some small changes/fixes.irungentoo
Changed some timeouts and made cryptopacket_handle return correctly.
2014-01-17Incorporated onion into Tox.irungentoo
Fixed a couple of issues related to that.
2014-01-13Added functions to add/remove friends in onion_client.irungentoo
Added a tiny optimization to net_crypto.
2013-12-26It makes more sense for new_keys() to be in new_net_crypto()irungentoo
2013-12-21Removed upper size limit from encrypt and decrypt_data_symmetric.irungentoo
2013-12-12Fixed arm bug.irungentoo
2013-12-07Small fixes.irungentoo
2013-10-30Testing requests are now sent.irungentoo
2013-10-28Merge branch 'master' into hardenirungentoo
Also removed some old, useless loading code.
2013-10-27Cleaned up some code/fixed some warnings.irungentoo
I'm sure nobody has any of the old save files anymore so I removed the functions.
2013-10-25All modules using unix_time should run unix_time_update()irungentoo
2013-10-25For security reasons, keep memcpy's and memcmp's in crypto functions.irungentoo
2013-10-24Merge remote-tracking branch 'upstream/master' into ↵Coren[m]
cleanup_unix_time_id_eq_cpy_is_timeout Conflicts: toxcore/net_crypto.c
2013-10-24Move unix_time(), id_cpy()/id_eq(), is_timeout() to util.*Coren[m]
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()
2013-10-24Added symmetric crypto functions to net_crypto.irungentoo