Bound JSON control-frame sizes across daemon and app
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 68/100
Línea de trabajo
Comienza con crates/clowder-daemon/src/control_json.rs y macos/Sources/ClowderCore/LineBuffer.swift, siguiendo las secciones enlazadas que analizan y conservan las líneas de control. Traza cómo se gestionan actualmente las tramas que exceden el tamaño permitido en cada implementación y, después, añade pruebas chunked de exceso del límite para ambos lados. La tarea estará terminada cuando se aplique un máximo de protocolo compartido y las tramas sobredimensionadas se notifiquen o se cierren sin almacenamiento en búfer ilimitado.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Problem
The daemon uses unbounded JSON-lines input and the Swift LineBuffer retains an unlimited partial line.
Evidence: https://github.com/richardcase/clowder/blob/b5492d5/crates/clowder-daemon/src/control_json.rs#L40-L56
Swift buffer: https://github.com/richardcase/clowder/blob/b5492d5/macos/Sources/ClowderCore/LineBuffer.swift#L7-L20
Impact
A peer that never sends a newline can grow process memory indefinitely.
Acceptance criteria
- Define one protocol maximum for control lines.
- Enforce it in both implementations and close/report oversized frames.
- Add chunked over-limit tests.
- Lenguaje dominante
- Rust
- Estrellas
- 0
- Forks
- 0
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
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 richardcase/clowder
-
documentation priority: medium
Dificultad 2/5 Medio día Aptitud para principiantes 82/100
richardcase/clowder#143 ·
-
enhancement github_actions priority: medium rust
Dificultad 4/5 3-5 días Aptitud para principiantes 65/100
richardcase/clowder#142 ·
-
github_actions priority: medium
Dificultad 3/5 1-2 días Aptitud para principiantes 78/100
richardcase/clowder#141 ·
-
bug priority: medium
Dificultad 3/5 1-2 días Aptitud para principiantes 72/100
richardcase/clowder#139 ·
-
bug priority: medium rust
Dificultad 3/5 1-2 días Aptitud para principiantes 76/100
richardcase/clowder#138 ·
Todos los issues de richardcase/clowder
Issues similares
-
bug i18n priority: medium ui
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
storytold/craft-anything#983 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
`swf` upgrade to 0.4.0Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Dinnerbone/Rascal#91 · 2 reacciones ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
higress-group/HiRoute#405 ·
Los mantenedores suelen responder en 1 día
-
rust_analyzer flycheck: no CLI way to enable clippy from `check.overrideCommand`Posiblemente ocupada @TrapsterDK la tomó hoy. Abiertoneeds-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
bazelbuild/rules_rust#4392 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día