From 39f4c84551d25f72ad387b36beaee6c456035dc5 Mon Sep 17 00:00:00 2001 From: Bruno Clermont Date: Wed, 8 Feb 2017 19:25:36 +0800 Subject: [PATCH] log TAP write error --- src/cypherpunks.ru/govpn/peer.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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 } -- 2.44.0