fix(licence): refus de la 2e couche indiscernable d'une route inconnue

Le 404 a corps vide etait remplace par la page HTML d'Indy, distincte du
404 JSON d'une route inexistante : on pouvait lister les routes reelles.
La 2e couche renvoie maintenant exactement le meme JSON.

Ajoute un exe d'essai qui saute l'ecran d'activation, pour eprouver la
2e couche depuis l'application. Define de compilation
LICENCE_TEST_SKIP_SCREEN, jamais un reglage : un interrupteur dans
config.txt ferait sauter la 1re couche sans rapiecage. Build dedie,
.dcu a part ; verifie que seul l'exe d'essai porte le define.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
r-zakarya
2026-09-17 05:36:28 +01:00
parent 16e0f3bd78
commit d5234e1390
3 changed files with 35 additions and 5 deletions
+9
View File
@@ -1362,6 +1362,15 @@ begin
begin
LLicOk := PM.Licence.IsLicensed;
LLicInfo := PM.Licence.LicenceInfo;
{$IFDEF LICENCE_TEST_SKIP_SCREEN}
// EXE D'ESSAI UNIQUEMENT : simule une 1re couche rapiecee, pour eprouver
// la 2e depuis l'application elle-meme. A la COMPILATION et jamais par un
// reglage — un interrupteur dans config.txt, que n'importe qui peut
// creer a cote de l'exe, ferait sauter la 1re couche sans rapiecage.
// La 2e couche, elle, verifie toujours la vraie licence : c'est l'essai.
LLicOk := True;
LogLine('LICENCE TEST BUILD: ecran d''activation saute (1re couche simulee rapiecee)');
{$ENDIF}
end;
// Le nom, le courriel et la date viennent d'une charge utile QUE NOUS AVONS
// SIGNEE, mais ils sont interpoles dans du JavaScript : on les echappe