Config is run as shell by hotkey/doctor but parsed literally by systemd and Settings
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 45/100
Línea de trabajo
Read bin/hermeskey, bin/hermeskey-doctor, hermeskey-settings.py, scripts/check-config.sh, and hermeskey.service to trace how each reads the config. Compare the shell and systemd parsing rules, then choose one of the two proposals and check whether the hotkey, Doctor, Settings, and service handle values consistently. Done means the chosen behavior is implemented and documented or validated across those entry points.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
The config file is handled inconsistently:
bin/hermeskeyandbin/hermeskey-doctorrun it as shell code (source "$CONFIG_FILE").hermeskey-settings.pydeliberately avoids that (it only passes validated literal values to Doctor), andscripts/check-config.shrefuses non-literalPYTHON_STT, because Bash and systemdEnvironmentFile=parse values differently.hermeskey.servicereads the same file with systemd's parser.
So values like MODEL=$HOME/models/x or SOCK=$XDG_RUNTIME_DIR/… work for the hotkey but not the service. The two can disagree on the model or socket path (and the hotkey may start a second server). It also means the "advanced config" is executable shell code. The file is user-owned and 0600, so this is a consistency/clarity issue rather than a cross-user vulnerability.
Proposal (pick one)
- Replace
sourcein the hotkey/doctor with a small literalKEY=valueparser (same rules as systemd: no expansion, no command substitution), ideally shared withhermeskey_settings_config.py; or - Keep
source, but document clearly that the file is trusted shell code and that only literal values behave the same for the service. Doctor could also warn when it finds$, backticks, orexportlines.
- Lenguaje dominante
- Shell
- Estrellas
- 0
- Forks
- 0
- Merge medio
- 16 min
- PR fusionados (30 d)
- 40
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una 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 graygarbage/HermesKey
-
future consideration packaging
Dificultad 1/5 1-3 horas Aptitud para principiantes 83/100
graygarbage/HermesKey#94 ·
Los mantenedores suelen responder en 1 día
-
enhancement future consideration privacy
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
graygarbage/HermesKey#92 ·
Los mantenedores suelen responder en 1 día
-
enhancement future consideration
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
graygarbage/HermesKey#89 ·
Los mantenedores suelen responder en 1 día
-
enhancement experimental privacy
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
graygarbage/HermesKey#96 ·
Los mantenedores suelen responder en 1 día
-
future consideration packaging
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
graygarbage/HermesKey#93 ·
Los mantenedores suelen responder en 1 día
Todos los issues de graygarbage/HermesKey
Issues similares
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
benvinegar/boxery#14 ·
-
ci enhancement security
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Update dashy to 4.9.12Abiertopackage-update
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Correct install_claude: 'marketplace add' over a different source is refused, not replaced in placeAbiertotype:bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
nightgauge/nightgauge#2804 ·
Los mantenedores suelen responder en 1 día
-
Geoblock database corruptedAbiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100