Honor the requested mode in the Windows access provider
Los mantenedores suelen responder en 1 día
@LunaStev ya está trabajando en esto.
Desde el 27/9/2026.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 75/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- rust
- Área
- cli, operating-systems
Línea de trabajo
El problema está en el archivo std/sys/windows/fs.wave. Comience leyendo la función access en ese archivo para ver cómo actualmente ignora el parámetro mode. Compare con otras implementaciones de plataformas para comprender el comportamiento esperado. Implemente las comprobaciones de modo utilizando llamadas a la API de Windows (como GetFileAttributes para la existencia, y quizás CreateFile con el acceso deseado para probar legibilidad/escritura). Escriba pruebas en el mismo archivo o en un módulo de prueba correspondiente para verificar los casos de existencia (FS_F_OK), legible (FS_R_OK) y no escribible (FS_W_OK en un archivo de solo lectura). Asegúrese de que los fallos devuelvan los códigos de error portátiles correctos.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Problem
std/sys/windows/fs.wave exposes FS_F_OK, FS_X_OK, FS_W_OK, and FS_R_OK, but access(path, mode) never reads mode. Any existing path therefore succeeds regardless of the requested access check, so a write check currently behaves the same as an existence check.
Other filesystem providers pass the requested mode through to their native access primitive, so the Windows provider does not preserve the portable contract.
Completion criteria
- Keep
FS_F_OKas an existence check. - Make nonzero access modes affect the Windows result instead of being ignored.
- Ensure a read-only file does not report writable for
FS_W_OK. - Define and test the Windows behavior for the exported
FS_R_OKandFS_X_OKmodes. - Return the existing portable negative error codes on failure.
- Add focused Windows regression coverage for existence, readable, and non-writable cases.
Difficulty: easy.
- Lenguaje dominante
- Rust
- Estrellas
- 56
- Forks
- 21
- Merge medio
- 2 h 51 min
- PR fusionados (30 d)
- 53
Preparar el entorno
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de wavefnd/Wave
-
bug good first issue needs testing
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
bug good first issue needs testing
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
wavefnd/Wave#810 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
bug good first issue needs testing
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
wavefnd/Wave#808 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
enhancement good first issue needs testing
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
enhancement good first issue needs testing
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
Todos los issues de wavefnd/Wave
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
trezor/trezor-firmware#7997 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
oxidecomputer/management-gateway-service#506 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
scylladb/nodejs-rs-driver#566 ·
Los mantenedores suelen responder en 1 día
-
A-ABI needs-triage relnotes relnotes-needs-review relnotes-tracking-issue T-lang T-libs T-opsem
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día