Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added hidden init flag to increase default traffic volume #234

Merged
merged 1 commit into from
May 15, 2020

Conversation

jstuczyn
Copy link
Contributor

No description provided.

@jstuczyn jstuczyn requested a review from futurechimp May 15, 2020 08:52
@futurechimp futurechimp merged commit 7f99c28 into develop May 15, 2020
@futurechimp futurechimp deleted the feature/higher_traffic_flag branch May 15, 2020 09:09
futurechimp added a commit that referenced this pull request Jun 2, 2020
* Bumped version numbers to 0.7.0-dev

* Adding Apache 2 license headers to all files (#178)

* Initial build of a Sphinx packet in WebAssembly

* nym-sphinx-wasm: broken WIP commit so the Stuczynski can be unleashed

* nym-sphinx-wasm: updating to latest Sphinx

* ibid

* A possibly-working wasm Sphinx packet.

* Updated all uses of ed25519-dalek to 2.0.0 so that wasm-pack build works

* nym-client: adding js example so I can see if sending is working  at all.

* wasm: noting that we will need to set release params in the root cargo file

* scripts: setting run_local_network.sh to be executable

* gateway: adding a gateway node type which listens on a websocket

* wasm: demo js starting to work

* wasm: renamed js example folder

* nymsphinx: adding wasm-bindgen feature to rand crate

* Upgraded all Sphinx commits to latest.

* nym-sphinx-wasm: adding a JavaScript package

* Adding serde_json

* nym-sphinx-wasm: adding serde_json as a hack to get across the wasm boundary

* nym-sphinx-wasm: adding async dependency for js

* nym-sphinx-wasm: Adding serde to deal with json across wasm boundary

* nym-sphinx-wasm: appears to generate a Sphinx packet based on info sent from js.

Needs testing.

* gateway: simplifying a bit.

* Removing submodule

* nym-sphinx-wasm: removing outdated Sphinx examples

* nym-sphinx-wasm: adding an example of wasm Sphinx in action

* nym-sphinx-wasm: added a bit of documentation onto the www demo

* 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

* Updated email

* scripts: adding a stop script so I don't need to manually killall all the time

* gateway: adding log related crates

* ibid

* gateway: simplifying

* nym-client: typo fix

* Sending packet to the server

* Changing recipient

* nym-sphinx-wasm: loosening up serde-related dependencies

* nym-sphinx-wasm: chunking packet sends

* nym-sphinx-wasm: including provider encoding in the packet

* scripts: building for local in debug mode

* gateway: successful send using multi-tcp-client

* nym-sphinx-wasm: ditched old code

* nym-sphinx-wasm: noted that message chunking is not yet implemented

* nym-sphinx-wasm: various cleanups on packet creation

* nym-sphinx-wasm: documented sphinx_route_from(str)

* typo fix

* gateway: client cleanup

* gateway: grabbing some stuff out of nymsphinx

* nymsphinx: re-exporting NODE_ADDRESS_LENGTH so gateway can use it

* gateway: shortening multi_tcp_client usages

* gateway: removing text messages

* gateway: using named function for packet forwarding

* gateway: broke things apart a little bit

* Removing MIT license

* Some README improvements

* nym-sphinx-wasm: using the Try that was already available and reverting foolish change to public API of addressing/nodes

* Ditching comment that told me where to start work one morning.

* Making Arc clones more explicit.

* nym-sphinx-wasm: taking advice from The Man Who Loved Iterators

* Update README.md

* Feature/service persistence (#171)

* validator: adding Diesel ORM

* validator: making sure Iron::status is always avaialable

* ibid

* validator: presence-announcement REST API

* validator: adding Diesel setup

* Removing Diesel stuff from root of monorepo

* validator: adding Diesel migrations and setup

* validator: documenting how PresenceAnnouncement is different from presence.

* validator: added Chrono crate for datetime conversions into sql

* validator: restructured the presence module

* validator: removed presence announcements from persistence

* validator: commenting topology

* Adding staking to the mixmining service

* Start of mixmining + stake service

* validator: added a bit about mixmining to README

* validator: added Iron's params crate

* validator: reorganized mixmining service and db code

* validator: no need for this .env warning

* validator: removing params parser, it's now unused

* validator: adding json body parser library for Iron

* validator: adding spelling exceptions

* validator: adding bodyparser deps

* validator: ability to (de)serialize Mixnode struct

* validator: further announcement HTTP progress

* validator: simplified announcement route

* validator: injecting database and service into handler

* validator: renaming service and db variables

* validator: using camelCase json

* validator: using base Iron handler rather than middleware handler

* validator: better error message on unexpected json parsing

* validator: adding 'location' to  presence::Announcement

* comments on mixmining::Db

* validator: commenting out unused mixmining::Service methods for the moment

* validator: noting that we don't yet know how to measure capacity

* validator: comments

* validator: starting to add correct serializers in rest API

* validator: renaming a mixnode announcements

* validator: extracted route creation

* validator: going lower-case for node in "Mixnode"

* validator: removing the "announcement" model

* validator: renamed annoucements handlers

* validator: temporarily removed Chrono, remove it fully if it's not needed.

* validator: added all the needed Mixnode fields to the service model

* validator: moved models into their own file.

* validator: conversions to/from api vs service models

* validator: doing type conversions from rest to service models

* validator: unused import cleanup

* validator: rewrote mixmining service comments in light of recent thinking

* validator: some notes on type conversion tests

* wip

* validator: getting capacity from db works

* wip

* validator: eliminating borrows so we can have something pure to mutex out on

* validator: a working mutex on the mixmining service

* validator: renaming mixmining db get_capacity to capacity

* validator: making mixmining db capacity field private, using accessor

* validator: local capacity updates working

* validator: starting REST API for staking

* validator: fixing clippy warning

* validator: minor naming fixes on mixmining service

* validator: service mixnode and rest mixnode + topology conversions + tests

* validator: renaming mix_nodes to mixnodes for consistency

* validator: test fixtures for mixnode

* validator: moved service models into their own file

* validator: a properly-structured toplogy route

* validator: topology retrieval

* validator: killed test fixture warning

* validator: getting set for topology equality checks (testing purposes)

* validator: otherway conversions for topology and mixnode types

* validator: initial topology retrieval working

* validator: ditching go-ish variable name :)

* ibid

* validator: added a StakeUpdate struct to get around cargo fmt failing

* validator: commenting out struct so kill warning

* Ignoring validator vscode settings

* ibid

* ibid

* Ran `npm audit fix` on the wasm demo directory. (#185)

* Optimising wasm build size, shaves about 10% size off our wasm output. (#186)

* Feature/persistent ledger (#187)

* Changed auth token storage to use sled instead of in memory hashmap

* Filtering sled related log messages

* Catching db error on trying to load sled

* Renamed default ledger name

* The actual dependency

* Changes due to ledger no longer being async

* Extra log statement

* Missing change to current_clients method

* Another uncommited change

* Cargo lock changes

* 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

* Feature/improve js example (#190)

* nym-client: refactoring js example code a bit.

* nym-client: ignoring node modules in demo

* nym-client: adding webpack and a dev server

* nym-client: banging example into webpack format

* nym-client: webpack starting to work in the demo

* nym-client: more webpacking

* nym-client: ignoring bundle.js in dist

* Example code starting to breathe with webpack, not quite there yet

* nym-client: high point of attempted webpack business. Will revert to minimal, it's getting crazy.

* nym-client: removed lots of npm deps

* nym-client: added webpack html plugin to demo

* nym-client: removed app.scss from demo

* nym-client: removed lots of webpack config

* nym-client: ugly but working simple javascript demo

* nym-client: more demo simplification

* Simplifying a bit more

* nym-client: added some comments to js demo

* parameter rename

* 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

* 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

* Intermediate gateway-heart surgery checkpoint (#199)

* Initial draft for ClientsHandler

* Created listener struct

* typo

* Stateful websocket connection handler

* Exposing modules

* Depdendencies updates

* Moved listener to correct file + made start consume listener

* Main starting new listener

* Catching sigint

* Copied client storage from provider into gateway

* Exposed websocket listener type for nicer import path

* Defined websocket message receiver concrete type

* Client ledger struct without implementation

* ClientsHandler using more concrete types

* Mixnet sender + receiver and exposed listener type

* Handling mix packets

* Ability to forward mix packets

* "starting" both listeners at main

* Depedencies updates

* Initial type definitions for client messages

* FIXING DUE TO SOMEONE'S CHOICE OF EDITOR / OPERATING SYSTEM

* Feature/route from topology (#201)

* directory-client: removing explicit type definitions

* clients/webassembly: ugly commit, removes dependency on HTTP crates

...at the cost of copying quite a bit of NymTopology-related stuff into
the WebAssembly client. I'll make an issue to refactor that later.

* A more helpful hint in the error message when websocket connection fails.

* Removing superfluous JavaScript, route checking now happens in Rust

* Feature/gateway provider merge (#208)

* Initial draft for ClientsHandler

* Created listener struct

* typo

* Stateful websocket connection handler

* Exposing modules

* Depdendencies updates

* Moved listener to correct file + made start consume listener

* Main starting new listener

* Catching sigint

* Copied client storage from provider into gateway

* Exposed websocket listener type for nicer import path

* Defined websocket message receiver concrete type

* Client ledger struct without implementation

* ClientsHandler using more concrete types

* Mixnet sender + receiver and exposed listener type

* Handling mix packets

* Ability to forward mix packets

* "starting" both listeners at main

* Depedencies updates

* Initial type definitions for client messages

* Initial "gateway-requests" with AuthToken

* ibid.

* Restored most of ledger's functionalities

* Ability to retrieve all messages regardless of rate limit

* ClientsHandler request handling logic

* Required 'new' dependencies

* Main changes required for compilation

* PacketProcessor getting private key pointer

* "moved" types into gateway requests crate

* Moved and renamed types

* ibid.

* Added required serde_json dependency

* Skeleton for websocket request handling

* helper methods on ServerResponse

* WebSocket Handler pushing received mix messages directly to client

* PacketForwarder returning JoinHandle alongside the channel

* ClientsHandler following the same pattern

* Made websocket listener start method consistent with mix listener

* Syntax error + formatting

* Websocket handler having access to mix forwarder

* Minimal binary request parsing

* Implicitly derived std::error::Error on GatewayRequestsError

* Handling of all websocket requests

* Types import cleanup

* Updated placeholder fields

* Everything put into main

* Missing license notices

* Cleaned up unused code

* Copied and did initial minor changes to commands and config

* It's actually gateway

* Gateway sending its regular presence to directory server

* Re-organisation of gateway code + Gateway struct

* Updated provider argument description

* Restored duplicate ip check without importing NymTopology trait

* Moved hardcoded values into config

* Cargo fmt

* Compilation errors in other crates due to topology adjustments

* Test fixes

* Initial gateway-client

* Seemingly working version with bunch of hardcoded and temporary values

* cargo fmt

* Removed provider poller

* Updated config with gateway values instead of provider

* Gateway address including ws

* Removed hardcoded gateway address

* Properly skipping loop cover messages

* Updated log filter with tokio tungstenite related modules

* Updated sphinx version used

* Very minor cleanup

* unused import

* Sending sphinx packet independent of the receiver task (#210)

* Feature/client socket adjustments (#212)

* Changed default listening port to something slightly more meaningful

* Removed TCP socket and made websocket the default option (as opposed to 'None')

* Updated template

* Updated ReceivedBuffer to allow direct message forwarding

* ignoring vscode directory

* Push messages mechanism for websocket client-clients

* Removed flawed chunking example

* ... but added bunch of websocket examples in return!

* Moves js example directory

* Cargo fmt

* Removed old listener code

* Bugfix/send to correct gateway (#213)

* Initial multiple gateway support

* Hello random cargo fmt

* Update README.md

* Fixed compilation warnings on unreachable code when compiling with features flag (#215)

* The great sfw-provider purge of 2020 (#216)

* The great sfw-provider purge

* Cargo fmt...

* Feature/healthchecker removal (#214)

* Some clippy and compiler warning fixes

* Removed healthchecker from the client

* Cargo fmt issue after 100 explicit saves.........

* Changes accidentally removed in previous PR

* validator: removing health checker (#217)

* Feature/load keys on run (#220)

* Mixnode keys loaded in run command

* Client keys loaded in run command

* Removed unused imports

* Moved relevant parts of old mix-client to nymsphinx (#221)

* Updated wasm code to work with new gateway and updated the example (#219)

* Updated wasm code to work with new gateway and updated the example

* cargo fmt

* Fixed test by ensuring destination is present at a gateway

* Updated hardcoded default port

* ibid. to correct value

* client: docs typos fix

* Simplified and corrected wasm-pack build instructions

* Removed having to care about SURB_ID (#222)

* Requiring explicit timestamp when converting from rest to service mixnodes (#224)

* Feature/minor docs fixes (#223)

* webassembly: fixing example directory name in README

* rust client: fixing what I suspect is a typo in a type name

* Fixing wasm build instructions

* Updated js-example to get gateway from topology (#225)

* Updated directory_client reqwest to 0.10 (#226)

* Updated directory_client reqwest to 0.10

* Using consistent syntax

* 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

* Bugfix/issue#231 (#233)

* Increasing reconnection attempt after actually computing delay

* Constructor mix-up....

* Replaced poll! macro with poll call (after macro expansion that's syntactically identical)

* Bugfix/gateway crash on incomplete ws handshake (#229)

* Properly checking for errors during websocket handshake

* Unrelated typo

* Fixed similar bug in rust client

* Fixed unwrap on none value (#230)

* Added hidden init flag to increase default traffic volume (#234)

* Feature/addressing update (#237)

* Typo I've never noticed before

* Sphinx version update

* Updated 'address' to be 'recipient' (i.e. address + gateway)

* Updated websocket examples to use the updated structure

* Feature/clean up (#238)

* validator: fixing a warning, untestify this when you need it for real code

* webassembly: minor readme changes.

* README changes in wasm

* Updated wasm version

* clients/webassembly: security vuln updates

* typo fix

* WIP commit

* Significantly simplified the API

* Changed switch to have default branch

* Managed to get rid of `this` bind

* Filled in a missing word

Co-authored-by: jstuczyn <jedrzej.stuczynski@gmail.com>

* Feature/explicit gateway addressing (#239)

* validator: fixing a warning, untestify this when you need it for real code

* webassembly: minor readme changes.

* README changes in wasm

* Updated wasm version

* clients/webassembly: security vuln updates

* typo fix

* WIP commit

* Significantly simplified the API

* Changed switch to have default branch

* Managed to get rid of `this` bind

* Moved 'Recipient' definition

* Examples update

* Slightly more generalised 'try_from_string' for recipient

* Updated to use client@gateway addressing

* Updated tests

Co-authored-by: Dave Hrycyszyn <futurechimp@users.noreply.github.com>

* Feature/make andrew happy (#241)

* Fixing the path to nym client in node modules

* Updated package lock for latest npm

* Removed redundant console.log (#240)

* Simplified some names and used the published npm package (#242)

* Adding some documentation to the webassembly client

* Noting that binary is unsupported for now

* Adding some documentation to the webassembly client (#244)

* Adding some documentation to the webassembly client

* Noting that binary is unsupported for now

* Last docs fixes

* 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

* fixing up readme, bumping version number (#246)

* fixing up readme, bumping version number

* Using the newest js

* Adding a pipenv dependencies file to the python client example (#250)

* Cleaning up startup messages in native client (#249)

* Cleaning up startup messages in native client

* Fixed cargo fmt

* renaming desktop to native client

* renaming desktop to native client (#251)

* Changelog for 0.7.0

* Version bump

* Update CHANGELOG.md

Co-authored-by: Dave Hrycyszyn <futurechimp@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants