Commit Briefs

Stephen J Day

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>


GitHub

Merge pull request #33 from stevvooe/new-context

p9p: use new context package throughout


Stephen J Day

p9p: use new context package throughout

Signed-off-by: Stephen J Day <stephen.day@docker.com>


GitHub

Merge pull request #28 from simonferquel/msize_negociation_fix

Fixes the MSize comparison when negociating msize with server


Simon Ferquel

Fixes the MSize comparison when negociating msize with server

Signed-off-by: Simon Ferquel <simon.ferquel@docker.com>


GitHub

Merge pull request #23 from dominikh/qtype

Specify type for all constants, not just the first


GitHub

Merge pull request #24 from stevvooe/refactor-transport-close

transport: remove race condition on close


Dominik Honnef

Specify type for all constants, not just the first

Closes #22 Signed-off-by: Dominik Honnef <dominik@honnef.co>


Stephen J Day

transport: remove race condition on close

Signed-off-by: Stephen J Day <stephen.day@docker.com>


GitHub

Merge pull request #21 from nilium/fix-close-error-race

Fix race-y channel close/error assignment


Stephen Day

Merge pull request #20 from docker/fix-alignment

Fix readme alignment


Noel Cower

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>


French Ben

Fix readme alignment

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


Stephen Day

Merge pull request #19 from docker/badge-badge

Added badge badge


French Ben

Merged master

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