Browse Source

Update authenticator.go

Hakan Carlsson 7 years ago
parent
commit
c7b3a6ce5e
1 changed files with 4 additions and 10 deletions
  1. 4 10
      service/authenticator.go

+ 4 - 10
service/authenticator.go

@@ -79,17 +79,11 @@ func (c *Config) Authenticate(neg, addr string) (i goidentity.Identity, ok bool,
 		err = fmt.Errorf("SPNEGO negotiation token is not a NegTokenInit: %v", err)
 		return
 	}
-	var krb5Found bool
-	for _, t := range spnego.NegTokenInit.MechTypes {
-		if t.Equal(gssapi.MechTypeOIDKRB5) {
-			krb5Found = true
-			break
-    	   	}
+	if !(spnego.NegTokenInit.MechTypes[0].Equal(gssapi.MechTypeOIDKRB5) ||
+		spnego.NegTokenInit.MechTypes[0].Equal(gssapi.MechTypeOIDMSLegacyKRB5)) {
+			err = errors.New("SPNEGO OID of MechToken is not of type KRB5")
+			return
 	}
-        if !krb5Found {
-                err = errors.New("SPNEGO OID of MechToken is not of type KRB5")
-                return
-        }
 	var mt gssapi.MechToken
 	err = mt.Unmarshal(spnego.NegTokenInit.MechToken)
 	if err != nil {