3051c3c392
Jeton "utilisateur:mot-de-passe" sur une URL ni Gitea ni GitHub = WebDAV, authentification Basic. Fichier lu et ecrit tel quel ; l'ETag fait le sha (If-None-Match, If-Match, 412 -> conflit). Clair autorise vers l'IP fixe du poste seulement. Eprouve contre le WsgiDAV local : 304, PUT 204, puis synchro du poste. Docs : CLAUDE.md, android-client/README.md (page eveillee comprise). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
31 lines
1.5 KiB
XML
31 lines
1.5 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!--
|
|
Le trafic en clair n'est permis que vers la BOUCLE LOCALE, et interdit
|
|
partout ailleurs.
|
|
|
|
Il l'etait auparavant partout, via usesCleartextTraffic="true". C'etait pour
|
|
une seule raison : l'essai local passe par "adb reverse", qui fait voir le
|
|
poste comme 127.0.0.1 et parle HTTP. Mais l'attribut ne distingue pas la
|
|
boucle locale du reste du monde - une URL mal saisie, ou un serveur repassant
|
|
en HTTP, envoyait le jeton en clair sur le reseau sans que rien ne le signale.
|
|
|
|
Ici la permission est nominative. Le jeton ne peut plus sortir qu'en TLS, et
|
|
une URL "http://" vers un vrai hote echoue tout de suite, ce qui est
|
|
exactement le comportement voulu : bruyant, pas silencieux.
|
|
|
|
cleartextTrafficPermitted="false" a la racine n'est pas redondant avec le
|
|
defaut d'Android 9+ : il vaut aussi pour les versions anterieures, et il dit
|
|
l'intention noir sur blanc.
|
|
-->
|
|
<network-security-config>
|
|
<base-config cleartextTrafficPermitted="false" />
|
|
<domain-config cleartextTrafficPermitted="true">
|
|
<domain includeSubdomains="false">127.0.0.1</domain>
|
|
<domain includeSubdomains="false">localhost</domain>
|
|
<!-- ponytail: WebDAV local du poste (IP fixe), en clair sur le Wi-Fi.
|
|
Le coffre reste chiffre ; le mot de passe WebDAV, lui, passe en
|
|
clair. A retirer quand le serveur parlera HTTPS. -->
|
|
<domain includeSubdomains="false">192.168.1.28</domain>
|
|
</domain-config>
|
|
</network-security-config>
|