assemble all readers before access
This commit is contained in:
parent
567ca23bb3
commit
8a92216ce6
1 changed files with 4 additions and 2 deletions
|
@ -187,6 +187,8 @@ func (session *Session) Data(r io.Reader) error {
|
||||||
session.log.Debug("receiving DATA")
|
session.log.Debug("receiving DATA")
|
||||||
|
|
||||||
caster := readcaster.New(r)
|
caster := readcaster.New(r)
|
||||||
|
msgReader := caster.NewReader()
|
||||||
|
rspamReader := caster.NewReader()
|
||||||
|
|
||||||
wg := new(sync.WaitGroup)
|
wg := new(sync.WaitGroup)
|
||||||
|
|
||||||
|
@ -196,7 +198,7 @@ func (session *Session) Data(r io.Reader) error {
|
||||||
go func() {
|
go func() {
|
||||||
defer wg.Done()
|
defer wg.Done()
|
||||||
|
|
||||||
n, err := msg.ReadFrom(caster.NewReader())
|
n, err := msg.ReadFrom(msgReader)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
session.log.Error("failed to read message data into message", zap.Error(err))
|
session.log.Error("failed to read message data into message", zap.Error(err))
|
||||||
|
|
||||||
|
@ -208,7 +210,7 @@ func (session *Session) Data(r io.Reader) error {
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
|
||||||
_, action, err := session.rspam.BodyReadFrom(caster.NewReader())
|
_, action, err := session.rspam.BodyReadFrom(rspamReader)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
session.log.Error("rspamd failed to process message body", zap.Error(err))
|
session.log.Error("rspamd failed to process message body", zap.Error(err))
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue