Upgrading from 1.4.2 to 1.4.3
-----------------------------

The default behaviour for c2s now is to only listen on standard/SSL
ports if configured to (<ip...>/<ssl...> tag present in configuration).

Be aware the new mod_auth_crypt module can not run in parallel with
mod_auth_plain and you can not simply replace mod_auth_plain by
mod_auth_crypt in an existing installation. So stick with your mod_auth_*
setup you used in jabberd 1.4.2 if you need plaintext authentification.

Otherwise there should be no issues upgrading from 1.4.2 to 1.4.3.


Upgrading from 1.2 to 1.4
-------------------------

The configuration file format and spool data format have not changed between
1.2 and 1.4.  A 1.4 server should have no issues running in place of 1.2.


Upgrading from 1.0 to 1.4
-------------------------

The upgrade from 1.0 to 1.4 is fairly easy, but not completely straight
forward.  Before we begin I would highly suggest making sure you have a backup
copy of your jserver.xml and jspool directory from your 1.0 setup, you never
can be too safe.  Now that you have that done, you need to decide where your
new spool directory will be.  Ok good, now you need to know the host name that
your Jabber server will be known by, you will have to make a subdirectory in
your spool directory for this host name.  As an example on jabber.org I would
do something like this:

    temas@jabber:/home/jabber/1.4/spool$ mkdir jabber.org

You then need to copy in all of your old jspool files into the new directory
that you created.  The user files are still compatible with 1.4 so you can copy
them directly over.

The next major step is editing the jabber.xml to be like your jserver.xml.
For an in depth look at the configuration file please read the section of the
documentation on it as well as review the sample configurations found in the
configs/ subdirectory.  First you will want to set the host name to the same
value as the subdirectory that you created:

    <host>jabber.org</host>

The next large section is the <jsm/> section.  It contains most of the same
tags as those found in jserver.xml, and should be fairly self explanatory.

Once the jsm setup is complete you need to edit the <xdb/> settings to point
to the correct spool directory, an example as might be done on jabber.org:

    <xdb_file xmlns="jabber:config:xdb_file">
      <spool>/home/jabber/1.4/spool</spool>
    </xdb_file>

It is important to note that this is the directory that contains the
subdirectories for all of the host names, not the actual subdirectory which is
the host name.

Now you should be on the c2s (client to server) service.  This is the default
method for people to enter the server, the only items you may wish to edit
here are the <ip/>, <authtime/>, and <rate/>.  If you wish to play with
karma, I suggest you read the documentation on karma that is included in the
docs/ subdirectory.

Skipping over dnsrv we get to the s2s (server to server) service.  Here you
will want to look at the <legacy/> option, as well as the <ip/> settings for
where you are actually listening.

Once you are done editing your jabber.xml, you should be able to run jabberd
with the new configuration you just made and have it run just like a 1.0
server, completely transparent to your users.
