[gnutls-devel] GnuTLS | WIP: add more functions necessary for QUIC (!1197)

Development of GNU's TLS library gnutls-devel at lists.gnutls.org
Fri Feb 21 18:34:43 CET 2020

Daiki Ueno created a merge request: https://gitlab.com/gnutls/gnutls/-/merge_requests/1197

Project:Branches: dueno/gnutls:tmp-draft-ietf-quic-tls-25 to gnutls/gnutls:master
Author:    Daiki Ueno

This adds:
*  a new CH/EE extension `quic_transport_params`
*  a callback to get notified with traffic secret changes, after epoch is set up

The following are still missing:
*  a function to get the current PRF algorithm
*  raw ChaCha20 interface, that allows counter setting (see [ChaCha20-Based Header Protection](https://quicwg.org/base-drafts/draft-ietf-quic-tls.html#name-chacha20-based-header-prote))

You can play with it using [my ngtcp2 branch](https://github.com/ueno/ngtcp2/tree/wip/dueno/crypto-gnutls), though it's still very much work in progress:
git clone https://github.com/ngtcp2/nghttp3
cd nghttp3
autoreconf -f -i
./configure --prefix=$HOME/.local/nghttp3
make install

git clone https://github.com/tatsuhiro-t/openssl.git
cd openssl
git checkout OpenSSL_1_1_1d-quic-draft-25
./config --debug enable-tls1_3 --prefix=$HOME/.local/openssl
make install_sw

git clone https://github.com/ueno/ngtcp2.git
git checkout wip/dueno/crypto-gnutls
autoreconf -f -i
PKG_CONFIG_PATH=$HOME/.local/openssl/lib/pkgconfig:$HOME/.local/nghttp3/lib/pkgconfig ./configure

# start the server
LD_LIBRARY_PATH=$HOME/.local/openssl/lib examples/server -s localhost 4443 ../gnutls/doc/credentials/x509/key-rsa.pem ../gnutls/doc/credentials/x509/cert-rsa.pem

# start the client
GNUTLS_DEBUG_LEVEL=4177 examples-gnutls/client --disable-early-data localhost 4443

## Checklist
 * [ ] Commits have `Signed-off-by:` with name/author being identical to the commit author
 * [ ] Code modified for feature
 * [ ] Test suite updated with functionality tests
 * [ ] Test suite updated with negative tests
 * [ ] Documentation updated / NEWS entry present (for non-trivial changes)
 * [ ] CI timeout is 2h or higher (see Settings/CICD/General pipelines/Timeout)

## Reviewer's checklist:
 * [ ] Any issues marked for closing are addressed
 * [ ] There is a test suite reasonably covering new functionality or modifications
 * [ ] Function naming, parameters, return values, types, etc., are consistent and according to `CONTRIBUTION.md`
 * [ ] This feature/change has adequate documentation added
 * [ ] No obvious mistakes in the code

Reply to this email directly or view it on GitLab: https://gitlab.com/gnutls/gnutls/-/merge_requests/1197
You're receiving this email because of your account on gitlab.com.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.gnupg.org/pipermail/gnutls-devel/attachments/20200221/d2ad4c2f/attachment-0001.html>

More information about the Gnutls-devel mailing list