Commits


channel: truncate twrite messages based on msize While there are a few problems around handling of msize, the easiest to address and, arguably, the most problematic is that of Twrite. We now truncate Twrite.Data to the correct length if it will overflow the msize limit negotiated on the session. ErrShortWrite is returned by the `Session.Write` method if written data is truncated. In addition, we now reject incoming messages from `ReadFcall` that overflow the msize. Such messages are probably terminal in practice, but can be detected with the `Overflow` function. Tread is also handled accordingly, such that the Count field will be rewritten such that the response doesn't overflow the msize. Signed-off-by: Stephen J Day <stephen.day@docker.com>


Merge pull request #33 from stevvooe/new-context p9p: use new context package throughout


p9p: use new context package throughout Signed-off-by: Stephen J Day <stephen.day@docker.com>


Merge pull request #28 from simonferquel/msize_negociation_fix Fixes the MSize comparison when negociating msize with server


Fixes the MSize comparison when negociating msize with server Signed-off-by: Simon Ferquel <simon.ferquel@docker.com>


Merge pull request #23 from dominikh/qtype Specify type for all constants, not just the first


Merge pull request #24 from stevvooe/refactor-transport-close transport: remove race condition on close


Specify type for all constants, not just the first Closes #22 Signed-off-by: Dominik Honnef <dominik@honnef.co>


transport: remove race condition on close Signed-off-by: Stephen J Day <stephen.day@docker.com>


Merge pull request #21 from nilium/fix-close-error-race Fix race-y channel close/error assignment


Merge pull request #20 from docker/fix-alignment Fix readme alignment


Fix race-y channel close/error assignment Data race occurred when assigning to err and then subsequently reading it from anywhere else. Moving the channel close down could potentially help, but far easier to just gate both with a sync.Once since this isn't a code path that seems like it needs to be super-performant. Changes cause CloseWithError to be call-able once, ensuring that there's no case where err is written to while being read (as would happen when closing and reading c.err from another goroutine the moment c.closed is closed). Signed-off-by: Noel Cower <ncower@gmail.com>


Fix readme alignment Signed-off-by: French Ben <frenchben@docker.com>


Merge pull request #19 from docker/badge-badge Added badge badge


Merged master Signed-off-by: French Ben <frenchben@docker.com>