bytecodealliance / bytecodealliance/cap-std
UNC and other DOS Device Paths unusable
- Lenguaje dominante
- Rust
- Estrellas
- 821
- Forks
- 57
- Merge medio
- 1 h 16 min
- PR fusionados (30 d)
- 4
Descripción
The following logic:
https://github.com/bytecodealliance/cap-std/blob/72fdc307184a642eadef22864434109c01d01528/cap-primitives/src/windows/fs/get_path.rs#L18-L22
completely breaks DOS device UNC paths such as:
```
\\?\UNC\server\share\bar.exe
```
which would have to be translated to:
```
\\server\share\bar.exe
```
in addition to that, other DOS device paths such as:
```
\\?\Volume{b75e2c83-0000-0000-0000-602f00000000}\Test\Foo.txt
```
get completely ruined.
There also is a lack of `\\.\` handling. I'm also not sure why this gets stripped in the first place, `join` can handle these paths just fine.
Guía de contribución
Línea de trabajo
Empieza en cap-primitives/src/windows/fs/get_path.rs, en las líneas 18–22, y reproduce el manejo de las rutas de dispositivo DOS de ejemplo. Rastrea por qué la lógica actual elimina o altera los prefijos y, después, verifica que las rutas UNC, de volumen y \\.\ se conserven o se traduzcan tal como se describe en el issue.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- rust
- Área
- operating-systems
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100