Commit Graph

212 Commits

Author SHA1 Message Date
Dave Hrycyszyn 8baa236d81 Feature/wasm js demo (#191)
* Moved `nym-sphinx-wasm` into `wasm` folder and renamed its examples

* A proposal for some structural cleanup

* desktop client: beginning of a Rust example for chunking.

* Simplifying desktop client readme

* Tarting up webassembly README

* A more visual webassembly client example

* clients/webassembly: grouping a few things into named functions for clarity

* clients/webassembly: put URLs at top of file, prepping for drop-down action

* mixnode + provider run: changed startup error messages a bit

* clients/webassembly: scrolling from the bottom in the demo
2020-04-21 10:05:38 +01:00
Jędrzej Stuczyński 4af5788bba Feature/limit direct sphinx dependency + remove direct curve25519 dependency from wasm client (#189)
* Initial set of re-exported sphinx types and constants

* Removed direct sphinx dependency from healthchecker

* Crypto module

* nym-client no longer needing sphinx

* All common modules

* mix-client until removed

* Sfw-provider no longer depending on sphinx crate

* Mixnode no longe depending directly on sphinx crate

* Ibid. for sfw-provider-requests

* Corrected import inside nymsphinx itself

* wasm client no longer needing direct sphinx dependency

* Required gateway change due to re-exporting constants in one place

* Missing import path changes in tests

* Removed direct dependency on curve25519 from wasm client

* Lock file changes
2020-04-20 16:59:51 +01:00
Jędrzej Stuczyński fda308694e Feature/very minor refactoring (#188)
* log statement for forwarding traffic

* Mixnode logging intent to forward packet

* Presence logging level decrease + making things less public

* Default adjustments + human readable equivalents in comments

* Do not immediately refresh topology on start
2020-04-17 18:59:22 +01:00
Dave Hrycyszyn bf2ff5cd78 Ditching comment that told me where to start work one morning. 2020-04-17 10:33:40 +01:00
Dave Hrycyszyn d3bb0b216d nym-sphinx-wasm: using the Try that was already available and reverting foolish change to public API of addressing/nodes 2020-04-17 10:28:10 +01:00
Dave Hrycyszyn d7150cfa58 nymsphinx: re-exporting NODE_ADDRESS_LENGTH so gateway can use it 2020-04-16 20:57:53 +01:00
Dave Hrycyszyn d8776d35ca Merge branch 'develop' into feature/nym-sphinx-wasm 2020-04-15 17:44:47 +01:00
Jędrzej Stuczyński dfefd2383e Improvements to sfw-provider - client communcation (#180)
* Moved auth_token to seperate file

* Extracted check_id as separate type

* Changes due to move of auth_token and making provider client mutable

* New way of serialization provider requests/responses

* Initial attempt of using new provider client

* Moved requests and responses to separate modules

* Moved serialization to separate  files

* Extracted readers and writers to io related modules

* Extra tests + bug fixes

* Updated tokio dependency to require correct features

* typo

* Easier conversion of requests/responses into enum variants

* Renamed 'read_be_u16' to better show its purpose

* Serialization related tests and fixes

* Tests for async_io + fixes

* Future considerations

* Configurable max request size

* Configurable max response size for client

* Removed debug drop implementations

* Removed debug print statement

* Changes to lock file

* Added license notifications

* Cargo fmt
2020-04-15 17:37:24 +01:00
Dave Hrycyszyn 7088fb3ffc Upgraded all Sphinx commits to latest. 2020-04-15 13:08:31 +01:00
Dave Hrycyszyn 53c1aaa256 nymsphinx: adding wasm-bindgen feature to rand crate 2020-04-15 12:54:44 +01:00
Dave Hrycyszyn 3c8aad49fc Updated all uses of ed25519-dalek to 2.0.0 so that wasm-pack build works 2020-04-09 17:20:22 +01:00
Dave Hrycyszyn 0d33d35437 nym-sphinx-wasm: updating to latest Sphinx 2020-04-09 16:41:01 +01:00
Dave Hrycyszyn 213fd12ff7 nym-sphinx-wasm: broken WIP commit so the Stuczynski can be unleashed 2020-04-09 15:12:31 +01:00
Dave Hrycyszyn 3f06ccc36b Adding Apache 2 license headers to all files (#178) 2020-04-09 11:24:24 +01:00
Dave Hrycyszyn d47f0be2f2 Bumping version numbers 2020-04-07 17:29:46 +01:00
Jędrzej Stuczyński 3b6110a42e Feature/tcp client connection timeout (#176)
* Added timeout values to configs

* Fixed possible crash when using delay larger than 2 years

* Connection timeout with hardcoded value

* Using provided timeout value

* tcp client requiring timeout value at construction

* Client using updated tcp client

* Mixnode using updated tcp client

* Healthchecker having separate timeout + new client config field

* Updated validator with connection timeout field

* Added connection_timeout to validator config template
2020-04-07 15:50:23 +01:00
Jędrzej Stuczyński f03101cc0b Preventing multiplication overflow for reconnection backoff (#174)
* Preventing multiplication overflow for reconnection backoff

* Check for addition overflow + helpful-ish error message

* Not resetting delay twice

* Lowered healtcheck reconnection backoff to something way more reasonable but still impossible to reach
2020-04-07 11:02:00 +01:00
Jędrzej Stuczyński b564cd935e Feature/addressing move (#169)
* Moved 'addressing' to nymsphinx + slightly better API + tests

* Replaced all usages of above in the project

* Removed 'split_and_encapsulate_message' from chunking API to get rid of circular dependency + to prefer usage of TopologyAccessor

* changes in Cargo.lock

* formatting
2020-04-03 15:07:02 +01:00
Jędrzej Stuczyński d02e248328 Bugfix/closing tcp client connections on drop (#167)
* Filtering out early eof errors

* Wrapping ConnectionManager in Abortable

* Decreased pathchecker logging level

* Client aborting all connection futures on drop

* Moved AbortHandle to connection_managers HashMap to couple them closer together
2020-04-02 15:38:21 +01:00
Jędrzej Stuczyński 425746e215 Feature/minor healthchecker improvements (#165)
* Integrated new tcp client into healthchecker

* Printing detailed healtcheck score if in debug

* Decreased logging level for when establishing new connection

* Slightly better formatting for printing healthcheck scores
2020-04-01 12:19:39 +01:00
Jędrzej Stuczyński aee3286793 Feature/packet chunking (#158)
Basic support for message chunking and reconstruction. It's now possible to take arbitrarily-sized input and send it through the mixnet. The sending Nym client will automatically chunk the input into Sphinx packets, and the receiving Nym client will then reconstruct the message at the other end.
2020-03-31 16:00:41 +01:00
jstuczyn 81ac2b97f4 Added a very important note : ) 2020-03-16 17:04:48 +00:00
jstuczyn a44272be60 Restored previously commented out tests 2020-03-16 17:04:37 +00:00
jstuczyn 3b2461080c Changed the multi-tcp client to have an option to wait for an error response 2020-03-16 17:04:26 +00:00
jstuczyn 270d7567df Merge branch 'develop' into feature/concurrent_connection_managers 2020-03-16 15:08:36 +00:00
Dave Hrycyszyn ebd2c25d60 Merge branch 'develop' into feature/add-http-interface 2020-03-16 13:54:38 +00:00
Dave Hrycyszyn e76fc79a33 Getting initial REST API working 2020-03-16 13:18:07 +00:00
Jedrzej Stuczynski 0546c561a9 Actually fixed tests this time 2020-03-13 16:50:30 +00:00
Jedrzej Stuczynski 72ed65dc5f Fixed broken tests 2020-03-13 16:46:18 +00:00
Jedrzej Stuczynski b8bd872cdf ibid. 2020-03-13 16:46:12 +00:00
Jedrzej Stuczynski 3ade837579 Added location to CocoPresence 2020-03-13 16:46:04 +00:00
Jedrzej Stuczynski 78e1f916f2 Updated presence information with location 2020-03-13 16:33:50 +00:00
Jedrzej Stuczynski b99a52bc1b Removed oversensitive logging messages 2020-03-13 12:18:54 +00:00
Jedrzej Stuczynski 1271d6c1f5 Comment regarding future work on getting possible responses back to the callee 2020-03-13 09:36:14 +00:00
Jedrzej Stuczynski 7143ab9b53 Changed connection manager to be accessed via a channel 2020-03-12 16:23:47 +00:00
Jedrzej Stuczynski 8279efb684 Exposed methods 2020-03-12 16:22:40 +00:00
Jedrzej Stuczynski f00bc5a3d1 Moved the error reader level up 2020-03-12 16:22:18 +00:00
Jedrzej Stuczynski 51ae70c02b Simple connection error listener 2020-03-12 11:16:00 +00:00
Jedrzej Stuczynski f73d6371d2 Made clippy happier 2020-03-05 15:18:07 +00:00
Jedrzej Stuczynski 8b90953ae0 Allowed used of deprecated function inside a deprecated function 2020-03-05 15:07:33 +00:00
Jedrzej Stuczynski 9eae7a23ce Significantly reduced number of calls to clone topology 2020-03-05 14:59:55 +00:00
Jedrzej Stuczynski 374da49bcd Initial version of nym-client using persistent tcp connections
Not yet fully refactored
2020-03-05 12:54:17 +00:00
Jedrzej Stuczynski a411dec540 Client changes due to updates in sphinx 2020-03-03 10:23:55 +00:00
Jedrzej Stuczynski 20f2f1e04f Updated mockito to fix build issues 2020-03-03 10:21:58 +00:00
Jedrzej Stuczynski 3a2ad5ae10 sphinx version upgrade 2020-03-02 15:40:12 +00:00
Jedrzej Stuczynski 1f69f09072 Fixed address derivation 2020-03-02 12:19:38 +00:00
Jedrzej Stuczynski 03aac5bd35 Updated sphinx 2020-02-28 12:32:47 +00:00
Jedrzej Stuczynski 88eef54cc5 dead code 2020-02-27 14:44:14 +00:00
Jedrzej Stuczynski 0c90afeaa2 Adjusted tcp client tests to work concurrently + without "wait" 2020-02-27 14:37:01 +00:00
Jedrzej Stuczynski 7fd3e28f2a Renamed reconnection backoff to initial reconnection backoff 2020-02-27 14:22:36 +00:00