PVA/SPVA: track SPVA version independently and move XDG keychain dir pva/<ver> -> spva/<n.n.n>
Los mantenedores suelen responder en 2 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 65/100
Línea de trabajo
Empieza en core/pva/src/main/java/org/epics/pva/PVASettings.java y lee la constante de versión y la ruta de detección automática del almacén de claves TLS. Cambia la versión codificada en el código por la versión de SPVA y usa spva/<version> para la detección, manteniendo el valor alineado con la versión autorizada del lado de PVXS. El trabajo estará terminado cuando la detección de Java use el nuevo directorio y, tal como se recomienda en el issue, pueda recurrir a la ruta heredada pva/<version>.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
In the Secure PVAccess (SPVA) line of work, the SPVA release version is being decoupled from the PVXS library version. On the C++ side (PVXS / PVACMS) the SPVA version becomes a separately-tracked number, and the well-known TLS keychain directory changes from pva/<pvxs-version> to spva/<spva-version>.
Phoebus's core/pva/ is an independent Java PVA implementation and does not link the C++ PVXS code, so it cannot consume that version programmatically. It must hard-code the SPVA version (as it already hard-codes the PVA version today) and keep it in sync by hand.
Current behaviour
core/pva/src/main/java/org/epics/pva/PVASettings.java:
// Hard-coded, documented as "Matches PVXS versionString()"
private static final String PVA_VERSION = "1.5";
// Well-known TLS keychain auto-discovery location:
// <xdg_config_home>/pva/<PVA_VERSION>/<filename>
final String path = config_home + File.separator + "pva"
+ File.separator + PVA_VERSION
+ File.separator + filename;
Used to auto-discover server.p12 and client.p12 under ~/.config/pva/1.5/ when EPICS_PVA(S)_TLS_KEYCHAIN is unset, mirroring the PVXS config.cpp fallback.
Requested changes
-
Replace the PVXS-derived
PVA_VERSIONwith a hard-coded SPVA version constant (e.g.SPVA_VERSION), documented as manually mirroring the authoritative PVXS-side SPVA version, with a comment pointing at that source so the two stay in lockstep per SPVA release. -
Change keychain auto-discovery from
pva/<PVA_VERSION>tospva/<SPVA_VERSION>:~/.config/spva/<n.n.n>/server.p12~/.config/spva/<n.n.n>/client.p12
(literal
pva->spva, and the version source changes from PVXS major.minor to the SPVAn.n.n.)
Scope / interop notes
- Java side uses only the config home path here (keychain discovery); there is no data-home / cert-DB usage, unlike the C++ tooling.
- The directory must match whatever PVXS / PVACMS adopt, or the Java client and C++ tools will look in different places for shared keychains. Recommend the same migration behaviour on all sides: fall back to the legacy
pva/<ver>path when the newspva/<n.n.n>one is absent, so existing deployments keep working.
Context
This is the Phoebus-side counterpart of the SPVA version-tracking change being made in the PVXS and PVACMS repositories; those define the authoritative SPVA version and the spva/<n.n.n> convention. Phoebus tracks the same value by hand.
- Lenguaje dominante
- Java
- Estrellas
- 130
- Forks
- 132
- Merge medio
- 3 d 1 h
- PR fusionados (30 d)
- 24
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Sin 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 ControlSystemStudio/phoebus
-
Create CONTRIBUTING.mdAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
ControlSystemStudio/phoebus#3979 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
ControlSystemStudio/phoebus#3962 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 52/100
ControlSystemStudio/phoebus#3980 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
ControlSystemStudio/phoebus#3978 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
ControlSystemStudio/phoebus#3966 ·
Los mantenedores suelen responder en 2 días
Todos los issues de ControlSystemStudio/phoebus
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
2026 Error Report
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
triplea-game/triplea#15096 ·
Los mantenedores suelen responder en 1 día
-
[Bug][API] Switching workflow versions leaves schedules onlinePosiblemente ocupada @zhuangchong la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
apache/dolphinscheduler#18731 ·
Los mantenedores suelen responder en 1 día
-
Implement JDBC Domain Enums (`SqlCategory`, `SqlExecutionStatus`, `SqlExecutionType`) in Core ModuleAbiertocore-module enhancement good first issue
Dificultad 1/5 1-3 horas Aptitud para principiantes 87/100
sdlc-pro/spring-lens#531 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
apache/rocketmq-dashboard#7340 ·
Los mantenedores suelen responder en 3 días