diff --git a/mainApk.pas b/mainApk.pas index b31899c..17c6368 100644 --- a/mainApk.pas +++ b/mainApk.pas @@ -856,6 +856,24 @@ begin end; Log(' received ' + Length(LRes.Container).ToString + ' bytes'); + + // LES COORDONNEES SONT RETENUES ICI, avant le dechiffrement. Un 200 + // avec un conteneur en main prouve l'adresse ET le jeton ; le mot de + // passe est une autre affaire, et il n'est de toute facon pas enregistre + // par cet appel. + // + // Elles ne l'etaient qu'apres un dechiffrement reussi, au nom des + // « reglages eprouves ». Consequence : un mot de passe qui ne convient + // pas faisait perdre l'URL et le jeton au lancement suivant, et il + // fallait les retaper - une URL d'API et quarante caracteres de jeton, + // sur un telephone, a chaque essai. + try + SaveDeviceSettings(AUrl, ATok); + except + on E: Exception do + Log(' settings not saved: ' + E.ClassName + ' - ' + E.Message); + end; + if not ASilent then TThread.Queue(nil, procedure begin Status('Decrypting...'); end); @@ -873,9 +891,6 @@ begin // Le mot de passe part avec le coffre : c'est lui qui permettra au // prochain lancement de rafraichir sans rien demander. SaveVault(LPlain, FETag, APwd, LCanAuth); - // Ce qui vient de fonctionner merite d'etre retenu : on n'enregistre - // pas des reglages saisis, on enregistre des reglages EPROUVES. - SaveDeviceSettings(AUrl, ATok); if VaultNeedsAuth then Log(' cache written - protected by biometrics/PIN') else if LCanAuth then