"Fossies" - the Fresh Open Source Software Archive 
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.