aboutsummaryrefslogtreecommitdiff
path: root/forged/internal/incoming
diff options
context:
space:
mode:
Diffstat (limited to 'forged/internal/incoming')
-rw-r--r--forged/internal/incoming/hooks/hooks.go5
-rw-r--r--forged/internal/incoming/lmtp/config.go4
-rw-r--r--forged/internal/incoming/ssh/ssh.go4
-rw-r--r--forged/internal/incoming/web/web.go3
4 files changed, 15 insertions, 1 deletions
diff --git a/forged/internal/incoming/hooks/hooks.go b/forged/internal/incoming/hooks/hooks.go
index c021406..3be0811 100644
--- a/forged/internal/incoming/hooks/hooks.go
+++ b/forged/internal/incoming/hooks/hooks.go
@@ -2,6 +2,7 @@ package hooks
import (
"context"
+ "errors"
"fmt"
"net"
@@ -59,7 +60,9 @@ func (server *Server) Run(ctx context.Context) error {
for {
conn, err := listener.Accept()
if err != nil {
- // TODO: Handle errors caused by context cancel
+ if errors.Is(err, net.ErrClosed) {
+ return nil
+ }
return fmt.Errorf("accept conn: %w", err)
}
diff --git a/forged/internal/incoming/lmtp/config.go b/forged/internal/incoming/lmtp/config.go
index c622648..ce32f3d 100644
--- a/forged/internal/incoming/lmtp/config.go
+++ b/forged/internal/incoming/lmtp/config.go
@@ -2,6 +2,7 @@ package lmtp
import (
"context"
+ "errors"
"fmt"
"net"
@@ -52,6 +53,9 @@ func (server *Server) Run(ctx context.Context) error {
for {
conn, err := listener.Accept()
if err != nil {
+ if errors.Is(err, net.ErrClosed) {
+ return nil
+ }
return fmt.Errorf("accept conn: %w", err)
}
diff --git a/forged/internal/incoming/ssh/ssh.go b/forged/internal/incoming/ssh/ssh.go
index efa24f1..77812d1 100644
--- a/forged/internal/incoming/ssh/ssh.go
+++ b/forged/internal/incoming/ssh/ssh.go
@@ -2,6 +2,7 @@ package ssh
import (
"context"
+ "errors"
"fmt"
"os"
@@ -68,6 +69,9 @@ func (server *Server) Run(ctx context.Context) (err error) {
}()
if err = server.gliderServer.Serve(listener); err != nil {
+ if errors.Is(err, gliderssh.ErrServerClosed) {
+ return nil
+ }
return fmt.Errorf("serve SSH: %w", err)
}
panic("unreachable")
diff --git a/forged/internal/incoming/web/web.go b/forged/internal/incoming/web/web.go
index a95b650..f66ad64 100644
--- a/forged/internal/incoming/web/web.go
+++ b/forged/internal/incoming/web/web.go
@@ -63,6 +63,9 @@ func (server *Server) Run(ctx context.Context) (err error) {
}()
if err = server.httpServer.Serve(listener); err != nil {
+ if err == http.ErrServerClosed {
+ return nil
+ }
return fmt.Errorf("serve web: %w", err)
}
panic("unreachable")