Journaux : masquer les identifiants Xtream des URL et exceptions

Le repli XMLTV journalisait l'URL `xmltv.php?username=…&password=…` du
panneau en clair, et le texte des `ClientException` / `ProcessException`
recopiait aussi l'URL : les identifiants de l'abonné finissaient dans
`docker logs`. Passage par `LogRedactor.redactUrl` dans XmltvEpgService,
EpgApi, le relais live, FFmpegSessionManager et RecordingScheduler.

Test : capture des `print` via une Zone pour vérifier le masquage.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
MichaelandClaude Opus 5.5 committed 2026-10-10 09:25:00 +02:00
1 parent da67c479b3
commit 327873d254
6 files changed
+115 -8

No files matched your search

+8 -2
View File
@@ -307,7 +307,11 @@ Stream<List<int>> _resilientLiveBody(
yield chunk;
}
} catch (e) {
print('[Live Proxy] $streamId : coupure amont ($e)');
// Un `ClientException` recopie l'URL amont, identifiants compris.
print(
'[Live Proxy] $streamId : coupure amont '
'(${LogRedactor.redactUrl('$e')})',
);
} finally {
upstream.client.close();
}
@@ -494,7 +498,9 @@ Handler createLiveStreamHandler(
} on ProcessException catch (e) {
// Serveur saturé (plus de processus ou de mémoire) : un 503 que le
// lecteur sait traiter, plutôt qu'une exception qui remonte en 500.
print('[Live Turbo] $streamId : FFmpeg n\'a pas démarré ($e)');
// `ProcessException` liste les arguments, donc l'URL `-i` du panneau.
print('[Live Turbo] $streamId : FFmpeg n\'a pas démarré '
'(${LogRedactor.redactUrl('$e')})');
return Response(503, body: 'FFmpeg start failed');
}