forked from eclipse-opensovd/opensovd
-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Description
Beschreibung
Die Architektur-Dokumentation enthaelt .. todo:: define unter der Sektion Error Codes & Messages. Die SOVD-API muss standardisierte Fehlercodes und -nachrichten gemaess ISO 17978-3 zurueckgeben. Aktuell werden generische HTTP-Statuscodes und teilweise vendor-spezifische Fehlermeldungen verwendet, aber kein vollstaendiges Mapping der ISO-definierten Error-Strukturen.
Betroffene Dateien
cda-sovd/src/sovd/error.rs—ApiErrorEnum,VendorErrorCodecda-sovd-interfaces/— Error Response Datentypencda-sovd/src/sovd/components/ecu/— Alle Endpoint-Handlercda-core/src/diag_kernel/iso_14229_nrc.rs— NRC Mapping
ISO 17978-3 Error Response Struktur
{
"error": {
"code": "SOVD_ERROR_CODE",
"message": "Human readable message",
"details": { ... }
}
}Implementierungs-Tasks
- ISO 17978-3 Error Code Katalog definieren (alle Standard-Codes)
-
GenericErrorResponse Struktur implementieren -
DataErrorResponse Struktur fuer Data-Endpoints -
OperationErrorResponse Struktur fuer Operation-Endpoints - NRC -> SOVD Error Code Mapping (ISO 14229-1 Table A.1 -> ISO 17978-3)
- HTTP Status Code Mapping pro Error Code (400/403/404/405/409/500/503)
- Error Response Schema fuer OpenAPI Dokumentation
- Konsistente Fehlerbehandlung ueber alle Endpoints
- Vendor-spezifische Error Codes mit
x-Prefix
Unit Tests (Pflicht)
- Test: Jeder NRC Code -> korrekter SOVD Error Code
- Test: Error Response Format entspricht ISO-Schema
- Test: 404 bei nicht-existierender Resource
- Test: 409 Conflict bei Lock-Verletzung
- Test: 400 Bad Request bei ungueltigem Payload
- Test: 403 Forbidden bei fehlender Berechtigung
- Test: 503 Service Unavailable bei ECU Offline
- Test: Error Response enthaelt
include-schemawenn angefragt - Test: Vendor Error Codes haben
x-Prefix - Test: Error Details enthalten hilfreiche Debugging-Info
CrossCheck & Constraints
- Pruefung gegen ISO 17978-3 Error Response Definitionen
- Pruefung: Alle bestehenden Error-Pfade muessen neues Format verwenden
- Constraint: Error Messages duerfen keine internen Stack-Traces enthalten
- Constraint: Error Codes muessen stabil sein (Breaking Change Policy)
- Regressionstests: Bestehende Error-Handling-Tests anpassen
Security Audit
- Error Messages duerfen keine internen Pfade/IPs leaken
- Error Messages duerfen keine UDS Raw-Bytes exponieren
- Stack Traces nur im Debug-Modus (nicht in Production)
- Error Rate Limiting: Keine Information Disclosure durch Error-Enumeration
- Konsistente Fehlerantwort-Zeiten (Timing Side-Channel Prevention)
Zeitschaetzung
| Aufwand | |
|---|---|
| Konventioneller Entwickler | 2 PT |
| KI-Agent | 0.5 PT |
Reactions are currently unavailable