enable gocritic linter

Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
This commit is contained in:
Matthieu MOREL 2023-03-12 10:24:30 +01:00
parent 5a7619c019
commit 79f524689c
13 changed files with 39 additions and 33 deletions

View File

@ -2,6 +2,7 @@ linters:
enable: enable:
- contextcheck - contextcheck
- gci - gci
- gocritic
- gofumpt - gofumpt
- gosimple - gosimple
- ineffassign - ineffassign

View File

@ -44,11 +44,13 @@ func main() {
// Start UDP server // Start UDP server
addr, err := net.ResolveUDPAddr("udp", fmt.Sprintf(":%s", port)) addr, err := net.ResolveUDPAddr("udp", fmt.Sprintf(":%s", port))
if err != nil { if err != nil {
log.Fatalf("Error from net.ResolveUDPAddr(): %s", err) log.Printf("Error from net.ResolveUDPAddr(): %s", err)
return
} }
sock, err := net.ListenUDP("udp", addr) sock, err := net.ListenUDP("udp", addr)
if err != nil { if err != nil {
log.Fatalf("Error from ListenUDP(): %s", err) log.Printf("Error from ListenUDP(): %s", err)
return
} }
defer sock.Close() defer sock.Close()
@ -56,7 +58,8 @@ func main() {
for { for {
n, addr, err := sock.ReadFrom(buffer) n, addr, err := sock.ReadFrom(buffer)
if err != nil { if err != nil {
log.Fatalf("Error from ReadFrom(): %s", err) log.Printf("Error from ReadFrom(): %s", err)
return
} }
sock.SetWriteDeadline(time.Now().Add(1 * time.Minute)) sock.SetWriteDeadline(time.Now().Add(1 * time.Minute))
_, err = sock.WriteTo(buffer[0:n], addr) _, err = sock.WriteTo(buffer[0:n], addr)

View File

@ -75,7 +75,7 @@ var _ = Describe("Sysctl tests", func() {
Describe("Sysctl", func() { Describe("Sysctl", func() {
It("reads keys with dot separators", func() { It("reads keys with dot separators", func() {
beforeEach() beforeEach()
sysctlIfaceName := strings.Replace(testIfaceName, ".", "/", -1) sysctlIfaceName := strings.ReplaceAll(testIfaceName, ".", "/")
sysctlKey := fmt.Sprintf(sysctlDotKeyTemplate, sysctlIfaceName) sysctlKey := fmt.Sprintf(sysctlDotKeyTemplate, sysctlIfaceName)
_, err := sysctl.Sysctl(sysctlKey) _, err := sysctl.Sysctl(sysctlKey)
@ -96,7 +96,7 @@ var _ = Describe("Sysctl tests", func() {
Describe("Sysctl", func() { Describe("Sysctl", func() {
It("writes keys with dot separators", func() { It("writes keys with dot separators", func() {
beforeEach() beforeEach()
sysctlIfaceName := strings.Replace(testIfaceName, ".", "/", -1) sysctlIfaceName := strings.ReplaceAll(testIfaceName, ".", "/")
sysctlKey := fmt.Sprintf(sysctlDotKeyTemplate, sysctlIfaceName) sysctlKey := fmt.Sprintf(sysctlDotKeyTemplate, sysctlIfaceName)
_, err := sysctl.Sysctl(sysctlKey, "1") _, err := sysctl.Sysctl(sysctlKey, "1")

View File

@ -83,7 +83,7 @@ var requestOptionsDefault = map[dhcp4.OptionCode]bool{
dhcp4.OptionSubnetMask: true, dhcp4.OptionSubnetMask: true,
} }
func prepareOptions(cniArgs string, ProvideOptions []ProvideOption, RequestOptions []RequestOption) ( func prepareOptions(cniArgs string, provideOptions []ProvideOption, requestOptions []RequestOption) (
map[dhcp4.OptionCode]bool, map[dhcp4.OptionCode][]byte, error, map[dhcp4.OptionCode]bool, map[dhcp4.OptionCode][]byte, error,
) { ) {
var optsRequesting map[dhcp4.OptionCode]bool var optsRequesting map[dhcp4.OptionCode]bool
@ -101,7 +101,7 @@ func prepareOptions(cniArgs string, ProvideOptions []ProvideOption, RequestOptio
// parse providing options map // parse providing options map
var optParsed dhcp4.OptionCode var optParsed dhcp4.OptionCode
optsProviding = make(map[dhcp4.OptionCode][]byte) optsProviding = make(map[dhcp4.OptionCode][]byte)
for _, opt := range ProvideOptions { for _, opt := range provideOptions {
optParsed, err = parseOptionName(string(opt.Option)) optParsed, err = parseOptionName(string(opt.Option))
if err != nil { if err != nil {
return nil, nil, fmt.Errorf("Can not parse option %q: %w", opt.Option, err) return nil, nil, fmt.Errorf("Can not parse option %q: %w", opt.Option, err)
@ -123,7 +123,7 @@ func prepareOptions(cniArgs string, ProvideOptions []ProvideOption, RequestOptio
// parse necessary options map // parse necessary options map
optsRequesting = make(map[dhcp4.OptionCode]bool) optsRequesting = make(map[dhcp4.OptionCode]bool)
skipRequireDefault := false skipRequireDefault := false
for _, opt := range RequestOptions { for _, opt := range requestOptions {
if opt.SkipDefault { if opt.SkipDefault {
skipRequireDefault = true skipRequireDefault = true
} }

View File

@ -67,12 +67,10 @@ func (s *RangeSet) Canonicalize() error {
} }
if i == 0 { if i == 0 {
fam = len((*s)[i].RangeStart) fam = len((*s)[i].RangeStart)
} else { } else if fam != len((*s)[i].RangeStart) {
if fam != len((*s)[i].RangeStart) {
return fmt.Errorf("mixed address families") return fmt.Errorf("mixed address families")
} }
} }
}
// Make sure none of the ranges in the set overlap // Make sure none of the ranges in the set overlap
l := len(*s) l := len(*s)

View File

@ -198,7 +198,7 @@ func (s *Store) GetByID(id string, ifname string) []net.IP {
func GetEscapedPath(dataDir string, fname string) string { func GetEscapedPath(dataDir string, fname string) string {
if runtime.GOOS == "windows" { if runtime.GOOS == "windows" {
fname = strings.Replace(fname, ":", "_", -1) fname = strings.ReplaceAll(fname, ":", "_")
} }
return filepath.Join(dataDir, fname) return filepath.Join(dataDir, fname)
} }

View File

@ -53,8 +53,9 @@ type Net struct {
IPAM *allocator.IPAMConfig `json:"ipam"` IPAM *allocator.IPAMConfig `json:"ipam"`
// RuntimeConfig struct { // The capability arg // RuntimeConfig struct { // The capability arg
// IPRanges []RangeSet `json:"ipRanges,omitempty"` // IPRanges []RangeSet `json:"ipRanges,omitempty"`
//} `json:"runtimeConfig,omitempty"`
// Args *struct { // Args *struct {
// } `json:"runtimeConfig,omitempty"`
// A *IPAMArgs `json:"cni"` // A *IPAMArgs `json:"cni"`
DNS types.DNS `json:"dns"` DNS types.DNS `json:"dns"`
RawPrevResult map[string]interface{} `json:"prevResult,omitempty"` RawPrevResult map[string]interface{} `json:"prevResult,omitempty"`
@ -1497,11 +1498,12 @@ func (tester *testerV01xOr02x) cmdDelTest(tc testCase, dataDir string) {
err := testutils.CmdDelWithArgs(tester.args, func() error { err := testutils.CmdDelWithArgs(tester.args, func() error {
return cmdDel(tester.args) return cmdDel(tester.args)
}) })
if expect020DelError(tc) { switch {
case expect020DelError(tc):
Expect(err).To(MatchError(tc.DelErr020)) Expect(err).To(MatchError(tc.DelErr020))
} else if expect010DelError(tc) { case expect010DelError(tc):
Expect(err).To(MatchError(tc.DelErr010)) Expect(err).To(MatchError(tc.DelErr010))
} else { default:
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
} }
return nil return nil

View File

@ -322,10 +322,11 @@ func getLink(devname, hwaddr, kernelpath, pciaddr string) (netlink.Link, error)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to list node links: %v", err) return nil, fmt.Errorf("failed to list node links: %v", err)
} }
switch {
if len(devname) > 0 { case len(devname) > 0:
return netlink.LinkByName(devname) return netlink.LinkByName(devname)
} else if len(hwaddr) > 0 { case len(hwaddr) > 0:
hwAddr, err := net.ParseMAC(hwaddr) hwAddr, err := net.ParseMAC(hwaddr)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to parse MAC address %q: %v", hwaddr, err) return nil, fmt.Errorf("failed to parse MAC address %q: %v", hwaddr, err)
@ -336,7 +337,7 @@ func getLink(devname, hwaddr, kernelpath, pciaddr string) (netlink.Link, error)
return link, nil return link, nil
} }
} }
} else if len(kernelpath) > 0 { case len(kernelpath) > 0:
if !filepath.IsAbs(kernelpath) || !strings.HasPrefix(kernelpath, "/sys/devices/") { if !filepath.IsAbs(kernelpath) || !strings.HasPrefix(kernelpath, "/sys/devices/") {
return nil, fmt.Errorf("kernel device path %q must be absolute and begin with /sys/devices/", kernelpath) return nil, fmt.Errorf("kernel device path %q must be absolute and begin with /sys/devices/", kernelpath)
} }
@ -355,7 +356,7 @@ func getLink(devname, hwaddr, kernelpath, pciaddr string) (netlink.Link, error)
} }
} }
} }
} else if len(pciaddr) > 0 { case len(pciaddr) > 0:
netDir := filepath.Join(sysBusPCI, pciaddr, "net") netDir := filepath.Join(sysBusPCI, pciaddr, "net")
if _, err := os.Lstat(netDir); err != nil { if _, err := os.Lstat(netDir); err != nil {
virtioNetDir := filepath.Join(sysBusPCI, pciaddr, "virtio*", "net") virtioNetDir := filepath.Join(sysBusPCI, pciaddr, "virtio*", "net")

View File

@ -50,8 +50,8 @@ type Net struct {
IPAM *allocator.IPAMConfig `json:"ipam"` IPAM *allocator.IPAMConfig `json:"ipam"`
// RuntimeConfig struct { // The capability arg // RuntimeConfig struct { // The capability arg
// IPRanges []RangeSet `json:"ipRanges,omitempty"` // IPRanges []RangeSet `json:"ipRanges,omitempty"`
//} `json:"runtimeConfig,omitempty"`
// Args *struct { // Args *struct {
// } `json:"runtimeConfig,omitempty"`
// A *IPAMArgs `json:"cni"` // A *IPAMArgs `json:"cni"`
DNS types.DNS `json:"dns"` DNS types.DNS `json:"dns"`
RawPrevResult map[string]interface{} `json:"prevResult,omitempty"` RawPrevResult map[string]interface{} `json:"prevResult,omitempty"`

View File

@ -173,14 +173,15 @@ func createLinkWithNetlink(tmpName string, mtu int, nsFd int, multiqueue bool, m
} }
func createLink(tmpName string, conf *NetConf, netns ns.NetNS) error { func createLink(tmpName string, conf *NetConf, netns ns.NetNS) error {
if conf.SelinuxContext != "" { switch {
case conf.SelinuxContext != "":
if err := selinux.SetExecLabel(conf.SelinuxContext); err != nil { if err := selinux.SetExecLabel(conf.SelinuxContext); err != nil {
return fmt.Errorf("failed set socket label: %v", err) return fmt.Errorf("failed set socket label: %v", err)
} }
return createTapWithIptool(tmpName, conf.MTU, conf.MultiQueue, conf.Mac, conf.Owner, conf.Group) return createTapWithIptool(tmpName, conf.MTU, conf.MultiQueue, conf.Mac, conf.Owner, conf.Group)
} else if conf.Owner == nil || conf.Group == nil { case conf.Owner == nil || conf.Group == nil:
return createTapWithIptool(tmpName, conf.MTU, conf.MultiQueue, conf.Mac, conf.Owner, conf.Group) return createTapWithIptool(tmpName, conf.MTU, conf.MultiQueue, conf.Mac, conf.Owner, conf.Group)
} else { default:
return createLinkWithNetlink(tmpName, conf.MTU, int(netns.Fd()), conf.MultiQueue, conf.Mac, conf.Owner, conf.Group) return createLinkWithNetlink(tmpName, conf.MTU, int(netns.Fd()), conf.MultiQueue, conf.Mac, conf.Owner, conf.Group)
} }
} }

View File

@ -143,7 +143,7 @@ func (ib *iptablesBackend) checkRules(conf *FirewallNetConf, result *current.Res
} }
} }
if len(rules) <= 0 { if len(rules) == 0 {
return nil return nil
} }

View File

@ -334,7 +334,7 @@ func cmdAdd(args *skel.CmdArgs) error {
err = ns.WithNetNSPath(args.Netns, func(_ ns.NetNS) error { err = ns.WithNetNSPath(args.Netns, func(_ ns.NetNS) error {
for key, value := range tuningConf.SysCtl { for key, value := range tuningConf.SysCtl {
key = strings.Replace(key, ".", string(os.PathSeparator), -1) key = strings.ReplaceAll(key, ".", string(os.PathSeparator))
// If the key contains `IFNAME` - substitute it with args.IfName // If the key contains `IFNAME` - substitute it with args.IfName
// to allow setting sysctls on a particular interface, on which // to allow setting sysctls on a particular interface, on which
@ -439,7 +439,7 @@ func cmdCheck(args *skel.CmdArgs) error {
err = ns.WithNetNSPath(args.Netns, func(_ ns.NetNS) error { err = ns.WithNetNSPath(args.Netns, func(_ ns.NetNS) error {
// Check each configured value vs what's currently in the container // Check each configured value vs what's currently in the container
for key, confValue := range tuningConf.SysCtl { for key, confValue := range tuningConf.SysCtl {
fileName := filepath.Join("/proc/sys", strings.Replace(key, ".", "/", -1)) fileName := filepath.Join("/proc/sys", strings.ReplaceAll(key, ".", "/"))
contents, err := os.ReadFile(fileName) contents, err := os.ReadFile(fileName)
if err != nil { if err != nil {