mirror of
https://github.com/mjl-/mox.git
synced 2025-07-12 12:24:38 +03:00
improve message parsing: allow bare carriage return (unless in pedantic mode), allow empty header, and no longer treat a message with only headers as a message with only a body
This commit is contained in:
11
ctl.go
11
ctl.go
@ -327,21 +327,16 @@ func servectlcmd(ctx context.Context, ctl *ctl, shutdown func()) {
|
||||
log.Check(err, "closing temporary message file")
|
||||
}
|
||||
}()
|
||||
mw := &message.Writer{Writer: msgFile}
|
||||
mw := message.NewWriter(msgFile)
|
||||
ctl.xwriteok()
|
||||
|
||||
ctl.xstreamto(mw)
|
||||
err = msgFile.Sync()
|
||||
ctl.xcheck(err, "syncing message to storage")
|
||||
msgPrefix := []byte{}
|
||||
if !mw.HaveHeaders {
|
||||
msgPrefix = []byte("\r\n\r\n")
|
||||
}
|
||||
|
||||
m := &store.Message{
|
||||
Received: time.Now(),
|
||||
Size: int64(len(msgPrefix)) + mw.Size,
|
||||
MsgPrefix: msgPrefix,
|
||||
Received: time.Now(),
|
||||
Size: mw.Size,
|
||||
}
|
||||
|
||||
a.WithWLock(func() {
|
||||
|
Reference in New Issue
Block a user