Commit graph

350 commits

Author SHA1 Message Date
Dmitri Tikhonov
75a7a2a36a Release 2.5.2
- [BUGFIX] argument order to gQUIC client constructor.  Regression
  introduced in 2.5.0.
- [BUGFIX] split buffered packet error recovery: destroy the correct
  packet.
2019-11-07 09:03:36 -05:00
Dmitri Tikhonov
1c9cee3ed5 Release 2.5.1
- [BUGFIX] Fix double-free when emptying a packet number space.
- [BUGFIX] http_server: fix md5sum handler: handle EOF correctly.
- [BUGFIX] Use random values in bits 4 and 5 of the first byte of
  verneg packets (regression introduced in 2.5.0).
- [OPTIMIZATION] Don't compile in expensive attq checks by default.
- [OPTIMIZATION] http_server: compile regexes only once.
2019-11-04 16:44:54 -05:00
Dmitri Tikhonov
a0e1aeeee0 Release 2.5.0
- [API] lsquic_engine_connect() can now be passed QUIC version to use.
- [OPTIMIZATION] Queue opportunistic ACKs if there is data to be sent.
- [BUGFIX] Don't evict streams from priority iterator if there is
  only one queue.
- [OPTIMIZATION, BUGFIX] Several other optimizations and bug fixes.
- Use ls-qpack v0.10.7.
2019-10-31 12:21:14 -04:00
Dmitri Tikhonov
34e9ac5f5d Release 2.4.10: fix regression in 2.4.9, use ls-qpack 0.10.6 2019-10-24 10:17:25 -04:00
Dmitri Tikhonov
df992bcede Release 2.4.9
- [BUGFIX] IETF QUIC server: fix uninitialized variable use.
- [BUGFIX] make sure TLSv1.3 is not disabled in SSL object.
- [BUGFIX] Use issuer name and serial number to cache certs (SKID
  values are not unique).
- [BUGFIX] Always set the idle alarm in IETF connection so that it
  can time out.
2019-10-24 09:46:40 -04:00
Dmitri Tikhonov
d7aae582ea Release 2.4.8
- [OPTIMIZATION, BUGFIX] Use ls-qpack v0.10.5.
2019-10-21 13:42:07 -04:00
David
d16bc1c540 Remove invalid include path and update a file name for the Makefile.am 2019-10-18 09:07:01 -04:00
David
288ca8a475 Update a script file name 2019-10-17 17:44:53 -04:00
David
775aa15483 Add a missing file to liblsquic/Makefile.am 2019-10-17 17:31:13 -04:00
David
2212819528 Add Makefile.am for automake 2019-10-17 16:54:31 -04:00
Dmitri Tikhonov
0adf085acf Release 2.4.7
- Add echo client and server to the distibution.
- Add MD5 client and server to the distibution.
- Fix http_client: check command-line arguments better, prevent crash.
- Fix IETF conn: can_write_ack() should only care about APP PNS.
- Client: delay stream creation until handshake succeds.
- Reset HTTP stream whose write end is closed prematurely.
- Fix tickable(): mirror behavior of tick() wrt buffered packets.
- Log reason why engine is tickable.
2019-10-15 17:04:14 -04:00
Dmitri Tikhonov
ad08470cea Release 2.4.6
- Minor code cleanup and logging improvements.
- Server and client programs: include library version (e.g. 2.4.6)
  into `server' and `user-agent' headers.
2019-10-11 08:24:24 -04:00
LiteSpeed Tech
7542f0f5aa
Let's see if you can parse this now 2019-10-08 17:18:35 -04:00
LiteSpeed Tech
45f0b12684
Only do the golang voodoo on Linux 2019-10-08 17:02:40 -04:00
LiteSpeed Tech
59d78e047e
...and GOROOT 2019-10-08 16:48:26 -04:00
LiteSpeed Tech
41e82b6fb1
GOPATH 2019-10-08 16:40:11 -04:00
LiteSpeed Tech
3c5361ae2c
Fifteenth time's the charm 2019-10-08 16:36:43 -04:00
LiteSpeed Tech
ef293bc8b5
If at first you don't succeed 2019-10-08 16:27:46 -04:00
LiteSpeed Tech
f8325ef971
Yes! 2019-10-08 16:19:27 -04:00
LiteSpeed Tech
dc9e9148b3
Try apt-getting the thing 2019-10-08 16:16:49 -04:00
LiteSpeed Tech
7e5242004f
Try to fetch go 1.13 to build BoringSSL 2019-10-08 16:05:48 -04:00
Dmitri Tikhonov
4947ba950d Release 2.4.5
- [OPTIMIZATION]: flush encoder stream only when necessary.
- [BUGFIX] Use ls-qpack v0.10.2 for new API -- and for a bug fix.
- [BUGFIX] Typo in IETF conn SETTINGS writer.
- Use latest BoringSSL.
2019-10-08 15:54:01 -04:00
Dmitri Tikhonov
662de5e197 Release 2.4.4
- [API] Add lsquic_alpn2ver() to aid parsing Alt-Svc header.
- [BUGFIX] NULL dereference when H3 frame header would be split.
- [BUGFIX] Do not close fixed-size H3 frame prematurely.
- [BUGFIX] Allow PING frames in IETF mini conn.
- [BUGFIX] Mini conns: don't send any packets after receiving
  CONNECTION_CLOSE.
- [BUGFIX] Client migration: reserve slot for DCID from transport params.
- [BUGFIX] Allow max_early_data_size=0 -- early_data might not be there.
- [BUGFIX] Use an invalid stream number to reset BPT cache (zero is now a
  valid stream number).
- [SPEC] Use FINAL_SIZE_ERROR when FIN mismatch is detected.
- [OPTIMIZATION] Closed connection only gets one chance to send packets.
- [OPTIMIZATION] Flush headers stream before packetizing stream data.
- [OPTIMIZATION] process QPACK encoder STREAM frames immediately.
- Update ls-qpack to v0.10.1.
2019-10-08 08:36:49 -04:00
Dmitri Tikhonov
1245d2e023 Release 2.4.3
- Add GQUIC versions to the list of h3 ALPNs for Alt-Svc header.
  For example, h3-Q043.  Chrome will switch to using this format at
  some point in the future.
- [BUGFIX] Send correct value in max_streams_uni transport param
- [SPEC] Abort IETF QUIC connection if max_early_data_size is not set
  to 0xFFFFFFFF
2019-09-30 09:56:13 -04:00
Dmitri Tikhonov
65728dc5ee Release 2.4.2
- [BUGFIX] H3 framing: fix zero-byte write when space is available
- [BUGFIX] Don't send STREAM frame when incoming unidirectgional stream
  is closed
- [BUGFIX] Cancel all pending writes by stream reset by a GOAWAY
- [BUGFIX] Fix use-after-free in IETF full conn
- [OPTIMIZATION] Wait for session tickets for two seconds and then drop
  SSL object and crypto streams.
2019-09-23 12:00:10 -04:00
Dmitri Tikhonov
3ff30b2745 cmake: fix up build 2019-09-18 13:46:12 -04:00
Dmitri Tikhonov
e5130c7886 Use ls-qpack v0.10.0 2019-09-18 13:16:41 -04:00
Dmitri Tikhonov
f87fb49cbd Update README.md: Internet Draft 23 is supported 2019-09-18 11:39:34 -04:00
Dmitri Tikhonov
92f6e17bdc Release 2.4.0
[FEATURE] QUIC and HTTP/3 Internet Draft 23 support
2019-09-18 11:22:20 -04:00
LiteSpeed Tech
2718741832
Fix Docker build (#79) 2019-09-16 10:17:30 -04:00
Dmitri Tikhonov
c38e7df733 Fix build steps in README.md 2019-09-16 09:09:08 -04:00
Dmitri Tikhonov
a6cdaedba5 Release 2.3.1
- [BUGFIX] Fix memory leaks
- [BUGFIX] Fix unit tests
2019-09-13 09:42:22 -04:00
Dmitri Tikhonov
cca2541523 Release 2.3.0
- [FEATURE] BBR congestion control is on by default
- [BUGFIX] BBR app-limited logic
- [BUGFIX] Fix uninitialized warnings in IETF
- [BUGFIX] Update ls-qpack to v0.9.14
- [CLEANUP] Code cleanup
2019-09-12 14:39:50 -04:00
LiteSpeed Tech
5392f7a3b0
Release 2.2.0: server included, ID-22 supported (#76) 2019-09-11 11:27:58 -04:00
Dmitri Tikhonov
8cba36d873 Release 1.21.2
- [OPTIMIZATION] HPACK: use history to improve compression performance
2019-05-13 08:51:39 -04:00
Dmitri Tikhonov
d539a7520f Release 1.21.1
- [BUGFIX] If FIN or RST not received, don't delay stream destruction.
- [OPTIMIZATION] Speed up HPACK encoder by using same hash value to
  search static and dynamic tables.
2019-05-06 09:40:59 -04:00
Stephen Petrides
7cf121d70c [BUILD] Add headers for Windows sockets (#72) 2019-04-13 09:27:40 -04:00
Dmitri Tikhonov
7e0bd43e1b Remove unnecessary include file 2019-04-12 14:41:48 -04:00
Dmitri Tikhonov
e5d4bc6d21 Fix a couple of Windows compilation issues 2019-04-12 14:31:08 -04:00
Dmitri Tikhonov
9b4d33c76c Fix a couple of small bugs that crept in in previous commit 2019-04-12 13:44:40 -04:00
Dmitri Tikhonov
55cd0b38b2 Release 1.21.0
[FEATURE] Add qlog log module.
2019-04-12 10:50:45 -04:00
Dmitri Tikhonov
b4069a69ae Add missing semicolon (#70) 2019-04-02 08:07:10 -04:00
Dmitri Tikhonov
842caba2f9 Add useless initialization to fix Windows build (#69) 2019-04-01 17:13:13 -04:00
Dmitri Tikhonov
c7d81ce135 Release 1.20.0
[FEATURE] Add support for Q046.
2019-04-01 11:41:55 -04:00
Dmitri Tikhonov
428530e38e Release 1.19.6
- [BUGFIX] Ensure that Largest Observed does not decrease in ACKs we
  send.  ACK frames placed in packets in buffered queues (optimization
  introduced in 1.17.15) can be preceded by an ACK frame generated later.
  In this case, the older ACK frame should not be sent out, as Chromium-
  based servers flags decrease in the ACK frame's Largest Observed value
  as an error.
2019-03-19 16:23:50 -04:00
Dmitri Tikhonov
03d03a4212 Add useless variable initialization for Windows 2019-03-05 17:08:37 -05:00
Dmitri Tikhonov
8437e4a4f2 Release 1.19.5
- [BUGFIX] Use correct public key from PUBS based on KEXS index.
- [BUGFIX] Check flags before dispatching writes, avoiding assert.
- [BUGFIX] Set :scheme to "https" (instead of "HTTP").
2019-03-05 16:56:02 -05:00
Dmitri Tikhonov
90fe3b255d Release 1.19.4
- [BUGFIX] Check buffer bounds when looking up version in 0-RTT blob.
- [BUGFIX] http_client: don't fetch 0-rtt info if handshake failed.
- Log number of pacer calls at DEBUG, rather than NOTICE, level.
2019-02-25 09:12:20 -05:00
Dmitri Tikhonov
9c4445241e Release 1.19.3
- [BUGFIX] Q044: don't encode packet number in 6 bytes.  Six-byte
  packet number encoding does not exist in Q044.  This fixes a
  regression introduced in '[BUGFIX] Buffered packets can contain
  ACK frames' -- we need to keep QUIC version in mind when selecting
  the longest possible packet number encoding used for the buffered
  packet that carries the ACK.
- [BUGFIX] Do not increase CWND when timeout occurs.
- http_client: support setting handshake timeout on command line.
  Use -o handshake_to=timeout.
- http_client: use -k to connect UDP socket to pick up ICMP errors.
- http_client: allow pathless mode, when only handshake is performed
  without issuing any requests.  This can be done by simply not
  specifying a -p flag on the command line.
2019-02-18 08:40:51 -05:00
Dmitri Tikhonov
3329170846 Release 1.19.2
- [BUGFIX] Begin negotiation with version provided in 0-RTT info.
- [BUGFIX] Version checking in zero_rtt deserialize function.
2019-02-11 12:56:57 -05:00