Openslp README
===============

1 - Introduction
2 - Roadmap
3 - Build 
4 - Install 
5 - Users Guide
6 - Developers Guide
7 - FAQ


1 - Introduction
-----------------
The OpenSLP project is an effort to develop an open-source implementation of
Service Location Protocol suitable for commercial and non-commercial 
application.

The latest stable version of OpenSLP is 1.0.7.  OpenSLP-1.0.7 contains several
important changes:

   - Changed all instances of close() where socket descriptors are closed
     to closesocket() on WIN32.  Calling close() instead of closesocket()
     results in a resource leak on Win32

   - Applied patch from Juergen Kreileder that provides the net.slp.multicastIF
     slp.conf setting.  net.slp.multicastIF is useful in setting up OpenSLP on
     multi-homed machines where it is desireable to configure which interface
     should send multicast traffic.

   - Applied patch from Garth Bushell that fixes a problem where not enough
     memory was being allocated to hold an escaped string in SLPEscape().

   - Moved Win2000 specific defines inside #ifdef WIN32 so that OpenSLP will
     build on Win2000

   - Changed slpd "daemonize" code to chdir() to "/" so that the PWD is not 
     left unmountable.


2 - Roadmap
------------
The first phase of OpenSLP is now complete.  Upon release of OpenSLP 1.0.0,
the CVS repository will be branched to allow new development for the next
major release of OpenSLP.  OpenSLP 1.0.x will continue as the stable branch
allowing conservative bug fixes only. OpenSLP 1.1.x will be the main
development branch that will be used to implement revisions and features
currently under discussion on the Service Location Protocol mailing lists
(see http://srvloc.org)
    

3 - Building OpenSLP
---------------------
Building OpenSLP requires the proper installation of automake, autoconf and
libtool.  To build OpenSLP please use the following steps:

    - Unzip and untar the openslp-x.x.x.tar.gz tarball.
   
      $ tar -zxf openslp-x.x.x.tar.gz 
	  
    - Run the autogen.sh script to generate configure script. Do not be
      alarmed if the autogen script prints a few errors.  Try the resulting
      configure (next step) script anyway.  If the ./configure script already
      exists, skip running ./autogen.sh
      
      $ cd openslp-x.x.x
      $ ./autogen.sh
	  
    - Run the configure script to create openslp make files.  Please note that
      the configure script accepts several --enable-xxxx and --disable-xxxx
      options that should be interesting to you.  Run ./configure --help and 
      read the details of each of these switches. If the configure
      script fails... now you have a problem.
     
      $ ./configure --help
      $ ./configure
	  
    - Run the top level make file (you need to use GNU make)
    
      $ make
	  
    - If the make is successful, look for the following binaries:
      
      slpd/slpd
      libslp/.libs/libslp.so
      test/.libs/*


4 - Installing OpenSLP       
-----------------------
To install OpenSLP make the install target in the top level make file
    
    $ make install
    
Installation of OpenSLP creates the following files:
    
    /usr/sbin/slpd 
    /usr/lib/libslp.so.x.x (and several appropriate links)
    /usr/lib/libslp.a 
    /etc/slp.conf          (old slp.conf is renamed)
    /etc/slp.reg           (old slp.reg is renamed)
    

5 - OpenSLP Users Guide 
------------------------
Rather than be repetitive in this document, the reader is refered to a fairly
complete OpenSLP users guide that is available in the doc/html directory
of the OpenSLP distribution or on the web at:
    
    http://www.openslp.org/doc/html/UsersGuide
    
The OpenSLp users guide gives instruction on how network and system
administrators should configure and use OpenSLP once it is installed


6 - OpenSLP Programmers Guide
------------------------------
Again, to avoid repetition, the reader is refered to a the Programmers Guide
available in the doc/html directory of the OpenSLP distribution or on the web 
at:
   
    http://www.openslp.org/doc/html/ProgrammersGuide
    
    
7 - FAQ
--------
The frequently asked questions have been moved to a faq.html file located in 
the doc directory of the OpenSLP tarball.  
