bytecodealliance / bytecodealliance/cap-std

UNC and other DOS Device Paths unusable

Abierto
#348 1 comentario 0 reacciones 0 asignados Ver en GitHub
help wanted
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

Abrir la 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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.