From: Bruno Clermont Date: Wed, 8 Feb 2017 11:25:36 +0000 (+0800) Subject: log TAP write error X-Git-Url: http://www.git.cypherpunks.ru/?p=govpn.git;a=commitdiff_plain;h=39f4c84551d25f72ad387b36beaee6c456035dc5 log TAP write error --- diff --git a/src/cypherpunks.ru/govpn/peer.go b/src/cypherpunks.ru/govpn/peer.go index 989fd31..900aeb9 100644 --- a/src/cypherpunks.ru/govpn/peer.go +++ b/src/cypherpunks.ru/govpn/peer.go @@ -379,11 +379,11 @@ func (p *Peer) PktProcess(data []byte, tap io.Writer, reorderable bool) bool { return false } var out []byte + var err error p.BusyR.Lock() defer p.BusyR.Unlock() copy(p.nonceR[8:], data[len(data)-NonceSize:]) if p.Encless { - var err error out, err = EnclessDecode(p.key, p.nonceR, data[:len(data)-NonceSize]) if err != nil { logger.WithFields( @@ -470,7 +470,9 @@ func (p *Peer) PktProcess(data []byte, tap io.Writer, reorderable bool) bool { return true } p.BytesPayloadIn += uint64(p.pktSizeR) - tap.Write(out[:p.pktSizeR]) + if _, err = tap.Write(out[:p.pktSizeR]); err != nil { + logger.WithFields(p.LogFields()).WithFields(fields).WithError(err).Error("Can't write to TAP") + } return true }