Installationspfade anpassen

Da bei uns unter ~jabber/server ausschließlich ejabberd installiert
wird, benötigen wir dort keine "ejabberd"-Unterverzeichnisse.
configure-ZEDAT hinzufügen

In diesem Skript pflegen wir die von uns verwendeten Build-Optionen.
Neues ejabberd-Kommando: delete_user_messages/2

Diese Funktion kann via ejabberctl aufgerufen werden, z.B. so:

	ejabberctl delete_user_messages benutzer jabber.fu-berlin.de
Neue Option: automatic_registration

Mit der neuen Konfigurationsoption wird ein nicht existierender Account
bei erfolgreicher Authentisierung automatisch angelegt.
Nachrichten ohne "local Part" bouncen

Nachrichten an Jabber IDs wie "jabber.fu-berlin.de", die keinen "node
Part" enthalten, wurden stillschweigend von ejabberd geschluckt. Das war
insb. deshalb blöd, weil "ejabberctl stop_kindly <delay> <announcement>"
das <announcement> mit "jabber.fu-berlin.de" als From-Adresse
verschickt. Daher bouncen wir Nachrichten an solche Adressen jetzt in
derselben Weise wie Nachrichten an nichtexistente Adressen mit "local
Part".
FIREWALL_WINDOW nur für "ejabberdctl start"

Die von der Erlang-VM ausgewählte TCP-Portnummer lässt sich mit der
FIREWALL_WINDOW-Variable in der ejabberdctl.cfg-Datei eingrenzen. Das
ist aber nur für die VM sinnvoll, die den eigentlichen ejabberd
betreibt, nicht für VMs, die (z.B. von "ejabberdctl status" oder
"ejabberdctl debug") zur Kommunikation mit dem ejabberd verwendet
werden. Insbesondere müssen diese VMs andere Portnummern verwenden
können, wenn die eigentliche ejabberd-VM via FIREWALL_WINDOW auf eine
einzige Portnummer festgelegt werden soll.
Bessere Fehlermeldung bei s2s-Verbindungsproblemen

Auch die Ursache protokollieren, wenn die Verbindung zu einem
Remote-Server nicht aufgebaut werden kann.
Konferenzraum-History nicht zum User senden

Wir wollen die MUC-History nicht zum User senden, können aber auch nicht
einfach {history_size, 0} konfigurieren, weil das mod_muc_admin-Modul
die History-Queue auswertet, um zu prüfen, wann ein Raum das letzte Mal
genutzt wurde.
Erlang-VM nach einem Crash automatisch neu starten

Der ejabberd soll nach einem Crash mittels heart(3) automatisch neu
gestartet werden.
Irreführende Fehlermeldung entsorgen

Beim Startup vermisst "ejabberd_auth_external" manchmal das
"mod_last"-Modul. Das ist aber nur ein Timing-Problem: Früher oder
später wird "mod_last" bei uns aktiviert.
Client-IP an Authentisierungs-Skript übergeben

Auch die IP-Adresse des Clients and das Authentisierungs-Skript
übergeben, damit sie für "userlog" gespeichert werden kann.
Sinnvolle HTTP-Auth-Meldung ausgeben

Die Basic-Auth-Abfrage des Admin-Web-Interfaces gibt nun aus, dass
Jabber-ID und RADIUS-Passwort verwendet werden müssen. Das ist
vermutlich nicht offensichtlich.
Aussagekräftigeren Versionsstring erzeugen

Bei der Erzeugung des Versionsstrings sollen nur die offiziellen
Release-Tags berücksichtigt werden, nicht z.B. der "zedat/base"-Tag. Im
Übrigen setzen wir als Version z.B. "14.07-ZEDAT" statt "14.07-42", weil
Commit 42 bei uns ja nicht derselbe wie anderswo ist.
Interne Log-Rotation deaktivieren

ejabberd soll seine Log-Dateien nicht selbst rotieren, das machen wir
mit externen Tools.
Neues ejabberd-Kommando: list_unused_rooms/2

Nun gibt "ejabberdctl unused_zedat_rooms jabber.fu-berlin.de 100" alle
persistenten Räume aus, die seit mind. 100 Tagen leer sind.
Revert "Client-IP an Authentisierungs-Skript übergeben"

This reverts commit 782b06afe996b2651dc20a6d12ac5c0012d71704.
Add Client State Indication (CSI) support