Commit graph

283 commits

Author SHA1 Message Date
Dmitri Tikhonov
e02bc3157d Release 2.12.14
- [BUGFIX] min RTO delay is 200 ms , not 1 second.
- [BUGFIX] calculate TLP timer correctly when only one packet is in
  flight.
- [BUGFIX] discard CRYPTO frames from lower levels after connection
  promotion.
- [BUGFIX] cancel path response if path could not be initialized.
- [BUGFIX] if push promise fails, do not invoke hset destructor.
2020-11-17 13:57:13 -05:00
Dmitri Tikhonov
c338955a09 Fix: min RTO delay is 200 ms , not 1 second 2020-11-17 11:11:46 -05:00
Dmitri Tikhonov
6f2daf28d8 Fix: calculate TLP timer correctly when only one packet is in flight 2020-11-17 11:11:19 -05:00
Dmitri Tikhonov
4c9d8eb069 Fix: discard CRYPTO frames from lower levels after connection promotion 2020-11-17 11:08:19 -05:00
Dmitri Tikhonov
36d0fee2c1 Fix: cancel path response if path could not be initialized 2020-11-17 11:07:07 -05:00
Dmitri Tikhonov
0098937630 Fix: if push promise fails, do not invoke hset destructor 2020-11-17 11:04:32 -05:00
Dmitri Tikhonov
df40e9cdd0 Release 2.12.12
Undo change in 2.12.11
2020-10-26 15:00:40 -04:00
Dmitri Tikhonov
177a63db21 Release 2.12.11
- [BUGFIX] Function that checks validity of handshake packets
2020-10-08 09:02:17 -04:00
Dmitri Tikhonov
e0a487cf6e Fix function that checks validity of handshake packets
When Initial and 0-RTT packets are coalesced, they can be 1200
*together*.  lsquic_is_valid_hs_packet() should use the datagram
2020-10-08 08:50:20 -04:00
Dmitri Tikhonov
6eec0a76f7 Release 2.12.10
- [BUGFIX] Deactivate only *recent* HQ frame, not any HQ frame.
2020-10-06 16:54:03 -04:00
Dmitri Tikhonov
a1630d9c4f Fix: deactivate only *recent* HQ frame, not any HQ frame 2020-10-06 16:53:03 -04:00
Dmitri Tikhonov
75f54c8c52 Release 2.12.9
- [BUGFIX] Memory leak in IETF full conn dtor: cleanup closed IDs sets.
- [BUGFIX] Memory leak: free pushed promise when refcnt is zero.
2020-09-25 10:03:43 -04:00
Dmitri Tikhonov
2d7c7f881c Update version to 2.12.8 2020-09-08 15:45:19 -04:00
Dmitri Tikhonov
77cf229599 Fix: when stream is reset, it is writeable -- let user collect the error 2020-09-08 15:42:57 -04:00
Dmitri Tikhonov
d91deca498 Update version to 2.12.7 2020-06-17 14:49:23 -04:00
Dmitri Tikhonov
9dd862ff6c Fix early data: call new BoringSSL function to set context
Need to call SSL_set_quic_early_data_context() to enable early data
in session tickets issued to the client.  This change was introduced
in when we switched to newer BoringSSL.
2020-06-17 14:47:49 -04:00
Dmitri Tikhonov
649eb4521c Update version to 2.12.6 2020-06-15 16:46:39 -04:00
Dmitri Tikhonov
bade9e4226 Fix crash: check decrypt context before using it
This is a regression introduced when switched to the new BoringSSL API
in.  In the new APIs, read and write secrets are installed separately
and at different times.  The previous logic that checked context
initialization can no longer be used.  The new guard differentiates
between read and write secrets.
2020-06-15 16:35:51 -04:00
Dmitri Tikhonov
39bf17a6f1 Update version to 2.12.5 2020-06-12 10:14:05 -04:00
Dmitri Tikhonov
2c252f915b Update BoringSSL to later version, need this for ID-28
In ID-28, using TLS middlebox compatibility mode is forbidden and
we need a later version of BoringSSL for it to do the right thing.
This also means we had to update our code, because BoringSSL's QUIC
API has changed.
2020-06-12 10:00:17 -04:00
Dmitri Tikhonov
6dd81c92df Fix leak: free conns in Advisory Tick Time Queue in engine dtor 2020-06-12 10:00:14 -04:00
Dmitri Tikhonov
4c27a90c3c Fix: HTTP/3 headers may be followed immediately by trailers 2020-06-12 09:53:06 -04:00
Dmitri Tikhonov
432ffd65ae Fix: select new SCID when current SCID is retired 2020-06-12 09:50:53 -04:00
Dmitri Tikhonov
583766be5f Update version to 2.12.4 2020-06-04 10:41:54 -04:00
Dmitri Tikhonov
c3c2342f79 mini conn: consider amplification when deciding to return TICK_SEND 2020-06-04 10:27:30 -04:00
Dmitri Tikhonov
ad48a114a2 Fix: don't double-count tag length in amplification logic 2020-06-04 10:27:05 -04:00
Dmitri Tikhonov
1fbdbcee1d Update version to 2.12.3 2020-05-06 10:13:53 -04:00
Dmitri Tikhonov
780fa2c574 Fix: IETF mini conn not tickable if can't send due to amplification 2020-05-06 10:04:32 -04:00
Dmitri Tikhonov
10f94146d0 Fix amplification mitigation in 0-RTT case.
From the spec:

   Prior to validating the client address, servers MUST NOT send more
   than three times as many bytes as the number of bytes they have
   received.  This limits the magnitude of any amplification attack that
   can be mounted using spoofed source addresses.  In determining this
   limit, servers only count the size of successfully processed packets.
2020-05-06 10:03:36 -04:00
Dmitri Tikhonov
652129e69b Update version to 2.12.2 2020-04-17 12:25:14 -04:00
Dmitri Tikhonov
fcac25b623 Honor max packet size on the client and when path changes 2020-04-17 12:11:57 -04:00
Dmitri Tikhonov
35fc553f01 Fix: heed peer's max_packet_size transport parameter 2020-04-17 12:11:28 -04:00
Dmitri Tikhonov
76e2cfc99a Fix: a connection is tickable if it has unsent packets 2020-04-17 12:07:22 -04:00
Dmitri Tikhonov
898664ea29 Fix: place connections on tickable queue when sending is reenabled
Because connections' tickability depends on the ability of the engine
to send packets (ENPUB_CAN_SEND is checked), this property should be
recalculated when sending is reenabled in the engine via
lsquic_engine_send_unsent_packets()
2020-04-17 12:06:48 -04:00
Dmitri Tikhonov
f4bfba069b Release 2.12.1
[BUGFIX] ACK ping-pong: TIMESTAMP frame is not to be acked.
2020-03-23 17:24:14 -04:00
Dmitri Tikhonov
aedecb458e Add tutorial.rst -- forgotten in the previous commit 2020-03-02 08:57:22 -05:00
Dmitri Tikhonov
afe3d36359 Release 2.12.0
- [FEATURE] QUIC timestamps extension.
- [API] New: ea_alpn that is used when not in HTTP mode.
- [BUGFIX] SNI is mandatory only for HTTP/3 and gQUIC.
- [BUGFIX] Benign double-free -- issue #110.
- [BUGFIX] Printing of transport parameters.
2020-03-02 08:53:41 -05:00
Dmitri Tikhonov
fa4561dcea API: add ea_alpn that is used when not in HTTP mode 2020-02-28 14:03:57 -05:00
Dmitri Tikhonov
abc972dafe Release 2.11.1: fix clang compilation 2020-02-24 12:15:23 -05:00
Dmitri Tikhonov
bc520ef752 Release 2.11.0
- [FEATURE] QUIC and HTTP/3 Internet Draft 27 support.
- [FEATURE] Add experimental delayed ACKs extension.
- Drop support for Internet Draft 24.
- Code cleanup.
2020-02-24 12:02:57 -05:00
Dmitri Tikhonov
feca77f50d Add experimental support for delayed ACKs extension 2020-02-21 14:26:25 -05:00
Dmitri Tikhonov
df25d34a5e Fail engine ctor if stream callbackes are not specified 2020-02-20 17:01:15 -05:00
Dmitri Tikhonov
83506617f9 Set lshpack include directory in the library's Makefile 2020-02-20 17:00:23 -05:00
Dmitri Tikhonov
0bd320303d Switch to readthedocs.org for hosting documentation
Add API reference.
2020-02-20 16:56:57 -05:00
Dmitri Tikhonov
b86524a470 Code cleanup. Improve comments in lsquic.h 2020-02-20 16:56:06 -05:00
Dmitri Tikhonov
aa82021170 Release 2.10.6
- [BUGFIX] HTTP/3 framing: don't misinterpret rare occurence as error.
- [BUGFIX] Send gap warning due to missing poisoned packet.
2020-02-14 09:11:22 -05:00
Dmitri Tikhonov
35ac25bb73 Add stream unit test disproving issue #106 2020-02-14 08:44:19 -05:00
Dmitri Tikhonov
1bdb91d191 Release 2.10.5
- [BUGFIX] BBR: call cci_sent() with correct arguments and at correct time.
- Refactor transport parameters module.
- Minor code cleanup.
2020-02-13 09:36:04 -05:00
Dmitri Tikhonov
e68b045258 Release 2.10.4
- [BUGFIX] Send HANDSHAKE_DONE only after Finished is received.
- [BUGFIX] Don't treat garbage UDP padding as library error; ignore
  it instead.
- [BUGFIX] Fix compilation on FreeBSD (missing header).
2020-02-11 08:53:24 -05:00
LiteSpeed Tech
45aae370f6
Merge pull request #105 from bvdberg/bb_duplicate_includes
Fix duplicate header includes
2020-02-11 08:39:26 -05:00