Skip to content

Quicr/transport

Repository files navigation

Transport Library

Single threaded, aysnc and queued transport api for QUICR

Buillding

  1. Needs C++20 clang, and cmake
  2. Download and install openssl
  • on a mac you can do ' brew install openssl
  • find where it is brew info openssl
  • set path to find it export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@3/lib/pkgconfig"
  1. Clone the repos git clone git@github.com:Quicr/transport.git cd transport git submodule update --init --recursive
  2. In the same parent directory, run
    • make all
    • make client
    • make server

Running

In order to test QUIC, the server needs to have a certificate. The program expects the

Generate self-signed certificate for really server to test with

with BoringSSL:

openssl req -nodes -x509 -newkey rsa:2048 -days 365 -keyout server-key.pem -out server-cert.pem

with MbedTLS:

openssl req -nodes -x509 -newkey ec:<(openssl ecparam -name secp256r1) -days 365 -subj "/C=US/ST=CA/L=San Jose/O=Cisco/CN=test.quicr.ctgpoc.com" -keyout server-key.pem -out server-cert.pem

Run:

RELAY_PORT=1234 build/cmd/server

and

RELAY_HOST=localhost RELAY_PORT=1234 build/cmd/client

Notes

  1. cmd/ - has client and server examples