mirror of
https://github.com/amnezia-vpn/amneziawg-go.git
synced 2025-04-18 06:56:54 +02:00
device: return generic error from Ipc{Get,Set}Operation.
This makes uapi.go's public API conform to Go style in terms of error types. Signed-off-by: David Anderson <danderson@tailscale.com>
This commit is contained in:
parent
c76b818466
commit
f2c6faad44
2 changed files with 16 additions and 5 deletions
|
@ -7,6 +7,7 @@ package device
|
|||
|
||||
import (
|
||||
"bufio"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"net"
|
||||
|
@ -31,7 +32,7 @@ func (s IPCError) ErrorCode() int64 {
|
|||
return s.int64
|
||||
}
|
||||
|
||||
func (device *Device) IpcGetOperation(socket *bufio.Writer) *IPCError {
|
||||
func (device *Device) IpcGetOperation(socket *bufio.Writer) error {
|
||||
lines := make([]string, 0, 100)
|
||||
send := func(line string) {
|
||||
lines = append(lines, line)
|
||||
|
@ -106,7 +107,7 @@ func (device *Device) IpcGetOperation(socket *bufio.Writer) *IPCError {
|
|||
return nil
|
||||
}
|
||||
|
||||
func (device *Device) IpcSetOperation(socket *bufio.Reader) *IPCError {
|
||||
func (device *Device) IpcSetOperation(socket *bufio.Reader) error {
|
||||
scanner := bufio.NewScanner(socket)
|
||||
logError := device.log.Error
|
||||
logDebug := device.log.Debug
|
||||
|
@ -421,10 +422,20 @@ func (device *Device) IpcHandle(socket net.Conn) {
|
|||
|
||||
switch op {
|
||||
case "set=1\n":
|
||||
status = device.IpcSetOperation(buffered.Reader)
|
||||
err = device.IpcSetOperation(buffered.Reader)
|
||||
if err != nil && !errors.As(err, &status) {
|
||||
// should never happen
|
||||
device.log.Error.Println("Invalid UAPI error:", err)
|
||||
status = &IPCError{1}
|
||||
}
|
||||
|
||||
case "get=1\n":
|
||||
status = device.IpcGetOperation(buffered.Writer)
|
||||
err = device.IpcGetOperation(buffered.Writer)
|
||||
if err != nil && !errors.As(err, &status) {
|
||||
// should never happen
|
||||
device.log.Error.Println("Invalid UAPI error:", err)
|
||||
status = &IPCError{1}
|
||||
}
|
||||
|
||||
default:
|
||||
device.log.Error.Println("Invalid UAPI operation:", op)
|
||||
|
|
2
go.mod
2
go.mod
|
@ -1,6 +1,6 @@
|
|||
module golang.zx2c4.com/wireguard
|
||||
|
||||
go 1.12
|
||||
go 1.13
|
||||
|
||||
require (
|
||||
golang.org/x/crypto v0.0.0-20191002192127-34f69633bfdc
|
||||
|
|
Loading…
Add table
Reference in a new issue