Lion Server 10.7.4 : corriger un refus des connexions AFP

Problème étonnant chez un de mes clients : après le passage de la version 10.7.3 à la 10.7.4, plus possible pour certains postes de se connecter en AFP ! Lors de la tentative de connexion, qu’on utilise le dialogue de connexion (Cmd + K) ou qu’on clique sur la barre latérale puis sur Connexion, une fenêtre s’ouvre quelque secondes, et… c’es tout. Pas de fenêtre d’authentification. Le message suivant apparaît alors dans system.log : 

Jun 5 21:34:41 iMac-1 com.apple.launchd.peruser.503[111] (com.apple.netauth.useragent[256]): Job appears to have crashed: Segmentation fault

Plus étonnant encore : le même poste client arrive à se connecter à un serveur AFP à l’extérieur du réseau sans souci. Et les postes clients hors du réseau se connectent au serveur sans problème également !

Après beaucoup (beaucoup) de recherche et un peu de déduction, j’ai découvert que dans les réglages du service AFP, la ligne kerberosPrincipal affichait via la commande

sudo serveradmin settings afp

affichait parmi tous ces résultats cette ligne :

afp:kerberosPrincipal = "afpserver"

Ah ! Bizarre, car normalement elle devrait indiquer le principal du service AFP au sein de Kerberos. Ce principal devait être de la forme :

 afpserver/server.example.com@SERVER.EXAMPLE.COM

 

Qu’à cela ne tienne ! Stoppons AFP, modifions le principal puis relançons AFP : 

% sudo serveradmin afp stop
% sudo serveradmin settings afp:kerberosPrincipal = afpserver/server.example.com@SERVER.EXAMPLE.COM
% sudo serveradmin afp start

Remplacez évidemment server.example.com par le nom DNS de votre serveur et SERVER.EXAMPLE.COM par le nom du domaine Kerberos de votre domaine maitre Open Directory.

Après modification, le service est de nouveau accessible. Ouf !