Break out of the connection loops if EOF is reached.
authorRobert Sesek <rsesek@bluestatic.org>
Sun, 18 Dec 2016 06:26:35 +0000 (01:26 -0500)
committerRobert Sesek <rsesek@bluestatic.org>
Sun, 18 Dec 2016 06:39:37 +0000 (01:39 -0500)
pop3/conn.go
smtp/conn.go

index cbf86d32cab8f131d87c3f126a0928517f16a229..6b5fe4cf02f822bb48dc322dfd319857ae54db3c 100644 (file)
@@ -54,8 +54,11 @@ func AcceptConnection(netConn net.Conn, po PostOffice, log zap.Logger) {
        for {
                conn.line, err = conn.tp.ReadLine()
                if err != nil {
-                       conn.err("did't catch that")
+                       if err == io.EOF {
+                               break
+                       }
                        conn.log.Error("ReadLine()", zap.Error(err))
+                       conn.err("did't catch that")
                        continue
                }
 
index 08d14c6887ceaf7f9a5d44355612f485f1bdafce..075ca213aab54ccd76f420d11f5192d94f7439a5 100644 (file)
@@ -4,6 +4,7 @@ import (
        "crypto/rand"
        "crypto/tls"
        "fmt"
+       "io"
        "net"
        "net/mail"
        "net/textproto"
@@ -61,6 +62,10 @@ func AcceptConnection(netConn net.Conn, server Server, log zap.Logger) error {
        for {
                conn.line, err = conn.tp.ReadLine()
                if err != nil {
+                       if err == io.EOF {
+                               break
+                       }
+                       conn.log.Error("ReadLine()", zap.Error(err))
                        conn.writeReply(500, "line too long")
                        continue
                }