Commit Graph

333 Commits

Author SHA1 Message Date
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
Lucas Clemente
2878e47317 use time.Duration as delay time type in ackframe 2016-04-29 12:18:35 +02:00
Lucas Clemente
3a18452a93 add gitignore 2016-04-29 12:04:34 +02:00
Lucas Clemente
d608a232e6 add very simple dockerfile for example server 2016-04-29 12:04:34 +02:00
Marten Seemann
74f7576391 implement a StopWaitingManager
fixes #30
2016-04-29 16:58:30 +07:00
Lucas Clemente
88a82be2fa fix http2 error handling 2016-04-29 11:53:15 +02:00
Lucas Clemente
5dddd9303f implement proper http request header handling
fixes #26
2016-04-29 11:49:46 +02:00
Lucas Clemente
42a1de6ba8 congestion interface cosmetics 2016-04-28 22:30:57 +02:00
Lucas Clemente
1535663fc5 add bytes-in-flight calculation to SentPacketHandler 2016-04-28 22:30:03 +02:00
Lucas Clemente
34b2e5129c move congestion clock to new file and implement default clock 2016-04-28 21:53:47 +02:00
Lucas Clemente
ac1affb940 make SentPacketHandler compute the delta between sent and ack time 2016-04-28 18:52:12 +02:00