Tox Rs Tox Versions Save

toxcore implementation in Rust

v0.2.0

1 year ago
  • Update dependencies (#445, #454, #456, #459, #460, #463, #465, #467)
  • Use pure rust cryptography instead of libsodium (#446, #447, #449, #450, #452, #453, #455)
  • Resolve dependency cycle between modules (#448)
  • Use thiserror instead of unmaintained failure (#457)
  • Merge tox_node and tox repositories (#466)
  • Fix deadlocks (#461, #464)

v0.1.1

3 years ago
  • Fix bug in k-bucket eviction (#443)
  • Code cleanup (#441, #442)
  • Implement k-tree with force-k modification (#436)

v0.1.0

3 years ago
  • Replace parking_lot mutex with futures mutex (#434)
  • Send userstatus from echo server (#431)
  • Drop MIT license (#428)
  • Use idiomatic sodiumoxide API for password KDF (#425)
  • Split toxcore into separate crates (#420)
  • Migrate to the new tokio (#419)
  • Move to nom5 (#418)
  • Replace intervals as bare u64s with Durations (#407)
  • Use AtomicU64 instead of locks (#406)
  • Handle TCP net_crypto packets (#392)
  • Use correct key for tcp connection (#391)
  • Add TCP support for onion client (#389)
  • Send net crypto packets via TCP (#386)
  • Handle friend requests inside onion client (#380)
  • Friends connection (#367)

v0.0.10

4 years ago
  • Do not store peer_session_pk in net crypto status (#373)
  • Re-grouping file transfer packets from messenger (#371)
  • Add ser/de for Conference packets (#356, #358)
  • Properly increase unsuccessful attempts counter in tcp client (#369)
  • Add .editorconfig (#366)
  • Implement onion client (#312)
  • Refactor send timeouts (#365)
  • Fix overflow in the netcrypto stats calculation (#364)
  • Add macros for errors (#357)
  • Add "new" method to DhtPkAnnouncePayload (#351)
  • Add function to kill a crypto connection (#350)
  • Add method to get random nodes from fake friends (#349)
  • Store both IPv4 and IPv6 addresses in the crypto connection (#347)
  • Add function to set friend's IP address (#346)
  • Handle incoming crypto handshake (#345)
  • Add function to add a new net crypto connection (#344)
  • Add function to get random relays we are connected to (#343)
  • Add method for sending lossless packet (#340)
  • Handle CryptoData packet (#342)
  • Add encrypt/decrypt functions to InnerOnionDataRequest (#341)
  • Adjust RequestQueue so that it can be used for onion client (#338)
  • Add ser/de for Messenger::FileSendRequest (#331)
  • More generic KbucketNode (#339)
  • Reduce the number of tokio deps (#337)
  • Do not replace a friend with empty struct after readding (#332)
  • Add ser/de for MSI packet (#313)
  • Fix wrong keys being used for net crypto handshake (#329)
  • Add ser/de for Onion::FriendReq (#324)
  • Do not send the same packet to the same node twice (#323)
  • Add ser/de for Messenger::StatusMessage (#316)
  • Add ser/de for Messenger::Typing packet (#318)
  • Add packet for DHT PK announcing (#321)
  • Add ser/de for Messenger::UserStatus packet (#317)
  • Unify IpPort structs (#322)
  • Add ser/de for Messenger::Message packet (#319)
  • Add ser/de for Messenger::Action packet (#320)
  • Add ser/de for Messenger::FileControl packet (#315)
  • Add ser/de for Messenger::FileData packet (#314)
  • Add function for unbiased random numbers (#309)
  • Unify kbucket with nodes queue (#310)

v0.0.9

5 years ago
  • Add dht::MAIN_LOOP_INTERVAL const (#304)
  • Update parking_lot and env_logger deps (#303)
  • Do not require exact minor version of the deps (#301)
  • Remove useless logs from dht::Server::handle_packet (#300)
  • Add timeout for the TCP handshake (10 seconds) (#299)
  • Use impl Future instead of IoFuture (#295)
  • Move to Edition 2018 (#298)
  • Add limit for TCP connections count (#297)
  • Use failure crate in lan_discovery with Error-ErrorKind pattern (#285)
  • Relax assert rule for floats to avoid sporadic test failures (#296, #302)
  • Fix crash on invalid DHT packets (#294)

v0.0.8

5 years ago
  • Update the onion proposal link (#292)
  • Use assert_eq and assert_ne whenever possible (#290)
  • Use impl Future instead of IoFuture (#291)
  • Fix clippy warnings (#288)
  • Add crypto_init() to all tests (#281)
  • Add ConnectionId for TCP packets as separate type (#287)
  • Handle reconnections inside tcp_server correctly (#286)
  • Remove unused variable is_hole_punching_enabled (#282)
  • Update GitlabCI to use new libsodium (#283)
  • Use O(1) links in tcp_client (#280)
  • Index server links with O(1) (#261)
  • Add ServerExt for running DHT server on UdpSocket (#278)
  • Implement congestion control for net_crypto (#271)
  • Use bounded stream instead of unbounded (#277)
  • Add zerho.info to copyrights (#275, #276, #284)
  • Remove all unsafe code from sodiumoxide (#274)
  • Implement a core for TCP client (#255)
  • Fix 'Address already in use' in tests (#272, #273)
  • Update sodiumoxide to v0.2 (#160)
  • Speed up TravisCI (remove cache) (#269)
  • Add counters for TCP and UDP packets (#268)
  • Use crate failure (#265, #270, #267, #289)
  • Add tox-rs logo to the documentation (#263)
  • Use PrecomputedCache to speed up crypto (#257)
  • fix verifing commit message script for Travis-CI on Github (#260)
  • Change kpp AppveyorCI to org:tox-rs/tox (#262)
  • Fix unlinking TCP clients in server on shutdown (#258)
  • Fix NLL warnings (#256)

v0.0.7

5 years ago
  • Fix connection_id verification in tcp_server (#253)
  • Silence wrong ping_id error in NodesResponse (#252)
  • Silence onion_return decrypt errors (#251)
  • Add DHT packet handler to be handled in client only (#250)
  • Ignore client shutdown errors in tcp_server (#248)
  • Move connection_id validation to parsers in tcp_server (#247)
  • Temporary disabling hanging tcp test (#246)
  • Add parser for Hardening DhtRequest (#245)
  • Verify length of incoming BootstrapInfo packet (#243)
  • Add unparsed buffer to codecs' errors (#242)
  • Use crate failure for toxencryptsave (#241)
  • Fix broken tcp test due to tokio update (#240)
  • Use crate failure for Codec and ServerExt (#239)
  • Use callback to get the message of the day (#238)
  • Remove linkage from client when closing a client (#237)
  • Remove redundant tcp Server::Client::send_impl (#235)
  • Merge ServerProcessor with ServerExt (#234)
  • Do not return an error if tcp connection by id was not found (#233)
  • Reenable clippy and unused_parens warnings (#232)
  • Add dummy implementation of TcpConnection (#231)
  • Get rid of crate quickcheck (#230)
  • Don't validate PublicKey in parsers due to bug in c-toxcore (#228)
  • Use tokio::spawn to run TCP connections (#227)
  • Remove dht_old/ (#226)
  • Add test for status of established connection in net_crypto (#225)
  • Ipv6Addr/Ipv4Addr parsing optimization (#224)
  • Fix clippy warnings (#223)
  • Add parser for Nickname packet for Messenger (#222)
  • Give appropriate names to the bucket and kbucket (#221)
  • Validate PublicKey when parsing (#220)
  • Add tests for Packet for FriendConnection (#219)
  • Add parser of Offline packet for Messenger (#218)
  • Refactor onion to use Server::get_closest (#217)
  • Simplify dht node, fix IPv6 issues (#216)
  • NodesQueue stores PackedNodes(#215)
  • parser for Online packet for Messenger (#214)

v0.0.6

5 years ago
  • Fill node_to_bootstrap of friend with close nodes (#212)
  • Parse packet type FriendRequests (#211)
  • Add parameter for eviction strategy (#210)
  • Speed up 'cargo test' for tcp (#209)
  • Simplify constructor of Kbucket (#207)
  • Refactor SockAndTime struct (#206)
  • Parse packet type ShareRelays (#205)
  • Add fake friends to DHT (#204)
  • Handle all connections in ServerExt::run (#203)
  • Renaming and minor refactoring (#202)
  • Parse packet type Alive (#201, #208)
  • Treat IPv4 and IPv6 addresses of same node as they belonged to different nodes (#200)
  • Fix Appveyor to download libsodium v1.0.16 (#198)
  • Remove pub from DHT Server::try_add_close_nodes (#197)
  • Remove take_while while bootstrapping from nodes (#196)
  • Avoid issues with floating point arithmetic (#195)
  • Fix log for TCP server (#194)
  • Bootstrap from bootstrap nodes when all nodes in Kbucket are discarded (#192)
  • Limit bootstrap nodes of friend instead of close nodes (#191)
  • Use cargo-clippy instead of deprecated clippy plugin (#189)
  • Fix clippy warnings (#188, #190)
  • Fix add overflow in DHT server (#187)
  • Get closest global IP in OnionAnnounce (#187)
  • Improve DHT tests (#186)
  • Relicense to MIT/GPLv3+ (#185)
  • Fix hole punching (#183, #193)
  • Simplify example and synchronize it with tox-node (#182)
  • Use DhtNode instead of PackedNode (#181)
  • Update the status of the project (#180)
  • Send periodic pings in TCP server (#178)
  • Fix binary search in Kbucket (#177)
  • Add crypto_core::random_usize (#176)
  • Add mutable iterator for Kbucket (#175)
  • DHT refactoring, NAT fixes, improve ping sender (#174, #179, #193)
  • Set onion sink for DHT Server via setter (#173)
  • Poll Future in PingSender::try_add (#172)
  • Fix IPv6 in DHT (#171)
  • Add TCP:ServerExt to serve each TCP connection (#170)
  • Do not send LAN IPs in NodesResponse (#168)
  • Optional LanDiscovery for DhtNode (#167)

v0.0.5

5 years ago
  • DHT refactoring, move periodic tasks from example into lib code (#161)
  • Update the deps of the project (#159)
  • Refactor old state_format, save/load DHT state from raw bytes (#158)
  • Setup code coverage for gitlab CI (#157)
  • Do not fall on invalid DHT packets (#156)
  • Update minimal rustc version to 1.25 (#155)
  • Migrate to cloc from tokio_timer (#154)
  • Add Ping iterator (#151)
  • Implement CryptoData handling (#150)
  • Separate ClientData from DhtNode (#147)
  • Implement CI on Travis for OsX (#145)
  • Add Good and Bad status of a dht node (#144)
  • Use correct IPv6 broadcast address (#143)
  • Unify send functions, do not layer errors, set tcp onion sink in separate method (#143)
  • Implement Net crypto handshake (#142)
  • Update the status of the project (#140, #148)
  • Fix the mechanism of verification commit messages in gitlab (#139)
  • Add BootstrapInfo handler (#138)
  • Fix type of DHT handle_packet function (#136)
  • Prettify code a little bit in DHT module (#133)
  • Implement Hole Punching and NatPing (#132)
  • Add parsing for net crypto packets: CookieResponse, CryptoHandshake and CryptoData (#131)
  • Add sha512 to cryptocore, refactor crypto core a little bit (#130)
  • Implemented CI for gitlab for Linux and Windows (#129)
  • Use constant keypair in example dht node (#128)
  • Fix length of payloads in docs (#126, #127)
  • Fix serialization of NodesResponsePayload (#126)
  • Add DhtPkAnnounce payload to DhtRequest packet (#125)
  • Add "onion" prefix to announce request/response (#123)
  • Use crate hex instead of deprecated rustc-serialize (#122)
  • Add IpPort::protocol to onion::IpPort (#119)
  • Update minimal version of Rust to 1.24.0 (#118)
  • Add full NodesRequest example (#117)
  • Handle DHT onion packets that should be redirected to TCP (#116)
  • Fix OnionRequest and OnionResponse packets in TCP module (#115)
  • Update the version of cookie-factory (#114)
  • Add sender's address to onion sink (#113)
  • Move to our IoFuture since it is going to be deprecated in tokio (#112)

v0.0.4

6 years ago
  • Implement OnionAnnounce struct (#77)
  • Use InnerOnionResponse as onion response payload (#85)
  • Handle onion request/response packets in DHT Node (#88)
  • Handle OnionAnnounceRequest/OnionDataRequest packets (#106)
  • Add sender's address to TCP's onion sink (#113)
  • Update TCP onion packets (#115)
  • Migrate to parking_lot::RwLock instead of std (#82)
  • Refactor DHT Node, remove client struct (#96)
  • Fix "Decrypting DhtRequest failed" (#102)
  • Add TCP Relay client connection (#10)
  • Improve TCP Relay tests (#103)
  • Add hash of pings to DHT server (#98)
  • Fix ".ping_id does not match" (#86, #87)
  • Migrate to tokio-timer v0.2 (#108)
  • Remove timedout clients from DHT Node (#73)
  • Remove useless union value from decryption errors (#110)
  • Implement Lan Discovery handler (#71, #78)
  • Split Onion, TCP, DHT Packet into multiple files (#72, #83, #109)
  • Move to our IoFuture since it is going to be deprecated in tokio (#112)