Age | Commit message (Collapse) | Author |
|
Added a recursive mutex to fix possible thread issues when the A/V
thread sends data at the same time as the main thread.
|
|
This new congestion control algorithm uses the increase in size
of the send queue to regulate how fast it sends data.
When tweaked it should work better than the old one.
|
|
|
|
|
|
send_lossy_cryptpacket() can get called from another thread meaning
the connection can be killed while the packet is sending.
|
|
|
|
|
|
|
|
|
|
carry it.
|
|
|
|
Fixed possible thread bug with sending A/V packets.
TODO: eventually make toxcore thread safe.
|
|
|
|
|
|
|
|
File transfers got stuck because it was too low.
|
|
Data sent as lossless or lossy is now padded with:
((MAX_CRYPTO_DATA_SIZE - data_length) % CRYPTO_MAX_PADDING) bytes
in order to reduce the possibility of length related attacks.
I set CRYPTO_MAX_PADDING to 8 but it can be changed anytime without
breaking network compatibility between tox cores.
|
|
|
|
transferring files on wireless networks.
|
|
tox_do_interval now returns a time in ms based on how much action
is going on in net_crypto.
|
|
needs testing
|
|
|
|
the Tox connection.
A/V should now work over TCP.
|
|
Friends can now exchange TCP relay addresses so that they can
connect together.
Currently all bootstrap nodes are treated as TCP relays.
|
|
peer is connected to.
Some cleanups/fixes.
|
|
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.
|
|
Added timestamp to know which DHT public key is good in case
onion_client and net_crypto report different ones.
|
|
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.
|
|
|
|
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.
|
|
Friends with multiple ips (on LAN) should be handled better.
Remade the function to check the crypto connection status.
|
|
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)
|
|
|
|
Added set_buffer_end().
File transfer test now checks if pieces arrive correctly.
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
Still need to decide exactly how data packets will work though.
|
|
|
|
DoS issue.
|
|
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.
|
|
Fixed some issues.
|
|
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.
|
|
Started writing the code.
Astyled some files.
|
|
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.
|
|
Nonces now behave like big endian numbers.
|
|
|
|
Conflicts:
toxcore/DHT.c
|