summaryrefslogtreecommitdiff
path: root/pkg/server/socket/sys.go
diff options
context:
space:
mode:
authorMikhail Osipov <mike.osipov@gmail.com>2021-08-27 21:38:16 +0300
committerMikhail Osipov <mike.osipov@gmail.com>2021-08-27 21:38:16 +0300
commit2f01cc1db51368f36ba6ae664a3b0db9234f683f (patch)
treefb4a869419816fe4fd83440611a9bc7b6a8140df /pkg/server/socket/sys.go
parent3015840d9835717762de52e091adb58f1e2e3b63 (diff)
add origin host and port to env
Diffstat (limited to 'pkg/server/socket/sys.go')
-rw-r--r--pkg/server/socket/sys.go10
1 files changed, 4 insertions, 6 deletions
diff --git a/pkg/server/socket/sys.go b/pkg/server/socket/sys.go
index f90d2da..b2d836e 100644
--- a/pkg/server/socket/sys.go
+++ b/pkg/server/socket/sys.go
@@ -106,7 +106,7 @@ func getSocketOriginalDst(fd int, sa *unix.RawSockaddrAny) error {
}
}
-func getConnOriginalAddr(conn net.Conn, addr *string) error {
+func getConnOriginalHostPort(conn net.Conn) (string, string, error) {
var sa unix.RawSockaddrAny
f := func(fd int) error {
@@ -114,7 +114,7 @@ func getConnOriginalAddr(conn net.Conn, addr *string) error {
}
if err := withConnControl(conn, f); err != nil {
- return fmt.Errorf("get-original-addr: %w", err)
+ return "", "", fmt.Errorf("get-original-addr: %w", err)
}
var host net.IP
@@ -128,12 +128,10 @@ func getConnOriginalAddr(conn net.Conn, addr *string) error {
sin := (*unix.RawSockaddrInet6)(unsafe.Pointer(&sa))
host, port = sin.Addr[:], sin.Port
default:
- return errors.New("get-original-addr: unknown address family")
+ return "", "", fmt.Errorf("get-original-addr: unknown address family %d", sa.Addr.Family)
}
- *addr = net.JoinHostPort(host.String(), strconv.Itoa(int(be16toh(port))))
-
- return nil
+ return host.String(), strconv.Itoa(int(be16toh(port))), nil
}
func setSocketTransparent(fd int) error {