Marten Seemann
cc2dc2aded
Merge pull request #587 from lucas-clemente/fix-425
...
close session if reading from the socket fails in the server
2017-05-05 16:49:01 +08:00
Marten Seemann
eacd994e67
close session if reading from the socket fails in the server
...
fixes #425
2017-05-04 13:15:20 +08:00
Marten Seemann
96e49b0c31
remove the closeCallback from the session
...
The closeCallback was run when a session was closed, i.e. after the run
loop of the session stopped. Instead of explicitely calling this callback
from the session, the caller of session.run() can just execute the code
after session.run() returns.
2017-05-03 14:06:47 +08:00
Lucas Clemente
e2a0d9f77c
Remove several unused fields and symbols
...
Detected with `unused -exports=true ./...`
2017-04-05 21:46:33 +01:00
Marten Seemann
021c9d5bcd
return an error when the network conn is closed in Listener.Serve()
...
fixes #483
2017-03-16 14:04:19 +07:00
Marten Seemann
841421ef7a
remove ineffective check for too large packets
...
closes #468
2017-03-15 09:30:06 +07:00
Marten Seemann
1f01904270
read packets with the maximum packet size
...
fixes #467
2017-03-06 13:02:46 +07:00
Lucas Clemente
1a0dc05211
improve documentation for our new API
2017-02-25 11:28:26 +01:00
Marten Seemann
c1c0fac0b4
validate minimum packet size before sending a version negotiation packet
...
fixes #429
2017-02-25 11:28:33 +07:00
Marten Seemann
820eb2e6ee
call the ConnStateCallback in the server for encryption level changes
...
ref #439
2017-02-24 08:42:49 +07:00
Marten Seemann
48dee2708e
implement a Serve method for the Listener
2017-02-22 23:03:09 +07:00
Marten Seemann
824f122a79
remove unused StreamCallback
2017-02-22 23:03:08 +07:00
Marten Seemann
5029ab0934
implement a quic.Listener, privatize the Server
2017-02-22 23:03:07 +07:00
Marten Seemann
e924f0ecb3
use the net.PacketConn everywhere in the server
2017-02-22 23:03:07 +07:00
Marten Seemann
5b42675da2
use a net.PacketConn instead of a net.UDPConn in Server and Session
2017-02-22 23:03:07 +07:00
Marten Seemann
ca863a86bb
add an Addr method to the Server
2017-02-22 23:03:06 +07:00
Marten Seemann
f47142eaac
remove stream ID from OpenStream() method
2017-02-22 23:03:05 +07:00
Marten Seemann
3458514744
add a method to open new Streams to the client
2017-01-14 18:58:43 +07:00
Marten Seemann
6913f5ae75
add tests for certChain, simplify constructor
2017-01-14 18:52:18 +07:00
Marten Seemann
0535491f30
rename crypto.Signer to crypto.CertChain
2017-01-14 18:52:18 +07:00
Marten Seemann
56a287ab9c
correcty read PublicHeader of PublicReset packets
2017-01-14 18:45:15 +07:00
Marten Seemann
cc2d966d84
write PublicHeaders for packets sent as a client
...
fixes #346
2017-01-14 18:45:13 +07:00
Marten Seemann
72e9994c9c
allow reuse of connection IDs
...
fixes #347
2017-01-07 19:21:18 +07:00
Marten Seemann
bf615659d6
ignore public reset packets, and log them
...
ref #34
2017-01-07 14:56:24 +07:00
Marten Seemann
3c7872c7b3
ignore delayed packets with a version mismatched
...
fixes #359
2016-12-02 13:48:48 +07:00
Marten Seemann
cedbc819d3
only start new session if the client sends a version in the PublicHeader
...
fixes #349
2016-11-27 22:54:38 +07:00
Marten Seemann
0d6356d9d8
rename PublicHeader.WritePublicHeader to PublicHeader.Write
2016-11-06 22:34:16 +07:00
Lucas Clemente
29be6301ee
take packet rcv timestamp directly after receiving from network
2016-09-07 15:51:04 +02:00
Lucas Clemente
099545521f
use *receivedPacket thoughout the session
2016-09-07 15:51:04 +02:00
Lucas Clemente
10d0190be1
remove some v33 mentions
2016-09-01 20:26:31 +02:00
Marten Seemann
e2d5d7e3a6
send VersionNegotiation packets as QUIC 33 packets
...
ref #215
2016-09-01 12:20:18 +02:00
Marten Seemann
99d4e36a56
also make ParsePublicHeader public
2016-08-05 00:12:08 +07:00
Marten Seemann
8b845fada9
make PublicHeader public
2016-08-04 15:45:11 +07:00
Lucas Clemente
0e05534909
improve main package test coverage
...
ref #241
2016-08-02 11:49:25 +02:00
Lucas Clemente
950e59fa3d
add a sync.Pool of byte buffers with maximum packet size as cap
...
ref #217
2016-07-26 15:36:28 +02:00
Lucas Clemente
0f941214b4
fix linter
2016-06-03 21:03:46 +02:00
Lucas Clemente
a47a04d16d
add server.Serve() API and improve server tests by listening on port 0
2016-06-03 13:10:04 +02:00
Lucas Clemente
c0b73c4beb
fix a potential race in server.Close()
2016-06-03 12:13:07 +02:00
Lucas Clemente
240946dfde
replace version number literals with constants to make grepping easier
2016-06-03 11:09:48 +02:00
Lucas Clemente
45554e67c4
fix a race condition in quic.Server
2016-06-02 21:22:04 +02:00
Lucas Clemente
cdff2e5531
add more tests for h2quic.Server
...
ref #160
2016-06-02 21:11:11 +02:00
Lucas Clemente
7ee5f96efd
implement h2quic.Server.Close()
...
fixes #155
2016-06-01 15:35:08 +02:00
Lucas Clemente
981d4e7fb8
add support for ECDSA private keys
...
fixes #158
2016-05-31 23:06:38 +02:00
Lucas Clemente
bf3d89c795
improve public quic and h2 APIs, embedding http.Server in h2quic.Server
...
ref #124
2016-05-30 14:19:25 +02:00
Lucas Clemente
c6a9e7e575
implement diversification nonce writing in public header
...
ref #51
2016-05-20 23:13:55 +02:00
Lucas Clemente
7a97f34fac
don't panic 🤓
...
fixes #93
2016-05-18 18:29:42 +02:00
Lucas Clemente
d04ee083a7
remove TODOs from server.go
...
we don't send public resets, since we don't have any connection info yet
2016-05-17 19:24:49 +02:00
Lucas Clemente
a10d58c8ca
privatize session.run
...
ref #60
2016-05-15 18:49:09 +02:00
Lucas Clemente
028615b8f0
privatize session.handlePacket
...
ref #60
2016-05-15 18:48:11 +02:00
Lucas Clemente
ce1f7b2aaf
privatize closeCallback
...
ref #60
2016-05-15 15:58:35 +02:00