Хранилище секретов принимает недоступный файл за отсутствующий

Abierto Apto para principiantes
#417 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
76/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
csharp
Área
backend

Línea de trabajo

Lee src/Bydlo.Platform/SecretStores.cs en FileSecretStoreBase.LoadAsync (líneas 31–47) y sigue cómo se gestionan los archivos que faltan y los errores de acceso al leer archivos de secretos. Añade o localiza pruebas para FileSecretStoreBase que distingan entre un secreto inexistente y uno inaccesible; el trabajo estará terminado cuando los archivos que faltan devuelvan ProfileSecrets.Empty y los fallos de acceso provoquen SecretAccessException.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug P1

#375 добавил SecretAccessException при ошибках чтения, но FileSecretStoreBase.LoadAsync по-прежнему начинает с File.Exists. Этот API возвращает false также при ошибках доступа к пути, поэтому выполнение может вернуть ProfileSecrets.Empty до попытки чтения.

Сценарий: сохранён профиль HTTP с паролем, а каталог хранилища временно недоступен для процесса. File.Exists возвращает false. BackupArchive.HasRequiredSecrets допускает пустой набор для HTTP, и экспорт может завершиться архивом без существующих учётных данных. Восстановление также может принять пустой набор за достоверный снимок для отката.

Ожидается прямое чтение файла с возвратом Empty только при подтверждённом отсутствии (FileNotFoundException/DirectoryNotFoundException), а прочие ошибки доступа должны давать SecretAccessException. Добавить проверку различия между отсутствующим и недоступным секретом.

Код: https://github.com/endercodezz/BYDLO/blob/3363f21/src/Bydlo.Platform/SecretStores.cs#L31-L47

Lenguaje dominante
C#
Estrellas
5
Forks
1
Merge medio
46 min
PR fusionados (30 d)
179

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de endercodezz/BYDLO

Todos los issues de endercodezz/BYDLO

Issues similares

Más issues de C#

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.