Code Monkey home page Code Monkey logo

sn_client's Introduction

sn_client

Documentation

Compatability

sn_node: 0.42.X

Overview

sn_client can interface conditionally against either the sn_routing crate or a mock used for local testing.

Crate Dependencies

Crate dependencies graph:

sn_client Safe Network dependencies

Legend

Dependencies are coloured depending on their kind:

  • Black: regular dependency
  • Purple: build dependency
  • Blue: dev dependency
  • Red: optional dependency

A dependency can be of more than one kind. In such cases, it is coloured with the following priority: Regular -> Build -> Dev -> Optional

View all sn_client dependencies

sn_client all dependencies

Click here for an overview of the interdependencies of all the main MaidSafe components.

License

This Safe Network library is licensed under the General Public License (GPL), version 3 (LICENSE http://www.gnu.org/licenses/gpl-3.0.en.html).

Linking exception

sn_client is licensed under GPLv3 with linking exception. This means you can link to and use the library from any program, proprietary or open source; paid or gratis. However, if you modify sn_client, you must distribute the source to your modified version under the terms of the GPLv3.

See the LICENSE file for more details.

sn_client's People

Contributors

ustulation avatar joshuef avatar hitman401 avatar madadam avatar lionel-faber avatar actions-user avatar jacderida avatar bochaco avatar nbaksalyar avatar dirvine avatar yoga07 avatar s-coyle avatar ravinderjangra avatar canndrew avatar vinipsmaker avatar oetyng avatar maqi avatar mrcnski avatar afck avatar octol avatar kanav99 avatar iancoleman avatar vtnerd avatar pierrechevalier83 avatar thierry61 avatar frabrunelle avatar gnunicorn avatar b-zee avatar dylan-dpc avatar maidsafe-qa avatar

Watchers

James Cloos avatar

sn_client's Issues

Implement Published Immutable Data

Convert the existing Immutable data structure to Published Immutable data.

Note:

  • The data type must move into the new data types crate
  • All RPCs are between clients and vaults
  • Routing will include only a send(src, dest, payload) API

Implement unpublished sequenced mutable data

  • Convert the existing mutable data structure into unpublished sequenced mutable data.
  • Implement validation of GET requests. Only owners and those in the permissions field with READ access should be able to fetch the data from the network.

Note:

  • The data type must move into the new data types crate
  • All RPCs are between clients and vaults
  • Routing will include only a send(src, dest, payload) API

Implement AppendOnlyData Handle

  • Implement an AOdataInfo handle which would act as a structure used by SCL to map to AppendOnly Data in the data-types crate(once it goes live)
  • This should facilitate is_sequenced and is_published flags to differentiate between the various AppendOnly Data types

Note:

  • Common methods for all four types of the AppendOnly Data can be implemented here
  • All RPCs are between clients and vaults
  • Routing will include only a send(src, dest, payload) API

Change existing structures that use Mutable Data Unpublished Sequenced MD

Change existing structures that use Mutable Data (Account, Access Container etc.) to use an appropriate data type.

This will most likely be Unpublished Sequenced MD - up for discussion.

Note:

  • The data type must move into the new data types crate
  • All RPCs are between clients and vaults
  • Routing will include only a send(src, dest, payload) API

Implement unpublished unsequenced mutable data

  • Include structure for this data type.
  • GET requests for this data type should be validated. Only owners / clients with read access in the permissions list should be able to fetch the data.
  • The data field is a BTreemap<Vec<u8>, Vec<u8>> - there is no version for a value mapped to a key. This validation is not required.
  • However, when changes are made to the mutable data shell, version validation must be done

Questions:

  • How will concurrent requests be handled without PARSEC?
    Even though this is done only for mock currently. What if 2 apps (locally) send mutation requests for the same key? I believe FIFO is implied. Asking for clarity.

Note:

  • The data type must move into the new data types crate
  • All RPCs are between clients and vaults
  • Routing will include only a send(src, dest, payload) API

Implement Unpublished Immutable Data

  • Add structure for Unpublished Immutable data
  • Implement name function that derives data address using the hash of the data and the owner.
  • GET requests must be signed. Only the owner should be able to fetch the data from the network.

Questions:

  • Will this require changes/additions in self_encryption?

Note:

  • The data type must move into the new data types crate
  • All RPCs are between clients and vaults
  • Routing will include only a send(src, dest, payload) API
  • Ownership of the data is non-transferrable

RUSTSEC-2020-0036: failure is officially deprecated/unmaintained

failure is officially deprecated/unmaintained

Details
Status unmaintained
Package failure
Version 0.1.8
URL rust-lang-deprecated/failure#347
Date 2020-05-02

The failure crate is officially end-of-life: it has been marked as deprecated
by the former maintainer, who has announced that there will be no updates or
maintenance work on it going forward.

The following are some suggested actively developed alternatives to switch to:

See advisory page for additional details.

RUSTSEC-2020-0043: Insufficient size checks in outgoing buffer in ws allows remote attacker to run the process out of memory

Insufficient size checks in outgoing buffer in ws allows remote attacker to run the process out of memory

Details
Package ws
Version 0.9.1
URL housleyjk/ws-rs#291
Date 2020-09-25

Affected versions of this crate did not properly check and cap the growth of the outgoing buffer.

This allows a remote attacker to take down the process by growing the buffer of their (single) connection until the process runs out of memory it can allocate and is killed.

The flaw was corrected in the parity-ws fork (>0.10.0) by disconnecting a client when the buffer runs full.

See advisory page for additional details.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.