`MAINTAINER` to `LABEL` conversion does not escape embedded quotes
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 72/100
Línea de trabajo
Empieza por localizar el código que reescribe las instrucciones MAINTAINER como valores LABEL y luego comprueba cómo gestiona las comillas en el valor. Reproduce el problema con el Dockerfile que se muestra en el informe y ejecuta las pruebas pertinentes del formateador. El trabajo estará terminado cuando el valor convertido conserve unas comillas válidas y se pueda construir el Dockerfile formateado, o cuando la línea MAINTAINER permanezca sin cambios.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Rewriting MAINTAINER into LABEL org.opencontainers.image.authors="..." wraps the value in double quotes without escaping the quotes it already contains.
Reproduce
FROM alpine
MAINTAINER Jane Doe "[email protected]"
dockerfmt Dockerfile
Actual
FROM alpine
LABEL org.opencontainers.image.authors="Jane Doe "[email protected]"
The quotes no longer pair up, and docker build fails on the output:
failed to process "\"Jane Doe \"[email protected]\"": unexpected end of statement while looking for matching double-quote
Expected
Escape embedded quotes:
LABEL org.opencontainers.image.authors="Jane Doe \"[email protected]\""
Leaving MAINTAINER unchanged when the value contains a quote would also work.
Impact
With --write the Dockerfile no longer builds. One of the three MAINTAINER lines in a sample of about 450 real-world Dockerfiles had quotes in its value.
Reproduced with v0.5.4 and with main at a5868c2.
- Lenguaje dominante
- Go
- Estrellas
- 626
- Forks
- 23
- Merge medio
- 6 d 23 h
- PR fusionados (30 d)
- 3
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
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 reteps/dockerfmt
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
Legacy `ENV key value` with a multi-word value becomes an invalid `key=value`Posiblemente ocupada @RyoKusnadi la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Todos los issues de reteps/dockerfmt
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
[FEATURE]: Set fieldPath and reason on the CEL validation rulesPosiblemente ocupada @bjosv la tomó hoy. Abiertoenhancement needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
valkey-io/valkey-operator#618 ·
Los mantenedores suelen responder en 3 días
-
agent-butler-finding bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
jordansmall/spindrift#6414 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Icinga/icinga-kubernetes#294 ·
Los mantenedores suelen responder en 4 días
-
Cluster details: the Control Plane version field has a different border color than its icon boxAbiertokind/design sig/ui
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
kubermatic/dashboard#8449 ·
Los mantenedores suelen responder en 1 día