                             NoteServ Hybrid
                             ===============

NoteServ Hybrid is a port of Kai 'Oswald' Seidler's IRCnet NoteServ
program.  NoteServ connects as a server to a network running Hybrid(1),
csircd(2), or CSr servers, as opposed to operating in Services context
on IRCnet 2.9/2.10 servers.

Installation
============

1) Edit Makefile to point to the desired installation directory in the
   prefix variable.

   If you have the gdbm library installed on your system, adjust the
   GDBM_LDFLAGS and GDBM_CFLAGS variables to point to the proper location.

   If you do not have the gdbm library installed, or do not wish to edit
   Makefile variables, please look at the section on gdbm.

2) Edit service.h, replacing the NICK, SERVERNAME, ERRORADDR, PASSWORD,
   and DIRECTORY with your networks settings.

   NICK is assigned to the nickname the service will use.(3)
   SERVERNAME is assigned to the server name that the service will
              call itself.
   ERRORADDR is assigned to the user@server that it will report errors
             to when debugging is enabled.(4)
   PASSWORD is assigned to the password used to connect to it's ircd
            uplink.  This cannot be encrypted.
   DIRECTORY is assigned to the directory NoteServ is installed into.
             This should be the same as prefix.

3) Run make.(5)  If you get errors relating to the gdbm library, please
   look below in the gdbm section.  Once those steps are complete, please
   resume the make.

4) Run make install

5) Add C:/N: lines, connect blocks, or link blocks to your irc server's
   configuration file, to allow the service to connect to the IRC network.

6) To run the service, cd into the prefix directory, and run:

   $ bin/noteserv <address> <port> &

   Where the address and port are where the service will connect to the
   IRC network.

   The service must be put into the background using the & character.

gdbm
====

NoteServ relies on gdbm to provide a file back-end for it's persistent
structures.  The gdbm library is often times not available on the system,
so a copy of the library is provided in the gdbm-1.8.3/ directory.  By
default, the Makefile points to this directory to link the library and
include the headers.  The link will fail if you have not followed the
following steps prior to running make.

1) cd into the gdbm-1.8.3/ directory.

2) Run ./configure

3) Run make

Do not run make install, NoteServ is configured to use the library in place.

Additional Information and Credits
==================================

More information about the original NoteServ can be found at:
http://irc.fu-berlin.de/noteserv/

The stock version of NoteServ can be downloaded from:
ftp://ftp.cs.tu-berlin.de/pub/net/irc/noteserv/

This modified version of NoteServ can be downloaded from:
http://ircd.botbay.net/pub/NoteServ-hybrid

NoteServ was originally written by Kai 'Oswald' Seidler.  Full credits can
be found on http://irc.fu-berlin.de/noteserv/.

The Hybrid modifications were done by W. 'Sarisa' Campbell.

The code was tested to the best of my abilities on the Hybrid 7 test-net
and on a private production network.  There are no guarantees that this
program will work, and there are likely still many bugs that need to be
worked out.  This code was released so that others who may wish to use
it may do so.

Bugs
====

There are no known bugs with NoteServ.  There are likely many unknown
bugs.  The ns-dumpdb utility is incomplete and does not yet work.

To report bugs, please e-mail wcampbel@botbay.net any information
regarding bugs that are related to Hybrid modifications, and both
wcampbel@botbay.net and osw@ld.pages.de for anything that is related to
the original source.  If you do not know, please send it to
wcampbel@botbay.net.

----------------------------------------------------------------------
(1) Any version of Hybrid from 4.3 to the current 7 beta's/rc's are
    supported.
(2) csircd servers must be patched in order to properly hub NoteServ.
(3) NoteServ does not handle NICK collisions well.  Please Q:/resv the
    nickname that the service will use on all servers on your network.
(4) Debugging can be enabled by setting the DEBUG variable in Makefile
    to 1, recompiling, and running make install.
(5) Ignoring any of the warnings that will pop up, they will not affect
    the performance, stability, or security of the service in any way.
