diff --git a/services/eap-noob/helpers.go b/services/eap-noob/helpers.go index 5edf238a..2a8fda5b 100644 --- a/services/eap-noob/helpers.go +++ b/services/eap-noob/helpers.go @@ -12,15 +12,6 @@ import ( func intp(i int) *int { return &i } -func containsInt(s []int, v int) bool { - for _, x := range s { - if x == v { - return true - } - } - return false -} - // newPeerId generates a fresh, unguessable 16-byte identifier base64url-encoded // to a 22-character string (RFC 9140, Section 3.3.1). func newPeerId() (string, error) { diff --git a/services/eap-noob/peer.go b/services/eap-noob/peer.go index d1d5042b..0e463895 100644 --- a/services/eap-noob/peer.go +++ b/services/eap-noob/peer.go @@ -8,6 +8,7 @@ import ( "crypto/rand" "encoding/json" "fmt" + "slices" ) // PeerConfig configures the EAP peer role. @@ -406,7 +407,7 @@ func (p *Peer) fail(code int, info string) (Outcome, error) { func bestVersion(serverVers, peerVers []int) (int, bool) { best, ok := 0, false for _, v := range serverVers { - if containsInt(peerVers, v) && v >= best { + if slices.Contains(peerVers, v) && v >= best { best, ok = v, true } } @@ -415,7 +416,7 @@ func bestVersion(serverVers, peerVers []int) (int, bool) { func firstSupported(serverCS, peerCS []int) (int, bool) { for _, c := range serverCS { - if containsInt(peerCS, c) && isSupportedCryptosuite(c) { + if slices.Contains(peerCS, c) && isSupportedCryptosuite(c) { return c, true } } diff --git a/services/eap-noob/server.go b/services/eap-noob/server.go index cd95d35e..1a113e96 100644 --- a/services/eap-noob/server.go +++ b/services/eap-noob/server.go @@ -8,6 +8,7 @@ import ( "crypto/rand" "encoding/json" "fmt" + "slices" ) // ServerConfig configures the EAP server role. @@ -192,14 +193,14 @@ func (s *Server) onNegotiation(wm *wireMessage) (Outcome, error) { if err != nil { return s.fail(ErrInvalidData, "bad Verp") } - if !containsInt(s.cfg.Versions, verp) { + if !slices.Contains(s.cfg.Versions, verp) { return s.fail(ErrUnsupportedVersion, "peer selected unsupported version") } csp, err := rawToInt(wm.Cryptosuitep) if err != nil { return s.fail(ErrInvalidData, "bad Cryptosuitep") } - if !containsInt(s.cfg.Cryptosuites, csp) || !isSupportedCryptosuite(csp) { + if !slices.Contains(s.cfg.Cryptosuites, csp) || !isSupportedCryptosuite(csp) { return s.fail(ErrUnsupportedCryptosuite, "peer selected unsupported cryptosuite") } dirp, err := rawToInt(wm.Dirp)