Gaukas Wang
4973374ea5
sync: quic-go 0.42.0
...
Signed-off-by: Gaukas Wang <i@gaukas.wang>
2024-04-23 22:34:55 -06:00
Gaukas Wang
7c77243b04
upstream: sync to 0.39.1
2023-10-26 22:47:22 -06:00
Marten Seemann
9010cfd2bb
remove unused unknownPacketHandler interface ( #4093 )
2023-09-17 05:20:13 -07:00
Marten Seemann
b73a4de7ea
only add an ECN control message if ECN is supported
2023-09-11 20:31:50 +07:00
Marten Seemann
5dd6d91c11
send and track packets with ECN markings
2023-09-11 20:31:50 +07:00
Marten Seemann
090e505aa9
move GSO control message handling to the oobConn ( #4056 )
...
* move GSO control message handling to the oobConn
* disable OOB test on Windows
* improve GSO tests
* update ooConn.WritePacket comment
2023-08-31 00:49:27 -07:00
Gaukas Wang
856bc02b8f
Merge branch 'upstream' into sync-upstream
2023-08-28 14:12:03 -06:00
Marten Seemann
4122eb7a7d
disable GSO if sending fails for a particular remote address
2023-08-16 22:09:29 +07:00
Gaukas Wang
95575f5fe7
break: update repo url [ci skip]
...
uTLS is not yet bumped to the new version, so this commit breaks the dependencies relationship by getting rid of the local replace.
2023-08-03 18:58:52 -06:00
Marten Seemann
edaeed0107
embed the packetInfo in the receivedPacket struct
...
This avoid allocating the packetInfo struct when receiving a packet.
2023-06-03 10:44:16 +03:00
Marten Seemann
072a602cc1
pass around receivedPacket as struct instead of as pointer ( #3823 )
2023-06-03 00:08:58 -07:00
Marten Seemann
5b5ffa942b
pack packets into large buffers when GSO is available
2023-06-03 09:21:55 +03:00
Marten Seemann
39ae200972
enable GSO on Linux, if available
2023-06-02 18:35:02 +03:00
Marten Seemann
614fdb3271
only run DPLPMTUD if the connection can send packets with the DF bit set ( #3879 )
2023-06-02 06:54:34 -07:00
Marten Seemann
bc7cb706c5
add a GetConfigForClient callback to the Config
2023-05-02 15:56:49 +02:00
Marten Seemann
8189e75be6
implement the Transport
2023-05-02 15:56:48 +02:00
Marten Seemann
58487803d3
move 0-RTT queue handling from the packet handler map to the server
2023-05-01 14:24:28 +02:00
Marten Seemann
2359407e11
avoid copying when detecting stateless resets ( #3767 )
2023-04-19 06:22:02 -07:00
Marten Seemann
a8a24a2bc2
add missing tracing for dropped 0-RTT packets ( #3762 )
2023-04-19 05:50:29 -07:00
Marten Seemann
58cedf7a4f
rename module, adjust import paths to quic-go/quic-go ( #3680 )
2023-01-21 19:53:57 -08:00
Marten Seemann
8d496ebb5e
introduce a type for the stateless reset key ( #3621 )
2022-11-16 14:11:25 -08:00
Marten Seemann
1aced95d41
use an array instead of a byte slice for Connection IDs
2022-08-29 11:30:31 +03:00
Marten Seemann
b659414495
use a single Go routine to send copies of CONNECTION_CLOSE packets
2022-08-21 15:41:47 +03:00
Marten Seemann
c3ab9c4ea9
replace all connection IDs at the same time when connection is closed
2022-08-21 14:09:49 +03:00
Marten Seemann
feb94286a5
move the 0-RTT queue to a separate file
2022-08-21 12:46:40 +03:00
Marten Seemann
19c6a1b252
use type assertions to identify 0-RTT queues in packet handler map
2022-08-21 12:44:40 +03:00
Marten Seemann
80fd1b57c8
add a function to distinguish between long and short header packets ( #3498 )
2022-08-11 07:35:01 -07:00
Chao Fei
b9a77af8f9
don't set receive buffer if it is already large enough ( #3407 )
2022-05-12 04:24:37 -07:00
Marten Seemann
42bfe5aa70
add a nolint directive for the use of net.Error.Temporary when reading from conn
2022-04-02 20:35:43 +01:00
Marten Seemann
4b17343631
rename the session to connection
2022-03-27 12:50:14 +01:00
Marten Seemann
d7ad1b6b9b
rename the connection to rawConn
2022-03-27 12:28:43 +01:00
Marten Seemann
1ae835d1d8
rename occurrences of session in client, server and packetHandlerMap
2022-03-27 11:27:25 +01:00
Marten Seemann
580cc754f3
don't print a receive buffer warning for closed connections ( #3346 )
2022-03-16 01:32:43 -07:00
Arash Payan
fa070e585e
add env to disable the receive buffer warning ( #3339 )
...
If the env QUIC_GO_DISABLE_RECEIVE_BUFFER_WARNING is set to true
(as defined by strconv.ParseBool()), the receive buffer warning
will not be printed out.
2022-03-07 15:16:52 +01:00
Toby
17952f3e06
fix typo ( #3333 )
2022-02-20 05:24:26 -08:00
Marten Seemann
93cfef57ca
expose a StatelessResetError
2021-05-01 09:39:51 +07:00
Marten Seemann
592fb9cad9
introduce a dedicated qerr.TransportError and qerr.ApplicationError
2021-05-01 09:38:48 +07:00
Marten Seemann
162cb16b31
cache the serialized OOB in the conn, not in the packet info
...
We're allocating a lot of packetInfo structs during the lifetime of a
connection. It's better to keep that struct as small as possible.
2021-03-16 14:04:15 +08:00
Olivier Poitrey
eb6bdfdfc1
Use the correct source IP when binding multiple IPs
...
When the server is listening on multiple interfaces or interfaces with
multiple IPs, the outgoing datagrams are sometime delivered with the
wrong source IP address.
In order to fix that, each quic connection needs to extract the
destination IP (and optionally interface id) of the received datagrams,
and set it as source IP (and interface) on the sent datagrams.
On most platforms, this can be done using ancillary data with recvmsg()
and sendmsg(). Some of the machinery for this is already there for ECN,
this change extends it to read the destination IP info and write it to
the outgoing packets.
Fix #1736
2021-03-16 00:50:05 +01:00
Marten Seemann
2bd316b89e
store 0-RTT queues in the packet handler map
...
This prevents a race condition between receiving of 0-RTT packets and
the creation of new session.
2021-03-11 21:16:50 +08:00
Marten Seemann
369442a170
fix error message when the UDP receive buffer size can't be increased
2021-02-15 10:13:40 +08:00
Marten Seemann
75ed1401d8
improve error message when the read buffer size can't be set
2021-02-05 11:32:18 +08:00
Marten Seemann
aea8f7345b
make sure the server is stopped before closing all server sessions
2021-01-25 15:28:42 +08:00
Marten Seemann
31b05bc249
Merge pull request #2892 from lucas-clemente/optimize-packet-handler-map-map-keys
...
use the string optimization for map keys in the packet handler map
2020-12-05 21:05:09 +07:00
Marten Seemann
d1bc0c20b9
Merge pull request #2923 from lucas-clemente/receive-buffer-warning
...
improve the warning about the UDP receive buffer size
2020-12-04 10:37:51 +07:00
Marten Seemann
b0974c14ad
link to the wiki explaining the UDP receive buffer size
2020-12-04 09:16:22 +07:00
Marten Seemann
0eb3f14a60
only print the warning about the UDP receive buffer size once
2020-12-02 15:45:14 +07:00
Marten Seemann
05066ae877
immediately remove reset tokens when retiring a connection ID
2020-11-22 10:21:20 +07:00
Marten Seemann
45963c11dc
use the string optimization for map keys
2020-11-21 10:53:14 +07:00
Marten Seemann
ba37b0e02b
replace the RWMutex with a Mutex in the packet handler map
2020-11-06 17:09:21 +07:00