feat(sync): http:// limite au reseau local, Basic des la 1re requete
APK : le clair est permis par Android et trie dans TSyncClient.RefusalReason (IsLocalHost : RFC 1918, 127.x, .local, .lan, nom sans point) - chacun pointe vers son propre WebDAV sans IP connue a la compilation ; vers Internet, HTTPS. PC : Authorization Basic envoye d'emblee, plus de 401 anonyme ni de PUT du coffre envoye deux fois. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1757,6 +1757,13 @@ begin
|
||||
end
|
||||
else if (LUser <> '') then
|
||||
begin
|
||||
// BASIC DES LA PREMIERE REQUETE, comme le telephone. Laisse a
|
||||
// Windows, l'authentification partait d'abord en anonyme : 401,
|
||||
// puis la meme requete - et un PUT envoyait le coffre deux fois.
|
||||
// Les identifiants restent aussi en reserve pour un serveur Digest.
|
||||
LHttp.CustomHeaders['Authorization'] := 'Basic ' +
|
||||
TNetEncoding.Base64.Encode(LUser + ':' + LPwd)
|
||||
.Replace(#13, '').Replace(#10, '');
|
||||
LHttp.CredentialsStorage.AddCredential(
|
||||
System.Net.URLClient.TCredentialsStorage.TCredential.Create(
|
||||
System.Net.URLClient.TAuthTargetType.Server, '', '', LUser, LPwd));
|
||||
|
||||
Reference in New Issue
Block a user