Skip to content

Commit 8dc0a06

Browse files
committed
add err enum
1 parent 70cdde5 commit 8dc0a06

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

vpn/dylib/lib.go

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,13 @@ import (
1414
"github.com/coder/coder/v2/vpn"
1515
)
1616

17+
const (
18+
ErrDupReadFD = -2
19+
ErrDupWriteFD = -3
20+
ErrOpenPipe = -4
21+
ErrNewTunnel = -5
22+
)
23+
1724
// OpenTunnel creates a new VPN tunnel by `dup`ing the provided 'PIPE'
1825
// file descriptors for reading, writing, and logging.
1926
//
@@ -23,28 +30,28 @@ func OpenTunnel(cReadFD, cWriteFD int32) int32 {
2330

2431
readFD, err := unix.Dup(int(cReadFD))
2532
if err != nil {
26-
return -1
33+
return ErrDupReadFD
2734
}
2835

2936
writeFD, err := unix.Dup(int(cWriteFD))
3037
if err != nil {
3138
unix.Close(readFD)
32-
return -1
39+
return ErrDupWriteFD
3340
}
3441

3542
conn, err := vpn.NewBidirectionalPipe(uintptr(cReadFD), uintptr(cWriteFD))
3643
if err != nil {
3744
unix.Close(readFD)
3845
unix.Close(writeFD)
39-
return -1
46+
return ErrOpenPipe
4047
}
4148

4249
// Logs will be sent over the protocol
4350
_, err = vpn.NewTunnel(ctx, slog.Make(), conn)
4451
if err != nil {
4552
unix.Close(readFD)
4653
unix.Close(writeFD)
47-
return -1
54+
return ErrNewTunnel
4855
}
4956

5057
return 0

0 commit comments

Comments
 (0)