docs: QR des reglages, trois facons d'ouvrir, scanner, AllowCreateLocal, debuggable
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -459,6 +459,14 @@ en dix minutes serait le mauvais echange. Le but est de tenir le mobile attache
|
||||
a un poste paye, pas de resister a une attaque — l'APK ne peut pas resister, et
|
||||
faire semblant couterait plus que de l'admettre.
|
||||
|
||||
**Le reste du travail Android est dans
|
||||
[android-client/README.md](android-client/README.md)**, tenu a jour le
|
||||
2026-09-17 : les trois facons d'ouvrir le coffre (verrouillage d'ecran, code
|
||||
d'application, mot de passe), la copie de secours `vault-recover.bin` qui
|
||||
survit au schema retire, le scanner de QR (`ThirdParty/ZXing`), le define
|
||||
`AllowCreateLocal` — creer un coffre sur le telephone est reserve au debogage —
|
||||
et le correctif du manifeste, dont l'APK **release n'est plus `debuggable`**.
|
||||
|
||||
### Deuxieme couche : l'API refuse sans licence (`PM.LicenceGate`)
|
||||
|
||||
La premiere couche (l'ecran d'activation) ne consultait qu'un branchement,
|
||||
@@ -1047,6 +1055,34 @@ device, never transmitted.
|
||||
Sensitive actions (export, change master pw, recovery code…) still
|
||||
require master pw via `askReauth` — sync never substitutes.
|
||||
|
||||
### QR des reglages pour le telephone (`sync/qr`)
|
||||
|
||||
Recopier une URL d'API et quarante caracteres de jeton sur un telephone est le
|
||||
vrai obstacle a l'installation. **Settings -> Sync -> QR for phone** affiche un
|
||||
QR que l'application Android scanne elle-meme.
|
||||
|
||||
- **C'est l'EXE qui fabrique le QR**, pas la page : il lit `syncUrl` et
|
||||
`syncPwd` dans ses prefs DPAPI et n'envoie a la page que la **matrice**
|
||||
noir/blanc (`Bridge.onSyncQr(taille, bits)`). Le jeton ne traverse donc pas le
|
||||
moteur de rendu en clair - meme regle que `prefs/has`.
|
||||
- **Le mot de passe de synchro n'y est JAMAIS** : un QR se photographie
|
||||
par-dessus l'epaule, et avec lui il ouvrirait le coffre du depot. Il se tape
|
||||
une fois sur le telephone. Le QR se masque seul au bout de 60 s.
|
||||
- **Le contenu est un lien `pmserver://sync?u=&t=`, pas du texte.** L'appareil
|
||||
photo du telephone envoie tout TEXTE a une recherche web : le jeton serait
|
||||
parti chez Google a un appui pres. Un schema propre n'a qu'une application
|
||||
pour l'ouvrir.
|
||||
- **Le plus court possible** : l'adresse du depot (`https://hote/Owner/Repo`) et
|
||||
non l'URL d'API - le telephone la rallonge a l'enregistrement -, et seuls
|
||||
`% & # + espace` sont echappes. `TNetEncoding.URL.Encode` changeait chaque
|
||||
`:` et `/` en trois caracteres, et le QR devenait trop dense pour etre lu.
|
||||
- Generateur : **`Source/DelphiZXingQRCode.pas`** (portage ZXing, Apache 2.0,
|
||||
licence a cote). `BCryptVerifySignature` n'a rien a voir ici : le QR n'est pas
|
||||
signe, il ne porte que ce que l'utilisateur voit deja a l'ecran.
|
||||
- **Piege CSS rencontre** : `css/style.css` impose `svg { width: 16px }` a
|
||||
toutes les icones, ce qui reduisait le QR a la taille d'une icone. La taille
|
||||
est donc posee **en style direct** sur le `<svg>`.
|
||||
|
||||
**Tombstone purge on (re)create** : `POST /entries` and
|
||||
`POST /entries/bulk-import` both DELETE any `entry_tombstones` row
|
||||
matching the inserted uuid (same transaction). Without this, restoring
|
||||
@@ -1448,6 +1484,9 @@ le vide ET vide `FPendingURL` → écran noir permanent sur cold-start lent.
|
||||
```
|
||||
Surcharge MSBuild, pas dans le `.dproj` : un chemin propre a une machine n'a
|
||||
pas sa place dans un fichier versionne. **F9 dans l'IDE sort toujours sur Z:.**
|
||||
**La sortie Android suit le meme chemin** : `Z:\password-manager\Android64` est
|
||||
une **jonction** vers `E:\password manager\Android64`, posee le 2026-09-17 quand
|
||||
`Z:` est tombe a 40 Ko libres et que `aapt` echouait sans dire pourquoi.
|
||||
**Des `.dcu` separes par plateforme sont ce qui empeche la pollution TMS**
|
||||
ci-dessus : verifie au premier build 32+64, aucun `.dcu` depose a cote des
|
||||
sources TMS. L'exe de `E:\password manager\` cree **son propre `vault.db`** a
|
||||
|
||||
Reference in New Issue
Block a user