Commit Graph

343 Commits

Author SHA1 Message Date
Marten Seemann
77f34a9207 set initial flow control window from handshake parameters
fixes #50
2016-05-05 11:29:12 +07:00
Lucas Clemente
d178a02ad8 change congestion to use protocol.ByteCount
fixes #52
2016-05-05 01:41:34 +02:00
Lucas Clemente
321370e2f3 introduce protocol.ByteCount 2016-05-05 01:41:26 +02:00
Lucas Clemente
d1d4dbde2c update public header parsing to version 33
refs #51
2016-05-05 00:54:29 +02:00
Lucas Clemente
df2e6e32eb move fnv128a implementation to separate package 2016-05-04 17:26:44 +02:00
Lucas Clemente
15c2c725a3 add tests for h2quic.responseWriter.Write
fixes #53
2016-05-04 17:11:38 +02:00
Lucas Clemente
ef6e8cf1b4 make server delete sessions when they are closed
fixes #46
2016-05-04 16:34:08 +02:00
Lucas Clemente
150795d702 make session send packets immediately 2016-05-04 15:23:59 +02:00
Lucas Clemente
e9ff0768ea add packetParse.Empty() 2016-05-04 15:22:57 +02:00
Lucas Clemente
df5143d561 remove newlines from log messages 2016-05-04 14:24:36 +02:00
Lucas Clemente
09fb894fb2 add custom logger
fixes #45
2016-05-04 13:20:24 +02:00
Lucas Clemente
40ee20c02b use a ephermal curve25519 for forward secure key exchange
fixes #17
2016-05-04 12:45:25 +02:00
Marten Seemann
d07baef91b manage connection parameters in a separate class 2016-05-04 17:20:36 +07:00
Marten Seemann
01c5d91acc implement PingFrame 2016-05-04 10:16:00 +07:00
Marten Seemann
b183b0edb3 improve debug output 2016-05-03 23:34:01 +07:00
Lucas Clemente
c068cbcb8f replace certificate path with tls.Config instance throughout the server
The example server now reads the certificate and key data itself. Tests
use the new testdata package, where the sample key & cert are stored.

Fixes #24
2016-05-03 16:41:25 +02:00
Lucas Clemente
7adafb4c5f add protocol tests 2016-05-03 16:38:31 +02:00
Lucas Clemente
49a4920aae add some protocol constants for congestion 2016-05-03 15:14:48 +02:00
Lucas Clemente
745f1d8ed2 add some h2quic server tests
fixes #44
2016-05-03 15:14:24 +02:00
Lucas Clemente
e3a4d75fc1 move h2 server stuff from main to h2quic package 2016-05-03 14:26:50 +02:00
Lucas Clemente
c3da72d498 add debug.test (dvelve output) to gitignore 2016-05-03 14:26:50 +02:00
Lucas Clemente
a959804ed6 add request filling to h2quic 2016-05-03 14:26:50 +02:00
Lucas Clemente
0781e1b1b0 add h2quic package with response writer 2016-05-03 14:26:50 +02:00
Marten Seemann
08d96d2a69 calculate NACK ranges in the correct order expected by the ACK frame writer
fixes #43
2016-05-03 18:31:02 +07:00
Marten Seemann
6700672440 handle remote errors in Stream Write 2016-05-03 16:34:46 +07:00
Lucas Clemente
ef71186402 add gopher-logo 2016-05-03 10:27:59 +02:00
Marten Seemann
a19933d51f don't send packets containing only a StopWaitingFrame
fixes #41
2016-05-03 14:40:45 +07:00
Marten Seemann
ce01b5ed30 implement BlockedFrame writing 2016-05-03 14:04:01 +07:00
Marten Seemann
f240df6ea5 implement basic flow control
fixes #37
2016-05-03 12:07:01 +07:00
Lucas Clemente
daf4e4a867 remove support for version 30, since we don't implement FEC at all 2016-05-02 20:56:02 +02:00
Lucas Clemente
53ef5669e2 fix crypto setup tests 2016-05-02 20:52:09 +02:00
Lucas Clemente
462deb5038 improve version negotiation log 2016-05-02 20:50:06 +02:00
Lucas Clemente
6178ef83fe discard undecryptable packets
hopefully fixes issue #33, the workaround is tracked in #38
2016-05-02 16:45:26 +02:00
Lucas Clemente
6b4f01b1b9 use hex for connectionID in log messages 2016-05-02 15:13:29 +02:00
Lucas Clemente
a6d3dca74c re-add crypto test 2016-05-02 14:40:43 +02:00
Lucas Clemente
623bf065fd accept null-encrypted pckts until an encrypted pckt has ben received
this should fix issue #33
2016-05-02 14:38:05 +02:00
Marten Seemann
d1a3d14cf1 fix typo in EntropyAccumulator function 2016-05-02 16:36:48 +07:00
Marten Seemann
ad467ade58 fix several linter warnings and misspellings 2016-05-02 16:33:32 +07:00
Lucas Clemente
ce57f008e4 add MIT license file 2016-05-02 11:24:13 +02:00
Marten Seemann
969a0dc66f remove stray Printf
closes #36
2016-05-02 15:34:15 +07:00
Marten Seemann
733873fa5e correctly treat LeastUnacked value in a StopWaitingFrame 2016-04-30 19:00:01 +07:00
Marten Seemann
f3e7fd438e include StreamFrames in debug output 2016-04-30 14:23:31 +07:00
Marten Seemann
8a3b667c38 better debug output for retransmissions 2016-04-30 10:57:10 +07:00
Marten Seemann
06b51871b1 close session when receiving a ConnectionCloseFrame
fixes #28
2016-04-30 10:04:45 +07:00
Marten Seemann
f1537c4e1b improve debug output 2016-04-30 09:55:18 +07:00
Lucas Clemente
8cb546d3eb temporary workaround for server handing when session chan is full
#35
2016-04-29 16:50:39 +02:00
Lucas Clemente
480d339f9a implement public reset sending in session
fixes #14, #33
2016-04-29 16:50:09 +02:00
Lucas Clemente
1e8d1453a8 implement public reset packet writing 2016-04-29 16:12:17 +02:00
Lucas Clemente
a38735f8fc improve debug log 2016-04-29 12:35:18 +02:00
Lucas Clemente
64b5567eaa calculate RTT in session
fixes #32
2016-04-29 12:19:07 +02:00