README for Jabber Open Source Server (2.2)

Thanks for downloading jabberd 2.2. Below are some basic instructions to
get you started. Complete documentation is available at
http://jabberd2.xiaoka.com/

-- the jabberd team


Required packages:

 - expat - XML parsing libraries
     http://expat.sourceforge.net/
 - GnuSASL (0.2.27 or higher) - Simple Authentication and Security Layer library
     http://www.gnu.org/software/gsasl/
     (please see contrib/ subdir for an important patch)
 - UDNS - asynchronous DNS resolver library
     http://www.corpit.ru/mjt/udns.html

Optional packages:

 - GNU Libidn (0.3.0 or higher) - needed for JID canonicalisation
     http://www.gnu.org/software/libidn/
 - OpenSSL (0.9.6b or higher) - needed for SSL/TLS support
     http://www.openssl.org/news/
 - zlib (1.2.3 or higher) - needed for stream compression
     http://www.zlib.net/
 - Berkeley DB (4.1.24 or higher)
     http://www.sleepycat.com/download/
 - OpenLDAP (2.1.0 or higher)
     http://www.openldap.org/software/download/
 - PostgresSQL (8.0 or higher; development libraries and headers)
     http://www.postgresql.org/
 - MySQL (5.0 or higher; development libraries and headers)
     http://www.mysql.com/
 - PAM
     http://www.linux-pam.org/  (for Linux)
 - SQLite (3.0 or higher)
     http://www.sqlite.org/


Build:

  % ./configure
  % make
  % make install

Options to ./configure:

  --prefix=/path/to/install
      Where to install everything

  --enable-idn (default: enabled)
      Compile with IDN (Stringprep) support

  --enable-ssl (default: enabled)
      Compile with SSL/TLS support

  --enable-mysql (default: enabled)
      Compile MySQL auth/reg/storage support

  --enable-pgsql (default: disabled)
      Compile PostgreSQL auth/reg/storage support

  --enable-db (default: disabled)
      Compile Berkeley DB auth/reg/storage support

  --enable-sqlite (default: disabled)
      Compile SQLite storage support

  --enable-ldap (default: disabled)
      Compile OpenLDAP auth/reg support

  --enable-pam (default: disabled)
      Compile PAM auth/reg support

  --enable-pipe (default: disabled)
      Compile pipe auth/reg support

  --enable-anon (default: disabled)
      Compile anonymous auth support

  --enable-fs (default: disabled)
      Compile filesystem storage support (NOT RECOMMENDED)

  --enable-mio=BACKEND
      Specify MIO backend to use (poll or select)

  --with-extra-include-path
  --with-extra-library-path
      Add extra header/library search paths
      
  --enable-debug (default: disabled)
      Output debugging info when run with -D

  --enable-nad-debug (default: disabled)
      Compile with NAD pointer tracking

  --enable-pool-debug (default: disabled)
      Compile with pool statistics

  --enable-developer (default: disabled)
      Compile with full warnings and debugging symbols


Configure:

  Edit $prefix/etc/(router|sm|c2s|resolver|s2s).xml to taste. In
  particular, make sure you setup for your choice of data storage
  correctly. If you're using the Berkeley DB backend, you'll need to
  create /var/run/jabberd and sets its permissions so that the server
  processes can find it.
  
  If you're using a SQL backend, you'll need to create an account for
  the server to use, and create the tables. Load db-setup.mysql or
  db-setup.pgsql from the tools/ directory into your database to do
  this.

  If you plan to use the jabberd wrapper script, make sure you look at
  the paths in the $prefix/etc/jabber/jabberd.cfg.


Run:

  You can either run all of the pieces separately:

    % $prefix/bin/router &
    % $prefix/bin/resolver &
    % $prefix/bin/s2s &
    % $prefix/bin/sm &
    % $prefix/bin/c2s &

  Or you can run them all from the jabberd wrapper script:

    % $prefix/jabberd &

All the processes can take the following switches:

    -c use an alternate config file
    -D output lots of debugging info (if compiled with --enable-debug)


Upgrade:

  Please see UPGRADE file.


Support:

Webpage: http://jabberd2.xiaoka.com/
Mailinglist: jabberd2@lists.xiaoka.com
 (Subscribe by sending mail to jabberd2-subscribe@jabberd2.xiaoka.com)

When requesting assistance, please note that the following things can
provide useful information which may assist with finding your problem:

 - debug logs (compile with --enable-debug and run with -D)
 - running components seperately (ie without the wrapper script)
 - config.log

Please try to provide as much relevant information as possible when
reporting problems - it will make helping you much easier.


Copyright & License:
  
 jabberd - Jabber Open Source Server
 Copyright (c) 2002-2007 Jeremie Miller, Thomas Muldowney,
                         Ryan Eatmon, Robert Norris, Tomasz Sterna.

 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 2 of the License, or
 (at your option) any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA02111-1307USA

 As a special exception, the authors give permission to link this
 program with the OpenSSL library and distribute the resulting binary.


 Includes Expat (1.95.7).
 Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd
                                and Clark Cooper.
 Copyright (c) 2001, 2002 Expat maintainers.

 subst/snprintf.c and util/base64.c were originally taken from the
 Apache web server project.
   Originally copyright (c) 1995-2003 Apache Software Foundation.
 
 util/md5.c was taken from Ghostscript.
   Originally copyright (c) 1999-2002 Aladdin Enterprises.
 
 util/sha1.c was taken from Mozilla.
   Originally copyright (c) 1995-1999 Cryptography Research, Inc.
 
 subst/getopt.[ch] was taken from GNU Libc.
   Originally copyright (c) 1987-1993 Free Software Foundation, Inc.
 
 subst/gettimeofday.c was taken from PostgreSQL.
   Originally copyright (c) 2003 SRA, Inc. & SKC, Inc.
 
 subst/syslog.[ch] was taken from Bind.
   Originally copyright (c) 2001 Internet Software Consortium.
 
 subst/inet_aton.c
   Originally copyright (c) 1995-1997 Kungliga Teniska Hogskolan
 
 subst/ip6_misc.h
   Originally copyright (c) 1993,1994,1997 The Regents of the University of California.
 
 subst/dirent.[ch]
   Originally copyright (c) 1997,2003 Kevlin Henney.
