Coder Social home page Coder Social logo

i2psam's People

Contributors

eyedeekay avatar gnos1s avatar majestrate avatar mikalv avatar polistern avatar str4d avatar virtualdestructor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

i2psam's Issues

Implement SAM v3.1

This library was originally written for SAM v3.0. In the intervening time, SAM v3.1 added support for configurable Destination signature types, which enables apps to move away from the default DSA 1024 signature type.

Implement SAM v3.3

SAM v3.3 enables a single session (and thus Destination) to be used for streams, datagrams and raw simultaneously. This enables applications using the SAM API to maintain a single set of tunnels, and publish a single Destination that can be used for both TCP-like and UDP-like communication over I2P.

Blocks on #1 and #2 because SAM versioning requires that implementations support all features between the minimum and maximum advertised version.

Transient Sessions have the wrong public key

In function StreamSession::createStreamSession the size of the public key is assumed to be I2P_DESTINATION_SIZE ( = 516) which is correct for the old format with the certificate type Null (certificate = 0x000000) but wrong for anything other.
As StreamSession::createStreamSession also hard codes SAM_SIGNATURE_TYPE ( = "EdDSA_SHA512_Ed25519") the resulting public key is too short, as the certificate is now 7 bytes long (0x05 0x0004 0x0007 0x0000)

Build error: `Makefile:8: *** missing separator. Stop`

Something seems wrong with Makefile syntax:

--->  Building libsamcpp
Executing:  cd "/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_net_libsamcpp/libsamcpp/work/i2psam-49182ee50208baaa94fd43ec25220e87e4c2b00f" && /usr/bin/make -j8 -w libi2psam.a CC="/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_net_libsamcpp/libsamcpp/work/compwrap/cc/usr/bin/clang" CXX="/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_net_libsamcpp/libsamcpp/work/compwrap/cxx/usr/bin/clang++" OBJC="/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_net_libsamcpp/libsamcpp/work/compwrap/objc/usr/bin/clang" OBJCXX="/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_net_libsamcpp/libsamcpp/work/compwrap/objcxx/usr/bin/clang++" INSTALL="/usr/bin/install -c" 
make: Entering directory `/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_net_libsamcpp/libsamcpp/work/i2psam-49182ee50208baaa94fd43ec25220e87e4c2b00f'
Makefile:8: *** missing separator.  Stop.

Implement SAM v3.2

SAM v3.2 added support for:

  • Source and destination ports (inside I2P)
  • Configurable protocol number for raw datagrams
  • Authorization and SSL
  • Concurrent pending STREAM ACCEPTs
  • Session keep-alive.

Blocks on #1 because SAM versioning requires that implementations support all features between the minimum and maximum advertised version.

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.