func checkCreds(st *state.State, c params.Creds) (taggedAuthenticator, error) { entity0, err := st.FindEntity(c.AuthTag) if err != nil && !errors.IsNotFound(err) { return nil, err } // We return the same error when an entity // does not exist as for a bad password, so that // we don't allow unauthenticated users to find information // about existing entities. entity, ok := entity0.(taggedAuthenticator) if !ok { return nil, common.ErrBadCreds } if err != nil || !entity.PasswordValid(c.Password) { return nil, common.ErrBadCreds } // Check if a machine agent is logging in with the right Nonce if err := checkForValidMachineAgent(entity, c); err != nil { return nil, err } return entity, nil }