Changes since 3.3b1

Various Make-template files	- update by doing 'make depend'

include/disptmpl.h		- add LDAP_DISP_OPT_HTMLBODYONLY option

libraries/liblber/io.c		- under MacOS, limit tcpwrite() calls to a
				  maximum of 64K bytes; ber_flush() int/long fix

libraries/libldap/friendly.c	- don't use errno on MacOS or DOS
libraries/libldap/regex.c	- fix re_exec() to that ".*" matches ""
libraries/libldap/result.c	- eliminate memory leak in wait4msg()
libraries/libldap/request.c	- eliminate double-free impurity
libraries/libldap/tmplout.c	- add LDAP_DISP_OPT_HTMLBODYONLY option
libraries/libldap/ufn.c		- purify: avoid bad frees; plug memory leaks

libraries/libldif/line64.c	- str_parse_line() now 0-terminates base64 vals.

libraries/macintosh/*		- tcpwrite()/OpenTransport bug fixes
				- better error checking for MacTCP driver opens
				- don't use old routine names any more

libraries/msdos/winsock/*	- various bugs fixes & improvements

servers/slapd/modify.c		- fix bug causing unnormalized attr names
servers/slapd/monitor.c		- return new "version" attribute
servers/slapd/regex.c		- fix re_exec() to that ".*" matches ""
servers/slapd/tools/ldbmcat.c	- make -n option work (don't open file "-n" )
servers/slapd/tools/ldif2id2entry.c	- include ids in stored entries
servers/slapd/schema.c		- log some information useful in tracking
				  down schema-check problems
servers/slapd/dn.c		- dn_upcase() was not returning anything (doh!)
servers/slapd/backend.c		- pass unbind request to all backends
servers/slapd/unbind.c		- pass unbind request to all backends
servers/slapd/Version.c		- remove leading spaces from Versionstr[]

servers/slapd/back-ldbm/unbind.c - make arguments consistent
servers/slapd/back-ldbm/bind.c	- fix bug which allowed anyone to bind as
				  anyone else using kerberos, if there was
				  at least one krbName in an entry

servers/slurpd/replog.c		- do all replog copying with buffered i/o
servers/slurpd/fm.c		- fix inconsistency in arguments
servers/slurpd/main.c		- fix inconsistency in arguments

clients/tools/ldapdelete.c	- add -K flag - only does LDAP_AUTH_KRBV41
clients/tools/ldapmodify.c	- add -K flag - only does LDAP_AUTH_KRBV41
clients/tools/ldapmodrdn.c	- add -K flag - only does LDAP_AUTH_KRBV41
clients/tools/ldapsearch.c	- add -K flag - only does LDAP_AUTH_KRBV41

doc/man/man1/ldapdelete.1	- add -K flag - only does LDAP_AUTH_KRBV41
doc/man/man1/ldapmodify.1	- add -K flag - only does LDAP_AUTH_KRBV41
doc/man/man1/ldapmodrdn.1	- add -K flag - only does LDAP_AUTH_KRBV41
doc/man/man1/ldapsearch.1	- add -K flag - only does LDAP_AUTH_KRBV41
doc/man/man3/ldap_entry2text.3	- document LDAP_DISP_OPT_HTMLBODYONLY option
doc/man/man8/slapd.8		- add BUGS section and document modrdn bug

----------------------------------------------------------------------------
Changes since 3.2

Makefile			- added support for IRIX (SGI)
				- make depend improvements

tests/				- all new test scripts -- make test

include/lber.h			- use short include file names #ifdef WINSOCK
include/ldap.h			- change LDAPCache struct definition to reduce
				  cache overhead
				- use short include file names #ifdef WINSOCK
				- LDAP URL support
				- add lr_conn to LDAPRequest (needed by abandon)
				- add LDAP_OPT_RESTART for select() restart
				- revised Debug() macro #ifdef WINSOCK
include/ldbm.h			- under NDBM, use O_RDWR instead of O_CREAT
				-   in LDBM_WRCREAT and LDBM_NEWDB
include/proto-lber.h		- changes for WIN32
include/proto-ldap.h		- changes for WIN32
				- added LDAP URL routines
include/disptmpl.h		- changes for WIN32
include/ldif.h			- includes for new libldif library
include/srchpref.h		- changes for WIN32
libraries/liblber/decode.c	- vararg changes for WIN32
libraries/liblber/encode.c	- vararg changes for WIN32
libraries/libldap/abandon.c	- make ldap_abandon() work with referrals
libraries/libldap/bind.c	- added new ldap_set_rebind_proc() routine
libraries/libldap/cache.c	- reduce cache overhead
				- fix small cache size infinite loop bug
				- clarify debugging messages
libraries/libldap/charset.c	- new routines: ldap_translate_from_t61,
				    ldap_translate_to_t61,
				    ldap_enable_translation
libraries/libldap/cldap.c	- changes to support referral re-bind w/auth
libraries/libldap/getfilter.c	- ldap_build_filter:  don't use NULL value
libraries/libldap/kbind.c	- changes to support referral re-bind w/auth
libraries/libldap/ldap-int.h	- changes to support referral re-bind w/auth
				- rename do_select() to do_ldap_select()
libraries/libldap/open.c	- changes to support referral re-bind w/auth
				- ld_options = LDAP_OPT_REFERRALS by default 
libraries/libldap/os-ip.c	- include <sys/time.h> to fix HP/UX gcc builds
				- rename do_select() to do_ldap_select()
libraries/libldap/result.c	- wait4msg debugging now shows timeout values
				- changes to support referral re-bind w/auth
				- rename do_select() to do_ldap_select()
				- buf fix in ldap_msgdelete() -- update prev
				- support LDAP_OPT_RESTART option
libraries/libldap/request.c	- changes to support referral re-bind w/auth
				- initialize new lr_conn field (for abandon)
libraries/libldap/test.c	- changes to support referral re-bind w/auth
libraries/libldap/tmplout.c	- searchact uses "-dnt" and "-dnb", not "-dn"
libraries/libldap/url.c		- new routines: ldap_is_ldap_url,
				    ldap_parse_url, ldap_url_search
				    ldap_url_search_s, ldap_url_search_st

libraries/libldif/		- new library that contains line64 routines

clients/tools/ldapmodify.c	- preferred input format is now slapd.replog
clients/tools/ldapsearch.c	- added -L option (output in LDIF format)
				- don't print initial blank line when -f used
				- support "-f -" for reading filters from stdin
clients/ud/*.c			- various bug fixes & auth. streamlining

doc/man/man3/ldap.3		- add several new routines
doc/man/man3/ldap_bind.3/.links	- add new ldap_set_rebind_proc() routine
doc/man/man3/ldap_charset.3/.links	- add new routines
doc/man/man3/ldap_disptmpl.3	- added missing *'s in ldap_init... arg. lists
doc/man/man3/ldap_result.3	- add details r.e. timeout parameter
doc/man/man3/ldap_open.3	- document LDAP_OPT_REFERRALS default to on
doc/man/man3/ldap_url.3/.links	- document new LDAP URL routines

Make-common.dist and .um	- add LDBMINCLUDE variable
				- use ISODEPACKAGE and ICRELEASE in place of
				  ICR1 and XTISODE defines
				- remove LDAP_DNS stuff

build/Make-append		- add LDBMINCLUDE variable
				- add NO_SETPROCTITLE to SERVERDEFS
				- use ISODEPACKAGE and ICRELEASE in place of
				  ICR1 and XTISODE defines
build/mkdep			- use compiler passed in, not always cc
				- remove system dependencies when gcc is used
build/platforms/attsvr4-cc/	- AT&T SVR4 support
build/platforms/irix-cc/	- SGI IRIX support
build/platforms/irix-gcc/	- SGI IRIX support

servers/ldapd/common.h		- add missing extern function declarations
servers/ldapd/association.c	- use ISODEPACKAGE test instead of ICR1, etc.
servers/ldapd/certificate.c	- add missing extern declaration
servers/ldapd/error.c 		- use ISODEPACKAGE test instead of ICR1, etc.
servers/ldapd/kerberos.c	- use ISODEPACKAGE test instead of ICR1, etc.
servers/ldapd/request.c		- use ISODEPACKAGE test instead of ICR1, etc.
servers/ldapd/main.c		- set proctitle to calling host (bug fix)
				- CLDAP: don't timeout/exit prematurely
servers/ldapd/proctitle.c	- don't compile file if NO_SETPROCTITLE is on
servers/ldapd/Make-template	- don't try to make depend if don't have isode
servers/ldap			- bug fixes, support ICR3

servers/slapd/tools/ldif.c	- use correct pointer when calling realloc
servers/slapd/tools/edb2ldif.c	- properly #ifdef code to handle potential
				  lack of file_attr_dir and turbo disk stuff
				- add RDN attribute values to entries
				- don't pre-pend './' to EDB files on cmd. line
servers/slapd/tools/ldapsyntax.c- use static buffer to speed things up
servers/slapd/tools/Make-template	- don't try to make depend some tools
					- if we don't have isode
servers/slapd			- fix acl handling
servers/slapd			- fix race condition setting o_dn
servers/slapd			- bug fixes

servers/slurpd			- complete re-write

tests/				- new - test scripts to verify basic
				  functionality of libraries, slapd, slurpd

----------------------------------------------------------------------------
Changes since 3.2b3

slapd admin guide		- document ldbmtest changes
				- clarify quick-start instructions

include/ldapconfig.h.dist	- move likely-to-change things to top

Make-common.dist		- add phonetic algorithm config lines
build/Make-append		- add def for phonetic algorithm config lines

libraries/libldbm/ldbm.c	- fix bug with gdbm cache size handling

libraries/liblber/encode.c	- cap lengths at 32-bits for Alpha compatibility

libraries/libldap/disptmpl.c	- recognize both "addact" and "adddnact"
libraries/libldap/getdn.c	- handle \ escapes in DNs better

clients/tools/ldapsearch.c	- added -S option to sort results
				- print results as they are received (if no -S)

servers/slapd/*			- added function prototypes
servers/slapd/phonetic.c	- make phonetic alg settable in Make-common
servers/slapd/tools/ldbmtest.c	- fix bugs, use dbcache routines (like slapd)
				- add 'b' and 'B' commands
servers/slapd/tools/edb2ldif.c	- include quipu/config.h & quipu/entry.h
				- this fixes TURBO_DISK problems
servers/ldapd/*			- misc. fixes for VMS and OSF/1
				- added function prototypes

----------------------------------------------------------------------------
Changes since 3.2b2

servers/slapd/*			- lots of changes/fixes/improvements
servers/slapd/tools/*		- add ldif program
				- add centipede program
				- numerous fixes/improvements

clients/tools/ldapmodify.c	- add -b option (read binary vals from a file)
				- add trailing \ feature for iattr, etc.
clients/tools/ldapsearch.c	- add -z sizelimit and -l timelimit options
				- add -B (allow non-ascii values_ option
				- change /tmp template used with -t

include/lber.h			- add LBER_MAX_INCOMING_SIZE option

libraries/liblber/io.c		- support LBER_MAX_INCOMING_SIZE option
				- new ber_init() and ber_reset() routines

libraries/libldap/*		- various improvements to LDAP_REFERRALS code
				- minor changes for Mac re-port

libraries/libldap/disptmpl.c	- "addact" is now "adddnact"
libraries/libldap/cache.c	- we now cache compare results that have error
					of LDAP_NO_SUCH_ATTRIBUTE
libraries/libldap/open.c	- support :port on ldap_open() hosts
libraries/libldap/charset.c	- new T.61 to ISO-8859 conversion support
				- thanks to enrique.silvestre@uv.es

libraries/libldap/kbind.c	- a few changes for MS Windows

libraries/msdos/winsock/*	- a few changes for Kerberos support

servers/ldapd/modify.c		- added support for JPEG non-file attrs.
				- added support for octetstring attrs.

servers/ldapd/syntax.c		- DN syntax fixes (OID. and replace {ASN} w/#)
				- don't escape '$' in DeliveryMethod attrs.
				- added support for JPEG non-file attrs.
				- added support for octetstring attrs.

----------------------------------------------------------------------------
Changes since 3.2b1

servers/slapd/			- add better database concurrency
				- remove multiple dn support
				- add stats logging
				- fix syslogging
				- add include config file option
				- add dbcachesize option
				- add abandon
				- add lastmod/creator attrs
				- add monitoring capability
				- normalize dns properly
				- base 64 value encoding support
				- add schema checking
				- fix various bugs
				- add srvtab config option
servers/slapd/tools		- whole new set of db creation/conversion tools

clients/finger/main.c		- added -c option & use of FINGER_RDNCOUNT
clients/gopher/go500.c		- added -c option & use of GO500_RDNCOUNT
clients/gopher/go500gw.c	- added -c option & use of GO500GW_RDNCOUNT
				- removed non-functional -s option
clients/rcpt500/main.c		- added -c option & use of RCPT500_RDNCOUNT
clients/rcpt500/query.c		- use rdncount instead of hard-coded 2

include/ldapconfig.h.edit	- added _RDNCOUNT #defines

libraries/libldap/tmplout.c	- made rdncount of 0 show all DN components

libraries/libldap/getdn.c	- added ldap_is_dns_dn() routine

libraries/libldap/*		- many #ifndef NO_REFERRALS changes
				- new ldap_init() routine

----------------------------------------------------------------------------
Changes since 3.1 final

General/various files		- incorporated changes for Borland C 3.1

Makefile			- added support for NeXTSTEP

libraries/liblber/io.c		- add ability to save ldap session to a file
include/lber.h			- add ability to save ldap session to a file


build/platforms/nextstep-cc/Make-platform
				- added -all_load option for ld
build/platforms/sunos5-cc/Make-platform
				- define SYSEXITSPATH as for sunos5-gcc

build/uname.sh			- new replacement uname for NeXTSTEP, etc.

clients/finger/main.c		- don't use fprintf for entry2text
clients/gopher/go500.c		- use GO500_HOSTNAME (bug fix)
				- don't use fprintf for entry2text
clients/gopher/go500gw.c	- use GO500GW_HOSTNAME (bug fix)
				- don't use fprintf for entry2text
clients/mail500/main.c		- improved error logging
				- fixed "errors-to is a group" bug
				- don't look in people space for groups
				- don't bounce loop messages back to sender
				- misc. fixes
clients/tools/ldapdelete.c	- add -c option to continue after errors occur
clients/tools/ldapmodify.c	- add -c option to continue after errors occur
clients/tools/ldapmodrdn.c	- add -c option to continue after errors occur
clients/tools/ldapsearch.c	- added -t option to write values to tmp files
				- added -A option for "attributes only"
clients/ud/print.c		- make sure ldap_count_values() returns > 0
				-   before trying to use returned values

doc/man/man1/ldapdelete.1	- updated to mention new -c option
doc/man/man1/ldapmodify.1	- updated to mention new -c option
doc/man/man1/ldapmodrdn.1	- updated to mention new -c option
doc/man/man1/ldapsearch.1	- updated to mention new -A & -t options
doc/man/man3/ldap_friendly.3	- fixed typo in ldap_free_friendlymap()
doc/man/man5/ldapfilter.conf.5	- add missing part of example config file

include/disptmpl.h		- appended 'L' to long #defined contants
				- added entry2html family of routines
include/lber.h			- added sb_options to allow copy to file
				- added ber_wptr to re-start partial writes
include/ldap.h			- added debug levels for sldapd
				- added LDAP_SYSLOG to send debug using syslog
include/ldapconfig.h.edit	- added GO500GW_HOSTNAME
include/ldapconfig.h.dist	- added GO500GW_HOSTNAME
include/portable.h		- select() macro fix for HP/UX /bin/cc
include/proto-lber.h		- Borland C fixes
				- added ber_bvdup() prototype
include/sysexits-compat.h	- new file, in case we ever need it

libraries/libavl/*		- new library; used in sldapd
libraries/liblber/decode.c	- new 'o' feature for ber_scanf()
				- new ber_bvdup() routine
				- Borland C fixes
libraries/liblber/encode.c	- Borland C fixes
libraries/liblber/io.c		- ensure that write size <= 64K under VMS
				- use ber_wptr to restart partial writes
				- added LBER_TO_FILE/FILE_ONLY option support
libraries/libldap/abandon.c	- use correct message id in abandon requests
libraries/libldap/cache.c	- use time() in a more portable manner
libraries/libldap/cldap.c	- retry correct number of times (off by one)
libraries/libldap/error.c	- define empty ldap_perror if NO_USERINTERFACE
libraries/libldap/getdn.c	- ldap_dn2ufn() now returns dn if no '='
				- ldap_explode_dn handles DNs without '='
libraries/libldap/open.c	- "host" can now be a space-separated list
libraries/libldap/sort.c	- make function declarations more portable
libraries/libldap/srchpref.c	- fixed memory leak in options parsing
libraries/libldap/test.c	- added -t & -T options for ber output to file
				- added 'E' command to explode a DN
libraries/libldap/tmplout.c	- added entry2html()
				- added entry2html_search()
				- added entry2vals()
				- remove extraneous ber_free when not using tmpl
				- fix non-ASCII core dump bugs
libraries/libldap/ldapfriendly	- added EE & RU
libraries/libldap/ldapfilter.conf
				- remove '\' inside [] in reg exprs.
				- add web500gw to filter tags
				- added xax500-auth section
libraries/libldap/ldapsearchprefs.conf
				- changed xax500 tags
libraries/libldap/ldaptemplates.conf
				- added co to Country template
				- add missing types & options to comments
				- add "Last Modified" attrs. to all templates
				- make "Last Modified" attrs. read-only
libraries/libldbm/*		- new library; used in sldapd
libraries/liblthread/*		- new library; used in sldapd
libraries/msdos/README.WSA	- updated to include Borland C instructions
libraries/vms/README.VMS	- fixed pathname typo

servers/ldapd/add.c		- make BER tags unsigned long everywhere
servers/ldapd/certificate.c	- make parsing consistent with printing code
servers/ldapd/main.c		- moved openlog() after detach() call
servers/ldapd/modify.c		- correct tag usage in ber_first/next loop
				- output all debugging to stderr
				- pass and use Sockbuf * in modify_result() call
servers/ldapd/result.c		- change to always use DER encoding
servers/ldapd/search.c		- change to always use DER encoding
servers/ldapd/syntax.c		- add support for telexNumber
servers/sldapd			- all new "standalone LDAP server"



----------------------------------------------------------------------------
Changes since 3.1b8

Make-common			- added note r.e. -DNO_USERINTERFACE
servers/ldapd/association.c	- don't include filio.h under AIX
build/platforms/aix-cc and -gcc	- add _BSD to defines
include/portable.h		- define OPENLOG_OPTIONS
clients/*/*.c			- use OPENLOG_OPTIONS
servers/ldapd/main.c		- use OPENLOG_OPTIONS
servers/ldapd/syntax.c		- add iattr support (from craig watkins)

----------------------------------------------------------------------------
Changes since 3.1b7

Many System V portability fixes....
A few fixes for VMS....

Makefile			- support Linux & NetBSD
Make-common			- add support for NEXOR version of isode
				- add ISODEBASELIBS

include/Make-template		- make ldapconfig.h depend on Makefile
include/ldapconfig.h.edit	- add RCPT500_LISTLIMIT, RCPT500_UFN
				- add GO500_TIMEOUT, GO500_UFN
				- add FINGER_UFN, FINGER_TIMEOUT,
				- add GO500GW_UFN
				- change *_DEREF to be LDAP_DEREF_FINDING
include/regex.h			- use NEED_BSDREGEX
include/portable.h		- SYSV changes & general re-vamping
include/disptmpl.h		- fix typo in ldap_name2template() prototype
				- add LDAP_SYN_RFC822ADDR

libraries/liblber/io.c		- make ber_alloc actually use BER

libraries/libldap/cldap.c	- preserve old log DN if NULL is passed
libraries/libldap/regex.c	- use NEED_BSDREGEX
libraries/libldap/disptmpl.c	- add support for LDAP_SYN_RFC822ADDR
libraries/libldap/tmplout.c	- add support for LDAP_SYN_RFC822ADDR
libraries/libldap/getfilter.c	- always #include "regex.h"

servers/ldapd/main.c		- don't check openlog return code
servers/ldapd/request.c		- only do syslog if dosyslog is set
servers/ldapd/syntax.c		- add support for user certificates (from ER)
servers/ldapd/certificate.c	- add support for user certificates (new file)

clients/finger/main.c		- add -t disptmplfile option
				- add -p port option
				- add ufn support

clients/gopher/go500.c		- add -t disptmplfile option
				- add ufn support

clients/gopher/go500gw.c	- add -t disptmplfile option
				- add ufn support

clients/mail500/main.c		- add -t disptmplfile option
				- add support for mail to -owner

clients/rcpt500/main.c,query.c	- add support for RCPT500_LISTLIMIT
				- support -p ldapport option
				- add ufn support

clients/tools/ldapsearch.c	- recognize -w option properly
clients/tools/ldapdelete.c	- recognize -k option properly
clients/tools/ldapmodrdn.c	- new program

clients/ud/edit.c		- use execlp() instead of execle()
clients/ud/main.c		- include sys/ioctl.h under NetBSD
clients/ud/print.c		- updated time2text() from libldap/tmplout.c

contrib/saucer			- new contributed client from Eric Rosenquist

build/platforms			- added netbsd-cc & netbsd-gcc
				- updated sunos5-cc and sunos5-gcc
				- added missing CC=gcc in hpux-gcc
				- added vms
build/Make-append		- change ISODELIBS

doc/man/man8/rcpt500.8		- new manual page
doc/man/man3/ldap.3		- add (3) to routine names in INDEX section
doc/man/man3/ldap_search.3	- remove reference to ldap_parse(3)
doc/man/man3/ldap_modrdn.3	- new manual page
doc/man/man3/ldap_modrdn.3.links- new links file
doc/man/man3/ldap_disptmpl.3	- re-word ldap_octemplate description
				- document LDAP_SYN_RFC822ADDR
doc/man/man5/ldap_searchprefs.5	- fix formatting
doc/man/man5/ldaptemplatesconf.5- document "mail" syntax type
doc/man/*			- use ETCDIR everywhere (was %ETCDIR%)



-------
ldap-3.1b7 CHANGES file - summary of major changes to each component
since the last release

source tree	- completely reorganized for your convenience
		- makes full use of ansi-style prototypes
		- supports non-ansi compilers through unproto utility

configuration	- all client configuration has been moved to ldapconfig.h.edit
		  (no need to edit multiple source code files)

build procedure	- completely revamped for your convenience
		- automaticly figures out your platform/compiler
		- supports multiple objects from a single source tree

liblbdap	- added support for display templates
		- added support for search preferences
		- added ldap_sort routines for sorting entries
		- rearranged some routines/source files to allow
		  better incremental linking to reduce code bloat
		- added support for CLDAP

liblber		- added O option to ber_scanf: allocate octet string w/length
		- big tags (greater than 31) now supported
		- distinguished encoding rules supported (runtime choice
		  between ber and der)

in.xfingerd	- now uses display template routines
		- now uses ldap sorting routines
		- editable configuration info moved to ldapconfig.h.edit

go500		- now uses display template routines
		- now uses ldap sorting routines
		- editable configuration info moved to ldapconfig.h.edit

go500gw		- now uses display template routines
		- now uses ldap sorting routines
		- editable configuration info moved to ldapconfig.h.edit

rcpt500		- now uses display template routines
		- now uses ldap sorting routines
		- editable configuration info moved to ldapconfig.h.edit

mail500		- addition of a new "vacation" feature
		- editable configuration info moved to ldapconfig.h.edit

ldap tools	- new addition of some shell-based tools

whois++ g/w	- moved to contrib/ directory

web500		- new addition, in contrib/ directory

ldapd		- lots of bug fixes
		- bring CLDAP code in line with latest Internet Draft

documentation	- library man pages have been completely re-done, split
		  into separate manuals, with new pages for each set of
		  routines.
		- new man pages for most client programs (more on the way)

windows ldap	- support for Win32 (unfinished?)
		- added VERSIONINFO resource to dll
		- check for > 64K response packet and don't crash

macintosh ldap	- support Apple's new Universal Header files
