fix
This commit is contained in:
@@ -1,10 +1,13 @@
|
||||
package srnd
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"io"
|
||||
"net"
|
||||
)
|
||||
|
||||
var ErrSpamFilterNotEnabled = errors.New("spam filter access attempted when disabled")
|
||||
|
||||
type SpamFilter struct {
|
||||
addr string
|
||||
enabled bool
|
||||
@@ -15,25 +18,27 @@ func (sp *SpamFilter) Configure(c SpamConfig) {
|
||||
sp.addr = c.addr
|
||||
}
|
||||
|
||||
func (sp *SpamFilter) Enabled() bool {
|
||||
return sp.enabled
|
||||
}
|
||||
|
||||
func (sp *SpamFilter) Rewrite(msg io.Reader, out io.WriteCloser) error {
|
||||
var buff [65636]byte
|
||||
if sp.enabled {
|
||||
addr, err := net.ResolveTCPAddr("tcp", sp.addr)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
c, err := net.DialTCP("tcp", nil, addr)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
io.CopyBuffer(c, msg, buff[:])
|
||||
c.CloseWrite()
|
||||
_, err = io.CopyBuffer(out, c, buff[:])
|
||||
c.Close()
|
||||
out.Close()
|
||||
if !sp.Enabled() {
|
||||
return ErrSpamFilterNotEnabled
|
||||
}
|
||||
addr, err := net.ResolveTCPAddr("tcp", sp.addr)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
io.CopyBuffer(out, msg, buff[:])
|
||||
c, err := net.DialTCP("tcp", nil, addr)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
io.CopyBuffer(c, msg, buff[:])
|
||||
c.CloseWrite()
|
||||
_, err = io.CopyBuffer(out, c, buff[:])
|
||||
c.Close()
|
||||
out.Close()
|
||||
return nil
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user