============================================================================
OpenSLP Change Log (stable-1-0)
-------------------------------
Please make entries to this log (in addition to the CVS log) that describe 
major changes to the OpenSLP code base.  An entries should be separated by
blank lines and include the date, developer's email, and change description.
=============================================================================

*** Tag OpenSLP-1.0.8 ***

02/25/02 matt@caldera.com
Added patch from Arun Barboza to handle '==' SLPv1 predicates.  This patch
allows better interoperability with Novell SLP networks.

02/13/02 matt@caldera.com
Added fix from Arun Barboza to make V1 DAAdverts use the same encoding as
the request

02/13/02 matt@caldera.com
Fixed a problem in SLPProcessMessage where errorcodes were not being returned
resulting in attempts to send non-allocated sendbufs (i.e. SEGV).

02/13/02 matt@caldera.com
Fixed a problem where SLPReg() would hang if used against a DA or SA that
prematurely dropped connections

02/05/02 matt@caldera.com
Force use of numeric IP addresses in all DAAdvert and SAAdvert messages.

02/05/02 matt@caldera.com
Fixed bug where idle connections to DAs were not being aged.

02/05/02 matt@caldera.com
Added code so that 'slptool -v' will return the path of the slp.conf file
libslp.so is configured to use.

*** Tag OpenSLP-1.0.7 ***

01/25/02 matt@caldera.com
Fixed all documentation to reflect use of the new net.slp.multicastIF setting

01/24/02 matt@caldera.com
Changed all instances of close() where socket descriptors are closed
to closesocket() on WIN32

01/24/02 matt@caldera.com
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.

01/24/02 matt@caldera.com
Applied patch from Garth Bushell that fixes a problem where not enough
memory was being allocated to hold an escaped string in SLPEscape(). 

01/17/02 matt@caldera.com
Fixed some problems with multicast route handling code in the slpd 
startup script

12/20/01 matt@caldera.com
Moved Win2000 specific defines inside #ifdef WIN32

12/14/01 matt@caldera.com
Changed slpd "daemonize" code to chdir() to "/"

*** Tag OpenSLP-1.0.6 ***

12/04/01 matt@caldera.com
Applied patch from Tim Zurcher that sets FRESH flag for registrations.
OpenSLP ignores this flag, but other DA implementations like K&A SLP do not.

11/21/01 matt@caldera.com
Made a change to the outgoing socket send code that unlinks the sendbuf 
from the send list before it is sent.  This way if there is a reconnect
failure and the socket is SLPDSocketFree()d then the sendbuf won't be
SLPBufferFree()d twice.  This fixes a SEGV in the SA when a DA goes down 
during a transaction.

*** Tag OpenSLP-1.0.5 ***

11/15/01 matt@caldera.com
Added Timothy Zurcher to the THANKS file.  He deserves it!

11/13/01 matt@caldera.com
Minor changes to the way that settings from /etc/slp.conf affect active and 
passive discovery.

11/10/01 matt@caldera.com
Applied fix from Tim Zurcher that makes it so that errorcodes for
service-agent and directory-agent SrvRqsts are returned correctly.

11/09/01 matt@caldera.com
Fixed possible SEGV when reconnect to DA failed.  With out this change
it would be possible to need a NULL socket structure to the outgoing
socket list.  This would be very bad.

11/07/01 matt@caldera.com
Properly rooted startup scripts

11/2/01 matt@caldera.com
Changed declaration and definition for strncasecmp and strcasecmp so that
there is only one place for them in slp_compare.c and slp_compare.h

11/1/01 matt@caldera.com
Honor scopes in SrvRqsts for the special "service:directory-agent" type

10/31/01 matt@caldera.com
Fixed problem with SLPEscape() as patched by Timothy Zurcher

*** Tag OpenSLP-1.0.4 ***

10/18/01 matt@caldera.com
Added code to use IP address in agent url for those operating systems where
gethostname() does not return a fully qualified domain name (FQDN).

10/17/01 matt@caldera.com
Applied patch from Tim Zurcher to fix memory realloc problems when messages 
exceed the SLP MTU of 1400 bytes.

10/17/01 matt@caldera.com
Fixed SEGV when operating with Mac OS/x which insists on sending corrupt
SLP messages.  Thanks to Ernie Stepson for reporting this problem.

10/16/01 matt@caldera.com
Added code to log parse errors and dump bad messages to the log

10/16/01 matt@caldera.com
Fixed parse error conditional in slpd message processing code where some bad
messages could cause SEGV of slpd.

10/16/01 matt@caldera.com
Fixed problem where libslp.so would loop tightly if SLPReg() and SLPDereg()
were called after previously contacted slpd had died.

10/15/01 matt@caldera.com
Fixed problem where empty message was sent when talking to more than
one statically configured DA.  Patch from Timothy Zurcher.

*** Tag OpenSLP-1.0.3 ***

10/09/01 matt@caldera.com
Fixed "srvdereg too long bug" discovered by Timothy Zurcher 

10/09/01 matt@caldera.com
Changed install script so that it does not erase existing configuration files

10/08/01 matt@caldera.com
Fixed reconnect code to be able to interoperate with inefficient DAs that
close the stream after each srvreg/srvack exchange.  The Mac OS/X DA is 
reported to have this problem

10/08/01 matt@caldera.com
Fixed "sendbuf 2 bytes too long" as suggested by Timothy Zurcher

09/25/01 matt@caldera.com
Fixed inet_aton() on Win32

09/19/01 matt@caldera.com
Fixed configure scripts so that -lresolv is used on Solaris

09/17/01 matt@caldera.com
Removed calls that (sort of) enforce service-url checking.  This is for the
benefit of AFP's usage of SRVLOC.  Developers are now trusted not to 
register ambiguous service-urls.

09/17/01 matt@caldera.com
Applied Tomasz K?oczko patch for automake 1.5

*** Tag OpenSLP-1.0.2 ***

09/12/01 matt@caldera.com
Added slpd startup script for linux that automatically adds the multicast
route if one is not found

09/05/01 matt@caldera.com
Added calls to inet_aton() that are used before call to gethostbyname()
which should reduce name lookups and allow OpenSLP be configured to work in 
environments where name resolution is not set up.

08/31/01 matt@caldera.com
Changed code path for handling of directory-agent SrvRqst.  Fixes problems
DAs listed in net.slp.DAAddresses could not be found if multicast was not
working

08/30/01 matt@caldera.com
Fixed a few debug problems when last handle is closed.  Fixed KnownDA usage
SLPFindScopes() to bypass the cache

08/13/01 matt@caldera.com
Applied patch by Tomasz Kłoczko that fixes build with configure 2.5x

08/10/01 matt@caldera.com
Applied patch from Jim Meyer that fixes several predicate parsing
irregularities.

08/08/01 rganesan@myrealbox.com
Minor compilation and bug fixes: typecast char to int when passed to is*() 
functions, fix size of Attribute Reply buf etc.

*** Tag OpenSLP-1.0.1 ***

08/03/01 rganesan@myrealbox.com
Updated epm list file.

08/02/01 matt@caldera.com
Fixed included strncasecmp() as suggested by Timothy Zurcher

08/01/01 matt@caldera.com
Applied change from Kai T Solehmainen that fix a broadcast problem on Win32

08/01/01 matt@caldera.com
Fixed bug in libslp that resulted in net.slp.activeDADetection and
net.slp.DADiscoveryMaximumWait being ignored in the known DA discovery code

07/25/01 matt@caldera.com
Fixed minor KnownDAEcho problem that resulted in some DAs not getting
registrations.

07/25/01 matt@caldera.com
Fixed Database "initialization" order so that LOCAL or (API registered)
services will be preserved on reset or SIGHUP

07/25/01 matt@caldera.com
Applied Michael Sweet's patch to configure.in that allows use of CFLAGS and
LDFLAGS
 
07/25/01 matt@caldera.com
Fixed parsing problem in SLPParseSrvURL() that could cause SEGV

07/23/01 matt@caldera.com
Branched CVS into HEAD and stable-1.0.  This is the stable branch.

*** Tag OpenSLP 1.0.0 ****

07/18/01 matt@caldera.com
Fixed couple very minor memory leaks in slpd

07/13/01 matt@caldera.com
Fixed slp.conf parsing problem when properties are set to empty string

07/13/01 matt@caldera.com
Fixed possible SEGV when an unset property is accessed

07/13/01 matt@caldera.com
Added the getproperty feature to slptool

07/11/01 matt@caldera.com
Applied Todd Poynor's patches to slpd_knownda.c

07/11/01 matt@caldera.com
Added collation feature for SrvRqst and SrvTypeRqst

06/27/01 matt@caldera.com
Applied patch to fix SEGV in SLPParseSrvURL 

06/22/01 matt@caldera.com 
Added code that makes it so that no echo is made to ourself if slpd is
running as a DA

06/22/01 matt@caldera.com
Fixed up logging of registration and known DAs so that logging does not
occur changes are made to the databases

*** Tag OpenSLP 0.9.1 ****

06/13/01 matt@caldera.com
Fixed #417173 - Whitespace between scope fields
Fixed #417162 - Bad documentation in default slp.reg

06/12/01 matt@caldera.com
Fixed #432594 - Registrations not checked for syntax
Fixed 418877 - SegV when finding attrs on certain URLS
Fixed 418894 - Escape chars as attr names kill slpd

05/31/01 matt@caldera.com
Testing commits mailing list...

05/30/01 matt@caldera.com
Applied BSD patch from Terry Lambert

05/10/01 rganesan@myrealbox.com
Updated NEWS.

05/10/01 rganesan@myrealbox.com
Fixed up broken SLPv1 support.

05/10/01 rganesan@myrealbox.com
Changed includes of the form "../common/header.h" to "header.h" because of
potential breakage for non source directory builds.

05/10/01 rganesan@myrealbox.com
Added a EPM slp.list.in file and updated configure.in. EPM is an Easy
Package Manager (http://www.easysw.com/epm) that allows easy creation of
different packaging formats.

04/26/01 matt@caldera.com
Added more documentation to the usage output of slptool

*** Tag OpenSLP 0.9.0 ***

04/10/01 matt@caldera.com
Brought Win32 port up to date with 0.9.0 source code

04/18/01 matt@caldera.com
Fixed several socket re-connect, re-usage and aging bugs

04/18/01 matt@caldera.com
Finalized SLPv2 authentication support

04/18/01 matt@caldera.com
Changed registration database debug dump to use new database interface, and
added debug dump of known DA database

04/18/01 matt@caldera.com
Cleaned logging code

04/18/01 matt@caldera.com
Prepared libslp for colation by internal callback interface

04/18/01 matt@caldera.com
Libslp now handles SrvRqsts made with the reserved agent types
"service:directory-agent" and "service:service-agent"

04/18/01 matt@caldera.com
Added checkSourceAddr security feature

04/18/01 matt@caldera.com
Added debug memory allocator

04/18/01 matt@caldera.com
Added support for net.slp.OpenSLPversion property

*** Tag OpenSLP 0.8.3 ***

03/12/01 matt@caldera.com
Fixed sending of a weird 1400 byte datagram when slpd is configured as a DA

03/12/01 rganesan@myrealbox.com
Fixed many documentation bugs and re-worded in some places for clarity based
on excellent and detailed review feedback from Susan G. Kleinmann 
(sgk@debian.org). 

03/05/01 matt@caldera.com
Fixed a very very hard to find problem where regtypes were being cleared by
local re-registration (.reg registration re-registered when we discovered
ourselves as a DA)  Duh!

03/05/01 matt@caldera.com
Fixed problem where multicast was not being use when a DA can not be found
that support all scopes of a given request.

03/02/01 matt@caldera.com
Added --enable-async-api configure option

03/02/01 matt@caldera.com
Added slptool to openslp CVS module and included Ganesan's register and
deregister enhancements

03/01/01 matt@caldera.com
Changed SLPParseAttr() to be compliant with what will be in RFC2614bis this
required an interface change I bumped the library rev to 0:3:0

03/01/01 matt@caldera.com
Patched up the MSVC build and tested slpd to make sure it works

03/01/01 matt@caldera.com
Patched up the MSVC build and tested libslp.dll to make sure it works

*** Tag OpenSLP 0.8.2 ***

02/14/01 rganesan@myrealbox.com
Modified top-level Makefile.am to install rfcs in the install directory.

02/14/01 rganesan@myrealbox.com
Fixed many doc bugs based on comments from Susan G. Kleinmann (sgk@debian.org).

02/12/01 matt@caldera.com
Fixed a serious but *very* rare segfault due to uninitialized buf variables

02/09/01 matt@caldera.com
Removed old MSVC project files and made new ones in the win32 directory

02/09/01 matt@caldera.com
Numerous changes to make it so libsmb will build on Windows without cgywin. 
(Had to beautify source after mangling it with Windows editors, etc)

02/08/01 matt@caldera.com
UA requests may only be serviced by DAs if a known DA is found that supports
ALL the scopes in the request scope list.

02/08/01 matt@caldera.com
Added code to make sure that DAAdvert bootstamps are never the same in 
messages generated by slpd

02/08/01 matt@caldera.com
Changes to use SLPXidGenerate() from common/slp_xid.c to generate Message 
XIDs instead of rand()

02/08/01 matt@caldera.com
Changes to allow reinitalized slpd (SIGHUP) properly represent changes
made to static registration file (slp.reg)

01/23/01 matt@caldera.com
Added timestamps to logging

01/23/01 matt@caldera.com
Fixed logging so that existing log will not be truncated by new slpd 
instance

01/04/01 matt@caldera.com
Fixed bug where slpd looped tightly when no network interfaces are available

12/25/00 rganesan@myrealbox.com
Fully support dist target. You can now run "make dist" to make a release.

*** TAG OpenSLP 0.8.1 ***

12/19/00 matt@caldera.com
Changes as suggested by Olaf Kirch's security audit

12/15/00 matt@caldera.com
modified GetHostName() so that a resolve occurs on return from gethostname()

12/14/00 rganesan@myrealbox.com
slpd.log and slpd.pid file locations now change depending on the prefix. 

12/13/00 rganesan@myrealbox.com
Introduced predicate version field in srvrqst structure. Passed predicate 
version (v1 or v2) all the way down to SLPDPredicateTest(). 
SLPDPredicateTest() does not handle v1 predicates yet, so it still returns
success without looking at the predicate.

12/12/00 matt@caldera.com
Added code to refresh SLP_LIFETIME_MAXIMUM services

12/12/00 matt@caldera.com
Fixed bug where non-responsive DAs were used repeatedly

12/08/00 matt@caldera.com
Fixed DA / SA lookup code in libslp.  Fixes infinite loop under certain
error producing situations 

12/08/00 matt@caldera.com
Fixed errorcode stomping in slpd and libslp.  Now appropriate message should
get passed to the API caller

12/08/00 rganesan@myrealbox.com
Second set of 64-bit cleanups - removed converted all size_t datatypes to
int to be consistent with the rest of the code.

12/07/00 rganesan@myrealbox.com
Changed AC_OPENSLP_* macros to OPENSLP_* macros as per recommentation in
the Goat book (autoconf/automake/libtool book by the authors).

12/06/00 matt@caldera.com
Fixed bug where certain services were being omitted from a SrvTypeRply

12/06/00 rganesan@myrealbox.com
64-bit cleanups - change timestamps and signatures to int instead of long.

12/06/00 rganesan@myrealbox.com
Changed v1ProcessDASrvRqst to use SLPDAEntry. Added passive DAAdverts
for SLPv1.
	
*** TAG OpenSLP 0.8.0 ****

11/30/00 matt@caldera.com
Changed license comments in all source files

11/28/00 matt@caldera.com
More efficient rewrite of code that selects a DA to satisfy API requests

11/28/00 matt@caldera.com
Implemented SLPFindScopes() in libslp

11/21/00 matt@caldera.com
Send dead DAAdvert as part of graceful shutdown

11/21/00 matt@caldera.com
DAs now echo local registrations to other DAs (slpd as a DA also acts like
an SA for local API callers)

11/20/00 matt@caldera.com
Added code to ensure we respond correctly (with AUTHENICATION_UNKNONW) when\
a request with a SPI is received

11/16/00 matt@caldera.com
Changed SLPD behaviour to be less destructive on SIGHUP.  SIGHUP no longer
dumps the entire registration database on SIGHUP.  SIGHUP only causes slpd
to re-read configuration and static registration as well as perform DA
discovery.

*** TAG OpenSLP 0.7.8 ***

11/2/00 matt@caldera.com
Added graceful shutdown code

11/2/00 matt@caldera.com
Removed ALL memory leaks from slpd and libslp (predicate code not done yet)

10/31/00 matt@caldera.com
libslp now asks slpd for known DAs before multicasting requests

10/31/00 matt@caldera.com
Slpd running as a DA now performs passive discovery

10/25/00 matt@caldera.com
Slpd running as an SA now re-registers all services with a new DA

10/17/00 matt@caldera.com
Added code to database to utilized revised libslpattr call.  Now taglists in
AttrRqsts are honored

10/17/00 matt@caldera.com
Added some significant fixes to make slpd work properly on multi-homed 
machines

*** TAG OpenSLP 0.7.7 ***

10/11/00 matt@caldera.com
Rewrote the README file and removed README.CVS.

10/11/00 matt@caldera.com
Made changes to configure.in so that new predicate code is not build by
default.  Also added old predicate code back in (behind #ifdefs) so that at
least the original functionality will be there for 0.7.7

10/06/00 matt@caldera.com
Added code to make libslp reuse TCP connections

10/06/00 matt@caldera.com
Fixed timing bug in slpd where in some cases a non-blocking recvfrom() was 
called before any data could possibly be in the stream.  This would cause
libslp to return unexplained -19 on SLPReg() and friends.

10/05/00 matt@caldera.com
Active DA discovery is now working correctly.  There is still need for 
code to be added so the DAAdvert statless bootstamp is honored correctly.
The SA should re-register all services with a DA if it is new or bootstamp
is stale

09/29/00 rganesan@myrealbox.com
Implemented SLPv1 support when running as a DA. This can be turned off by the
configure option --disable-slpv1. New files common/slp_v1message.h,
common/slp_v1message.c, slpd/slpd_v1process.c. SLPv1 packets can have multiple
character encodings, OpenSLP supports only ASCII and Unicode encodings.

*** TAG OpenSLP 0.7.6 ***

09/27/00 hughes@lab43.org
Changed slpd's internal representation of attributes to use libslpattr. This
gives  much finer control over attributes, paving the way for filter support
and attribute freshening. 

09/27/00 hughes@lab43.org
Integrated filter support into slpd. This can be found in 
slpd/slpd_predicate.*. Regression test added in test.  

09/19/00 rganesan@myrealbox.com
Changed slpd to bind the multicast socket to INADDR_ANY instead of the SLP 
multicast address. Binding to the multicast address causes BSD derived OSs
to put the multicast address instead of the host address on outgoing packets.
With this fix (and a couple of others), OpenSLP works on FreeBSD and 
Compaq Tru64. 

09/18/00 mdes@ocegr.fr
Added Rick Braddy's MSVC Project files so that now OpenSLP should compile 
easily on Windows machines in Visual Studio

09/05/00 matt@calderasystems.com
Finally was able to reproduce (thanks to Jon) and fix bugs 109358 and 109359

*** TAG OpenSLP 0.7.5 ***

09/05/00 matt@calderasystems.com
Merged Mattieu Desmons's Win32 port of OpenSLP

09/05/00 rganesan@myrealbox.com
SLPFindSrvTypes() implemented (both server and client side)
	
*** TAG OpenSLP 0.7.4 ***

8/30/00 matt@calderasystems.com
Finally added functionality to slpd so that as an SA  it will find and 
register with all known DAs.  

*** TAG OpenSLP 0.7.2 ****

08/16/00 matt@calderasystems.com
Made significant changes that streamline main execution loop of slpd. 

08/11/00 matt@calderassystems.com
Fixed several sneeky memory leaks and memory access bugs that delt with
langtags in libslp. Fixes bug #111058 - Pointer issues in slpd.

08/04/00 rganesan@myrealbox.com
OpenSLP ported to Solaris (2.6/7) and Linux Alpha. Also functional on
Compaq Tru64. Building is now possible on non-gcc compilers.

08/04/00 rganesan@myrealbox.com
Documentation updates - codeset converted to iso-8859-1 and spell checked.

08/04/00 david.mccormack@ottawa.com
Modified slpd command line parameter parsing to print version and help 
information

08/02/00 rganesan@myrealbox.com
Build changes to take advantage of automake/libtool integration. Building 
with builddir != srcdir works. DESTDIR is supported for make install to
ease packaging. Test suites are integrated and run using 'make check'.  

07/17/00 matt@calderasystems.com
Finalized the DA discovery routines in libslp

*** TAG OpenSLP 0.7.1 ***

07/11/00 matt@calderasystems.com
Fixed 109269 - SLPFindSrvs callback no longer gives a LAST_CALL

07/11/00 david.mccormack@ottawa.com
Added a --enable-debug parameter to the configure script.  This option 
when activated allows for all the debug parameters to be set.

07/10/00 david.mccormack@ottawa.com
Fixxed a short coming of SLPEscape, it did not handle CTL, which it now 
does.

07/06/00 david.mccormack@ottawa.com
Removed all old Makefile and install scripts and replaced them with 
Automake/Autoconf ones.

07/06/00 david.mccormack@ottawa.com
Added in a NEWS file

06/28/00 matt@calderasystems.com
Added multicast DA discover support to the library

06/28/00 matt@calderasystems.com
Centralized the request reply engine for the library to libslp_network.c

06/28/00 matt@calderasystems.com
Added support for net.slp.multicastTimeouts, net.slp.unicastTimeout, and
net.slp.DADiscoveryTimeouts

06/13/00 david.mccormack@ottawa.com
Added in SLPUnescape function, and changed the documentation to reflect 
it.

*** TAG OpenSLP 0.6.7 ***

06/12/00 matt@calderasystems.com
Fixed a nasty little bug in slp_property.c that caused a segfault

06/12/00 matt@calderasystems.com
Added support for slp.net.DAAddresses to libslp.

06/12/00 matt@calderasystems.com
Added support for slp.net.isBroadcastOnly property

06/12/00 matt@calderasystems.com
Fixed 107022 - Seg Fault when net.slp.interfaces specified in slp.conf

05/30/00 matt@calderasystems.com
Fixed make files so that a make clean is done before a make install

*** TAG OpenSLP 0.6.6 ***

05/25/00 matt@calderasystems.com
Added code to enable slpd to reply to service:service-agent SrvRqsts

05/24/00 matt@calderasystem.com
Added an SLP test suite that was written by David McCormack.

05/24/00 matt@calderasystems.com
Fixed 106298 - SLPFindAttrs does not find all attributes

05/18/00 matt@calderasystems.com
Added the traceReg feature

05/18/00 matt@calderasystems.com
Fixed #106044 - Quoted strings in slp.reg cause seg fault in slpd

05/17/00 matt@calderasystems.com
Fixed #105904 - SLPOpen does not return SLP_NOT_IMPLEMENTED

05/15/00 matt@calderasystems.com
Fixed a major bug that caused the library to freeze when slp.conf was changed

05/15/00 matt@calderasystems.com
Brushed up traceMsg a little more.  Needs a little more work to be really
useful.  The framework is there though.	 
 
05/12/00 matt@calderasystems.com
Add framework to support traceMsg functionality.  Still needs a little 
brushing up, but the main part is done.

05/03/00 matt@calderasystems.com
This is another sample entry to show that entries should be separated by
blank lines.

05/03/00 matt@calderasystems.com
This is a sample entry.  Please make your entries look like this
