bytecodealliance / bytecodealliance/cap-std
Document why DirExt::access on Windows doesn't use their faccess equivalent
- Langage dominant
- Rust
- Étoiles
- 821
- Forks
- 57
- Merge moyen
- 1 h 16 min
- PR mergées (30 j)
- 4
Description
I noticed that your Windows implementation of `DirExt::access` just tries opening the file.
I understand if [_access, _waccess, t_access](https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/access-waccess?view=msvc-170) or [_access_s, _waccess_s, _taccess_s](https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/access-s-waccess-s?view=msvc-170) from the Microsoft C Runtime impose additional dependencies you want to avoid, and that the Win32 API-native version's [overcomplicated credentials](https://blog.aaronballman.com/2011/08/how-to-check-access-rights/) blow up to six pages in the [faccess](https://github.com/Freaky/faccess/) crate's Windows implementation ([Link to the source file](https://github.com/Freaky/faccess/blob/master/src/lib.rs), MIT-licensed) once you address various edge cases.
However, I was unable to find any clear documentation for the rationale behind that. (Which I'm guessing is "auditing burden".)
Could that be improved, please?
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par localiser l’implémentation Windows de DirExt::access et lisez comment elle vérifie actuellement l’accès en ouvrant le fichier. Comparez cette approche avec les Microsoft CRT APIs indiquées par le lien et l’implémentation Windows de faccess, puis documentez la justification du projet, notamment toute préoccupation confirmée concernant les dépendances ou l’audit. Le travail est terminé lorsque la justification est claire pour les lecteurs, sans modifier l’implémentation.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- rust
- Domaine
- documentation, security
- Type d'issue
- Documentation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Activité
- Calme
- Clarté
- Plutôt claire
- Accessibilité débutants
- 68/100