Commit Briefs
Merge pull request #40 from flynn/cleanup-logging
Clean up logging
Clean up logging
Ensure that the server only logs in exceptional cases and prefixes each log line with the package name. Signed-off-by: Jonathan Rudenberg <jonathan@titanous.com>
Merge pull request #30 from stevvooe/truncate-twrite-msize
channel: truncate twrite messages based on msize
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 #21 from nilium/fix-close-error-race
Fix race-y channel close/error assignment
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>
Merge pull request #13 from stevvooe/document-exported-functions
lint/vet: address several issues identified by lint/vet
lint/vet: address several issues identified by lint/vet
Signed-off-by: Stephen J Day <stephen.day@docker.com>
Merge pull request #8 from talex5/master
Always negotiate a compatible protocol version
Fix format string error
Error was: error handling connection error negotiating version:%!(EXTRA *errors.errorString=bad version negotiation) will close Signed-off-by: Thomas Leonard <thomas.leonard@docker.com>
Merge pull request #1 from stevvooe/flush-race-fix
p9p: address race condition in flush response
p9p: address race condition in flush response
Signed-off-by: Stephen J Day <stephen.day@docker.com>