bytecodealliance / bytecodealliance/cap-std
Use O_NOFOLLOW_ANY on macOS
- Lenguaje dominante
- Rust
- Estrellas
- 821
- Forks
- 57
- Merge medio
- 1 h 16 min
- PR fusionados (30 d)
- 4
Descripción
According to [this blog post](https://blog.malwarebytes.com/mac/2021/08/macos-11s-hidden-security-improvements/#O_NOFOLLOW_ANY), macos 11 has a new `O_NOFOLLOW_ANY` flag that causes `open` to fail if any path component is a symlink. Assuming symlinks are relatively rare, cap-std could use this as a fast path -- check that the path contains no explicit `..` and then open with `O_NOFOLLOW_ANY`; if that succeeds, then we're done. If either of those fails, open with the slow path.
Guía de contribución
Línea de trabajo
Comienza rastreando los puntos de entrada de cap-std para abrir rutas y las rutas rápida y lenta existentes para el manejo de symlinks. Comprueba cómo se detectan los componentes `..` explícitos y cómo se definen los flags de apertura específicos de cada plataforma. Se considera terminado cuando macOS 11 puede usar `O_NOFOLLOW_ANY` de forma segura, mientras la ruta lenta existente sigue gestionando los casos de fallback.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- macos, rust
- Área
- operating-systems, security
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 45/100