Salvarea unei integrări a calendarului/contactelor nu se anulează niciodată sau scade acreditările stocate

FixEmailService
Expediere
17 septembrie 2026 la 04:31 UTC
Autor
Kamo
Comite
d35858f

Acreditarile unei integrari de contact Json a fost inlocuit de orice o salvare trimis. Fila CalDAV/CardDAV trimite tot patru campuri server (gol Apăsați Save to change a switch overwrite the stored address, username and password with gold strings. ă Dialog sursa paginii de contact trimite doar câmpurile tastat, astfel încât modificarea unei parole a scăzut adresa și numele de utilizator. IntegrationSettingsService distinge acum cele două tipuri de scrieri credibile: - Un setările salva (org PUT, membru POST/PUT) MERGES: un câmp gol sau nul este "nu este furnizat" și păstrează stocat valoare; toate câmpurile goale nu schimbă nimic; un câmp tastat înlocuiește omologul său stocat și orice alt stoc Field rămâne. O salvare care schimbă furnizorul începe de la nimic, astfel încât jetoanele OAuth grant nu sunt niciodată transportate în acreditările unui Apple ID sau invers. O parolă stocată este legată de caldavUrl, carddavUrl și nume utilizator a fost salvat cu: schimbarea oricare dintre ele fără a tasta parola este refuzat cu un 400 mai degrabă decât trimiterea parolei vechi la un alt server sau cont. O acreditare care nu este un obiect JSON este stocat ca trimis, ca înainte. - Un consimțământ Oauth REPLACES întregul grant (nou Salvați OrgOAuthGrant pentru apelul org; salvați MEMBRUAuth). O unire acolo ar păstra un semn de reîmprospătare furnizorul nu a reemite, sau e-mail alt cont. Controlorul răspunde la Argument Ilegal Excepție de la acestea salvează cu 400 în loc de 500. Reîmprospătarea jetoanelor (aici și în daemonservice) citește și rescrie întreaga hartă decriptată pe entitate, și FurnizorRegistry / GenericDavProvider doar a citit-o; nici una dintre ele nu se schimbă. Nu există rânduri de contact integrații în producție, deci Nimic nu a fost şters încă. IntegrationSettingsServiceTest: câmpurile goale păstrează serverul, un câmp tastat se înlocuiește doar pe sine, un nou adresa/contul fără parolă este refuzat și nu schimbă nimic (aceeași adresă nu este o schimbare); un comutator furnizor scade cheile celuilalt furnizor, org și membru OAuth granturi înlocui. Verificarea mutației: înlocuirea în loc de fuzionare, eliminarea legării parolei, ignorarea comutatorului furnizorului, și fuzionarea fie OAuth grant fiecare pică un test. Apartament complet: 1763 teste, 0 eșecuri.

Toate modificările

Ca ceea ce vezi de transport maritim?

Toate acestea ajung în spațiul de lucru pe cont propriu. Începeți cu planul gratuit și citiți această pagină din nou într-o lună.

Pornește gratuit pentru totdeaunaVezi prețurile