Release 2.20.0

- [FEATURE] QUIC and HTTP/3 Internet Draft 30 support.
- [FEATURE] Unreliable Datagram Extension support.
- [FEATURE] Adaptive congestion controller.
- [BUGFIX] Do not send MAX_STREAM_DATA frames on crypto streams.
- [BUGFIX] Fail with CRYPTO_BUFFER_EXCEEDED when too much CRYPTO
  data comes in.
- [BUFFIX] Spin bit is now strictly per path; value is reset on
  DCID change.
- [BUGFIX] Check that max value of max_streams_uni and
  max_streams_bidi TPs is 2^60.
- [BUGFIX] Close IETF mini conn immediately if crypto session
  cannot be initialized.
- Deprecate ID-28 (no browser uses it): it's no longer in the
  default versions list.
- New programs duck_server and duck_client that implement the
  experimental siduck-00 protocol.  They quack!
- IETF crypto streams: don't limit ourselves from sending.
- Command-line programs: turn off QL loss bits if -G is used, as
  Wireshark cannot decrypt QUIC packets when this extension is used.
- Turn all h3 framing unit tests back on.
- Fix malo initialization when compiled in no-pool mode.
This commit is contained in:
Dmitri Tikhonov 2020-09-15 16:42:13 -04:00
parent c3c69ba3bb
commit b1a7c3f944
53 changed files with 1745 additions and 161 deletions

View file

@ -29,9 +29,11 @@
#include <openssl/md5.h>
#include "lsquic.h"
#include "../src/liblsquic/lsquic_hash.h"
#include "lsxpack_header.h"
#include "test_config.h"
#include "test_common.h"
#include "test_cert.h"
#include "prog.h"
#if HAVE_REGEX
@ -1764,6 +1766,7 @@ main (int argc, char **argv)
struct stat st;
struct server_ctx server_ctx;
struct prog prog;
const char *const *alpn;
#if !(HAVE_OPEN_MEMSTREAM || HAVE_REGEX)
fprintf(stderr, "cannot run server without regex or open_memstream\n");
@ -1846,6 +1849,18 @@ main (int argc, char **argv)
exit(EXIT_FAILURE);
}
alpn = lsquic_get_h3_alpns(prog.prog_settings.es_versions);
while (*alpn)
{
if (0 == add_alpn(*alpn))
++alpn;
else
{
LSQ_ERROR("cannot add ALPN %s", *alpn);
exit(EXIT_FAILURE);
}
}
if (0 != prog_prep(&prog))
{
LSQ_ERROR("could not prep");