Переглянути джерело

auth: reject empty user name when checking op permissions

Passing AuthInfo{} to permission checking was causing an infinite loop
because it would always return an old revision error.

Fixes #7124
Anthony Romano 9 роки тому
батько
коміт
c39a59c0be
1 змінених файлів з 5 додано та 0 видалено
  1. 5 0
      auth/store.go

+ 5 - 0
auth/store.go

@@ -706,6 +706,11 @@ func (as *authStore) isOpPermitted(userName string, revision uint64, key, rangeE
 		return nil
 	}
 
+	// only gets rev == 0 when passed AuthInfo{}; no user given
+	if revision == 0 {
+		return ErrUserEmpty
+	}
+
 	if revision < as.revision {
 		return ErrAuthOldRevision
 	}