Commit Graph

50 Commits

Author SHA1 Message Date
Jedrzej Stuczynski 68dac6266e Updated version numbers 2020-09-10 14:17:01 +01:00
Jędrzej Stuczyński 9efc195046 Explicit proxy runner + closing local connection if remote is over (#314)
* Updated built dependency

So that it wouldn't fail on nwindows

* Concurrent RW client-side

* Draft of a ProxyRunner

* Super experimental proxy runner for provider

Very much WIP

* Extracting shared code + cleanup

* Logging cleanup

* Removed redundant close request
2020-08-27 13:59:37 +01:00
Jędrzej Stuczyński b57a548350 Feature/packet retransmission (#263)
* Ability to send sphinx packets of different sizes + more efficient decoding

* Closing connection on connection corruption

* Missing semicolons

* Missing license notices

* Default for packetsize

* Split nymsphinx

* Replaced Mutex with RwLock for TopologyAccessor + impl Deref

* Sphinx update + import cleanup

* Moved packet_sizes file

* Updated NymTopology API

* sphinx version bump

* Missing license notice

* nymsphinx-params crate

* Changes due to ibid.

* Chunking rework to allow variable size fragments

* Initial ack crate

* Version bump to new dev build

* Cargo lock changes

* random_route_to_gateway by node address

* exposing getting read permit

* Very initial draft on ack control

* Correctly dereferencing out of topology read permit

* All pending changes + compilation todo!s

* Restricted scope of deref on TopologyAccessorInner

* Type path alias for generate_key

* Derived traits for MessageChunker

* Ack control starting to take shape!

* Awaiting callbacks

* Most of work done on acks. Now to wire it all together

* Import cleanup

* rng generalization

* Connected real traffic together; only acks from gateway left

* Removed redundant things from nymsphinx::utils

* nymsphinx-cover crate

* Ack-related fields in client config

* Decreased packet store log level

* Restored forward sphinx request

* Slight adjustements to surb acks

* Changed TopologyReadPermit from type alias into a struct

* Changes due to ibid.

* Sphinx version upgrade

* Gateway being able to understand and handle acks

* Special Cover FragmentIdentifier + removal of dead code

* Initial packet router for gateway client

* Kill client if it fails to send to gateway too many times

* Cover messages with acks

* Moved out gateway client errors

* Ignoring cover traffic acks

* Changes in ack control

* Another sphinx version upgrade

* websocket handler delegating message chunking

* Using config defined ack wait additions

* Other minor changes I should have been more dilligent with splitting

* Import path fix

* sphinx_receiver => mixnet_receiver

* Missing renamed variable instance

* Updated aes-ctr to 0.4.0

* Removed concept of 'unfragmented' single fragment

* Replay fragments detection

* Long method split

* typo

* Cleaner client init

* Fixed race condition

* Fixed similar issue for retransmission

* Cargo fmt

* Minor clenaup
2020-06-16 11:22:02 +01:00
jstuczyn 5e78515216 Version bump 2020-06-02 12:21:42 +01:00
Jędrzej Stuczyński 860a69b246 Feature/sphinx socket packet encoder (#245)
* Ability to send sphinx packets of different sizes + more efficient decoding

* Closing connection on connection corruption

* Missing semicolons

* Missing license notices

* Default for packetsize
2020-05-27 10:08:08 +01:00
Jędrzej Stuczyński 3773800133 Feature/start local network improvements (#228)
* Moved directory_server from Debug section of configs

* Using correct variable path

* Updated start_local_network script

* Actually killing gateways on startup

* Removed redundant stop_local_network.sh

* The Canadian appeasement accord
2020-05-13 12:01:51 +01:00
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
Dave Hrycyszyn 7088fb3ffc Upgraded all Sphinx commits to latest. 2020-04-15 13:08:31 +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 cb82299f0e Bumped version numbers to 0.7.0-dev 2020-04-07 17:33:26 +01:00
Dave Hrycyszyn d47f0be2f2 Bumping version numbers 2020-04-07 17:29:46 +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 d859a98367 Checking if any other node is already announcing the same host (#168) 2020-04-02 15:39:14 +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
Dave Hrycyszyn d576a17d33 New cargo versions for top-level binaries 2020-03-23 10:35:19 +00:00
Jedrzej Stuczynski 2b1781b06d Updated binary versions 2020-03-06 11:47:52 +00:00
Jedrzej Stuczynski 3a2ad5ae10 sphinx version upgrade 2020-03-02 15:40:12 +00:00
Jedrzej Stuczynski 03aac5bd35 Updated sphinx 2020-02-28 12:32:47 +00:00
Jedrzej Stuczynski 71c465afd5 Updated sphinx rev 2020-02-27 12:49:49 +00:00
Jedrzej Stuczynski 1418d068b0 Mixnode packet forwarder 2020-02-27 12:18:50 +00:00
Jedrzej Stuczynski e03fd54739 Updated sphinx version 2020-02-26 17:05:18 +00:00
Jedrzej Stuczynski a491f7543a More builder methods, incl. announce host/port parsers 2020-02-03 17:20:29 +00:00
Jedrzej Stuczynski fad5c98629 Initial mix config with working default test 2020-02-03 15:02:13 +00:00
Jedrzej Stuczynski f3da6d4258 Updated used sphinx revision 2020-01-31 15:07:38 +00:00
Jedrzej Stuczynski 2b73aa9976 Updated packages versions 2020-01-29 10:14:53 +00:00
Dave Hrycyszyn 922223219d Version bump for release 0.4.0 2020-01-28 16:19:56 +00:00
Dave Hrycyszyn 516077086c all: bumped version numbers to 0.4.0-rc.2 2020-01-28 15:32:09 +00:00
Dave Hrycyszyn b8fed18c77 cargo: bumping all binary crate version numbers to 0.4.0-rc.1 2020-01-28 11:50:11 +00:00
Dave Hrycyszyn 416e1f19e0 cargo: updating sphinx to latest pinned version 2020-01-27 12:09:39 +00:00
Dave Hrycyszyn aa7ff75be7 mixnode: replaced base64 with base58 2020-01-24 16:29:02 +00:00
Dave Hrycyszyn f5bbfa8975 cargo: updating all crates to use newest Sphinx 2020-01-24 13:17:15 +00:00
Dave Hrycyszyn 6e676fc1e4 ibid 2020-01-24 12:38:55 +00:00
Dave Hrycyszyn b5e2f9fca8 all: adding dotenv to all binary crates 2020-01-22 17:27:30 +00:00
Dave Hrycyszyn 09cb17e6ab all: using pretty_env_logger pretty much everywhere 2020-01-22 16:29:59 +00:00
Jedrzej Stuczynski 2a55f8cd32 Increased version numbers in cargo files 2020-01-20 17:50:05 +00:00
Jedrzej Stuczynski 766dbee75a Updated version numbers 2020-01-17 13:12:22 +00:00
Jedrzej Stuczynski 8d84523c32 Increased version numbers in cargo files 2020-01-16 15:01:34 +00:00
Jedrzej Stuczynski 09e88da1a9 Mixnode no longer crashing when failed to send metrics or presence 2020-01-16 13:42:50 +00:00
Jedrzej Stuczynski b1edf54403 Updated version numbers 2020-01-14 15:04:17 +00:00
Dave Hrycyszyn 507e910e72 Pulled nym-client binary out to top-level 2020-01-13 18:25:05 +00:00
Jedrzej Stuczynski 34de9cc10b Another sphinx revision update 2020-01-13 16:50:10 +00:00
Jedrzej Stuczynski 03d04d5aa7 Updated used sphinx revision 2020-01-13 15:49:55 +00:00
Dave Hrycyszyn be0616b524 cargo: pinning Sphinx to a specific rev to get rid of build flapping 2020-01-10 14:23:09 +00:00
Dave Hrycyszyn fcaa23fd77 Re-arranged client directories 2020-01-08 16:22:03 +00:00
Jedrzej Stuczynski 7fa42d16eb Moved addressing to separate crate and removed mixnode dependency on entire client crate 2020-01-08 12:02:18 +00:00
Jedrzej Stuczynski 9ba1ea203b Moved directory client to separate crate 2020-01-08 11:34:39 +00:00
Dave Hrycyszyn 0531b716cc Setting up all paths so that builds work 2020-01-07 12:30:30 +00:00
Dave Hrycyszyn 2b2bd5b688 Moved nym-mixnode into mixnode directory 2020-01-07 12:00:59 +00:00