Oggi mi è capitato di installare una nuova versione, la 3.6, di OpenFire, il server Jabber di Ignite Realtime. L'installazione è andata liscia come l'olio, come sempre per l'installazione di OpenFire. Arrivato al momento della configurazione, ho provveduto a configurare il backend OpenLdap che utilizzo per memorizzare gli utenti e i gruppi. E qui sono cominciati i problemi. Nonostante la configurazione fosse la stessa della precedente installazione di OpenFire, questa volta solo gli utenti erano visibili, mentre i gruppi erano totalmente invisibili.
Guardando i log di OpenFire mi sono accorto di diversi errori relativi proprio alla selezione e caricamento dei gruppi da OpenLDAP: diversi gruppi venivano specificati come "doppi". Spulciando il codice sorgente della classe relativa al caricamento dei gruppi, org.jivesoftware.openfire.ldap. LdapGroupProvider, ho trovato che OpenFire non gestisce il caso di omonimia fra utenti e gruppi, e quindi non tollera che nel sistema vi sia uno o più utenti che hanno il nome di uno o più gruppi. Questo mi ha riportato alla mente che già in passato avevo avuto un simile problema: OpenFire nasconde i gruppi di utenti che hanno una qualche omonimia con degli utenti. Così leggendo i log ho cancellato tutti gli utenti che avevano lo stesso nome di un gruppo, ho riavviato OpenFire così da forzare un nuovo caricamento, ma ancora nulla! Nessun gruppo era visibile, e questa volta i log non riportavano nulla di utile (e nessun errore). Il fatto ancora più strano era che questa volta i gruppi comparivano correttamente nella console amministrativa di OpenFire, e quindi questa volta il server stava caricando correttamente i gruppi, ma non li stava esportando bene. Ho iniziato così a controllare alcuni gruppi a caso, per verificare che fossero esportati (shared) con tutti gli utenti, e ho quindi provveduto a renderli nascosti (un-shared) e nuovamente condivisi (shared). Nulla!
Infine, applicando lo stesso procedimento al gruppo al quale appartenevano gli utenti amministratori (fra i quali io), che era anche uno dei pochi con utenti on-line (ma non so se queste siano solo coincidenze) i gruppi sono magicamente ricomparsi nei roster dei client.

The article Openfire & OpenLDAP has been posted by Luca Ferrari on September 4, 2008

Tags: linux