"Fossies" - the Fresh Open Source Software Archive

Member "nss-pam-ldapd-0.9.12/NEWS" (20 Nov 2021, 89066 Bytes) of package /linux/privat/nss-pam-ldapd-0.9.12.tar.gz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "NEWS": 0.9.11_vs_0.9.12.

    1 changes from 0.9.11 to 0.9.12
    2 -----------------------------
    3 
    4 * allow explicitly configuring an empty search base (for LDAP servers
    5   that support that)
    6 * support LDAP attributes with minus characters in attribute mapping
    7   expressions
    8 * add tls_reqsan, tls_crlfile and tls_crlcheck options (thanks
    9   Sebastien Blavier)
   10 * support generating ldaps:// URIs from DNS SRV records for port 389 by
   11   using DNSLDAPS in the uri option
   12 * prefer the first URI listed in nslcd.conf after reconnecting after
   13   idle_timelimit
   14 * fix handling of pam_authc_ppolicy no
   15 * fix debug logging of ldap timeout values
   16 * documentation improvements (thanks Filip Dvorak and Benedict Reuschling)
   17 * add pam_authc_ppolicy support to pynslcd
   18 * fix Python 3 compatibility in chsh.ldap
   19 * fix for running pynslcd without the uid option
   20 * partial support for running tests with slapd 2.5 (thanks Ryan Tandy)
   21 * miscellaneous test suite improvements
   22 * test suite fixes for Solaris (this will be the last release that will be
   23   tested on Solaris)
   24 
   25 
   26 changes from 0.9.10 to 0.9.11
   27 -----------------------------
   28 
   29 * add support for Python 3 in pynslcd and utilities
   30 * fix crash in chsh.ldap (thanks Mizunashi Mana)
   31 * test suite improvements
   32 
   33 
   34 changes from 0.9.9 to 0.9.10
   35 ----------------------------
   36 
   37 * add FreeBSD netgroup support (thanks HWLin and Mango Yen)
   38 * make password expiry messages correct and consistent (thanks Têko Mihinto)
   39 * add domain variable for use in pam_authz_search
   40 * allow logging longer lines
   41 * create nslcd socket after dropping privileges to avoid slow start-ups
   42 
   43 
   44 changes from 0.9.8 to 0.9.9
   45 ---------------------------
   46 
   47 * support spaces in attribute mapping expressions
   48 * allow parsing longer lines in the configuration file
   49 * allow for longer host names
   50 
   51 
   52 changes from 0.9.7 to 0.9.8
   53 ---------------------------
   54 
   55 * add a pam_authc_search option that can be used to configure the search
   56   operation that is performed after authentication
   57 * add nss_uid_offset and nss_gid_offset options that can be used to
   58   change returned numeric user and group ids from LDAP (thanks Seth Wright)
   59 * do not retry failed user password on second LDAP server
   60 * fix a crash in the PAM module on FreeBSD when showing password expiration
   61   messages
   62 * the validnames option now also applies to shadow lookups
   63 * support ethernet addresses in LDAP in compact and long formats
   64 * improvements to getent.ldap command (a few minor bug fixes and preparations
   65   for Python 3 support)
   66 * log entries and lookups failing nss_min_uid at debug level
   67 * improvements to the test suite (including tests for getent.ldap)
   68 
   69 
   70 changes from 0.9.6 to 0.9.7
   71 ---------------------------
   72 
   73 * check existence of TLS certificate and key files on start-up
   74 * fix password policy expiration handling when password was about to expire
   75   (thanks Mathieu Baeumler for tracking this down)
   76 * fix updating of shadowLastChange attribute when chasing referrals
   77   (thanks Vasilis Tsiligiannis)
   78 * add an pam_authc_ppolicy option to allows completely disabling ppolicy
   79   handling (thanks Mathieu Baeumler)
   80 * fix handling of nss_disable_enumeration (thanks Andrew W Elble for pointing
   81   this out)
   82 * display human readable password expiry messages (thanks Mathieu Baeumler)
   83 * fix error when changing PAM user name (thanks 依云)
   84 * support substring expressions ${var:offset:length} in attribute mapping
   85   (thanks Giovanni Mascellani)
   86 * also honour the ignorecase option in PAM
   87 
   88 
   89 changes from 0.9.5 to 0.9.6
   90 ---------------------------
   91 
   92 * fix a race condition in signal handling during start-up that would cause
   93   nslcd to exit if a signal (such as SIGUSR1 that can be sent when network
   94   status changes) is received
   95 * fix signed integer overflow on 32bit systems when using objectSid (thanks
   96   Geoffrey McRae)
   97 * allow longer configuration values (thanks Jed Liu)
   98 * add an nss_getgrent_skipmembers option to disable retrieving group members
   99   to improve performance in specific environments
  100 * add an nss_disable_enumeration option to disable full listing of all users
  101   and groups to improve performance in specific environments (thanks Andrew
  102   Elble)
  103 * implement an innetgr function in the Solaris NSS module
  104 
  105 
  106 changes from 0.9.4 to 0.9.5
  107 ---------------------------
  108 
  109 * improve test suite (change IP range)
  110 * handle situation better when server (or firewall) closed the connection
  111   (thanks Tim Harder)
  112 * make daemonising a little more robust and try to log more failures
  113 * fix integer format strings (thanks Jianhai Luan and Patrick McLean)
  114 * documentation updates (thanks Dalibor Pospíšil)
  115 * fix range check for search access (thanks David Binderma)
  116 * fix a bug in the NSS library when encountering IPv6 addresses in
  117   the hosts map (thanks Mark R Bannister)
  118 * allow configuring the name of the NSS and PAM modules (--with-module-name)
  119 * adjust the Linux OOM (Out-Of-Memory) killer score to avoid killing nslcd
  120   (thanks Patrick McLean)
  121 * portability improvements (thanks Tim Rice)
  122 
  123 
  124 changes from 0.9.3 to 0.9.4
  125 ---------------------------
  126 
  127 * also handle password policy information on BIND failure (this makes it
  128   possible to distinguish between a wrong password and an expired password)
  129 * fix mapping the member attribute to an empty string
  130 * any buffers that may have held passwords are cleared before the memory is
  131   released
  132 * increase buffer size for passwords to support extremely long passwords
  133   (thanks ushi)
  134 * increase buffer size for DN to support very long names or names with
  135   non-ASCII characters
  136 * log an error in almost all places where a defined buffer is not large
  137   enough to hold the provided data instead of just (sometimes silently)
  138   failing
  139 * logging improvements (start-up problems, login failures)
  140 * small improvement for Solaris
  141 
  142 
  143 changes from 0.9.2 to 0.9.3
  144 ---------------------------
  145 
  146 * make the dn2uid cache lifetime configurable with the cache configuration
  147   option
  148 * have the nslcd process only exit after the service is completely available
  149   to avoid race conditions in the init script
  150 * the nslcd daemon now properly daemonises (double fork)
  151 * support mapping the member attribute to an empty string to disable the
  152   functionality to do extra lookups for member DN to member uid translations
  153 * implement deref control handling to request the LDAP server to dereference
  154   group member attribute values to uid values
  155 * support getting built-in groups from Active Directory (thanks Davy Defaud)
  156 * fix for pwdLastSet attribute value handling (thanks Joshua Shire)
  157 * fix a possible crash in the NSS module when retrieving large networks
  158   entries (thanks Lukas Slebodnik)
  159 * correct NSS h_errnop return value to indicate buffer too small (thanks
  160   Nalin Dahyabhai)
  161 * fix a bug with shadow values on 64-bit architectures
  162 * automatically detect DragonFly as using the FreeBSD NSS interface (thanks
  163   Francois Tigeot)
  164 * add a build-time test to see if krb5 is thread-safe
  165 * various minor bug fixes
  166 
  167 
  168 changes from 0.9.1 to 0.9.2
  169 ---------------------------
  170 
  171 * increase password value buffer size (by Bersl)
  172 * avoid more broken pipe errors by using a low timeout when aborting reading
  173   requested information from nslcd (thanks John Sullivan)
  174 * only log broken pipe errors in debugging mode
  175 * fix buffer overflow on interrupted read that is hard to trigger (thanks
  176   John Sullivan)
  177 * use clock_gettime() with CLOCK_MONOTONIC for timeout calculations to avoid
  178   clock adjustments errors (thanks John Sullivan)
  179 * extend test suite to test for CLOCK_MONOTONIC and timed IO timeout
  180   calculations
  181 * increase the maximum number of base statements per map to 31
  182 * use larger nslcd send buffers to reduce the number of write operations in
  183   nslcd and consequently the number of reads in the NSS and PAM modules
  184   (thanks John Sullivan)
  185 * also run invalidators after first successful search
  186 * various clean-ups, portability improvements and fixes for compiler warnings
  187 * import configure checks of Python modules
  188 * provide a script for setting up slapd in a test environment, automatically
  189   loaded with the required test data
  190 * add script for evaluating test environment availability
  191 * portability improvements in the test scripts and test environment
  192 
  193 
  194 changes from 0.9.0 to 0.9.1
  195 ---------------------------
  196 
  197 * rename the nscd_invalidate option to reconnect_invalidate and allow flushing
  198   the nfsidmap cache with the new option
  199 * implement an -n switch to not daemonise (by Caleb Callaway)
  200 * nslcd will now return partial shadow information to non-root users to avoid
  201   authorisation problems with setgid shadow authentication helpers with some
  202   PAM stacks
  203 * nslcd will now retry failing LDAP connections after receiving SIGUSR1
  204   (SIGUSR1 could be sent after re-establishing a network connection)
  205 * fix the way manual pages are installed in some situations
  206 * the code for the nslcd utilities (getent.ldap and chsh.ldap) is now
  207   installed in {prefix}/share/nslcd-utils
  208 * improve error and help output of the getent.ldap command
  209 * documentation updates
  210 * a number of tests were added and existing tests were extended
  211 * fix for a potential, small memory leak in PAM module regarding temporary
  212   saving of old password
  213 * a large number of bug fixes and improvements in pynslcd
  214 * hide passwords from the pynslcd debug output
  215 * support start_tls, pam_password_prohibit_message, nss_initgroups_ignoreusers
  216   and nss_min_uid in pynslcd
  217 * fix rootpwmodpw handling in pynslcd
  218 * complete a basic PAM implementation in pynslcd (some things such as shadow
  219   attribute checking remain to be implemented)
  220 * clean up the caching functionality in pynslcd (functionality is still
  221   disabled)
  222 
  223 
  224 changes from 0.8.12 to 0.9.0
  225 ----------------------------
  226 
  227 * backwards incompatible change to the communications protocol between nslcd
  228   and NSS and PAM modules to use network byte order to be able to work on
  229   mixed endian multiarch systems
  230 * netgroup lookups now makes a distinction between empty netgroups and
  231   non-existing netgroups
  232 * the PAM protocol is now more consistent (cleaner support for password
  233   modification by root, have all request parameters in the same order and
  234   limit the information returned from the call)
  235 * request and handle password policy controls on LDAP authentication
  236 * implement support for nested groups which can be enabled with the
  237   nss_nested_groups option (thanks Steve Hill)
  238 * add a log option to configure log level and logging to plain files
  239 * add an nscd_invalidate option to invalidate the nscd cache after recovering
  240   from LDAP connection problems (to clear any negative cache entries)
  241 * allow trimming expressions with ${foo#bar} syntax in attribute mapping
  242   expressions (thanks Thorsten Glaser)
  243 * pynslcd supports trimming expressions with full shell glob matching
  244 * support password modification in pynslcd
  245 * support children search scope for systems that have it
  246 * add a getent.ldap utility to perform nslcd queries bypassing the libc NSS
  247   stack
  248 * implement functionality for changing user information and provide a
  249   chsh.ldap utility to allow users to change their login shell
  250 * remove deprecated use_sasl, reconnect_tries, reconnect_maxsleeptime and
  251   tls_checkpeer options which have been replaced long ago
  252 * allow names with one character in default validnames option and allow
  253   parentheses (taken from Fedora packages)
  254 * fall back to updating the lastChange attribute with the normal LDAP
  255   connection
  256 * dump full nslcd configuration at debug level on start-up
  257 * export an _nss_ldap_version symbol in the NSS module to make finding version
  258   mismatches easier (the NSS module version is logged from nslcd)
  259 * documentation improvements
  260 * update the coding style for the C source code to follow a more modern and
  261   commonly used coding convention
  262 * some parts of the code were refactored or rewritten to take into account the
  263   changes within the software (e.g. configuration file handling, reduction in
  264   the number of system calls for normal communication)
  265 * numerous smaller fixes
  266 * portability and robustness improvements to the tests
  267 * implement lookup_netgroup and lookup_shadow test commands for systems that
  268   cannot use getent to query these
  269 * guess the value for --with-pam-seclib-dir configure option if it is not
  270   specified
  271 * temporary disable the caching functionality of pynslcd
  272 * usability improvements in the pynslcd implementation
  273 * various fixes for Solaris
  274 
  275 
  276 changes from 0.8.11 to 0.8.12
  277 -----------------------------
  278 
  279 * fix a problem with the sasl_canonicalize option that would cause errors
  280   on non-SASL enabled systems
  281 * ensure that the file descriptors in the NSS and PAM modules for connecting
  282   to nslcd are closed on exec of the process
  283 * allow attribute options in attribute mapping expressions
  284 * show reconnect messages when failing over to a different LDAP server or
  285   re-establishing the connection to an LDAP server (the message accidentally
  286   got hidden in 0.7.4)
  287 * fix a problem with the pw_class attribute in FreeBSD (fixes 0.8.11)
  288 * more fixes and improvements for Solaris (running under nscd may still give
  289   problems though)
  290 * small improvement to PAM error logging
  291 * provide a pynslcd manual if pynslcd is built
  292 
  293 
  294 changes from 0.8.10 to 0.8.11
  295 -----------------------------
  296 
  297 * add a pam_password_prohibit_message nslcd.conf option to deny password
  298   change (thanks to Ted Cheng)
  299 * add a sasl_canonicalize option to allow disabling of hostname
  300   canonicalisation in OpenLDAP
  301 * have the nslcd daemon load the nslcd user's supplementary groups to have
  302   more flexibility with assigning group permissions
  303 * fix logic error when falling back to getting ranged attribute values for
  304   possibly binary attributes (thanks scan-build)
  305 * fix a problem when storing negative hit to dn2uid cache (thanks scan-build)
  306 * use poll() instead of select() for checking file descriptor activity to also
  307   correctly work if more than FD_SETSIZE files are already open
  308 * small portability improvements
  309 * improve support for using Netscape LDAP libraries
  310 * improvements and fixes to the Solaris NSS code
  311 * grow all search filter buffers to 4096 bytes
  312 * some improvements to the pynslcd implementation
  313 * add an LDIF version of the ldapns.schema schema file
  314 
  315 
  316 changes from 0.8.9 to 0.8.10
  317 ----------------------------
  318 
  319 * documentation improvements
  320 * fix a problem that causes the PAM module to prompt for a new password
  321   even though the old one was wrong
  322 * log successful password change in nslcd
  323 * install default configuration file with reduced permissions (further
  324   protection for CVE-2009-1073)
  325 
  326 
  327 changes from 0.8.8 to 0.8.9
  328 ---------------------------
  329 
  330 * allow the pam_authz_search option to be specified multiple times
  331 * improvements to pynslcd adding support for pam_authz_search
  332 * implement extra range checking of all numeric values
  333 * make documentation up-to-date
  334 * compatibility improvements, especially for FreeBSD
  335 
  336 
  337 changes from 0.8.7 to 0.8.8
  338 ---------------------------
  339 
  340 * fix a regression in the handling of PAM requests
  341 * add the ldapns.schema file from pam_ldap to the tarball
  342 
  343 
  344 changes from 0.8.6 to 0.8.7
  345 ---------------------------
  346 
  347 * log the first 10 search results in debug mode to make debugging easier
  348   (patch by Matthijs Kooijman)
  349 * provide more detailed logging information for LDAP errors, this should
  350   especially help for TLS related problems (based on a patch by Mel Flynn)
  351 * fix logging of invalid pam_authz_search value
  352 * when doing DNS queries for SRV records recognise default ldap and ldaps
  353   ports
  354 * make whether or not to do case-sensitive filtering configurable (patch by
  355   Matthew L. Dailey)
  356 * document the fact that each thread opens its own connection (patch by
  357   Chris Hiestand)
  358 * some small portability improvements
  359 * try to prevent some of the Broken pipe messages in nslcd
  360 * increase buffer used for pam_authz_search as suggested by Chris J Arges
  361 * pynslcd now handles privileged requests correctly
  362 * pynslcd now supports attribute mapping using the lower() and upper()
  363   functions
  364 
  365 
  366 changes from 0.8.5 to 0.8.6
  367 ---------------------------
  368 
  369 * a number of code improvements by Jakub Hrozek
  370 * fixes for FreeBSD (thanks Maxim Vetrov)
  371 * include missing pynslcd files from tarball
  372 * improvements to the pynslcd implementation
  373 * implement an offline cache in pynslcd
  374 * the Debian packaging was split from the main source tree
  375 
  376 
  377 changes from 0.8.4 to 0.8.5
  378 ---------------------------
  379 
  380 * support larger gecos values
  381 * reduce loglevel of user not found messages to avoid spamming the logs
  382   with useless information (thanks Wakko Warner)
  383 * other logging improvements
  384 * explicitly parse numbers as base 10 (thanks Jakub Hrozek)
  385 * implement FreeBSD group membership NSS function (thanks Tom Judge)
  386 * fix an issue with detecting the uid of the calling process and log
  387   denied shadow requests in debug mode
  388 * fix a typo in the disconnect logic code (thanks Martin Poole)
  389 * implement configuration file handling in pynslcd and other pynslcd
  390   improvements
  391 * Debian packaging improvements
  392 
  393 
  394 changes from 0.8.3 to 0.8.4
  395 ---------------------------
  396 
  397 * switch to using the member attribute by default instead of
  398   uniqueMember (backwards incompatible change)
  399 * only return "x" as a password hash when the object has the shadowAccount
  400   objectClass and nsswitch.conf is configured to do shadow lookups using
  401   LDAP (this avoids some problems with pam_unix)
  402 * fix problem with partial attribute name matches in DN (thanks Timothy
  403   White)
  404 * fix a problem with objectSid mappings with recent versions of OpenLDAP
  405   (patch by Wesley Mason)
  406 * set the socket timeout in a connection callback to avoid timeout
  407   issues during the SSL handshake (patch by Stefan Völkel)
  408 * check for unknown variables in pam_authz_search
  409 * only check password expiration when authenticating, only check account
  410   expiration when doing authorisation
  411 * make buffer sizes consistent and grow all buffers holding string
  412   representations of numbers to be able to hold 64-bit numbers
  413 * update AX_PTHREAD from autoconf-archive
  414 * support querying DNS SRV records from a different domain than the current
  415   one (based on a patch by James M. Leddy)
  416 * fix a problem with uninitialised memory while parsing the tls_ciphers
  417   option
  418 * implement bounds checking of numeric values read from LDAP (patch by
  419   Jakub Hrozek)
  420 * correctly support large uid and gid values from LDAP (patch by Jakub
  421   Hrozek)
  422 * improvements to the configure script (patch by Jakub Hrozek)
  423 * Debian packaging improvements
  424 
  425 
  426 changes from 0.8.2 to 0.8.3
  427 ---------------------------
  428 
  429 * support using the objectSid attribute to provide numeric user and group
  430   ids, based on a patch by Wesley Mason
  431 * check shadow account and password expiry properties (similarly to what
  432   pam_unix does) in the PAM handling code
  433 * implement attribute mapping functionality in pynslcd
  434 * relax default for validnames option to allow user names of only two
  435   characters
  436 * make user and group name validation errors a little more informative
  437 * small portability improvements
  438 * general code improvements and refactoring in pynslcd
  439 * some simplifications in the protocol between the PAM module and nslcd
  440   (without actual protocol changes so far)
  441 * Debian packaging improvements
  442 
  443 
  444 changes from 0.8.1 to 0.8.2
  445 ---------------------------
  446 
  447 * fix problem with endless loop on incorrect password
  448 * fix a communication problem between nslcd and the NSS and PAM modules when
  449   running on Solaris 10
  450 * fix a compilation issue on systems without HOST_NAME_MAX
  451 * link to the resolv library for hstrerror() on platforms that need it
  452 * ignore password change requests for users not in LDAP
  453 * many clean-ups to the tests and added some new tests including some
  454   integration tests for the PAM functionality
  455 * some smaller code clean-ups and improvements
  456 * improvements to pynslcd, including implementations for service, protocol and
  457   rpc lookups
  458 * implement a validnames option that can be used to filter valid user and
  459   group names using a regular expression
  460 * improvements to the way nslcd shuts down with hanging worker threads
  461 
  462 
  463 changes from 0.8.0 to 0.8.1
  464 ---------------------------
  465 
  466 * SECURITY FIX: the PAM module will allow authentication for users that do not
  467                 exist in LDAP, this allows login to local users with an
  468                 incorrect password (CVE-2011-0438)
  469                 the exploitability of the problem depends on the details of
  470                 the PAM stack and the use of the minimum_uid PAM option
  471 * include a file that was missing for Solaris support
  472 * add FreeBSD support, partially imported from the FreeBSD port (thanks to
  473   Jacques Vidrine, Artem Kazakov and Alexander V. Chernikov)
  474 * document how to replace name pam_check_service_attr and pam_check_host_attr
  475   options in PADL's pam_ldap with with pam_authz_search in nss-pam-ldapd
  476 * implement a fqdn variable that can be used in pam_authz_search filters
  477 * create the directory to hold the socket and pidfile on startup
  478 * implement host, network and netgroup support in pynslcd
  479 
  480 
  481 changes from 0.7.13 to 0.8.0
  482 ----------------------------
  483 
  484 * include Solaris support developed by Ted C. Cheng of Symas Corporation
  485 * include an experimental partial implementation of nslcd in Python (disabled
  486   by default, see --enable-pynslcd configure option)
  487 * implement a nss_min_uid option to filter user entries returned by LDAP
  488 * implement a rootpwmodpw option that allows the root user to change a user's
  489   password without a password prompt
  490 * try to update the shadowLastChange attribute on password change
  491 * all log messages now include a description of the request to more easily
  492   track problems when not running in debug mode
  493 * allow attribute mapping expressions for the userPassword attribute for
  494   passwd, group and shadow entries and by default map it to the unmatchable
  495   password ("*") to avoid accidentally leaking password information
  496 * numerous compatibility improvements
  497 * add --with-pam-seclib-dir and --with-pam-ldap-soname configure options to
  498   allow more control of hot to install the PAM module
  499 * add --with-nss-flavour and --with-nss-maps configure options to support
  500   other C libraries and limit which NSS modules to install
  501 * allow tilde (~) in user and group names
  502 * improvements to the timeout mechanism (connections are now actively timed
  503   out using the idle_timelimit option)
  504 * set socket timeouts on the LDAP connection to disconnect regardless of LDAP
  505   and possibly TLS handling of connection
  506 * better disconnect/reconnect handling of error conditions
  507 * some code improvements and cleanups and several smaller bug fixes
  508 * all internal string comparisons are now also case sensitive (e.g. for
  509   providing DN to username lookups, etc)
  510 * signal handling in the daemon was changed to behave more reliable across
  511   different threading implementations
  512 * nslcd will now always return a positive authorisation result during
  513   authentication to avoid confusing the PAM module when it is only used for
  514   authorisation
  515 * Debian packaging improvement: implement configuring SASL authentication
  516   using Debconf, based on a patch by Daniel Dehennin
  517 
  518 
  519 changes from 0.7.12 to 0.7.13
  520 -----------------------------
  521 
  522 * fix handling of idle_timelimit option
  523 * fix error code for problem while doing password modification
  524 
  525 
  526 changes from 0.7.11 to 0.7.12
  527 -----------------------------
  528 
  529 * set a short socket timeout when shutting down the connection to the LDAP
  530   server to avoid disconnect problems when using TLS
  531 
  532 
  533 changes from 0.7.10 to 0.7.11
  534 -----------------------------
  535 
  536 * grow the buffer for the PAM ruser to not reject logins for users with
  537   a ruser including a domain part
  538 * Debian packaging improvements
  539 
  540 
  541 changes from 0.7.9 to 0.7.10
  542 ----------------------------
  543 
  544 * handle errors from ldap_result() better and disconnect (and reconnect)
  545   in more cases
  546 
  547 
  548 changes from 0.7.8 to 0.7.9
  549 ---------------------------
  550 
  551 * fix for --with-nss-ldap-soname configure option by Julien Cristau
  552 * Debian packaging improvements
  553 
  554 
  555 changes from 0.7.7 to 0.7.8
  556 ---------------------------
  557 
  558 * minor portability improvements and clean-ups (thanks Alexander V.
  559   Chernikov and Ted C. Cheng)
  560 * don't expand variables in rest of ${var:-rest} and ${var:+rest}
  561   expressions if it is not needed
  562 * Debian packaging improvements
  563 
  564 
  565 changes from 0.7.6 to 0.7.7
  566 ---------------------------
  567 
  568 * refactoring and simplification of PAM module which also improves logging
  569 * implement a nullok PAM option and disable empty passwords by default
  570 * portability improvements and other minor code improvements
  571 * the mechanism to disable name lookups through LDAP from within the nslcd
  572   process has been improved
  573 * the undocumented use_sasl option has been removed (specifying sasl_mech now
  574   implies use_sasl)
  575 * the sasl_mech, sasl_realm, sasl_authcid, sasl_authzid and sasl_secprops
  576   configuration options are now documented
  577 * Debian packaging improvements
  578 
  579 
  580 changes from 0.7.5 to 0.7.6
  581 ---------------------------
  582 
  583 * fix a problem with empty attributes if expression-based attribute
  584   mapping is used (patch by Nalin Dahyabhai)
  585 * make debug logging for pam_authz_search option a little more informative
  586 * documentation improvements
  587 * Debian packaging improvements
  588 
  589 
  590 changes from 0.7.4 to 0.7.5
  591 ---------------------------
  592 
  593 * fix a problem in the session handling of the PAM module if the minimum_uid
  594   option was used
  595 * refactor the PAM module code to be simpler and better maintainable
  596 * perform logging from PAM module to syslog and support the debug option to
  597   log more information
  598 
  599 
  600 changes from 0.7.3 to 0.7.4
  601 ---------------------------
  602 
  603 * fix a buffer overflow that should have no security consequences
  604 * perform proper fail-over when authenticating in the PAM module
  605 * add an nss_initgroups_ignoreusers option to ignore user name to group
  606   lookups for the specified users
  607 * add an pam_authz_search option to perform a flexible authorisation check on
  608   login (e.g. to restrict which users can login to which hosts, etc)
  609 * implement a minimum_uid option for the PAM module to ignore users that have
  610   a lower numeric user id
  611 * change the way retries are done to error out quicker if the LDAP server is
  612   down for some time (this should make the system more responsive when the
  613   LDAP server is unavailable) and rename the reconnect_maxsleeptime option to
  614   reconnect_retrytime to better describe the behaviour
  615 * only log "connected to LDAP server" if the previous connection failed
  616 * documentation improvements
  617 
  618 
  619 changes from 0.7.2 to 0.7.3
  620 ---------------------------
  621 
  622 * allow password modification by root using the rootpwmoddn configuration file
  623   option (the user will be prompted for the password for rootpwmoddn instead
  624   of the user's password)
  625 * the LDAP password modify EXOP is first tried without the old password and if
  626   that fails retried with the old password
  627 * when determining the domain name (used for some value of the base and uri
  628   options) also try to use the hostname aliases to build the domain name
  629   (patch by Jan Schampera)
  630 * perform locking on the pidfile on start-up to ensure that  only one nslcd
  631   process is running and implement a --check option (patch by Jan Schampera)
  632 * documentation improvements
  633 
  634 
  635 changes from 0.7.1 to 0.7.2
  636 ---------------------------
  637 
  638 * some attributes may be mapped to a shell-like expression that expand
  639   attributes from LDAP entries; this allows attributes overrides, defaults and
  640   much more (as a result the passwd cn attribute mapping has been removed
  641   because the gecos mapping is now "${gecos:-$cn}" by default)
  642 * update the NSS module to follow the change in Glibc where the addr
  643   parameter of getnetbyaddr_r() was changed from network-byte-order to
  644   host-byte-order
  645 * properly escape searches for uniqueMember attributes for DN with a comma in
  646   an attribute value
  647 * miscellaneous improvements to the configure script implementing better (and
  648   simpler) library detection
  649 * some general refactoring and other miscellaneous improvements
  650 
  651 
  652 changes from 0.7.0 to 0.7.1
  653 ---------------------------
  654 
  655 * implement password changing by performing an LDAP password modify EXOP
  656   request
  657 * fix return of authorisation check in PAM module (patch by Howard Chu)
  658 * fix for problem when authenticating to LDAP entries without a uid attribute
  659   in the DN
  660 * general code clean-up and portability improvements
  661 * provide more information with communication error messages
  662 
  663 
  664 changes from 0.6.11 to 0.7.0
  665 ----------------------------
  666 
  667 * rename software to nss-pam-ldapd to indicate that PAM module is now a
  668   standard part of the software
  669 * the PAM module is now built by default (the configure script can be
  670   instructed whether or not to build certain parts)
  671 * the default configuration file name has been changed to /etc/nslcd.conf
  672 * the default values for bind_timelimit and reconnect_maxsleeptime were
  673   lowered from 30 to 10 seconds
  674 * password hashes are no longer returned to non-root users (based on a patch
  675   by Alexander V. Chernikov)
  676 * a pam_ldap(8) manual page was added
  677 * unknown options in the configuration file can now be ignored with a new
  678   --disable-configfile-checking configure option
  679 
  680 
  681 changes from 0.6.10 to 0.6.11
  682 -----------------------------
  683 
  684 * fix user name to groups mapping (a bug in buffer checking in initgroups()
  685   that was introduced in 0.6.9)
  686 * fix a possible buffer overflow with too many uidNumber or gidNumber
  687   attributes (thanks to David Binderman for finding this)
  688 * lookups for group, netgroup, passwd, protocols, rpc, services and shadow
  689   maps are now case-sensitive
  690 * test suite is now minimally documented
  691 * added --disable-sasl and --disable-kerberos configure options
  692 * changed references to home page and contact email addresses to use
  693   arthurdejong.org
  694 * Debian packaging improvements
  695 
  696 
  697 changes from 0.6.9 to 0.6.10
  698 ----------------------------
  699 
  700 * implement searching through multiple search bases, based on a patch by Leigh
  701   Wedding
  702 * fix a segmentation fault that could occur when using any of the tls_*
  703   options with a string parameter
  704 * miscellaneous improvements to the experimental PAM module
  705 * implement PAM authentication function in the nslcd daemon
  706 * the code for reading and writing protocol entries between the NSS module and
  707   the daemon was improved
  708 * documentation updates
  709 * removed SSL/TLS related warnings during startup
  710 * Debian packaging improvements
  711 
  712 
  713 changes from 0.6.8 to 0.6.9
  714 ---------------------------
  715 
  716 * produce more detailed logging in debug mode and allow multiple -d options to
  717   be specified to also include logging from the LDAP library
  718 * some LDAP configuration options are now initialized globally instead of per
  719   connection which should fix problems with the tls_reqcert option
  720 * documentation improvements for the NSLCD protocol used between the NSS
  721   module and the nslcd server
  722 * imported the new PAM module from the OpenLDAP nssov tree by Howard Chu (note
  723   that the PAM-related NSLCD protocol is not yet finalised and this module is
  724   not built by default)
  725 * in configure script allow disabling of building certain components
  726 * fix a bug with writing alternate service names and add checks for
  727   validity of passed buffer in NSS module
  728 * Debian packaging improvements
  729 
  730 
  731 changes from 0.6.7 to 0.6.8
  732 ---------------------------
  733 
  734 * SECURITY FIX: the nss-ldapd.conf file that is installed by the Debian
  735                 package was created world-readable which could cause problems
  736                 if the bindpw option is used (CVE-2009-1073)
  737                 this has been fixed in the Debian package but other users
  738                 should check the permissions of the nss-ldapd.conf file when
  739                 the bindpw option is used (warnings have been added to the
  740                 manual page and sample nss-ldapd.conf)
  741 * clean the environment and set LDAPNOINIT to disable parsing of LDAP
  742   configuration files (.ldaprc, /etc/ldap/ldap.conf, etc)
  743 * remove sslpath option because it wasn't used
  744 * correctly set SSL/TLS options when using StartTLS
  745 * rename the tls_checkpeer option to tls_reqcert, deprecating the old name and
  746   supporting all values that OpenLDAP supports
  747 * allow backslashes in user and group names except as first or last character
  748 * check user and group names against LOGIN_NAME_MAX if it is defined
  749 * fix for getpeercred() on Solaris by David Bartley
  750 * Debian packaging improvements
  751 
  752 
  753 changes form 0.6.6 to 0.6.7
  754 ---------------------------
  755 
  756 * a fix for a problem in the Debian packaging that would cause user-configured
  757   options be ignored
  758 
  759 
  760 changes form 0.6.5 to 0.6.6
  761 ---------------------------
  762 
  763 * Debian packaging improvements
  764 * allow spaces in user and group names because it was causing problems in
  765   some environments
  766 * if ldap_set_option() fails log the option name instead of number
  767 * retry connecting to LDAP server in more cases
  768 
  769 
  770 changes form 0.6.4 to 0.6.5
  771 ---------------------------
  772 
  773 * Debian package configuration translation updates
  774 
  775 
  776 changes form 0.6.3 to 0.6.4
  777 ---------------------------
  778 
  779 * fix for the tls_checkpeer option
  780 * fix incorrect test for ssl option in combination with ldaps:// URIs
  781 * improvements to Active Directory sample configuration
  782 * implement looking up search base in rootDSE of LDAP server
  783 
  784 
  785 changes form 0.6.2 to 0.6.3
  786 ---------------------------
  787 
  788 * retry connection and search if getting results failed with connection
  789   problems (some errors only occur when getting the results, not when starting
  790   the search)
  791 * add support for groups with up to around 150000 members (assuming user names
  792   on average are a little under 10 characters)
  793 * problem with possible SIGPIPE race condition was fixed by using send()
  794   instead of write()
  795 * add uid and gid configuration keywords that set the user and group of the
  796   nslcd daemon
  797 * add some documentation on supported group to member mappings
  798 * add sanity checking to code for when clock moves backward
  799 * log messages now include a session id that makes it easier to track errors
  800   to requests (especially useful in debugging mode)
  801 * miscellaneous portability improvements
  802 * increase buffers and time-outs to handle large lookups more gracefully
  803 * implement SASL authentication based on a patch by Dan White
  804 * allow more characters in user and group names
  805 
  806 
  807 changes form 0.6.1 to 0.6.2
  808 ---------------------------
  809 
  810 * all user and group names are now checked for validity are specified in the
  811   POSIX Portable Filename Character Set
  812 * support retrieval of ranged attribute values as sometimes returned by Active
  813   Directory
  814 * added the threads keyword to configure the number of threads that should be
  815   started in nslcd
  816 * handle empty netgroups properly
  817 * change the time-out and retry mechanism for connecting to the LDAP server to
  818   return an error quickly if the LDAP server is known to be unavailable for a
  819   long time (this removed the reconnect_tries option and changes the meaning
  820   of the reconnect_sleeptime and reconnect_maxsleeptime options)
  821 * increased the time-out values between the NSS module and nslcd because of
  822   new retry mechanism
  823 * implement new dict and set modules that use a hashtable to map keys
  824   efficiently
  825 * use the new set to store group membership to simplify memory management and
  826   eliminate duplicate members
  827 * the uniqueMember attribute now only supports DN values
  828 * implement a cache for DN to user name lookups (15 minute timeout) used for
  829   the uniqueMember attribute to save on doing LDAP searches for groups with a
  830   lot of members, based on a patch by Petter Reinholdtsen
  831 * improvements to the tests
  832 * if any of the ldap calls return LDAP_UNAVAILABLE or LDAP_SERVER_DOWN the
  833   connection is closed
  834 * improve dependencies in LSB init script header to improve dependency based
  835   booting
  836 
  837 
  838 changes from 0.6 to 0.6.1
  839 -------------------------
  840 
  841 * numerous small fixes and compatibility improvements
  842 * the I/O buffers between nslcd and NSS module are now dynamically sized and
  843   tuned for common requests
  844 * correctly follow referrals
  845 * add StartTLS support by Ralf Haferkamp of SuSE
  846 * miscellaneous documentation improvements
  847 * remove code for handling rootbinddn/pw because it is unlikely to be
  848   supported any time soon
  849 * fix a problem with realloc()ed memory that was not referenced
  850 * fix for a crash in group membership buffer growing code thanks to Petter
  851   Reinholdtsen
  852 * some improvements to the Active Directory sample configuration
  853 * fix init script exit code with stop while not running
  854 * fixes to the _nss_ldap_initgroups_dyn() function to properly handle the
  855   buffer and limits passed by Glibc
  856 * fixes to the member to groups search functions to correctly handle
  857   uniqueMember attributes
  858 * only return shadow entries to root users
  859 * miscellaneous Debian packaging improvements
  860 
  861 
  862 changes from 0.5 to 0.6
  863 -----------------------
  864 
  865 * fix parsing of map option in nss-ldapd.conf
  866 * fix bug in handling of userPassword values
  867 * remove warning about missing loginShell attribute
  868 * support the uniqueMember LDAP attribute that holds DN values
  869 * support ldap as a compat service in /etc/nsswitch.conf
  870 * implement _nss_ldap_initgroups_dyn() to allow username->groups searches
  871 * fix retry mechanism with get*ent() functions where a too small buffer was
  872   passed by libc (to support groups with a lot of members)
  873 * fix a bug in reporting of communications problems between nslcd and the NSS
  874   library
  875 * test and log failures of all LDAP library calls
  876 * improved tests
  877 * miscellaneous compatibility improvements to try to support more LDAP
  878   libraries and platforms
  879 * support compilation with OpenLDAP 2.4 and newer
  880 * some configure script improvements
  881 * Debian packaging improvements
  882 
  883 
  884 changes from 0.4.1 to 0.5
  885 -------------------------
  886 
  887 * major structural changes in the LDAP lookup code using a newly implemented
  888   module that does memory management, session handling, paging and all other
  889   painful things with a simple interface
  890 * rewritten LDAP query and result handling code, now generating warnings
  891   about incorrect entries in the LDAP directory
  892 * IPv6 addresses in host lookups are now supported
  893 * added Kerberos ccname support (with the krb5_ccname option) thanks to
  894   Andreas Schneider and Ralf Haferkamp from SuSE and remove --with-gssapi-dir,
  895   --enable-configurable-krb5-ccname-gssapi and
  896   --enable-configurable-krb5-ccname-env configure options and having automatic
  897   detection instead
  898 * added support for DNS SRV record lookups by specifying DNS as uri thanks to
  899   Ralf Haferkamp and Michael Calmer from SuSE
  900 * added support for DOMAIN as base DN which uses the host's domain to
  901   construct a DN
  902 * removed nss_connect_policy, bind_policy and sizelimit options
  903 * cleaned up and documented reconnect logic with reconnect_tries,
  904   reconnect_sleeptime and reconnect_maxsleeptime options
  905 * configuration values with spaces in them (e.g. distinguished names) are now
  906   handled properly
  907 * fix a small memory leak in the I/O module
  908 * miscellaneous code improvements (better source code comments, more
  909   consistent logging, portability improvements, more tests, etc)
  910 * improvements to documentation
  911 
  912 
  913 changes from 0.4 to 0.4.1
  914 -------------------------
  915 
  916 * added French debconf translation by Cyril Brulebois
  917 * added Japanese debconf translation by Kenshi Muto
  918 * fix a problem with network name lookups where the lookup would result
  919   in the wrong call to nslcd
  920 * fix wrong default filter for rpc lookups
  921 * fix a number of memory leaks (thanks valgrind)
  922   (all memory leaks during normal operation should be fixed now)
  923 
  924 
  925 changes from 0.3 to 0.4
  926 -----------------------
  927 
  928 * remove nss_schema configfile option
  929 * temporary remove support for uniqueMember group membership attributes (will
  930   be re-added in a later release)
  931 * removed support for nested groups, if this is really needed (please ask or
  932   file a bug if you want it) it can be re-added later on
  933 * added missing docbook sources for manual pages to tarball
  934 * major cleanups and simplifications in the core LDAP query code (we don't
  935   need to worry about SIGPIPE because nslcd does that globally, locking
  936   because a connection is only used by one thread) and more simplifications in
  937   the the LDAP connection and query state
  938 * get base, scope, filter and map configfile directives properly working
  939 * simplifications in LDAP reconnect logic (some work remains to be done in
  940   this area)
  941 * issue warnings or errors for untested or unsupported configuration options
  942 * properly handle multiple URIs in Debian configuration
  943 * documentation improvements
  944 
  945 
  946 changes from 0.2.1 to 0.3
  947 -------------------------
  948 
  949 * a bug in the communication buffer handling code was fixed
  950 * a bug in the dictionary code was fixed (code not yet in use)
  951 * a fix for the init script that used a wrong pidfile
  952 * configuration file handling code was rewritten to be better maintainable
  953 * some configuration file options have changed which means that compatibility
  954   with the nss_ldap configuration file is lost
  955 * configuration syntax is now documented in the nss-ldapd.conf(5) manual page
  956 * support for dnsconfig was removed
  957 * the configuration file no longer supports using multiple search bases
  958 * removed nss_initgroups and nss_initgroups_ignoreusers options
  959 * removed --enable-paged-results configure option and use pagesize
  960   configuration file option to specify usage of paging at runtime
  961 * added Portuguese debconf translation by Américo Monteiro
  962 * Debian package configuration improvements and simplifications
  963 * use docbook2x-man for generating manual pages
  964 * miscellaneous documentation improvements including improved manual pages
  965 * general code reorganisation and clean-ups to achieve another 9% code
  966   reduction relative to 0.2.1 release (more than 40% relative to nss_ldap)
  967 * SASL, Kerberos and SSL/TLS support remain untested
  968 
  969 
  970 changes from 0.2 to 0.2.1
  971 -------------------------
  972 
  973 * fix permissions of server socket (this fixes a problem where non-root users
  974   were unable to do lookups)
  975 * fix configure script to properly check for pthread support
  976 * small code improvements
  977 * general build system cleanups
  978 
  979 
  980 changes from 0.1 to 0.2
  981 -----------------------
  982 
  983 * fixes to the netgroup lookup code
  984 * more simplifications and improvements in the code almost 5% code reduction
  985   (compared to release 0.1) and 37% reduction in gcc warnings (from 443 in 251
  986   to 389 in 0.1 and 244 in 0.2)
  987 * a lot of code improvements thanks to flawfinder, more gcc warnings, splint
  988   and rats
  989 * license change from GNU Library General Public License to GNU Lesser General
  990   Public License (with the permission of Luke Howard)
  991 * fix logging code to be cleaner and always use our own logging module
  992 * a start has been made to make the code more testable and initial work to set
  993   up a testing framework has been done
  994 * implemented a timeout mechanism in the communication between the NSS part
  995   and the nslcd server part
  996 
  997 
  998 changes from nss_ldap 251 to nss-ldapd 0.1
  999 ------------------------------------------
 1000 
 1001 * initial release of nss-ldapd (should be functional but not yet stable enough
 1002   for production use)
 1003 * fork from the nss_ldap which was originally written by Luke Howard of PADL
 1004   Software Pty Ltd. changing package name to nss-ldapd and versioning scheme
 1005 * the functionality was split into a thin NSS library and a simple daemon
 1006   proxying the requests to the LDAP server (see README for rationale)
 1007 * a lot of dead and old compatibility code was removed (about 25% of the code
 1008   was removed) (more simplifications to come)
 1009 * the test code was rewritten
 1010 * build script simplifications
 1011 * default configuration file has been changed to /etc/nss-ldapd.conf
 1012 * most documentation has been updated and rewritten
 1013 * dropped support for non-glibc NSS interfaces and assumed OpenLDAP compatible
 1014   library
 1015 
 1016 
 1017 changes from 250 to 251
 1018 -----------------------
 1019 
 1020 * remove doc/rfc2307.txt, it is available from
 1021   http://www.ietf.org/rfc/rfc2307.txt
 1022 * make objectClass a mappable attribute
 1023 
 1024 
 1025 changes from 249 to 250
 1026 -----------------------
 1027 
 1028 * don't use static _nss_ldap_no_members buffer, causes crash when nss_ldap is
 1029   unloaded and memory is still referenced
 1030 * fix for BUG#249: tcsh closes file descriptors, confuses nss_ldap and hangs
 1031   (from David Houlder)
 1032 * fix for BUG#257: initgroups() broken in RFC2307bis support disabled
 1033 * fix for BUG#261: sslpath example wrong
 1034 * fix for BUG#263: compile do_triple_permutations() when IRS enabled
 1035 
 1036 
 1037 changes from 248 to 249
 1038 -----------------------
 1039 
 1040 * fix for BUG#253: build broken on AIX
 1041 * fix for BUG#255: deadlock in initgroups
 1042 
 1043 
 1044 changes from 247 to 248
 1045 -----------------------
 1046 
 1047 * fix regression in per-objectclass attribute mapping introduced in
 1048   nss_ldap-246
 1049 
 1050 
 1051 changes from 246 to 247
 1052 -----------------------
 1053 
 1054 * double-check *ld != NULL even if mapped eror return from ldap_initialize()
 1055   returns NSS_SUCCESS
 1056 
 1057 
 1058 changes from 245 to 246
 1059 -----------------------
 1060 
 1061 * paged results and RFC2307bis support are now always compiled in; they are by
 1062   default disabled unless you configured with --enable-paged-results and
 1063   --enable-rfc2307bis, respectively. See nss_ldap(5) for configuration
 1064   options.
 1065 * fix for BUG#219: paged results delivers wrong results
 1066 * fix for BUG#222: use asynchronous start TLS if available, using bind_timeout
 1067   value
 1068 * fix for BUG#235: make DNS SRV lookup domain configurable (nss_srv_domain)
 1069 * fix for BUG#240: return "*" rather than "x" for userPassword if not present
 1070 * fix for BUG#245: paged results broken since nss_ldap-241
 1071 * patch from Ralf Haferkamp <rhafer@suse.de>: compile fix for IPv6
 1072 * compile for Solaris
 1073 * schema mapping is always enabled, cleanup schema mapping code
 1074 * allow for map-specific objectclass mapping
 1075 * partial implementation of Solaris Simplified LDAP API, allows automountd
 1076   support on Solaris via nss_ldap
 1077 * for Linux automounter, always close connection after endautomntent() to
 1078   avoid persistent connection
 1079 * add nss_connect_policy argument to ldap.conf
 1080 
 1081 
 1082 changes from 244 to 245
 1083 -----------------------
 1084 
 1085 * don't leak LDAP connection if do_bind() failed or descriptor owner had
 1086   changed. If do_bind() failed the underlying descriptor would also be leaked,
 1087   causing a large number of sockets to be consumed during failover
 1088 * add nss_initgroups_ignoreusers parameter to ldap.conf, returns NOTFOUND if
 1089   nss_ldap's initgroups() is called for users (comma separated)
 1090 * try to deal with systems that have headers for both versions of the SASL
 1091   library installed
 1092 * better logging of failed connections and reconnections
 1093 * patch from Dean Michaels <dean@interdynamix.com>: build with Netscape 5
 1094   library on Solaris
 1095 * patch from Ralf Haferkamp <rhafer@suse.de>: manual page fix to bind_policy
 1096 
 1097 
 1098 changes from 243 to 244
 1099 -----------------------
 1100 
 1101 * patch from Ralf Haferkamp <rhafer@suse.de>: enusre bytesleft macro does not
 1102   return values < 0
 1103 * include <sys/param.h> in ldap-nss.c
 1104 
 1105 
 1106 changes from 242 to 243
 1107 -----------------------
 1108 
 1109 * fix for BUG#225: invalid pointer dereferencing when reading rootpw
 1110 
 1111 
 1112 changes from 241 to 242
 1113 -----------------------
 1114 
 1115 * fixes for compiling on Solaris 10
 1116 
 1117 
 1118 changes from 240 to 241
 1119 -----------------------
 1120 
 1121 * new, more robust reconnection logic
 1122 * both "host" and "uri" directives can be used in ldap.conf
 1123 * new (undocumented) nss_reconnect_tries, nss_reconnect_sleeptime,
 1124   nss_reconnect_maxsleeptime, nss_reconnect_maxconntries directives
 1125 * reload configuration file if changed
 1126 
 1127 
 1128 changes from 239 to 240
 1129 -----------------------
 1130 
 1131 * new API for resolving automounts (requires custom autofs plugin for Linux at
 1132   present): _nss_ldap_setautomntent(), _nss_ldap_getautomntent(),
 1133   _nss_ldap_endautomntent(), _nss_ldap_getautomntbyname_r()
 1134 * fix for BUG#200: rename SOCKLEN_T as it conflicts on AIX
 1135 * fix for BUG#205: accept line feeds in ldap.conf
 1136 * fix for BUG#211: nss_ldap fails to start TLS on referred connections
 1137 * fix for BUG#213: initgroups crash if RFC2307bis undefined
 1138 * turn down reconnection logging volume
 1139 
 1140 
 1141 changes from 238 to 239
 1142 -----------------------
 1143 
 1144 * support for initgroups using backlinks (selectable at runtime if RFC2307bis
 1145   support is enabled, using the nss_initgroups backlink configuration
 1146   directive)
 1147 * support for dynamically expanding filter sizes
 1148 * from Peter Marschall <peter@adpm.de>: revert the deletion of blanks/tabs in
 1149   ldap.conf that happened between 235 and 238
 1150 * from Peter Marschall <peter@adpm.de>: This patch changes configure.in and
 1151   Makefile.am so that ldap.conf gets installed in the place and with the name
 1152   that is given to the configure option --with-ldap-conf-file. In addition to
 1153   that it fixes a long standing bug in Makefile.am that tries to install a
 1154   file before the destination directory is guaranteed to be created (hunk #3),
 1155   and uses $(mkinstalldirs) for AIX (hunk #2).
 1156 
 1157 
 1158 changes from 237 to 238
 1159 -----------------------
 1160 
 1161 * more manual page updates
 1162 
 1163 
 1164 changes from 236 to 237
 1165 -----------------------
 1166 
 1167 * more manual page updates
 1168 
 1169 
 1170 changes from 235 to 236
 1171 -----------------------
 1172 
 1173 * fix for BUG#201: typo in ldap-schema.c causing build to fail
 1174 * add manual page for nss_ldap
 1175 
 1176 
 1177 changes from 234 to 235
 1178 -----------------------
 1179 
 1180 * fix for BUG#198: make pagesize configurable
 1181 * fix for BUG#199: correct fix for BUG#138 (blind last char remove in
 1182   ldap.secret)
 1183 
 1184 
 1185 changes from 233 to 234
 1186 -----------------------
 1187 
 1188 * don't reacquire global lock in do_next_page()
 1189 * restore old "bind_policy hard" behaviour (don't try to reconnect if
 1190   initialization failed). The behaviour introduced in nss_ldap-227 can be
 1191   enabled with "bind_policy hard_init".
 1192 
 1193 
 1194 changes from 232 to 233
 1195 -----------------------
 1196 
 1197 * if do_open() returns NSS_UNAVAIL, don't try to do server reconnect; only do
 1198   it if NSS_TRYAGAIN is returned This should fix the problems introduced by
 1199   the fixes in nss_ldap-227 (delayed binding)
 1200 
 1201 
 1202 changes from 231 to 232
 1203 -----------------------
 1204 
 1205 * fix for BUG#138 (blind last char remove in ldap.secret)
 1206 
 1207 
 1208 changes from 229 to 230
 1209 -----------------------
 1210 
 1211 * don't free gss_krb5_ccache_name() output (Heimdal)
 1212 
 1213 
 1214 changes from 228 to 229
 1215 -----------------------
 1216 
 1217 * more debugging in initgroups and _nss_ldap_getentry()
 1218 * fix _nss_ldap_getentry() enumeration behaviour, and optimize by not
 1219   searching if the requested attribute cannot be mapped
 1220 
 1221 
 1222 changes from 227 to 228
 1223 -----------------------
 1224 
 1225 * fix for BUG#188: better documentation for OpenLDAP SSL options
 1226 * fix for BUG#189: do not configure tls_checkpeer unless it is explicitly
 1227   specifier in ldap.conf
 1228 * fix for BUG#190: set ls_state to LS_UNINITIALIZED after fork
 1229 
 1230 
 1231 changes from 226 to 227
 1232 -----------------------
 1233 
 1234 * separate initializing LDAP session with actually connecting to the DSA, so
 1235   that we don't try to bind until we actually need to search (which allows the
 1236   retry logic in the search function to also apply to binding). NB: this will
 1237   only provide improved behavior for LDAP client libraries that support
 1238   ldap_init() or ldap_initialize() rather than ldap_open
 1239 * fix for BUG#183: support pw_change and pw_expire on BSD
 1240 * fix for BUG#187: NSS_BUFLEN_DEFAULT causing problems on IRS platforms
 1241 * fix for glibc 2.1 from Alexander Spannagel
 1242 
 1243 
 1244 changes from 225 to 226
 1245 -----------------------
 1246 
 1247 * make LDAP_NSS_NGROUPS configurable with --with-ngroups (experts only) option
 1248 
 1249 
 1250 changes from 224 to 225
 1251 -----------------------
 1252 
 1253 * make LDAP_NSS_NGROUPS 64 - better choice for small directories
 1254 
 1255 
 1256 changes from 223 to 224
 1257 -----------------------
 1258 
 1259 * don't double-free on realloc() failure in do_parse_group_members()
 1260 * don't pass LDAP session as an argument, as it may refer to a stale LDAP
 1261   handle. If this does not work we will need to replace LDAPMessage pointers
 1262   with pointers to a structure that contains a reference-counted LDAP handle
 1263   as well as the message
 1264 * fix crasher when internal group membership buffer was reallocated
 1265   (introduced with nested group expansion code)
 1266 * immediately return NSS_TRYAGAIN and errno=ERANGE if there is not enough
 1267   buffer space to handle LDAP_NSS_NGROUPS groups; this prevents getgrXXX()
 1268   from expensive repeated directory searches when there is a priori knowledge
 1269   that group memberships are large
 1270 
 1271 
 1272 changes from 222 to 223
 1273 -----------------------
 1274 
 1275 * allow empty lines in /etc/ldap.conf
 1276 * do loop detection in nested groups
 1277 * fixes for building with IRS on FreeBSD 4.10
 1278 
 1279 
 1280 changes from 221 to 222
 1281 -----------------------
 1282 
 1283 * fix deadlock in _nss_ldap_getentry()
 1284 * support more AIX usersec attributes
 1285 * more AIX porting fixes
 1286 * support Heimdal as well as MIT Kerberos
 1287 
 1288 
 1289 changes from 220 to 221
 1290 -----------------------
 1291 
 1292 * AIX fix from <carlos.celso@embraer.com.br> Recall #169033
 1293 * support for expansion of nested RFC2307bis groups
 1294 * support for searching using range retrieval
 1295 * fix memory leak with private contexts
 1296 * fix memory leak in do_result()
 1297 * implement _nss_ldap_getentry for AIX enumeration
 1298 * implement netgroups for IRS/AIX
 1299 * remove dependency on Berkeley DB - schema mapping and RFC2307bis no longer
 1300   requires DB
 1301 * remove old NeXT cruft in resolve.c
 1302 
 1303 
 1304 changes from 218 to 220
 1305 -----------------------
 1306 
 1307 * fix for BUG#169: getntohost() on Solaris
 1308 * fix for BUG#170: _nss_ldap_getgroupsbymember_r fails to return all groups
 1309   when NSCD is running and attribute mapping is enabled on Solaris
 1310 * fix for BUG#173: reinstate use of sigaction() (XXX what is the correct fix
 1311   here?)
 1312 * fix for BUG#174: innetgr() depth checking
 1313 
 1314 
 1315 changes from 217 to 218
 1316 -----------------------
 1317 
 1318 * fix for BUG#168: set errnop to ENOENT if not found
 1319 * check for -lgssapi before -lgssapi_krb5
 1320 
 1321 
 1322 changes from 216 to 217
 1323 -----------------------
 1324 
 1325 * fix for BUG#167: compilation fails on Solaris
 1326 
 1327 
 1328 changes from 215 to 216
 1329 -----------------------
 1330 
 1331 * patch from Thorsten Kukuk to avoid overwriting sockaddr storage for IPv6;
 1332   use struct sockaddr_storage if available
 1333 * fix for BUG#153: use asynchronous search API in initgroups()
 1334 * fix for BUG#157: check for __pthread_once rather than __pthread_atfork on
 1335   glibc, as the latter is no longer exported
 1336 * fix for BUG#158: escape netgroup search filters correctly
 1337 * fix for BUG#161: remove redundant lock in _nss_ldap_innetgr()
 1338 * fix for BUG#164: set schema element array size to LM_NONE + 1 not LM_NONE
 1339 * fix for BUG#165: make _nss_ldap_result() private
 1340 * fix for BUG#166: chase all nested netgroups in innetgr()
 1341 * fix deadlock if getXXXent() called without first calling setXXXent()
 1342 * only request gidNumber attribute when initgroups() (avoids sending back rest
 1343   of a group's entry)
 1344 * don't request any attributes when mapping a user to a DN (we want the DN
 1345   only)
 1346 
 1347 
 1348 changes from 214 to 215
 1349 -----------------------
 1350 
 1351 * choose between using native GSS-API and putenv() for setting ccache path
 1352 * per-map attribute mapping for attributes that appear in multiple maps
 1353 
 1354 
 1355 changes from 213 to 214
 1356 -----------------------
 1357 
 1358 * define LDAP_DEPRECATED for compiling against OpenLDAP 2.2
 1359 
 1360 
 1361 changes from 212 to 213
 1362 -----------------------
 1363 
 1364 * fix netgroup compilation error when debugging is enabled
 1365 * support GSS-API for setting ccache name
 1366 * initgroups() should require user to be a POSIX account
 1367 * define LOGNAME_MAX for HP-UX
 1368 * do not use sigprocmask() - this blocks rather than disabling signals
 1369 * SASL version check fix from Howard Chu
 1370 
 1371 
 1372 changes from 211 to 212
 1373 -----------------------
 1374 
 1375 * Solaris netgroup support test release
 1376 * fix crasher in do_sasl_interact()
 1377 * do_sasl_interact() needs to strdup() result for Cyrus SASL 1.x but not 2.x
 1378 * merge in LDAP debug patch from Howard Chu
 1379 * try alternate search descriptors on NSS_NOTFOUND as well as NSS_SUCCESS
 1380 
 1381 
 1382 changes from 210 to 211
 1383 -----------------------
 1384 
 1385 * do AT_OC_MAP cache initialization at config init
 1386 * BSD build fixes
 1387 * replace [h]errno2nssstat lookup tables with switch statement; should help
 1388   building on AIX!
 1389 
 1390 
 1391 changes from 209 to 210
 1392 -----------------------
 1393 
 1394 * initialize DBT structures
 1395 * fix SASL crasher
 1396 
 1397 
 1398 changes from 208 to 209
 1399 -----------------------
 1400 
 1401 * fix SASL breakage
 1402 
 1403 
 1404 changes from 207 to 208
 1405 -----------------------
 1406 
 1407 * use socklen_t not int
 1408 * remove OpenLDAP SASL code
 1409 * incorporated patches from (see below) Geert Jansen
 1410 * add the "sasl_secprops" option to configure SASL security layers (usage as
 1411   for OpenLDAP ldap.conf)
 1412 * add the "krb5_ccname" option to specify the location of the Kerberos ticket
 1413   cache (requires --enable-configurable-krb5-ccname for now as it is a fairly
 1414   coarse solution to a lack of appropriate API in the Kerberos libraries)
 1415 * add support for native Active Directory password policy attributes (enabled
 1416   if shadowLastChange is mapped to pwdLastSet)
 1417 * add "nss_override_attribute_value" and "nss_default_attribute_value"
 1418   keywords for over- riding and setting default attribute values, respectively
 1419 
 1420 
 1421 changes from 205 to 207
 1422 -----------------------
 1423 
 1424 * work without LDAP_OPT_X_TLS_RANDOM_FILE
 1425 * fix schema mapping regression from nss_ldap-205; attribute mapping now works
 1426   again
 1427 
 1428 
 1429 changes from 204 to 205
 1430 -----------------------
 1431 
 1432 * build with Sleepycat DB without db185 compat layer (tested with 4.x; needs
 1433   testing on 3.x)
 1434 
 1435 
 1436 changes from 203 to 204
 1437 -----------------------
 1438 
 1439 * Linux netgroup implementation from Larry Lile
 1440 * Multiple service search descriptor support from Symas
 1441 * IPv6 patch from Thorsten Kukuk at SuSE
 1442 
 1443 
 1444 changes from 202 to 203
 1445 -----------------------
 1446 
 1447 * fix for BUG#115
 1448 * fix for BUG#121
 1449 
 1450 
 1451 changes from 201 to 202
 1452 -----------------------
 1453 
 1454 * getsockname() fixes from Howard Chu
 1455 * configuration parser crasher fix
 1456 
 1457 
 1458 changes from 200 to 201
 1459 -----------------------
 1460 
 1461 * Berkeley DB fixes from Howard Chu
 1462 * Netscape client library build fix
 1463 
 1464 
 1465 changes from 199 to 200
 1466 -----------------------
 1467 
 1468 * use sigprocmask() if available to block SIGPIPE
 1469 * fix build breakage with OpenLDAP HEAD
 1470 
 1471 
 1472 changes from 198 to 199
 1473 -----------------------
 1474 
 1475 * HP-UX port
 1476 * BUG#111: incorrect debugging statement in _nss_ldap_enter()
 1477 * export required symbols only on Linux
 1478 * corrected symbol names for glibc alias enumeration functions
 1479 * the DNS response parser doesn't stop after parsing the right number of
 1480   records, and doesn't handle long responses (Nalin at RedHat)
 1481 
 1482 
 1483 changes from 197 to 198
 1484 -----------------------
 1485 
 1486 * BUG#108: fix potential buffer overflow in dnsconfig.c (could be triggered if
 1487   no flat file configuration for nss_ldap and large DNS SRV data for domain;
 1488   because nss_ldap in SRV mode trusts DNS we do not believe this to be
 1489   exploitable to elevate privilege in the default configuration)
 1490 * do not malloc() configuration structure; use buffer
 1491 
 1492 
 1493 changes from 196 to 197
 1494 -----------------------
 1495 
 1496 * improved AIX documentation from Dejan Muhamedagic
 1497 * define LDAP_OPT_SSL for Solaris 9
 1498 
 1499 
 1500 changes from 195 to 196
 1501 -----------------------
 1502 
 1503 * return NSS_TRYAGAIN not NSS_NOTFOUND for insufficient buffer space in
 1504   dn2uid_cache_get()
 1505 * support automake 1.5 and friends
 1506 * out of box build on AIX 4.3.3
 1507 * fixed BUG#104: do_ssl_options() return code ignored
 1508 
 1509 
 1510 changes from 194 to 195
 1511 -----------------------
 1512 
 1513 * fixed BUG#98: large groups cause buffer length wraparound with rfc2307bis
 1514 
 1515 
 1516 changes from 193 to 194
 1517 -----------------------
 1518 
 1519 * bugfix for Debian Bug report #147553: lack of global mutex use in
 1520   initgroups()
 1521 
 1522 
 1523 changes from 192 to 193
 1524 -----------------------
 1525 
 1526 * support for PADL GSS-SASL client library
 1527 
 1528 
 1529 changes from 191 to 192
 1530 -----------------------
 1531 
 1532 * more carefully compare cached socket and peer addresses
 1533 
 1534 
 1535 changes from 190 to 191
 1536 -----------------------
 1537 
 1538 * added configurable [hard|soft] reconnect, see the bind_policy parameter in
 1539   ldap.conf.
 1540 
 1541 
 1542 changes from 189 to 190
 1543 -----------------------
 1544 
 1545 * check for Netscape 4 SDK without SSL; don't require pthreads for these
 1546 
 1547 
 1548 changes from 188 to 189
 1549 -----------------------
 1550 
 1551 * patch for building on OpenLDAP 1.x from Nalin at RedHat
 1552 
 1553 
 1554 changes from 187 to 188
 1555 -----------------------
 1556 
 1557 * specify runtime path for LDAP library correctly to native Solaris linker
 1558 * check for gcc correctly
 1559 * use native linker on Solaris and AIX
 1560 
 1561 
 1562 changes from 186 to 187
 1563 -----------------------
 1564 
 1565 * make bogusSd in ldap-nss.c conditional on !HAVE_LDAP_LD_FREE
 1566 * merge in paged result support from Max Caines
 1567 * bugfixes for Debian Bug report #140854
 1568 
 1569 
 1570 changes from 185 to 186
 1571 -----------------------
 1572 
 1573 * incorporated patch for Debian Bug report #140854, where nss_ldap could in
 1574   some cases close a descriptor it did not own. Patch was provided by Luca
 1575   Filipozzi.
 1576 
 1577 
 1578 changes from 184 to 185
 1579 -----------------------
 1580 
 1581 * updated copyrights
 1582 * fix for BUG#82: set close on exec (Debian bug 136953)
 1583 
 1584 
 1585 changes from 183 to 184
 1586 -----------------------
 1587 
 1588 * return NSS_TRYAGAIN if no buffer space in ldap-grp.c
 1589 
 1590 
 1591 changes from 181 to 183
 1592 -----------------------
 1593 
 1594 * return error strings in AIX authentication routine
 1595 * initialize schema in getgroupsbymember()
 1596 * fix for tls_checkpeer; pass NULL session in to set global option
 1597 * BUG#77: configurable config file locations
 1598 
 1599 
 1600 changes from 181 to 181
 1601 -----------------------
 1602 
 1603 * ignore SIGPIPE whilst inside nss_ldap library routines to prevent crashing
 1604   on down LDAP server; possible fix for Debian bug 130006
 1605 * removed --enable-no-so-keepalive; always try to disable SO_KEEPALIVE on
 1606   underlying socket to LDAP server
 1607 * include local copy of irs.h under AIX
 1608 * general cleanup of locking code
 1609 * _nss_ldap_no_members appears to only need defining for when RFC2307bis is
 1610   enabled
 1611 
 1612 
 1613 changes from 179 to 180
 1614 -----------------------
 1615 
 1616 * pull in libpthreads on AIX
 1617 
 1618 
 1619 changes from 178 to 179
 1620 -----------------------
 1621 
 1622 * a couple more patches for AIX
 1623 
 1624 
 1625 changes from 177 to 178
 1626 -----------------------
 1627 
 1628 * patch from Gabor Gombas for AIX support
 1629 * Makefile.am: sasl.o needed by NSS_LDAP
 1630 * aix_authmeth.c: method_passwordexpired is really method_passwdexpired; but
 1631   since the struct was bzero()ed no need to set it to NULL
 1632 * configure.in: support both gcc and xlc_r
 1633 * exports.aix: sv_byport was not exported
 1634 * ldap-grp.c: getgrset() returned group names instead of gid numbers
 1635 
 1636 
 1637 changes from 176 to 177
 1638 -----------------------
 1639 
 1640 * patch for building on AIX from IBM
 1641 * added simple authentication support for AIX
 1642 * cleaned up SASL patch to not break if Cyrus SASL is not installed
 1643 
 1644 
 1645 changes from 175 to 176
 1646 -----------------------
 1647 
 1648 * fixed bug in SASL patch which had required OpenLDAP headers
 1649 
 1650 
 1651 changes from 174 to 175
 1652 -----------------------
 1653 
 1654 * incorporated GSS-API SASL patches
 1655 * rebind to server on LDAP_LOCAL_ERROR
 1656 
 1657 
 1658 changes from 173 to 174
 1659 -----------------------
 1660 
 1661 * added patches from Maxim Batourine for compiling with Sun workshop compiler
 1662 * added notes re: 64-bit compile on Solaris from above source
 1663 
 1664 
 1665 changes from 172 to 173
 1666 -----------------------
 1667 
 1668 * notes on IRS in doc/README.IRS
 1669 * added irs.h for AIX compat
 1670 * patch from Bob Guo for stripping trailing spaces in ldap.conf.
 1671 
 1672 
 1673 changes from 171 to 172
 1674 -----------------------
 1675 
 1676 * fixed schema mapping bug by storing a copy of the mapped schema in the
 1677   Berkeley DB rather than the element itself. Because the DB library returns
 1678   static storage, this was causing problems where the schema mapping calls
 1679   were used to build the attribute table in ldap-schema.c. This bugfix was
 1680   sponsored by n2h2.com; thanks!
 1681 
 1682 
 1683 changes from 170 to 171
 1684 -----------------------
 1685 
 1686 * added ldap.conf stanza for AIX
 1687 * workaround for schema mapping bug.
 1688 
 1689 
 1690 changes from 169 to 170
 1691 -----------------------
 1692 
 1693 * use _nss_ldap_getrdnvalue() for determining canonical group name
 1694 
 1695 
 1696 changes from 168 to 169
 1697 -----------------------
 1698 
 1699 * fixed typo in ldap-service.c; prefix filters now with _nss_ldap
 1700 
 1701 
 1702 changes from 167 to 168
 1703 -----------------------
 1704 
 1705 * initialize old_handler to SIG_DFL
 1706 * incorporate Stephan Cremer's mapping patches, a big thanks to Stephan for
 1707   these!
 1708 * use LDAP_OPT_NETWORK_TIMEOUT if available for network connect timeout
 1709 * removed hard-coded schema mapping for authPassword, NDS and MSSFU
 1710 
 1711 
 1712 changes from 166 to 167
 1713 -----------------------
 1714 
 1715 * support for new OpenLDAP rebind proc prototype
 1716 * in rebind function, respect timeout
 1717 * fix for PADL Release Control
 1718 
 1719 
 1720 changes from 165 to 166
 1721 -----------------------
 1722 
 1723 * corrected small typos
 1724 
 1725 
 1726 changes from 164 to 165
 1727 -----------------------
 1728 
 1729 * posixMember is a distinguished name, don't pretend it is a login name
 1730 * cleaned up code referencing different member syntaxes
 1731 
 1732 
 1733 changes from 163 to 164
 1734 -----------------------
 1735 
 1736 * removed IDS_UID code, never worked properly
 1737 
 1738 
 1739 changes from 162 to 163
 1740 -----------------------
 1741 
 1742 * removed context_free function, usage confusing
 1743 
 1744 
 1745 changes from 161 to 162
 1746 -----------------------
 1747 
 1748 * in reconnect harness, do not treat entry not found errors as requiring a
 1749   reconnect
 1750 
 1751 
 1752 changes from 160 to 161
 1753 -----------------------
 1754 
 1755 * hopefully fixed use of synchronous searches in _nss_ldap_getbyname()
 1756 
 1757 
 1758 changes from 159 to 160
 1759 -----------------------
 1760 
 1761 * patch from RedHat to check for DB3, override install user/group optionally
 1762 * use synchronous searches for _nss_ldap_getbyname()
 1763 * only set SSL options if we have values for those options
 1764 
 1765 
 1766 changes from 158 to 159
 1767 -----------------------
 1768 
 1769 * make do_ssl_options() take a config parameter; avoid segfault with SSL?
 1770 
 1771 
 1772 changes from 157 to 158
 1773 -----------------------
 1774 
 1775 * in the distinguished name to login cache (dn2uid) make sure we use the
 1776   AT(uid) macro for the uid attribute rather than the hard-coded value of
 1777   "uid" This should enable the cache for MSSFU support.
 1778 
 1779 
 1780 changes from 156 to 157
 1781 -----------------------
 1782 
 1783 * for MSSFU, use posixMember for group memberships rather than member
 1784   (reported by Andy Rechenberg)
 1785 * ignore SIGPIPE before calling do_close() for idle_timeout
 1786 
 1787 
 1788 changes from 155 to 156
 1789 -----------------------
 1790 
 1791 * logic was around the wrong way in do_search(), all searches were broken!
 1792 * --disable-ssl option for configure
 1793 * removed "Obsoletes: pam_ldap" from spec file
 1794 
 1795 
 1796 changes from 154 to 155
 1797 -----------------------
 1798 
 1799 * do not use private API when setting OpenLDAP TLS options (do_ssl_options())
 1800 
 1801 
 1802 changes from 153 to 154
 1803 -----------------------
 1804 
 1805 * notes from Scott M. Stone <sstone@foo3.com>
 1806 * idle timeout patch from Steve Barrus
 1807 
 1808 
 1809 changes from 152 to 153
 1810 -----------------------
 1811 
 1812 * SSL fix
 1813 
 1814 
 1815 changes from 151 to 152
 1816 -----------------------
 1817 
 1818 * further patch from Jarkko for TLS/SSL auth: support for LDAPS/cipher suite
 1819   selection/ client key/cert authentication
 1820 
 1821 
 1822 changes from 150 to 151
 1823 -----------------------
 1824 
 1825 * patch from Andrew Rechenberg for Active Directory schema support
 1826 * patch from Jarkko Turkulainen <jt@wapit.com> for peer certificate support
 1827   with OpenLDAP
 1828 
 1829 
 1830 changes from 149 to 150
 1831 -----------------------
 1832 
 1833 * patch from Anselm Kruis for URI support
 1834 
 1835 
 1836 changes from 148 to 149
 1837 -----------------------
 1838 
 1839 * fixed compile on Solaris, broken in 145 by malformed Linux patch
 1840 
 1841 
 1842 changes from 147 to 148
 1843 -----------------------
 1844 
 1845 * check for HAVE_LDAP_SET_OPTION always
 1846 
 1847 
 1848 changes from 146 to 147
 1849 -----------------------
 1850 
 1851 * check for ldap_set_option(), as LDAP_OPT_REFERRALS is defined for OpenLDAP
 1852   1.x but without the ldap_set_option() function
 1853 
 1854 
 1855 changes from 145 to 146
 1856 -----------------------
 1857 
 1858 * mass re-indentation, GNU style
 1859 * patch from Simon Wilkinson <sxw@sxw.org.uk> for compatibility with old
 1860   initgroups entry point
 1861 * request authPassword attribute if --enable-authpassword
 1862 * authPassword support in ldap-spwd.c (shadow)
 1863 
 1864 
 1865 changes from 144 to 145
 1866 -----------------------
 1867 
 1868 * preliminary support for authPassword attribute
 1869 * updated COPYING
 1870 * patch from Szymon Juraszczyk to suppot _nss_ldap_initgroups_dyn prototype
 1871 
 1872 
 1873 changes from 143 to 144
 1874 -----------------------
 1875 
 1876 * when specifying filters with nss_base_XXX, only escape the filter argument
 1877   not the entire filter
 1878 
 1879 
 1880 changes from 142 to 143
 1881 -----------------------
 1882 
 1883 * patch from nalin@redhat.com to avoid corrupting the heap when the
 1884   configuration file exists but has no host and base values.
 1885   _nss_ldap_readconfigfromdns() will write to the region which was already
 1886   freed.
 1887 
 1888 
 1889 changes from 141 to 142
 1890 -----------------------
 1891 
 1892 * patch from Simon Wilkinson <sxw@sxw.org.uk> for memory leak in
 1893   ldap-service.c
 1894 
 1895 
 1896 changes from 140 to 141
 1897 -----------------------
 1898 
 1899 * fix for BUG#54 (AIX detection broken)
 1900 * use -rpath on all platforms except Solaris,
 1901   not just Linux
 1902 
 1903 
 1904 changes from 139 to 140
 1905 -----------------------
 1906 
 1907 * fix configure bug for DISABLE_SO_KEEPALIVE
 1908 * fix alignment bug in util.c; this was causing Solaris to crash whenever
 1909   per-map search descriptors were specified in ldap.conf
 1910 
 1911 
 1912 changes from 138 to 139
 1913 -----------------------
 1914 
 1915 * updated INSTALL file with boilerplate
 1916 * fixed pointer error in ldap-nss.c
 1917 
 1918 
 1919 changes from 137.1 to 138
 1920 -------------------------
 1921 
 1922 * close config file FILE * if out of buffer space for parsing search
 1923   descriptor
 1924 * fixed bug where non-recognized directives in ldap.conf would cause the
 1925   configuration file to not be parsed at all, if they were the last entries in
 1926   the config file.
 1927 
 1928 
 1929 changes from 137 to 137.1
 1930 -------------------------
 1931 
 1932 * patch from nalin@redhat.com; return { NULL } not NULL for no group members
 1933 * cleaned up usage of libc-lock.h weak aliases to pthreads API; use in ltf.c
 1934   also
 1935 * use __libc_atfork() or pthread_atfork() to close off connection on fork,
 1936   rather than checking PIDs; this is expensive and breaks on Linux where each
 1937   thread may have a different PID.
 1938 
 1939 
 1940 changes from 136 to 137
 1941 -----------------------
 1942 
 1943 * build nss_ldap as a loadable module on AIX
 1944 * doco on AIX
 1945 
 1946 
 1947 changes from 135 to 136
 1948 -----------------------
 1949 
 1950 * define -DPIC for FreeBSD
 1951 * link with -shared not --shared
 1952 * fixes for AIX
 1953 
 1954 
 1955 changes from 134 to 135
 1956 -----------------------
 1957 
 1958 * merged ldap.conf
 1959 * fixed bug in concatenating relative search bases in ldap-nss.c (profile
 1960   support)
 1961 
 1962 
 1963 changes from 133 to 134
 1964 -----------------------
 1965 
 1966 * fixed Makefile.am
 1967 * reordered DB search order in util.c
 1968 
 1969 
 1970 changes from 132 to 133
 1971 -----------------------
 1972 
 1973 * make /usr/lib directory in Makefile.am
 1974 * new spec file from Joe Little
 1975 
 1976 
 1977 changes from 131 to 132
 1978 -----------------------
 1979 
 1980 * fixed rebind preprocessor logic
 1981 
 1982 
 1983 changes from 130 to 131
 1984 -----------------------
 1985 
 1986 * created files for automake happiness
 1987 
 1988 
 1989 changes from 129 to 130
 1990 -----------------------
 1991 
 1992 * fixed typo preventing build with Netscape client library
 1993 
 1994 
 1995 changes from 128 to 129
 1996 -----------------------
 1997 
 1998 * updated version number
 1999 * fixed build bug on Solaris
 2000 
 2001 
 2002 changes from 127 to 128
 2003 -----------------------
 2004 
 2005 * fixed logic bug in util.c introduced in nss_ldap-127
 2006 
 2007 
 2008 changes from 126 to 127
 2009 -----------------------
 2010 
 2011 * updating copyright notices
 2012 * autoconf support; IRIX and OSF/1 support has been dropped (dl-*.[ch]) as no
 2013   one really used this, the implementation was a hack, and these operating
 2014   systems have their own LDAP implementations now
 2015 * added support for "referrals" and "restart" options to ldap.conf
 2016 * use OpenLDAP 2.x rebind proc with correct arguments
 2017 * added "timelimit" and "bind_timelimit" directives to ldap.conf
 2018 * fixed bug with dereferencing aliases
 2019 * preliminary support for profiles; recognise profile semantics in
 2020   ldap-nss.c/util.c
 2021 * parity with pam_ldap; "ssl" directive in ldap.conf can now specify "yes" or
 2022   "start_tls" for Start TLS
 2023 * hopefully fixed Berkeley DB include mess in util.c
 2024 * fixed potential buffer overflow in util.c
 2025 * default to LDAP protocol version 3
 2026 * fixed leaks in util.c, dnsconfig.c
 2027 * accept on/yes/true for boolean configuration values
 2028 * tested building on FreeBSD, Solaris 8, Linux
 2029 * tested functionality on RedHat 6.2
 2030 
 2031 
 2032 changes from 124 to 126
 2033 -----------------------
 2034 
 2035 * fixed up Linux Makefiles to build libnss_ldap
 2036 
 2037 
 2038 changes from 123 to 124
 2039 -----------------------
 2040 
 2041 * patch from nalin@redhat.com for StartTLS
 2042 * fixed up indenting
 2043 
 2044 
 2045 changes from 122.BZ52.2 to 123
 2046 ------------------------------
 2047 
 2048 * rolled in BUG#52 branch with fixes for AIX
 2049 
 2050 
 2051 changes from 122.BZ52.1 to 122.BZ52.2
 2052 -------------------------------------
 2053 
 2054 * included ldap-schema.c; omitted from previous checkpoint
 2055 
 2056 
 2057 changes from 122 to 122.BZ52.1
 2058 ------------------------------
 2059 
 2060 * preliminary fix for BUG#52 (support for different naming contexts for each
 2061   map)
 2062 * fixed bug in enumerating services map
 2063 
 2064 
 2065 changes from 121 to 122
 2066 -----------------------
 2067 
 2068 * fixed BUG#50 (check return value of ldap_simple_bind())
 2069 
 2070 
 2071 changes from 120 to 121
 2072 -----------------------
 2073 
 2074 * fixed BUG#49 (fix acknowledged race condition)
 2075 
 2076 
 2077 changes from 119 to 120
 2078 -----------------------
 2079 
 2080 * added Makefile.aix and exports.aix (forgot)
 2081 
 2082 
 2083 changes from 118 to 119
 2084 -----------------------
 2085 
 2086 * patch from Gabor Gombas <gombasg@inf.elte.hu> to support AIX implementation
 2087   of BIND IRS
 2088 
 2089 
 2090 changes from 117 to 118
 2091 -----------------------
 2092 
 2093 * Makefile.RPM.openldap2 from Joe Little
 2094 
 2095 
 2096 changes from 116 to 117
 2097 -----------------------
 2098 
 2099 * permanently ignore SIGPIPE when using SSL. This bug should be fixed
 2100   properly.
 2101 
 2102 
 2103 changes from 115 to 116
 2104 -----------------------
 2105 
 2106 * added irs-nss.diff and README.IRS from Emile Heitor
 2107 
 2108 
 2109 changes from 113 to 115
 2110 -----------------------
 2111 
 2112 * fixed filter escaping
 2113 * call ldapssl_client_init() once only
 2114 * include db_185.h not db.h for dn2uid cache
 2115 * fixes for FreeBSD (IRS) support from Emile Heitor
 2116 
 2117 
 2118 changes from 110 to 113
 2119 -----------------------
 2120 
 2121 * patch from Ben Collins to escape '*' in filters
 2122 
 2123 
 2124 changes from 109 to 110
 2125 -----------------------
 2126 
 2127 * patch from Phlilip Liu for async binds
 2128 
 2129 
 2130 changes from 108 to 109
 2131 -----------------------
 2132 
 2133 * omit socket check for -DSSL; it doesn't work
 2134 * updated CONTRIBUTORS
 2135 * updated README re HAVE_LDAP_LD_FREE
 2136 
 2137 
 2138 changes from 107 to 108
 2139 -----------------------
 2140 
 2141 * included "deref" option in /etc/ldap.conf, compatible with OpenLDAP syntax.
 2142   Patch from Michael Mattice.
 2143 
 2144 
 2145 changes from 106.2 to 107
 2146 -------------------------
 2147 
 2148 * fixed argument to _nss_ldap_getent() in ldap-ethers.c
 2149 
 2150 
 2151 changes from 106.1 to 106.2
 2152 ---------------------------
 2153 
 2154 * if root, use rootbinddn/rootbindpw in rebind proc
 2155 * include objectClass in pwd required attributes
 2156 
 2157 
 2158 changes from 105 to 106.1
 2159 -------------------------
 2160 
 2161 * if user is a shadowAccount, then don't return password in getpwent(),
 2162   getpwuid() or getpwnam()
 2163 * incorporated patch (from Doug Nazar):
 2164 * allow getgrent() to be called without setgrent(); note arguments to
 2165   _nss_ldap_getent() have changed.
 2166 * return NSS_NOTFOUND instead of NSS_UNAVAIL at the end of a search
 2167 * initialize len for getpeername()
 2168 
 2169 
 2170 changes from 104 to 105
 2171 -----------------------
 2172 
 2173 * incorporated patch for deadlock under Solaris (from Dave Begley)
 2174 
 2175 
 2176 changes from 103 to 104
 2177 -----------------------
 2178 
 2179 * new spec file
 2180 
 2181 
 2182 changes from 102 to 103
 2183 -----------------------
 2184 
 2185 * don't call ldap_parse_result() with V2 API
 2186 
 2187 
 2188 changes from 101 to 102
 2189 -----------------------
 2190 
 2191 * added defines for LDAP_MSG_ONE et al if not in ldap.h
 2192 * removed LDAP_MORE_RESULTS_TO_RETURN test
 2193 
 2194 
 2195 changes from 100 to 101
 2196 -----------------------
 2197 
 2198 * fixed spec file
 2199 
 2200 
 2201 changes from 99 to 100
 2202 ----------------------
 2203 
 2204 * support for asynchronous search API!
 2205 * added some contributors
 2206 * notes about ldap_ld_free()
 2207 * merged in ChangeLog
 2208 
 2209 
 2210 changes from 98 to 99
 2211 ---------------------
 2212 
 2213 * added some netgroup implementation tips
 2214 * do_close_no_unbind() cleanup
 2215 
 2216 
 2217 changes from 97 to 98
 2218 ---------------------
 2219 
 2220 * /etc/nss_ldap.secret -> /etc/ldap.secret (sorry, Doug!)
 2221 * deleted crypt-mechanism code. Junk.
 2222 * fixed call to _nss_ldap_read() after changing prototypes in nss_ldap-88
 2223 
 2224 
 2225 changes from 96 to 97
 2226 ---------------------
 2227 
 2228 * #ifndef HAVE_LDAP_LD_FREE, still call ldap_unbind(), but having closed the
 2229   descriptor.
 2230 
 2231 
 2232 changes from 95 to 96
 2233 ---------------------
 2234 
 2235 * re-orged
 2236 
 2237 
 2238 changes from 94 to 95
 2239 ---------------------
 2240 
 2241 * disable SO_KEEPALIVE on socket rather than blocking SIGPIPE. Need to figure
 2242   out the right way to do this.
 2243 
 2244 
 2245 changes from 93 to 94
 2246 ---------------------
 2247 
 2248 * committed some changes for the parent/child close problem. It relies on
 2249   internal libldap APIs so it may be non-portable but should work with
 2250   OpenLDAP and Netscape client libraries, and perhaps most UMich- derived
 2251   client libraries. There's a possible workaround for client libraries without
 2252   this; undefine HAVE_LDAP_LD_FREE to test this.
 2253 
 2254 
 2255 changes from 92 to 93
 2256 ---------------------
 2257 
 2258 * important fix: make sure return status is reset after do_open() ==
 2259   NSS_SUCCESS, just in case no entries are returned. This bug was introduced
 2260   in nss_ldap-88 and could potentially cause a security hole.
 2261 
 2262 
 2263 changes from 91 to 92
 2264 ---------------------
 2265 
 2266 * signal handling fix: don't restore handler unnecessarily.
 2267 * don't open nss_ldap.secret unless a root pw is specified in ldap.conf
 2268 
 2269 
 2270 changes from 90 to 91
 2271 ---------------------
 2272 
 2273 * reorganized SIGPIPE blocking code
 2274 * added SSL support
 2275 
 2276 
 2277 changes from 89 to 90
 2278 ---------------------
 2279 
 2280 * only reconnect if we've changed to/from root
 2281 
 2282 
 2283 changes from 88 to 89
 2284 ---------------------
 2285 
 2286 * cleaned up a few things
 2287 
 2288 
 2289 changes from 87 to 88
 2290 ---------------------
 2291 
 2292 * added breaks to switch in _nss_ldap_lookup (thanks to Nathan.Hawkins@FMR.COM
 2293   for pointing this out)
 2294 * save signal handler and ignore SIGPIPE for appropriate sections of do_open()
 2295   and confirm connection is still active (patch from rpatel@globix.com)
 2296 * allow root users to bind as a different user, to provide quasi-shadow
 2297   password support (patch from nazard@dragoninc.on.ca)
 2298 * under Linux, make Makefile look at last libc version (patch from
 2299   nazard@dragoninc.on.ca)
 2300 * never clobber nsswitch.ldap/ldap.conf when making install (patch from
 2301   nazard@dragoninc.on.ca)
 2302 * change do_open() to not unbind the parent ldap connection when the pid
 2303   changes but simply open a new connection (patch from nazard@dragoninc.on.ca)
 2304 * changed _nss_ldap_lookup() and _nss_ldap_read() prototypes to return
 2305   NSS_STATUS error codes, so that NSS_UNAVAIL percolates as appropriate.
 2306 
 2307 
 2308 changes from 86 to 87
 2309 ---------------------
 2310 
 2311 * fixed looking up DN-membered groups by member. Thanks to Jeff Mandel for
 2312   spotting this hard to find bug.
 2313 
 2314 
 2315 changes from 85 to 86
 2316 ---------------------
 2317 
 2318 * member for NDS vs uniqueMember (needs further investigation; -DNDS)
 2319 
 2320 
 2321 changes from 84 to 85
 2322 ---------------------
 2323 
 2324 * check non-NULLity of userdn before freeing
 2325 * use AT(uid) for groupsbymember filter
 2326 
 2327 
 2328 changes from 81 to 84
 2329 ---------------------
 2330 
 2331 * implemented _nss_ldap_initgroups()
 2332 
 2333 
 2334 changes from 80 to 81
 2335 ---------------------
 2336 
 2337 * removed extraneous do_sleep() code
 2338 * updated spec file
 2339 
 2340 
 2341 changes from 2.79 to 80
 2342 -----------------------
 2343 
 2344 * (really 2.80) changed version number a la Solaris 7!
 2345 * cleaned up schema stuff into ldap-schema.h
 2346 
 2347 
 2348 changes from 2.78 to 2.79
 2349 -------------------------
 2350 
 2351 * implemented exponential backoff reconnect logic
 2352 
 2353 
 2354 changes from 2.76 to 2.78
 2355 -------------------------
 2356 
 2357 * removed ldap.conf.ragenet from lineup
 2358 * removed spurious do_close()
 2359 
 2360 
 2361 changes from 2.75 to 2.76
 2362 -------------------------
 2363 
 2364 * added -lresolv to Solaris makefiles
 2365 
 2366 
 2367 changes from 2.72 to 2.75
 2368 -------------------------
 2369 
 2370 * incorporated RPM patches from stein@terminator.net
 2371 
 2372 
 2373 changes from 2.71 to 2.72
 2374 -------------------------
 2375 
 2376 * implemented getgroupsbymember() for Solaris. Supplementary groups should be
 2377   initialized now. (NB: doesn't appear to be quite working for RFC2307bis
 2378   yet.)
 2379 * GNU indent-ified
 2380 
 2381 
 2382 changes from 2.70 to 2.71
 2383 -------------------------
 2384 
 2385 * removed -DDEBUG as default build flag
 2386 
 2387 
 2388 changes from 2.69 to 2.70
 2389 -------------------------
 2390 
 2391 * put /usr/ucblib back into linker search path for Solaris.
 2392 
 2393 
 2394 changes from 2.68 to 2.69
 2395 -------------------------
 2396 
 2397 * added timeout, unavailable, and server busy conditions to rebind logic
 2398 * indent -gnu all source files
 2399 
 2400 
 2401 changes from 2.65 to 2.68
 2402 -------------------------
 2403 
 2404 * mods for glibc 2.1 (__set_errno is obselete it seems)
 2405 
 2406 
 2407 changes from 2.64 to 2.65
 2408 -------------------------
 2409 
 2410 * mods to compile with OpenLDAP 2
 2411 
 2412 
 2413 changes from 2.63 to 2.64
 2414 -------------------------
 2415 
 2416 * changed alias schema to Sun SDS nisMailAlias schema
 2417 * updated TODO list to reflect Bugzilla entries
 2418 * restored capitalization of attributes for "niceness"
 2419 
 2420 
 2421 changes from 2.62 to 2.63
 2422 -------------------------
 2423 
 2424 * added patch from gero@faveve.uni-stuttgart.de for parsing of ldap.conf with
 2425   tabs
 2426 * some fixes for BSDI BSD/OS IRS
 2427 
 2428 
 2429 changes from 2.61 to 2.62
 2430 -------------------------
 2431 
 2432 * added experimental support for DN-membered groups; to enable, define
 2433   RFC2307BIS
 2434 * fixed align bug (where buflen wasn't being decremented after pointer
 2435   alignment)
 2436 
 2437 
 2438 changes from 2.60 to 2.61
 2439 -------------------------
 2440 
 2441 * added warning about compiling with DS 4.1 LDAP SDK
 2442 
 2443 
 2444 changes from 2.59 to 2.60
 2445 -------------------------
 2446 
 2447 * fixed missing close brace
 2448 
 2449 
 2450 changes from 2.56 to 2.59
 2451 -------------------------
 2452 
 2453 * pw_comment field defaults to pw_gecos (Solaris only)
 2454 
 2455 
 2456 changes from 2.55 to 2.56
 2457 -------------------------
 2458 
 2459 * fixed Makefile.linux.mozilla NSSLIBVER
 2460 
 2461 
 2462 changes from 2.54.6 to 2.55
 2463 ---------------------------
 2464 
 2465 * merged in glibc-2.1 branch
 2466 
 2467 
 2468 changes from 2.54.5 to 2.54.6
 2469 -----------------------------
 2470 
 2471 * misc fixes.
 2472 
 2473 
 2474 changes from 2.54.4 to 2.54.5
 2475 -----------------------------
 2476 
 2477 * misc fixes.
 2478 
 2479 
 2480 changes from 2.54.3 to 2.54.4
 2481 -----------------------------
 2482 
 2483 * glibc-2.1 patches from bcollins@debian.org
 2484 
 2485 
 2486 changes from 2.51 to 2.54.3
 2487 ---------------------------
 2488 
 2489 * glibc-2.1 support. (Recall #93)
 2490 * set erange correctly on Solaris (related to above)
 2491 * added rebind function
 2492 
 2493 
 2494 changes from 2.49 to 2.51
 2495 -------------------------
 2496 
 2497 * added stuff for RC
 2498 
 2499 
 2500 changes from 2.47 to 2.49
 2501 -------------------------
 2502 
 2503 * configuration file is now case insensitive
 2504 
 2505 
 2506 changes from 2.45 to 2.47
 2507 -------------------------
 2508 
 2509 * RFC2052BIS (_ldap._tcp) support
 2510 
 2511 
 2512 changes from 2.44 to 2.45
 2513 -------------------------
 2514 
 2515 * added #include <stdlib.h> to globals.c
 2516 
 2517 
 2518 changes from 2.42 to 2.44
 2519 -------------------------
 2520 
 2521 * NULL search base allowed (omit basedn from config file)
 2522 
 2523 
 2524 changes from 2.39 to 2.42
 2525 -------------------------
 2526 
 2527 * fixed potential crasher in dnsconfig.c
 2528 * LDAP session is now persistent for performance reasons. Removed references
 2529   to the session anywhere outside ldap-nss.c. The process ID is cached and the
 2530   session reopened after a fork().
 2531 
 2532 
 2533 changes from 2.38 to 2.39
 2534 -------------------------
 2535 
 2536 * fixed warning in ldap-ethers.c (removed const from struct ether)
 2537 * added ldap_version keyword to ldap.conf for parity with pam_ldap
 2538 
 2539 
 2540 changes from 2.37 to 2.38
 2541 -------------------------
 2542 
 2543 * debugged ldap_explode_rdn() code
 2544 * added support for Mozilla LDAP client library; see Makefile.linux.mozilla
 2545   and ltf.c for more information. Thanks to Netscape for making their library
 2546   available.
 2547 
 2548 
 2549 changes from 2.36 to 2.37
 2550 -------------------------
 2551 
 2552 * moved to CVS repository and Linux as development environment
 2553 * incorporated ldap-service.c fix from Greg
 2554 
 2555 
 2556 changes from 2.35 to 2.36
 2557 -------------------------
 2558 
 2559 * util.c: will use ldap_explode_rdn() if it exists
 2560 
 2561 
 2562 changes from 2.34 to 2.35
 2563 -------------------------
 2564 
 2565 * made util.c compile again. Silly me.
 2566 
 2567 
 2568 changes from 2.33 to 2.34
 2569 -------------------------
 2570 
 2571 * fixed #endif in testpw.c
 2572 * fixed another DN freeing leak in util.c
 2573 * added RFC 2307 to distribution (fixed the two typos in it:
 2574 * fixed bug in ...getrdnvalue() (thanks, Greg)
 2575 * diff rfc2307.txt ~/rfc2307.txt
 2576 480c480
 2577 <           MUST ( cn $ ipProtocolNumber )
 2578 ---
 2579 >           MUST ( cn $ ipProtocolNumber $ description )
 2580 1038c1038
 2581 <         lester:X5/DBrWPOQQaI:10:10:Lester:/home/lester:/bin/csh
 2582 ---
 2583 >         lester:X5/DBrWPOQQaI:10:10:Lester:/home/lester:/bin/sh
 2584 
 2585 
 2586 changes from 2.32 to 2.33
 2587 -------------------------
 2588 
 2589 * rolled in more patches from greg@rage.net:
 2590 * removed _r from setXXXent and endXXXent functions for GNU_NSS
 2591 * cleaned up testpw.c to use pthreads and protos
 2592 * fixed prototype for gethostbyaddr_r on GNU_NSS
 2593 * braced conditional in getservbyname_r
 2594 * merged in Makefile.linux and README.LINUX diffs
 2595 * added htons(port) in getservbyport_r
 2596 * added nsswitch.test
 2597 * added ldaptest.pl
 2598 * added ldap.conf.ragenet
 2599 
 2600 
 2601 changes from 2.31 to 2.32
 2602 -------------------------
 2603 
 2604 * moved Makefile to Makefile.solaris
 2605 * cleaned up mutex code for Linux, hopefully
 2606 
 2607 
 2608 changes from 2.30 to 2.31
 2609 -------------------------
 2610 
 2611 * fixed leak in util.c (need to free dn)
 2612 * rolled in patches from greg@rage.net:
 2613 * fixed ldap-ethers.c to use struct ether
 2614 * fixed bracing in ldap-hosts.c (?)
 2615 * added SSLEAY patch to ldap-nss.h
 2616 * fixed locking in ldap-nss.h
 2617 * Makefile changes incorporated into Makefile.linux
 2618 
 2619 
 2620 changes from 2.29e to 2.30
 2621 --------------------------
 2622 
 2623 * synced into DevMan repository again
 2624 * RFC 2307 is the one!
 2625 
 2626 
 2627 changes from 2.29d to 2.29e
 2628 ---------------------------
 2629 
 2630 * util.c: fixed memory leak (call to ldap_value_free())
 2631 
 2632 
 2633 changes from 2.29c to 2.29d
 2634 ---------------------------
 2635 
 2636 * ldap-ethers.c: fixed to use HOSTNAME attribute
 2637 
 2638 
 2639 changes from 2.29b to 2.29c
 2640 ---------------------------
 2641 
 2642 * ieee8022Device -> ieee802Device
 2643 
 2644 
 2645 changes from 2.29a to 2.29b
 2646 ---------------------------
 2647 
 2648 * added ieee8022Device and bootableDevice classes,
 2649   at Sun's request.
 2650 
 2651 
 2652 changes from 2.29 to 2.29a
 2653 --------------------------
 2654 
 2655 * dc -> cn
 2656 
 2657 
 2658 changes from 2.28 to 2.29
 2659 -------------------------
 2660 
 2661 * changed host/network/ethers naming schema see the -02 draft revision for
 2662   more info
 2663 
 2664 
 2665 changes from 2.27 to 2.28
 2666 -------------------------
 2667 
 2668 * ldap-pwd.c, ldap-spwd.c: fixed tmpbuf stuff. Yuck.
 2669 
 2670 
 2671 changes from 2.26 to 2.27
 2672 -------------------------
 2673 
 2674 * ANNOUNCE: reflected draft-howard-nis-schema-01.txt
 2675 * ldap-spwd.c: default for shadow integer values is -1, not 0 and fixed
 2676   crasher (thanks to dj@gregor.com)
 2677 
 2678 
 2679 changes from 2.25 to 2.26
 2680 -------------------------
 2681 
 2682 * globals.c: added offset stuff back for mapping errnumbers. Weird: this stuff
 2683   *was* in an earlier version of the work area. I have no idea where it went.
 2684   Scary.
 2685 
 2686 
 2687 changes from 2.24 to 2.25
 2688 -------------------------
 2689 
 2690 * irs-nss.h: added prototype for irs_ldap_acc()
 2691 * ldap-*.[ch]: removed redundent PARSER macro
 2692 * unbroke for GNU NSS (context_key_t changed to context_handle_t)
 2693 
 2694 
 2695 changes from 2.23 to 2.24
 2696 -------------------------
 2697 
 2698 * irs-nss.c: added dispatch table for IRS library
 2699 * testpw5.c: added additional test program
 2700 * ldap-nss.c: removed spurious debug statement
 2701 * ldap-nss.c, util.c, dnsconfig.c: cleaned up memory allocation for config.
 2702   (This could be improved, but there is no longer a static ldap_config_t
 2703   structure.)
 2704 * Makefile: general cleanup
 2705 
 2706 
 2707 changes from 2.22 to 2.23
 2708 -------------------------
 2709 
 2710 * default destructor is now simply wrapped around by individual backend
 2711   destructors
 2712 * __EXTENSIONS__ defined for Solaris 2.6 to import strncasecmp()
 2713 * getbyname: fixed crasher in ldap-nss.c due to uninitialized variable
 2714 * ldap-parse.h, assorted others: tidied up resolver calls to use NSS_ARGS()
 2715   macro and not to interfere with the previous backend's status (bad thing!)
 2716 * ldap-service.c: cleaned up potential uninitialized var in parser
 2717 * ldap-nss.c: no valued arrays are now { NULL } instead of NULL.
 2718 
 2719 
 2720 changes from 2.21 to 2.22
 2721 -------------------------
 2722 
 2723 * testpw.c: XXX problem. dies with segfault, but gdb doesn't give me enough
 2724   information; it's definitely within nss_ldap.so though. I just can't see the
 2725   symbols. (Maybe dbx would be better...) However, testpw doesn't work at
 2726   *all* under 2.5.1, and technically it shouldn't as it's not linked against
 2727   liblthread. I haven't been able to duplicate this with testpw2, which is the
 2728   same code linked with the thread library.
 2729 * backported to NeXT
 2730 
 2731 
 2732 changes from 2.20 to 2.21
 2733 -------------------------
 2734 
 2735 * resolve.h: renamed functions so as to keep namespace clean
 2736 * snprintf.h: tidied up for systems which already have snprintf() and renamed
 2737   anyway to keep namespace clean (_nss_ldap_snprintf)
 2738 * ldap-*.h: made character constants const to avoid nasty warnings
 2739 * globals.[ch]: as above
 2740 * README, TODO, ANNOUNCE: general documentation updates
 2741 * ldap-nss.c, et al: general work on Solaris 2.6 port, to get nscd working.
 2742   Lots of fiddling with the locking.
 2743 * Major architectural changes to Solaris NSS implementation. Thread specific
 2744   data is now stored in the backend, where it should be: just like it is in
 2745   IRS. Locking is a little more coarse now, but it will do for the moment.
 2746 * Paul Henson's DCE module gave me the inspiration to do the backend stuff the
 2747   "right" way -- thanks, Paul!
 2748 * As a result, a lot of the bugs listed in TODO have mysteriously fixed
 2749   themselves. :-)
 2750 
 2751 
 2752 changes from 2.19 to 2.20
 2753 -------------------------
 2754 
 2755 * Makefile.*: ensured resolve.[ch] and dnsconfig.[ch] were there.
 2756 * Makefile: should link now with gcc -shared instead of requiring cc.
 2757 
 2758 
 2759 changes from 2.18 to 2.19
 2760 -------------------------
 2761 
 2762 * testpw4.c: added irs hostbyname() test
 2763 * Makefile: added correct flags to build position indepdenent code with Sun's
 2764   compiler (thanks, Bill). Added SRV sources.
 2765 * testpw.c: works under NeXT, cleaned up a bit.
 2766 * ldap.conf: documented what this file does
 2767 * util.c: ignore blank lines in ldap.conf properly
 2768 * resolve.h: fixed up for Solaris
 2769 
 2770 
 2771 changes from 2.17 to 2.18
 2772 -------------------------
 2773 
 2774 * ldap-network.c: fixed infinite loop in getnetbyname()
 2775 * util.c: goto out causes a compiler warning under Solaris. Documented this.
 2776   Should fix this, I suppose, but we need to break out of two blocks. (We
 2777   could remove the code that handles multivalued DNs, as it's fairly unlikely
 2778   that someone will use a DN of o=Xedoc+dc=xedoc,c=US+dc=com, but who knows?)
 2779 * ldap-ethers.c: line 215, result was not assigned to an lvalue (should have
 2780   been args->status, not args). Fixed.
 2781 
 2782 
 2783 changes from 2.16 to 2.17
 2784 -------------------------
 2785 
 2786 * Cleaned up documentation and testpw4.c
 2787 * dnsconfig.c: Fixed strtok() bug which was clobbering domain
 2788 
 2789 
 2790 changes from 2.15 to 2.16
 2791 -------------------------
 2792 
 2793 * util.c (_nss_ldap_readconfig) fixed strtok() typo
 2794 
 2795 
 2796 changes from 2.2 to 2.15
 2797 ------------------------
 2798 
 2799 * dnsconfig.c: got DNS SRV support working under NEXTSTEP
 2800 * util.c: (_nss_ldap_getdomainname) made host and network DN parsing compliant
 2801   with current draft
 2802 
 2803 
 2804 changes from 2.1 to 2.2
 2805 -----------------------
 2806 
 2807 * I'll get around to merging in the RCS log here one day. Nothing very
 2808   exciting happened, I just backported the code to NEXTSTEP and compiled it.