Fix tests and linters

This commit is contained in:
Daniel
2022-02-02 12:48:42 +01:00
parent f2fcad4d11
commit 60d8664e7b
171 changed files with 944 additions and 874 deletions

View File

@@ -25,7 +25,7 @@ func Start() error {
return nil
}
var inputPackets = Packets
inputPackets := Packets
if packetMetricsDestination != "" {
go metrics.writeMetrics()
inputPackets = make(chan packet.Packet)

View File

@@ -58,7 +58,9 @@ func (pm *packetMetrics) writeMetrics() {
log.Errorf("Failed to create packet metrics file: %s", err)
return
}
defer f.Close()
defer func() {
_ = f.Close()
}()
for {
select {

View File

@@ -1,4 +1,4 @@
// +build linux
// go:build linux
// Package nfq contains a nfqueue library experiment.
package nfq
@@ -10,15 +10,15 @@ import (
"sync/atomic"
"time"
"github.com/safing/portbase/log"
pmpacket "github.com/safing/portmaster/network/packet"
"github.com/florianl/go-nfqueue"
"github.com/tevino/abool"
"golang.org/x/sys/unix"
"github.com/florianl/go-nfqueue"
"github.com/safing/portbase/log"
pmpacket "github.com/safing/portmaster/network/packet"
)
// Queue wraps a nfqueue
// Queue wraps a nfqueue.
type Queue struct {
id uint16
afFamily uint8
@@ -32,7 +32,7 @@ type Queue struct {
}
func (q *Queue) getNfq() *nfqueue.Nfqueue {
return q.nf.Load().(*nfqueue.Nfqueue)
return q.nf.Load().(*nfqueue.Nfqueue) //nolint:forcetypeassert // TODO: Check.
}
// New opens a new nfQueue.
@@ -112,7 +112,7 @@ func (q *Queue) open(ctx context.Context) error {
}
if err := nf.RegisterWithErrorFunc(ctx, q.packetHandler(ctx), q.handleError); err != nil {
defer nf.Close()
_ = nf.Close()
return err
}
@@ -124,7 +124,7 @@ func (q *Queue) open(ctx context.Context) error {
func (q *Queue) handleError(e error) int {
// embedded interface is required to work-around some
// dep-vendoring weirdness
if opError, ok := e.(interface {
if opError, ok := e.(interface { //nolint:errorlint // TODO: Check if we can remove workaround.
Timeout() bool
Temporary() bool
}); ok {
@@ -153,7 +153,7 @@ func (q *Queue) handleError(e error) int {
// Close the existing socket
if nf := q.getNfq(); nf != nil {
nf.Close()
_ = nf.Close()
}
// Trigger a restart of the queue

View File

@@ -1,4 +1,4 @@
// +build linux
// go:build linux
package nfq
@@ -8,9 +8,9 @@ import (
"sync/atomic"
"time"
"github.com/florianl/go-nfqueue"
"github.com/tevino/abool"
"github.com/florianl/go-nfqueue"
"github.com/safing/portbase/log"
pmpacket "github.com/safing/portmaster/network/packet"
)
@@ -104,7 +104,7 @@ func (pkt *packet) setMark(mark int) error {
if err := pkt.queue.getNfq().SetVerdictWithMark(pkt.pktID, nfqueue.NfAccept, mark); err != nil {
// embedded interface is required to work-around some
// dep-vendoring weirdness
if opErr, ok := err.(interface {
if opErr, ok := err.(interface { //nolint:errorlint // TODO: Check if we can remove workaround.
Timeout() bool
Temporary() bool
}); ok {

View File

@@ -44,7 +44,6 @@ type nfQueue interface {
}
func init() {
v4chains = []string{
"mangle C170",
"mangle C171",
@@ -128,7 +127,6 @@ func init() {
// Reverse because we'd like to insert in a loop
_ = sort.Reverse(sort.StringSlice(v4once)) // silence vet (sort is used just like in the docs)
_ = sort.Reverse(sort.StringSlice(v6once)) // silence vet (sort is used just like in the docs)
}
func activateNfqueueFirewall() error {
@@ -241,7 +239,7 @@ func StartNfqueueInterception(packets chan<- packet.Packet) (err error) {
err = activateNfqueueFirewall()
if err != nil {
_ = Stop()
return fmt.Errorf("could not initialize nfqueue: %s", err)
return fmt.Errorf("could not initialize nfqueue: %w", err)
}
out4Queue, err = nfq.New(17040, false)
@@ -288,7 +286,7 @@ func StopNfqueueInterception() error {
err := DeactivateNfqueueFirewall()
if err != nil {
return fmt.Errorf("interception: error while deactivating nfqueue: %s", err)
return fmt.Errorf("interception: error while deactivating nfqueue: %w", err)
}
return nil