i2p / i2psam Goto Github PK
View Code? Open in Web Editor NEWC++ SAMv3 library
License: MIT License
C++ SAMv3 library
License: MIT License
In function StreamSession::createStreamSession
the value SAM_SIGNATURE_TYPE
is hard coded.
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.
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)
SAM v3.2 added support for:
Blocks on #1 because SAM versioning requires that implementations support all features between the minimum and maximum advertised version.
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.
StreamSession::connect
expects a response even when setting SILENT=true
which is never sent by the SAM bridge.
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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.