Merge pull request #90 from ns3777k/tcp-proxy-script-fix

fix: tcp_proxy module do not panic on empty script
This commit is contained in:
Simone Margaritelli 2018-02-26 23:04:42 +01:00 committed by GitHub
commit eab7997539
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -145,13 +145,17 @@ func (p *TcpProxy) doPipe(from, to net.Addr, src, dst io.ReadWriter, wg *sync.Wa
} }
b := buff[:n] b := buff[:n]
if p.script != nil {
ret := p.script.OnData(from, to, b) ret := p.script.OnData(from, to, b)
if ret != nil { if ret != nil {
nret := len(ret) nret := len(ret)
log.Info("Overriding %d bytes of data from %s to %s with %d bytes of new data.", n, from.String(), to.String(), nret) log.Info("Overriding %d bytes of data from %s to %s with %d bytes of new data.",
n, from.String(), to.String(), nret)
b = make([]byte, nret) b = make([]byte, nret)
copy(b, ret) copy(b, ret)
} }
}
n, err = dst.Write(b) n, err = dst.Write(b)
if err != nil { if err != nil {