Présentation du problème

Lorsque l'on utilise l'application Mail pour envoyer un email depuis un compte non-iCloud vers un autre compte non-iCloud, l'application déclenche immédiatement une connexion à iCloud, comme révélé par Little Snitch. Cela se produit même lorsque iCloud est désactivé dans les paramètres système pour toutes les utilisations de Mail.

Fonctionnement de la connexion

Les processus cloudd et nsurlsessiond tentent de se connecter aux URL https://gateway.icloud.com:443/ckdatabase/api/client/query/retrieve et https://gateway.icloud.com:443/ckdatabase/api/client/record/save, respectivement, en utilisant les protocoles TCP et UDP. Il est probable que la connexion bascule vers le protocole alternatif si la première tentative de connexion est bloquée.

Limites de l'analyse

Malheureusement, il n'a pas été possible d'analyser les détails de la connexion avec Proxyman, car iCloud utilise le pinning de certificat, ce qui empêche Proxyman de déchiffrer les paquets. De plus, une extension de réseau ne peut pas accéder aux données non chiffrées. Par conséquent, la raison pour laquelle Mail contacte iCloud lors de l'envoi d'un email non-iCloud reste inconnue.

Implications et limites

Il est difficile de comprendre ce que Mail pourrait interroger et enregistrer dans CloudKit lorsque Mail est désactivé dans iCloud. Il est également inquiétant que Apple ait besoin de savoir lorsque des emails sont envoyés. Pour contourner ce problème, il est possible de créer des règles Little Snitch pour bloquer les connexions à gateway.icloud.com, mais cela peut avoir des implications pour les tests de synchronisation iCloud pour les besoins de développement logiciel.