Есть в конфигурации jabberd1.4 такой файл, как /etc/jabber/jabber.cfg, в котором есть буквально следующая строчка: # JABBER_HOSTNAME (which is then passed to jabberd in the -h switch) и далее JABBER_HOSTNAME присваивается по умолчанию `/bin/hostname`. При этом точно такой же параметр задается фиксированным в /etc/jabber/jabber.xml (он по умолчанию равен "localhost") и если они не совпадают - начинаются весьма неприятные и загадочные проблемы. В конфигурации по умолчанию в jabber.xml он равен "localhost", а `/bin/hostname` равен "localhost.localdomain", в результате чего ничего не работает. Есть большое и горячее предложение, выкинуть вышеописанную строчку из jabber.cfg или лучше закомментировать. Без нее все замечательно работает, с ней - начинают плодиться всякие сложноуловимые проблемы. Зачем изобретать несколько механизмов конфигурации, которые надо синхронизировать вручную, почему не указать все в одном месте?..
В конфигурации этот параметр обрамлен в <jabberd:cmdline flag="h">...</jabberd:cmdline>, что приводит к замене на содержимое опции -h. Есть еще места, где подстановка не прописана; их можно поправить. К сожалению, это не распространяется на некоторые внешние компоненты, например, jadc2s -- там надо прописывать в jadc2s.xml вручную. В-общем, я почти согласен, что нужно выбросить всю эту алхимию и заставить пользователя писать руками. Нет разве что уверенности насчет доменного имени по умолчанию: localhost или localhost.localdomain? Нормально ли "доменное" имя сервиса, например, icq.localhost или icq.localhost.localdomain с точки зрения resolver'а?
Fixed in jabber-1.4.3-alt7. A new configuration system has been also put into action.