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 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