A test suite for QUIC
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
agents Adds a new way of sending frames: agents can be hooked to packet cons… Feb 8, 2019
bin Adds a new way of sending frames: agents can be hooked to packet cons… Feb 8, 2019
compat Fixes IP_RECVTOS setsockopt on darwin Sep 6, 2018
http3
lib Removes unused libs Feb 5, 2019
scenarii Adds a new way of sending frames: agents can be hooked to packet cons… Feb 8, 2019
.gitignore Adds more script to generate CSV files based on traces May 22, 2018
.travis.yml Adds Travis CI integration (#6) Nov 21, 2018
Dockerfile Fixes the Dockerfile and go deps system Nov 16, 2018
LICENSE Removes license headers from Go files Aug 14, 2018
README.rst Adds a -u to go get in installation instructions Feb 12, 2019
common.go Error codes update for draft-17 Jan 21, 2019
connection.go Adds a new way of sending frames: agents can be hooked to packet cons… Feb 8, 2019
crypto.go Adds a new way of sending frames: agents can be hooked to packet cons… Feb 8, 2019
frames.go Adds a new way of sending frames: agents can be hooked to packet cons… Feb 8, 2019
headers.go draft-17 support Jan 14, 2019
ietf_quic_hosts.txt Conform: change LiteSpeed's port number to 4433 (#14) Dec 14, 2018
packets.go
pcap_capture.go Moves the project to a distinct repository Aug 14, 2018
streams.go One line new channel registration Feb 5, 2019
streams_test.go
trace.go Don't panic if git commit hash cannot be retrieved. Closes #12 Jan 14, 2019
transport_parameters.go Minor improvement in logging transport parameters Jan 18, 2019
utils.go Missing utils.go file Feb 8, 2019

README.rst

A test suite for QUIC

Documentation status

The test suite comprises a minimal Go implementation of QUIC which is currently draft-16 and TLS-1.3 compatible, as well as several test scenarii built upon this implementation. The test suite outputs its result as JSON files, which contains the result, the decrypted packets exchanged, as well as a pcap file and exporter secrets.

Installation

You should have Go 1.9, tcpdump, libpcap libraries and headers as well as openssl headers installed before starting.

go get -u github.com/QUIC-Tracker/quic-tracker  # This will fail because of the missing dependencies that should be build using the 4 lines below
cd $GOPATH/src/github.com/mpiraux/pigotls
make
cd $GOPATH/src/github.com/mpiraux/ls-qpack-go
make

The test suite is run by the scripts in bin/test_suite/. For help about their usage see:

go run bin/test_suite/scenario_runner.go -h
go run bin/test_suite/test_suite.go -h

Docker

Docker builds exist on Docker Hub.

docker run --network="host" quictracker/quictracker /http_get -h
docker run --network="host" quictracker/quictracker /scenario_runner -h
docker run --network="host" quictracker/quictracker /test_suite -h