]> git.sur5r.net Git - openldap/blob - contrib/slapd-modules/nssov/nss-ldapd/NEWS
ITS#5801
[openldap] / contrib / slapd-modules / nssov / nss-ldapd / NEWS
1 changes form 0.6.1 to 0.6.2
2 ---------------------------
3
4 * all user and group names are now checked for validity are specified in the
5   POSIX Portable Filename Character Set
6 * support retrieval of ranged attribute values as sometimes returned by Active
7   Directory
8 * added the threads keyword to configure the number of threads that should be
9   started in nslcd
10 * handle empty netgroups properly
11 * change the time out and retry mechanism for connecting to the LDAP server to
12   return an error quickly if the LDAP server is known to be unavailable for a
13   long time (this removed the reconnect_tries option and changes the meaning
14   of the reconnect_sleeptime and reconnect_maxsleeptime options)
15 * increased the time out values between the NSS module and nslcd because of
16   new retry mechanism
17 * implement new dict and set modules that use a hashtable to map keys
18   efficiently
19 * use the new set to store group membership to simplify memory management and
20   eliminate duplicate members
21 * the uniqueMember attribute now only supports DN values
22 * implement a cache for DN to user name lookups (15 minute timeout) used for
23   the uniqueMember attribute to save on doing LDAP searches for groups with a
24   lot of members, based on a patch by Petter Reinholdtsen
25 * improvements to the tests
26 * if any of the ldap calls return LDAP_UNAVAILABLE or LDAP_SERVER_DOWN the
27   connection is closed
28 * improve dependencies in LSB init script header to improve dependency based
29   booting
30
31
32 changes from 0.6 to 0.6.1
33 -------------------------
34
35 * numerous small fixes and compatibility improvements
36 * the I/O buffers between nslcd and NSS module are now dynamically sized and
37   tuned for common requests
38 * correctly follow referrals
39 * add StartTLS support by Ralf Haferkamp of SuSE
40 * miscellaneous documentation improvements
41 * remove code for handling rootbinddn/pw because it is unlikely to be
42   supported any time soon
43 * fix a problem with realloc()ed memory that was not referenced
44 * fix for a crash in group membership buffer growing code thanks to Petter
45   Reinholdtsen
46 * some improvements to the Active Directory sample configuration
47 * fix init script exit code with stop while not running
48 * fixes to the _nss_ldap_initgroups_dyn() function to properly handle the
49   buffer and limits passed by Glibc
50 * fixes to the member to groups search functions to correctly handle
51   uniqueMember attributes
52 * only return shadow entries to root users
53 * miscellaneous Debian packaging improvements
54
55
56 changes from 0.5 to 0.6
57 -----------------------
58
59 * fix parsing of map option in nss-ldapd.conf
60 * fix bug in handling of userPassword values
61 * remove warning about missing loginShell attribute
62 * support the uniqueMember LDAP attribute that holds DN values
63 * support ldap as a compat service in /etc/nsswitch.conf
64 * implement _nss_ldap_initgroups_dyn() to allow username->groups searches
65 * fix retry mechanism with get*ent() functions where a too small buffer was
66   passed by libc (to support groups with a lot of members)
67 * fix a bug in reporting of communications problems between nslcd and the NSS
68   library
69 * test and log failures of all LDAP library calls
70 * improved tests
71 * miscellaneous compatibility improvements to try to support more LDAP
72   libraries and platforms
73 * support compilation with OpenLDAP 2.4 and newer
74 * some configure script improvements
75 * Debian packaging improvements
76
77
78 changes from 0.4.1 to 0.5
79 -------------------------
80
81 * major structural changes in the LDAP lookup code using a newly implemented
82   module that does memory management, session handling, paging and all other
83   painful things with a simple interface
84 * rewritten LDAP query and result handling code, now generating warnings
85   about incorrect entries in the LDAP directory
86 * IPv6 addresses in host lookups are now supported
87 * added Kerberos ccname support (with the krb5_ccname option) thanks to
88   Andreas Schneider and Ralf Haferkamp from SuSE and remove --with-gssapi-dir,
89   --enable-configurable-krb5-ccname-gssapi and
90   --enable-configurable-krb5-ccname-env configure options and having automatic
91   detection instead
92 * added support for DNS SRV record lookups by specifying DNS as uri thanks to
93   Ralf Haferkamp and Michael Calmer from SuSE
94 * added support for DOMAIN as base DN which uses the host's domain to
95   construct a DN
96 * removed nss_connect_policy, bind_policy and sizelimit options
97 * cleaned up and documented reconnect logic with reconnect_tries,
98   reconnect_sleeptime and reconnect_maxsleeptime options
99 * configuration values with spaces in them (e.g. distinguished names) are now
100   handled properly
101 * fix a small memory leak in the I/O module
102 * miscellaneous code improvements (better source code comments, more
103   consistent logging, portability improvements, more tests, etc)
104 * improvements to documentation
105
106
107 changes from 0.4 to 0.4.1
108 -------------------------
109
110 * added French debconf translation by Cyril Brulebois
111 * added Japanese debconf translation by Kenshi Muto
112 * fix a problem with network name lookups where the lookup would result
113   in the wrong call to nslcd
114 * fix wrong default filter for rpc lookups
115 * fix a number of memory leaks (thanks valgrind)
116   (all memory leaks during normal operation should be fixed now)
117
118
119 changes from 0.3 to 0.4
120 -----------------------
121
122 * remove nss_schema configfile option
123 * temporary remove support for uniqueMember group membership attributes (will
124   be re-added in a later release)
125 * removed support for nested groups, if this is really needed (please ask or
126   file a bug if you want it) it can be re-added later on
127 * added missing docbook sources for manual pages to tarball
128 * major cleanups and simplifications in the core LDAP query code (we don't
129   need to worry about SIGPIPE because nslcd does that globally, locking
130   because a connection is only used by one thread) and more simplifications in
131   the the LDAP connection and query state
132 * get base, scope, filter and map configfile directives properly working
133 * simplifications in LDAP reconnect logic (some work remains to be done in
134   this area)
135 * issue warnings or errors for untested or unsupported configuration options
136 * properly handle multiple URIs in Debian configuration
137 * documentation improvements
138
139
140 changes from 0.2.1 to 0.3
141 -------------------------
142
143 * a bug in the communication buffer handling code was fixed
144 * a bug in the dictionary code was fixed (code not yet in use)
145 * a fix for the init script that used a wrong pidfile
146 * configuration file handling code was rewritten to be better maintainable
147 * some configuration file options have changed which means that compatibility
148   with the nss_ldap configuration file is lost
149 * configuration syntax is now documented in the nss-ldapd.conf(5) manual page
150 * support for dnsconfig was removed
151 * the configuration file no longer supports using multiple search bases
152 * removed nss_initgroups and nss_initgroups_ignoreusers options
153 * removed --enable-paged-results configure option and use pagesize
154   configuration file option to specify usage of paging at runtime
155 * added Portuguese debconf translation by Américo Monteiro
156 * Debian package configuration improvements and simplifications
157 * use docbook2x-man for generating manual pages
158 * miscellaneous documentation improvements including improved manual pages
159 * general code reorganisation and clean-ups to achieve another 9% code
160   reduction relative to 0.2.1 release (more than 40% relative to nss_ldap)
161 * SASL, Kerberos and SSL/TLS support remain untested
162
163
164 changes from 0.2 to 0.2.1
165 -------------------------
166
167 * fix permissions of server socket (this fixes a problem where non-root users
168   were unable to do lookups)
169 * fix configure script to properly check for pthread support
170 * small code improvements
171 * general build system cleanups
172
173
174 changes from 0.1 to 0.2
175 -----------------------
176
177 * fixes to the netgroup lookup code
178 * more simplifications and improvements in the code almost 5% code reduction
179   (compared to release 0.1) and 37% reduction in gcc warnings (from 443 in 251
180   to 389 in 0.1 and 244 in 0.2)
181 * a lot of code improvements thanks to flawfinder, more gcc warnings, splint
182   and rats
183 * license change from GNU Library General Public License to GNU Lesser General
184   Public License (with the permission of Luke Howard)
185 * fix logging code to be cleaner and always use our own logging module
186 * a start has been made to make the code more testable and initial work to set
187   up a testing framework has been done
188 * implemented a timeout mechanism in the communication between the NSS part
189   and the nslcd server part
190
191
192 changes from nss_ldap 251 to nss-ldapd 0.1
193 ------------------------------------------
194
195 * initial release of nss-ldapd (should be functional but not yet stable enough
196   for production use)
197 * fork from the nss_ldap which was originally written by Luke Howard of PADL
198   Software Pty Ltd. changing package name to nss-ldapd and versioning scheme
199 * the functionality was split into a thin NSS library and a simple daemon
200   proxying the requests to the LDAP server (see README for rationale)
201 * a lot of dead and old compatibility code was removed (about 25% of the code
202   was removed) (more simplifications to come)
203 * the test code was rewritten
204 * build script simplifications
205 * default configuration file has been changed to /etc/nss-ldapd.conf
206 * most documentation has been updated and rewritten
207 * dropped support for non-glibc NSS interfaces and assumed OpenLDAP compatible
208   library
209
210
211 changes from 250 to 251
212 -----------------------
213
214 * remove doc/rfc2307.txt, it is available from
215   http://www.ietf.org/rfc/rfc2307.txt
216 * make objectClass a mappable attribute
217
218
219 changes from 249 to 250
220 -----------------------
221
222 * don't use static _nss_ldap_no_members buffer, causes crash when nss_ldap is
223   unloaded and memory is still referenced
224 * fix for BUG#249: tcsh closes file descriptors, confuses nss_ldap and hangs
225   (from David Houlder)
226 * fix for BUG#257: initgroups() broken in RFC2307bis support disabled
227 * fix for BUG#261: sslpath example wrong
228 * fix for BUG#263: compile do_triple_permutations() when IRS enabled
229
230
231 changes from 248 to 249
232 -----------------------
233
234 * fix for BUG#253: build broken on AIX
235 * fix for BUG#255: deadlock in initgroups
236
237
238 changes from 247 to 248
239 -----------------------
240
241 * fix regression in per-objectclass attribute mapping introduced in
242   nss_ldap-246
243
244
245 changes from 246 to 247
246 -----------------------
247
248 * double-check *ld != NULL even if mapped eror return from ldap_initialize()
249   returns NSS_SUCCESS
250
251
252 changes from 245 to 246
253 -----------------------
254
255 * paged results and RFC2307bis support are now always compiled in; they are by
256   default disabled unless you configured with --enable-paged-results and
257   --enable-rfc2307bis, respectively. See nss_ldap(5) for configuration
258   options.
259 * fix for BUG#219: paged results delivers wrong results
260 * fix for BUG#222: use asynchronous start TLS if available, using bind_timeout
261   value
262 * fix for BUG#235: make DNS SRV lookup domain configurable (nss_srv_domain)
263 * fix for BUG#240: return "*" rather than "x" for userPassword if not present
264 * fix for BUG#245: paged results broken since nss_ldap-241
265 * patch from Ralf Haferkamp <rhafer@suse.de>: compile fix for IPv6
266 * compile for Solaris
267 * schema mapping is always enabled, cleanup schema mapping code
268 * allow for map-specific objectclass mapping
269 * partial implementation of Solaris Simplified LDAP API, allows automountd
270   support on Solaris via nss_ldap
271 * for Linux automounter, always close connection after endautomntent() to
272   avoid persistent connection
273 * add nss_connect_policy argument to ldap.conf
274
275
276 changes from 244 to 245
277 -----------------------
278
279 * don't leak LDAP connection if do_bind() failed or descriptor owner had
280   changed. If do_bind() failed the underlying descriptor would also be leaked,
281   causing a large number of sockets to be consumed during failover
282 * add nss_initgroups_ignoreusers parameter to ldap.conf, returns NOTFOUND if
283   nss_ldap's initgroups() is called for users (comma separated)
284 * try to deal with systems that have headers for both versions of the SASL
285   library installed
286 * better logging of failed connections and reconnections
287 * patch from Dean Michaels <dean@interdynamix.com>: build with Netscape 5
288   library on Solaris
289 * patch from Ralf Haferkamp <rhafer@suse.de>: manual page fix to bind_policy
290
291
292 changes from 243 to 244
293 -----------------------
294
295 * patch from Ralf Haferkamp <rhafer@suse.de>: enusre bytesleft macro does not
296   return values < 0
297 * include <sys/param.h> in ldap-nss.c
298
299
300 changes from 242 to 243
301 -----------------------
302
303 * fix for BUG#225: invalid pointer dereferencing when reading rootpw
304
305
306 changes from 241 to 242
307 -----------------------
308
309 * fixes for compiling on Solaris 10
310
311
312 changes from 240 to 241
313 -----------------------
314
315 * new, more robust reconnection logic
316 * both "host" and "uri" directives can be used in ldap.conf
317 * new (undocumented) nss_reconnect_tries, nss_reconnect_sleeptime,
318   nss_reconnect_maxsleeptime, nss_reconnect_maxconntries directives
319 * reload configuration file if changed
320
321
322 changes from 239 to 240
323 -----------------------
324
325 * new API for resolving automounts (requires custom autofs plugin for Linux at
326   present): _nss_ldap_setautomntent(), _nss_ldap_getautomntent(),
327   _nss_ldap_endautomntent(), _nss_ldap_getautomntbyname_r()
328 * fix for BUG#200: rename SOCKLEN_T as it conflicts on AIX
329 * fix for BUG#205: accept line feeds in ldap.conf
330 * fix for BUG#211: nss_ldap fails to start TLS on referred connections
331 * fix for BUG#213: initgroups crash if RFC2307bis undefined
332 * turn down reconnection logging volume
333
334
335 changes from 238 to 239
336 -----------------------
337
338 * support for initgroups using backlinks (selectable at runtime if RFC2307bis
339   support is enabled, using the nss_initgroups backlink configuration
340   directive)
341 * support for dynamically expanding filter sizes
342 * from Peter Marschall <peter@adpm.de>: revert the deletion of blanks/tabs in
343   ldap.conf that happened between 235 and 238
344 * from Peter Marschall <peter@adpm.de>: This patch changes configure.in and
345   Makefile.am so that ldap.conf gets installed in the place and with the name
346   that is given to the configure option --with-ldap-conf-file. In addition to
347   that it fixes a long standing bug in Makefile.am that tries to install a
348   file before the destination directory is guaranteed to be created (hunk #3),
349   and uses $(mkinstalldirs) for AIX (hunk #2).
350
351
352 changes from 237 to 238
353 -----------------------
354
355 * more manual page updates
356
357
358 changes from 236 to 237
359 -----------------------
360
361 * more manual page updates
362
363
364 changes from 235 to 236
365 -----------------------
366
367 * fix for BUG#201: typo in ldap-schema.c causing build to fail
368 * add manual page for nss_ldap
369
370
371 changes from 234 to 235
372 -----------------------
373
374 * fix for BUG#198: make pagesize configurable
375 * fix for BUG#199: correct fix for BUG#138 (blind last char remove in
376   ldap.secret)
377
378
379 changes from 233 to 234
380 -----------------------
381
382 * don't reacquire global lock in do_next_page()
383 * restore old "bind_policy hard" behaviour (don't try to reconnect if
384   initialization failed). The behaviour introduced in nss_ldap-227 can be
385   enabled with "bind_policy hard_init".
386
387
388 changes from 232 to 233
389 -----------------------
390
391 * if do_open() returns NSS_UNAVAIL, don't try to do server reconnect; only do
392   it if NSS_TRYAGAIN is returned This should fix the problems introduced by
393   the fixes in nss_ldap-227 (delayed binding)
394
395
396 changes from 231 to 232
397 -----------------------
398
399 * fix for BUG#138 (blind last char remove in ldap.secret)
400
401
402 changes from 229 to 230
403 -----------------------
404
405 * don't free gss_krb5_ccache_name() output (Heimdal)
406
407
408 changes from 228 to 229
409 -----------------------
410
411 * more debugging in initgroups and _nss_ldap_getentry()
412 * fix _nss_ldap_getentry() enumeration behaviour, and optimize by not
413   searching if the requested attribute cannot be mapped
414
415
416 changes from 227 to 228
417 -----------------------
418
419 * fix for BUG#188: better documentation for OpenLDAP SSL options
420 * fix for BUG#189: do not configure tls_checkpeer unless it is explicitly
421   specifier in ldap.conf
422 * fix for BUG#190: set ls_state to LS_UNINITIALIZED after fork
423
424
425 changes from 226 to 227
426 -----------------------
427
428 * separate initializing LDAP session with actually connecting to the DSA, so
429   that we don't try to bind until we actually need to search (which allows the
430   retry logic in the search function to also apply to binding). NB: this will
431   only provide improved behavior for LDAP client libraries that support
432   ldap_init() or ldap_initialize() rather than ldap_open
433 * fix for BUG#183: support pw_change and pw_expire on BSD
434 * fix for BUG#187: NSS_BUFLEN_DEFAULT causing problems on IRS platforms
435 * fix for glibc 2.1 from Alexander Spannagel
436
437
438 changes from 225 to 226
439 -----------------------
440
441 * make LDAP_NSS_NGROUPS configurable with --with-ngroups (experts only) option
442
443
444 changes from 224 to 225
445 -----------------------
446
447 * make LDAP_NSS_NGROUPS 64 - better choice for small directories
448
449
450 changes from 223 to 224
451 -----------------------
452
453 * don't double-free on realloc() failure in do_parse_group_members()
454 * don't pass LDAP session as an argument, as it may refer to a stale LDAP
455   handle. If this does not work we will need to replace LDAPMessage pointers
456   with pointers to a structure that contains a reference-counted LDAP handle
457   as well as the message
458 * fix crasher when internal group membership buffer was reallocated
459   (introduced with nested group expansion code)
460 * immediately return NSS_TRYAGAIN and errno=ERANGE if there is not enough
461   buffer space to handle LDAP_NSS_NGROUPS groups; this prevents getgrXXX()
462   from expensive repeated directory searches when there is a priori knowledge
463   that group memberships are large
464
465
466 changes from 222 to 223
467 -----------------------
468
469 * allow empty lines in /etc/ldap.conf
470 * do loop detection in nested groups
471 * fixes for building with IRS on FreeBSD 4.10
472
473
474 changes from 221 to 222
475 -----------------------
476
477 * fix deadlock in _nss_ldap_getentry()
478 * support more AIX usersec attributes
479 * more AIX porting fixes
480 * support Heimdal as well as MIT Kerberos
481
482
483 changes from 220 to 221
484 -----------------------
485
486 * AIX fix from <carlos.celso@embraer.com.br> Recall #169033
487 * support for expansion of nested RFC2307bis groups
488 * support for searching using range retrieval
489 * fix memory leak with private contexts
490 * fix memory leak in do_result()
491 * implement _nss_ldap_getentry for AIX enumeration
492 * implement netgroups for IRS/AIX
493 * remove dependency on Berkeley DB - schema mapping and RFC2307bis no longer
494   requires DB
495 * remove old NeXT cruft in resolve.c
496
497
498 changes from 218 to 220
499 -----------------------
500
501 * fix for BUG#169: getntohost() on Solaris
502 * fix for BUG#170: _nss_ldap_getgroupsbymember_r fails to return all groups
503   when NSCD is running and attribute mapping is enabled on Solaris
504 * fix for BUG#173: reinstate use of sigaction() (XXX what is the correct fix
505   here?)
506 * fix for BUG#174: innetgr() depth checking
507
508
509 changes from 217 to 218
510 -----------------------
511
512 * fix for BUG#168: set errnop to ENOENT if not found
513 * check for -lgssapi before -lgssapi_krb5
514
515
516 changes from 216 to 217
517 -----------------------
518
519 * fix for BUG#167: compilation fails on Solaris
520
521
522 changes from 215 to 216
523 -----------------------
524
525 * patch from Thorsten Kukuk to avoid overwriting sockaddr storage for IPv6;
526   use struct sockaddr_storage if available
527 * fix for BUG#153: use asynchronous search API in initgroups()
528 * fix for BUG#157: check for __pthread_once rather than __pthread_atfork on
529   glibc, as the latter is no longer exported
530 * fix for BUG#158: escape netgroup search filters correctly
531 * fix for BUG#161: remove redundant lock in _nss_ldap_innetgr()
532 * fix for BUG#164: set schema element array size to LM_NONE + 1 not LM_NONE
533 * fix for BUG#165: make _nss_ldap_result() private
534 * fix for BUG#166: chase all nested netgroups in innetgr()
535 * fix deadlock if getXXXent() called without first calling setXXXent()
536 * only request gidNumber attribute when initgroups() (avoids sending back rest
537   of a group's entry)
538 * don't request any attributes when mapping a user to a DN (we want the DN
539   only)
540
541
542 changes from 214 to 215
543 -----------------------
544
545 * choose between using native GSS-API and putenv() for setting ccache path
546 * per-map attribute mapping for attributes that appear in multiple maps
547
548
549 changes from 213 to 214
550 -----------------------
551
552 * define LDAP_DEPRECATED for compiling against OpenLDAP 2.2
553
554
555 changes from 212 to 213
556 -----------------------
557
558 * fix netgroup compilation error when debugging is enabled
559 * support GSS-API for setting ccache name
560 * initgroups() should require user to be a POSIX account
561 * define LOGNAME_MAX for HP-UX
562 * do not use sigprocmask() - this blocks rather than disabling signals
563 * SASL version check fix from Howard Chu
564
565
566 changes from 211 to 212
567 -----------------------
568
569 * Solaris netgroup support test release
570 * fix crasher in do_sasl_interact()
571 * do_sasl_interact() needs to strdup() result for Cyrus SASL 1.x but not 2.x
572 * merge in LDAP debug patch from Howard Chu
573 * try alternate search descriptors on NSS_NOTFOUND as well as NSS_SUCCESS
574
575
576 changes from 210 to 211
577 -----------------------
578
579 * do AT_OC_MAP cache initialization at config init
580 * BSD build fixes
581 * replace [h]errno2nssstat lookup tables with switch statement; should help
582   building on AIX!
583
584
585 changes from 209 to 210
586 -----------------------
587
588 * initialize DBT structures
589 * fix SASL crasher
590
591
592 changes from 208 to 209
593 -----------------------
594
595 * fix SASL breakage
596
597
598 changes from 207 to 208
599 -----------------------
600
601 * use socklen_t not int
602 * remove OpenLDAP SASL code
603 * incorporated patches from (see below) Geert Jansen
604 * add the "sasl_secprops" option to configure SASL security layers (usage as
605   for OpenLDAP ldap.conf)
606 * add the "krb5_ccname" option to specify the location of the Kerberos ticket
607   cache (requires --enable-configurable-krb5-ccname for now as it is a fairly
608   coarse solution to a lack of appropriate API in the Kerberos libraries)
609 * add support for native Active Directory password policy attributes (enabled
610   if shadowLastChange is mapped to pwdLastSet)
611 * add "nss_override_attribute_value" and "nss_default_attribute_value"
612   keywords for over- riding and setting default attribute values, respectively
613
614
615 changes from 205 to 207
616 -----------------------
617
618 * work without LDAP_OPT_X_TLS_RANDOM_FILE
619 * fix schema mapping regression from nss_ldap-205; attribute mapping now works
620   again
621
622
623 changes from 204 to 205
624 -----------------------
625
626 * build with Sleepycat DB without db185 compat layer (tested with 4.x; needs
627   testing on 3.x)
628
629
630 changes from 203 to 204
631 -----------------------
632
633 * Linux netgroup implementation from Larry Lile
634 * Multiple service search descriptor support from Symas
635 * IPv6 patch from Thorsten Kukuk at SuSE
636
637
638 changes from 202 to 203
639 -----------------------
640
641 * fix for BUG#115
642 * fix for BUG#121
643
644
645 changes from 201 to 202
646 -----------------------
647
648 * getsockname() fixes from Howard Chu
649 * configuration parser crasher fix
650
651
652 changes from 200 to 201
653 -----------------------
654
655 * Berkeley DB fixes from Howard Chu
656 * Netscape client library build fix
657
658
659 changes from 199 to 200
660 -----------------------
661
662 * use sigprocmask() if available to block SIGPIPE
663 * fix build breakage with OpenLDAP HEAD
664
665
666 changes from 198 to 199
667 -----------------------
668
669 * HP-UX port
670 * BUG#111: incorrect debugging statement in _nss_ldap_enter()
671 * export required symbols only on Linux
672 * corrected symbol names for glibc alias enumeration functions
673 * the DNS response parser doesn't stop after parsing the right number of
674   records, and doesn't handle long responses (Nalin at RedHat)
675
676
677 changes from 197 to 198
678 -----------------------
679
680 * BUG#108: fix potential buffer overflow in dnsconfig.c (could be triggered if
681   no flat file configuration for nss_ldap and large DNS SRV data for domain;
682   because nss_ldap in SRV mode trusts DNS we do not believe this to be
683   exploitable to elevate privilege in the default configuration)
684 * do not malloc() configuration structure; use buffer
685
686
687 changes from 196 to 197
688 -----------------------
689
690 * improved AIX documentation from Dejan Muhamedagic
691 * define LDAP_OPT_SSL for Solaris 9
692
693
694 changes from 195 to 196
695 -----------------------
696
697 * return NSS_TRYAGAIN not NSS_NOTFOUND for insufficient buffer space in
698   dn2uid_cache_get()
699 * support automake 1.5 and friends
700 * out of box build on AIX 4.3.3
701 * fixed BUG#104: do_ssl_options() return code ignored
702
703
704 changes from 194 to 195
705 -----------------------
706
707 * fixed BUG#98: large groups cause buffer length wraparound with rfc2307bis
708
709
710 changes from 193 to 194
711 -----------------------
712
713 * bugfix for Debian Bug report #147553: lack of global mutex use in
714   initgroups()
715
716
717 changes from 192 to 193
718 -----------------------
719
720 * support for PADL GSS-SASL client library
721
722
723 changes from 191 to 192
724 -----------------------
725
726 * more carefully compare cached socket and peer addresses
727
728
729 changes from 190 to 191
730 -----------------------
731
732 * added configurable [hard|soft] reconnect, see the bind_policy parameter in
733   ldap.conf.
734
735
736 changes from 189 to 190
737 -----------------------
738
739 * check for Netscape 4 SDK without SSL; don't require pthreads for these
740
741
742 changes from 188 to 189
743 -----------------------
744
745 * patch for building on OpenLDAP 1.x from Nalin at RedHat
746
747
748 changes from 187 to 188
749 -----------------------
750
751 * specify runtime path for LDAP library correctly to native Solaris linker
752 * check for gcc correctly
753 * use native linker on Solaris and AIX
754
755
756 changes from 186 to 187
757 -----------------------
758
759 * make bogusSd in ldap-nss.c conditional on !HAVE_LDAP_LD_FREE
760 * merge in paged result support from Max Caines
761 * bugfixes for Debian Bug report #140854
762
763
764 changes from 185 to 186
765 -----------------------
766
767 * incorporated patch for Debian Bug report #140854, where nss_ldap could in
768   some cases close a descriptor it did not own. Patch was provided by Luca
769   Filipozzi.
770
771
772 changes from 184 to 185
773 -----------------------
774
775 * updated copyrights
776 * fix for BUG#82: set close on exec (Debian bug 136953)
777
778
779 changes from 183 to 184
780 -----------------------
781
782 * return NSS_TRYAGAIN if no buffer space in ldap-grp.c
783
784
785 changes from 181 to 183
786 -----------------------
787
788 * return error strings in AIX authentication routine
789 * initialize schema in getgroupsbymember()
790 * fix for tls_checkpeer; pass NULL session in to set global option
791 * BUG#77: configurable config file locations
792
793
794 changes from 181 to 181
795 -----------------------
796
797 * ignore SIGPIPE whilst inside nss_ldap library routines to prevent crashing
798   on down LDAP server; possible fix for Debian bug 130006
799 * removed --enable-no-so-keepalive; always try to disable SO_KEEPALIVE on
800   underlying socket to LDAP server
801 * include local copy of irs.h under AIX
802 * general cleanup of locking code
803 * _nss_ldap_no_members appears to only need defining for when RFC2307bis is
804   enabled
805
806
807 changes from 179 to 180
808 -----------------------
809
810 * pull in libpthreads on AIX
811
812
813 changes from 178 to 179
814 -----------------------
815
816 * a couple more patches for AIX
817
818
819 changes from 177 to 178
820 -----------------------
821
822 * patch from Gabor Gombas for AIX support
823 * Makefile.am: sasl.o needed by NSS_LDAP
824 * aix_authmeth.c: method_passwordexpired is really method_passwdexpired; but
825   since the struct was bzero()ed no need to set it to NULL
826 * configure.in: support both gcc and xlc_r
827 * exports.aix: sv_byport was not exported
828 * ldap-grp.c: getgrset() returned group names instead of gid numbers
829
830
831 changes from 176 to 177
832 -----------------------
833
834 * patch for building on AIX from IBM
835 * added simple authentication support for AIX
836 * cleaned up SASL patch to not break if Cyrus SASL is not installed
837
838
839 changes from 175 to 176
840 -----------------------
841
842 * fixed bug in SASL patch which had required OpenLDAP headers
843
844
845 changes from 174 to 175
846 -----------------------
847
848 * incorporated GSS-API SASL patches
849 * rebind to server on LDAP_LOCAL_ERROR
850
851
852 changes from 173 to 174
853 -----------------------
854
855 * added patches from Maxim Batourine for compiling with Sun workshop compiler
856 * added notes re: 64-bit compile on Solaris from above source
857
858
859 changes from 172 to 173
860 -----------------------
861
862 * notes on IRS in doc/README.IRS
863 * added irs.h for AIX compat
864 * patch from Bob Guo for stripping trailing spaces in ldap.conf.
865
866
867 changes from 171 to 172
868 -----------------------
869
870 * fixed schema mapping bug by storing a copy of the mapped schema in the
871   Berkeley DB rather than the element itself. Because the DB library returns
872   static storage, this was causing problems where the schema mapping calls
873   were used to build the attribute table in ldap-schema.c. This bugfix was
874   sponsored by n2h2.com; thanks!
875
876
877 changes from 170 to 171
878 -----------------------
879
880 * added ldap.conf stanza for AIX
881 * workaround for schema mapping bug.
882
883
884 changes from 169 to 170
885 -----------------------
886
887 * use _nss_ldap_getrdnvalue() for determining canonical group name
888
889
890 changes from 168 to 169
891 -----------------------
892
893 * fixed typo in ldap-service.c; prefix filters now with _nss_ldap
894
895
896 changes from 167 to 168
897 -----------------------
898
899 * initialize old_handler to SIG_DFL
900 * incorporate Stephan Cremer's mapping patches, a big thanks to Stephan for
901   these!
902 * use LDAP_OPT_NETWORK_TIMEOUT if available for network connect timeout
903 * removed hard-coded schema mapping for authPassword, NDS and MSSFU
904
905
906 changes from 166 to 167
907 -----------------------
908
909 * support for new OpenLDAP rebind proc prototype
910 * in rebind function, respect timeout
911 * fix for PADL Release Control
912
913
914 changes from 165 to 166
915 -----------------------
916
917 * corrected small typos
918
919
920 changes from 164 to 165
921 -----------------------
922
923 * posixMember is a distinguished name, don't pretend it is a login name
924 * cleaned up code referencing different member syntaxes
925
926
927 changes from 163 to 164
928 -----------------------
929
930 * removed IDS_UID code, never worked properly
931
932
933 changes from 162 to 163
934 -----------------------
935
936 * removed context_free function, usage confusing
937
938
939 changes from 161 to 162
940 -----------------------
941
942 * in reconnect harness, do not treat entry not found errors as requiring a
943   reconnect
944
945
946 changes from 160 to 161
947 -----------------------
948
949 * hopefully fixed use of synchronous searches in _nss_ldap_getbyname()
950
951
952 changes from 159 to 160
953 -----------------------
954
955 * patch from RedHat to check for DB3, override install user/group optionally
956 * use synchronous searches for _nss_ldap_getbyname()
957 * only set SSL options if we have values for those options
958
959
960 changes from 158 to 159
961 -----------------------
962
963 * make do_ssl_options() take a config parameter; avoid segfault with SSL?
964
965
966 changes from 157 to 158
967 -----------------------
968
969 * in the distinguished name to login cache (dn2uid) make sure we use the
970   AT(uid) macro for the uid attribute rather than the hard-coded value of
971   "uid" This should enable the cache for MSSFU support.
972
973
974 changes from 156 to 157
975 -----------------------
976
977 * for MSSFU, use posixMember for group memberships rather than member
978   (reported by Andy Rechenberg)
979 * ignore SIGPIPE before calling do_close() for idle_timeout
980
981
982 changes from 155 to 156
983 -----------------------
984
985 * logic was around the wrong way in do_search(), all searches were broken!
986 * --disable-ssl option for configure
987 * removed "Obsoletes: pam_ldap" from spec file
988
989
990 changes from 154 to 155
991 -----------------------
992
993 * do not use private API when setting OpenLDAP TLS options (do_ssl_options())
994
995
996 changes from 153 to 154
997 -----------------------
998
999 * notes from Scott M. Stone <sstone@foo3.com>
1000 * idle timeout patch from Steve Barrus
1001
1002
1003 changes from 152 to 153
1004 -----------------------
1005
1006 * SSL fix
1007
1008
1009 changes from 151 to 152
1010 -----------------------
1011
1012 * further patch from Jarkko for TLS/SSL auth: support for LDAPS/cipher suite
1013   selection/ client key/cert authentication
1014
1015
1016 changes from 150 to 151
1017 -----------------------
1018
1019 * patch from Andrew Rechenberg for Active Directory schema support
1020 * patch from Jarkko Turkulainen <jt@wapit.com> for peer certificate support
1021   with OpenLDAP
1022
1023
1024 changes from 149 to 150
1025 -----------------------
1026
1027 * patch from Anselm Kruis for URI support
1028
1029
1030 changes from 148 to 149
1031 -----------------------
1032
1033 * fixed compile on Solaris, broken in 145 by malformed Linux patch
1034
1035
1036 changes from 147 to 148
1037 -----------------------
1038
1039 * check for HAVE_LDAP_SET_OPTION always
1040
1041
1042 changes from 146 to 147
1043 -----------------------
1044
1045 * check for ldap_set_option(), as LDAP_OPT_REFERRALS is defined for OpenLDAP
1046   1.x but without the ldap_set_option() function
1047
1048
1049 changes from 145 to 146
1050 -----------------------
1051
1052 * mass re-indentation, GNU style
1053 * patch from Simon Wilkinson <sxw@sxw.org.uk> for compatibility with old
1054   initgroups entry point
1055 * request authPassword attribute if --enable-authpassword
1056 * authPassword support in ldap-spwd.c (shadow)
1057
1058
1059 changes from 144 to 145
1060 -----------------------
1061
1062 * preliminary support for authPassword attribute
1063 * updated COPYING
1064 * patch from Szymon Juraszczyk to suppot _nss_ldap_initgroups_dyn prototype
1065
1066
1067 changes from 143 to 144
1068 -----------------------
1069
1070 * when specifying filters with nss_base_XXX, only escape the filter argument
1071   not the entire filter
1072
1073
1074 changes from 142 to 143
1075 -----------------------
1076
1077 * patch from nalin@redhat.com to avoid corrupting the heap when the
1078   configuration file exists but has no host and base values.
1079   _nss_ldap_readconfigfromdns() will write to the region which was already
1080   freed.
1081
1082
1083 changes from 141 to 142
1084 -----------------------
1085
1086 * patch from Simon Wilkinson <sxw@sxw.org.uk> for memory leak in
1087   ldap-service.c
1088
1089
1090 changes from 140 to 141
1091 -----------------------
1092
1093 * fix for BUG#54 (AIX detection broken)
1094 * use -rpath on all platforms except Solaris,
1095   not just Linux
1096
1097
1098 changes from 139 to 140
1099 -----------------------
1100
1101 * fix configure bug for DISABLE_SO_KEEPALIVE
1102 * fix alignment bug in util.c; this was causing Solaris to crash whenever
1103   per-map search descriptors were specified in ldap.conf
1104
1105
1106 changes from 138 to 139
1107 -----------------------
1108
1109 * updated INSTALL file with boilerplate
1110 * fixed pointer error in ldap-nss.c
1111
1112
1113 changes from 137.1 to 138
1114 -------------------------
1115
1116 * close config file FILE * if out of buffer space for parsing search
1117   descriptor
1118 * fixed bug where non-recognized directives in ldap.conf would cause the
1119   configuration file to not be parsed at all, if they were the last entries in
1120   the config file.
1121
1122
1123 changes from 137 to 137.1
1124 -------------------------
1125
1126 * patch from nalin@redhat.com; return { NULL } not NULL for no group members
1127 * cleaned up usage of libc-lock.h weak aliases to pthreads API; use in ltf.c
1128   also
1129 * use __libc_atfork() or pthread_atfork() to close off connection on fork,
1130   rather than checking PIDs; this is expensive and breaks on Linux where each
1131   thread may have a different PID.
1132
1133
1134 changes from 136 to 137
1135 -----------------------
1136
1137 * build nss_ldap as a loadable module on AIX
1138 * doco on AIX
1139
1140
1141 changes from 135 to 136
1142 -----------------------
1143
1144 * define -DPIC for FreeBSD
1145 * link with -shared not --shared
1146 * fixes for AIX
1147
1148
1149 changes from 134 to 135
1150 -----------------------
1151
1152 * merged ldap.conf
1153 * fixed bug in concatenating relative search bases in ldap-nss.c (profile
1154   support)
1155
1156
1157 changes from 133 to 134
1158 -----------------------
1159
1160 * fixed Makefile.am
1161 * reordered DB search order in util.c
1162
1163
1164 changes from 132 to 133
1165 -----------------------
1166
1167 * make /usr/lib directory in Makefile.am
1168 * new spec file from Joe Little
1169
1170
1171 changes from 131 to 132
1172 -----------------------
1173
1174 * fixed rebind preprocessor logic
1175
1176
1177 changes from 130 to 131
1178 -----------------------
1179
1180 * created files for automake happiness
1181
1182
1183 changes from 129 to 130
1184 -----------------------
1185
1186 * fixed typo preventing build with Netscape client library
1187
1188
1189 changes from 128 to 129
1190 -----------------------
1191
1192 * updated version number
1193 * fixed build bug on Solaris
1194
1195
1196 changes from 127 to 128
1197 -----------------------
1198
1199 * fixed logic bug in util.c introduced in nss_ldap-127
1200
1201
1202 changes from 126 to 127
1203 -----------------------
1204
1205 * updating copyright notices
1206 * autoconf support; IRIX and OSF/1 support has been dropped (dl-*.[ch]) as no
1207   one really used this, the implementation was a hack, and these operating
1208   systems have their own LDAP implementations now
1209 * added support for "referrals" and "restart" options to ldap.conf
1210 * use OpenLDAP 2.x rebind proc with correct arguments
1211 * added "timelimit" and "bind_timelimit" directives to ldap.conf
1212 * fixed bug with dereferencing aliases
1213 * preliminary support for profiles; recognise profile semantics in
1214   ldap-nss.c/util.c
1215 * parity with pam_ldap; "ssl" directive in ldap.conf can now specify "yes" or
1216   "start_tls" for Start TLS
1217 * hopefully fixed Berkeley DB include mess in util.c
1218 * fixed potential buffer overflow in util.c
1219 * default to LDAP protocol version 3
1220 * fixed leaks in util.c, dnsconfig.c
1221 * accept on/yes/true for boolean configuration values
1222 * tested building on FreeBSD, Solaris 8, Linux
1223 * tested functionality on RedHat 6.2
1224
1225
1226 changes from 124 to 126
1227 -----------------------
1228
1229 * fixed up Linux Makefiles to build libnss_ldap
1230
1231
1232 changes from 123 to 124
1233 -----------------------
1234
1235 * patch from nalin@redhat.com for StartTLS
1236 * fixed up indenting
1237
1238
1239 changes from 122.BZ52.2 to 123
1240 ------------------------------
1241
1242 * rolled in BUG#52 branch with fixes for AIX
1243
1244
1245 changes from 122.BZ52.1 to 122.BZ52.2
1246 -------------------------------------
1247
1248 * included ldap-schema.c; omitted from previous checkpoint
1249
1250
1251 changes from 122 to 122.BZ52.1
1252 ------------------------------
1253
1254 * preliminary fix for BUG#52 (support for different naming contexts for each
1255   map)
1256 * fixed bug in enumerating services map
1257
1258
1259 changes from 121 to 122
1260 -----------------------
1261
1262 * fixed BUG#50 (check return value of ldap_simple_bind())
1263
1264
1265 changes from 120 to 121
1266 -----------------------
1267
1268 * fixed BUG#49 (fix acknowledged race condition)
1269
1270
1271 changes from 119 to 120
1272 -----------------------
1273
1274 * added Makefile.aix and exports.aix (forgot)
1275
1276
1277 changes from 118 to 119
1278 -----------------------
1279
1280 * patch from Gabor Gombas <gombasg@inf.elte.hu> to support AIX implementation
1281   of BIND IRS
1282
1283
1284 changes from 117 to 118
1285 -----------------------
1286
1287 * Makefile.RPM.openldap2 from Joe Little
1288
1289
1290 changes from 116 to 117
1291 -----------------------
1292
1293 * permanently ignore SIGPIPE when using SSL. This bug should be fixed
1294   properly.
1295
1296
1297 changes from 115 to 116
1298 -----------------------
1299
1300 * added irs-nss.diff and README.IRS from Emile Heitor
1301
1302
1303 changes from 113 to 115
1304 -----------------------
1305
1306 * fixed filter escaping
1307 * call ldapssl_client_init() once only
1308 * include db_185.h not db.h for dn2uid cache
1309 * fixes for FreeBSD (IRS) support from Emile Heitor
1310
1311
1312 changes from 110 to 113
1313 -----------------------
1314
1315 * patch from Ben Collins to escape '*' in filters
1316
1317
1318 changes from 109 to 110
1319 -----------------------
1320
1321 * patch from Phlilip Liu for async binds
1322
1323
1324 changes from 108 to 109
1325 -----------------------
1326
1327 * omit socket check for -DSSL; it doesn't work
1328 * updated CONTRIBUTORS
1329 * updated README re HAVE_LDAP_LD_FREE
1330
1331
1332 changes from 107 to 108
1333 -----------------------
1334
1335 * included "deref" option in /etc/ldap.conf, compatible with OpenLDAP syntax.
1336   Patch from Michael Mattice.
1337
1338
1339 changes from 106.2 to 107
1340 -------------------------
1341
1342 * fixed argument to _nss_ldap_getent() in ldap-ethers.c
1343
1344
1345 changes from 106.1 to 106.2
1346 ---------------------------
1347
1348 * if root, use rootbinddn/rootbindpw in rebind proc
1349 * include objectClass in pwd required attributes
1350
1351
1352 changes from 105 to 106.1
1353 -------------------------
1354
1355 * if user is a shadowAccount, then don't return password in getpwent(),
1356   getpwuid() or getpwnam()
1357 * incorporated patch (from Doug Nazar):
1358 * allow getgrent() to be called without setgrent(); note arguments to
1359   _nss_ldap_getent() have changed.
1360 * return NSS_NOTFOUND instead of NSS_UNAVAIL at the end of a search
1361 * initialize len for getpeername()
1362
1363
1364 changes from 104 to 105
1365 -----------------------
1366
1367 * incorporated patch for deadlock under Solaris (from Dave Begley)
1368
1369
1370 changes from 103 to 104
1371 -----------------------
1372
1373 * new spec file
1374
1375
1376 changes from 102 to 103
1377 -----------------------
1378
1379 * don't call ldap_parse_result() with V2 API
1380
1381
1382 changes from 101 to 102
1383 -----------------------
1384
1385 * added defines for LDAP_MSG_ONE et al if not in ldap.h
1386 * removed LDAP_MORE_RESULTS_TO_RETURN test
1387
1388
1389 changes from 100 to 101
1390 -----------------------
1391
1392 * fixed spec file
1393
1394
1395 changes from 99 to 100
1396 ----------------------
1397
1398 * support for asynchronous search API!
1399 * added some contributors
1400 * notes about ldap_ld_free()
1401 * merged in ChangeLog
1402
1403
1404 changes from 98 to 99
1405 ---------------------
1406
1407 * added some netgroup implementation tips
1408 * do_close_no_unbind() cleanup
1409
1410
1411 changes from 97 to 98
1412 ---------------------
1413
1414 * /etc/nss_ldap.secret -> /etc/ldap.secret (sorry, Doug!)
1415 * deleted crypt-mechanism code. Junk.
1416 * fixed call to _nss_ldap_read() after changing prototypes in nss_ldap-88
1417
1418
1419 changes from 96 to 97
1420 ---------------------
1421
1422 * #ifndef HAVE_LDAP_LD_FREE, still call ldap_unbind(), but having closed the
1423   descriptor.
1424
1425
1426 changes from 95 to 96
1427 ---------------------
1428
1429 * re-orged
1430
1431
1432 changes from 94 to 95
1433 ---------------------
1434
1435 * disable SO_KEEPALIVE on socket rather than blocking SIGPIPE. Need to figure
1436   out the right way to do this.
1437
1438
1439 changes from 93 to 94
1440 ---------------------
1441
1442 * committed some changes for the parent/child close problem. It relies on
1443   internal libldap APIs so it may be non-portable but should work with
1444   OpenLDAP and Netscape client libraries, and perhaps most UMich- derived
1445   client libraries. There's a possible workaround for client libraries without
1446   this; undefine HAVE_LDAP_LD_FREE to test this.
1447
1448
1449 changes from 92 to 93
1450 ---------------------
1451
1452 * important fix: make sure return status is reset after do_open() ==
1453   NSS_SUCCESS, just in case no entries are returned. This bug was introduced
1454   in nss_ldap-88 and could potentially cause a security hole.
1455
1456
1457 changes from 91 to 92
1458 ---------------------
1459
1460 * signal handling fix: don't restore handler unnecessarily.
1461 * don't open nss_ldap.secret unless a root pw is specified in ldap.conf
1462
1463
1464 changes from 90 to 91
1465 ---------------------
1466
1467 * reorganized SIGPIPE blocking code
1468 * added SSL support
1469
1470
1471 changes from 89 to 90
1472 ---------------------
1473
1474 * only reconnect if we've changed to/from root
1475
1476
1477 changes from 88 to 89
1478 ---------------------
1479
1480 * cleaned up a few things
1481
1482
1483 changes from 87 to 88
1484 ---------------------
1485
1486 * added breaks to switch in _nss_ldap_lookup (thanks to Nathan.Hawkins@FMR.COM
1487   for pointing this out)
1488 * save signal handler and ignore SIGPIPE for appropriate sections of do_open()
1489   and confirm connection is still active (patch from rpatel@globix.com)
1490 * allow root users to bind as a different user, to provide quasi-shadow
1491   password support (patch from nazard@dragoninc.on.ca)
1492 * under Linux, make Makefile look at last libc version (patch from
1493   nazard@dragoninc.on.ca)
1494 * never clobber nsswitch.ldap/ldap.conf when making install (patch from
1495   nazard@dragoninc.on.ca)
1496 * change do_open() to not unbind the parent ldap connection when the pid
1497   changes but simply open a new connection (patch from nazard@dragoninc.on.ca)
1498 * changed _nss_ldap_lookup() and _nss_ldap_read() prototypes to return
1499   NSS_STATUS error codes, so that NSS_UNAVAIL percolates as appropriate.
1500
1501
1502 changes from 86 to 87
1503 ---------------------
1504
1505 * fixed looking up DN-membered groups by member. Thanks to Jeff Mandel for
1506   spotting this hard to find bug.
1507
1508
1509 changes from 85 to 86
1510 ---------------------
1511
1512 * member for NDS vs uniqueMember (needs further investigation; -DNDS)
1513
1514
1515 changes from 84 to 85
1516 ---------------------
1517
1518 * check non-NULLity of userdn before freeing
1519 * use AT(uid) for groupsbymember filter
1520
1521
1522 changes from 81 to 84
1523 ---------------------
1524
1525 * implemented _nss_ldap_initgroups()
1526
1527
1528 changes from 80 to 81
1529 ---------------------
1530
1531 * removed extraneous do_sleep() code
1532 * updated spec file
1533
1534
1535 changes from 2.79 to 80
1536 -----------------------
1537
1538 * (really 2.80) changed version number a la Solaris 7!
1539 * cleaned up schema stuff into ldap-schema.h
1540
1541
1542 changes from 2.78 to 2.79
1543 -------------------------
1544
1545 * implemented exponential backoff reconnect logic
1546
1547
1548 changes from 2.76 to 2.78
1549 -------------------------
1550
1551 * removed ldap.conf.ragenet from lineup
1552 * removed spurious do_close()
1553
1554
1555 changes from 2.75 to 2.76
1556 -------------------------
1557
1558 * added -lresolv to Solaris makefiles
1559
1560
1561 changes from 2.72 to 2.75
1562 -------------------------
1563
1564 * incorporated RPM patches from stein@terminator.net
1565
1566
1567 changes from 2.71 to 2.72
1568 -------------------------
1569
1570 * implemented getgroupsbymember() for Solaris. Supplementary groups should be
1571   initialized now. (NB: doesn't appear to be quite working for RFC2307bis
1572   yet.)
1573 * GNU indent-ified
1574
1575
1576 changes from 2.70 to 2.71
1577 -------------------------
1578
1579 * removed -DDEBUG as default build flag
1580
1581
1582 changes from 2.69 to 2.70
1583 -------------------------
1584
1585 * put /usr/ucblib back into linker search path for Solaris.
1586
1587
1588 changes from 2.68 to 2.69
1589 -------------------------
1590
1591 * added timeout, unavailable, and server busy conditions to rebind logic
1592 * indent -gnu all source files
1593
1594
1595 changes from 2.65 to 2.68
1596 -------------------------
1597
1598 * mods for glibc 2.1 (__set_errno is obselete it seems)
1599
1600
1601 changes from 2.64 to 2.65
1602 -------------------------
1603
1604 * mods to compile with OpenLDAP 2
1605
1606
1607 changes from 2.63 to 2.64
1608 -------------------------
1609
1610 * changed alias schema to Sun SDS nisMailAlias schema
1611 * updated TODO list to reflect Bugzilla entries
1612 * restored capitalization of attributes for "niceness"
1613
1614
1615 changes from 2.62 to 2.63
1616 -------------------------
1617
1618 * added patch from gero@faveve.uni-stuttgart.de for parsing of ldap.conf with
1619   tabs
1620 * some fixes for BSDI BSD/OS IRS
1621
1622
1623 changes from 2.61 to 2.62
1624 -------------------------
1625
1626 * added experimental support for DN-membered groups; to enable, define
1627   RFC2307BIS
1628 * fixed align bug (where buflen wasn't being decremented after pointer
1629   alignment)
1630
1631
1632 changes from 2.60 to 2.61
1633 -------------------------
1634
1635 * added warning about compiling with DS 4.1 LDAP SDK
1636
1637
1638 changes from 2.59 to 2.60
1639 -------------------------
1640
1641 * fixed missing close brace
1642
1643
1644 changes from 2.56 to 2.59
1645 -------------------------
1646
1647 * pw_comment field defaults to pw_gecos (Solaris only)
1648
1649
1650 changes from 2.55 to 2.56
1651 -------------------------
1652
1653 * fixed Makefile.linux.mozilla NSSLIBVER
1654
1655
1656 changes from 2.54.6 to 2.55
1657 ---------------------------
1658
1659 * merged in glibc-2.1 branch
1660
1661
1662 changes from 2.54.5 to 2.54.6
1663 -----------------------------
1664
1665 * misc fixes.
1666
1667
1668 changes from 2.54.4 to 2.54.5
1669 -----------------------------
1670
1671 * misc fixes.
1672
1673
1674 changes from 2.54.3 to 2.54.4
1675 -----------------------------
1676
1677 * glibc-2.1 patches from bcollins@debian.org
1678
1679
1680 changes from 2.51 to 2.54.3
1681 ---------------------------
1682
1683 * glibc-2.1 support. (Recall #93)
1684 * set erange correctly on Solaris (related to above)
1685 * added rebind function
1686
1687
1688 changes from 2.49 to 2.51
1689 -------------------------
1690
1691 * added stuff for RC
1692
1693
1694 changes from 2.47 to 2.49
1695 -------------------------
1696
1697 * configuration file is now case insensitive
1698
1699
1700 changes from 2.45 to 2.47
1701 -------------------------
1702
1703 * RFC2052BIS (_ldap._tcp) support
1704
1705
1706 changes from 2.44 to 2.45
1707 -------------------------
1708
1709 * added #include <stdlib.h> to globals.c
1710
1711
1712 changes from 2.42 to 2.44
1713 -------------------------
1714
1715 * NULL search base allowed (omit basedn from config file)
1716
1717
1718 changes from 2.39 to 2.42
1719 -------------------------
1720
1721 * fixed potential crasher in dnsconfig.c
1722 * LDAP session is now persistent for performance reasons. Removed references
1723   to the session anywhere outside ldap-nss.c. The process ID is cached and the
1724   session reopened after a fork().
1725
1726
1727 changes from 2.38 to 2.39
1728 -------------------------
1729
1730 * fixed warning in ldap-ethers.c (removed const from struct ether)
1731 * added ldap_version keyword to ldap.conf for parity with pam_ldap
1732
1733
1734 changes from 2.37 to 2.38
1735 -------------------------
1736
1737 * debugged ldap_explode_rdn() code
1738 * added support for Mozilla LDAP client library; see Makefile.linux.mozilla
1739   and ltf.c for more information. Thanks to Netscape for making their library
1740   available.
1741
1742
1743 changes from 2.36 to 2.37
1744 -------------------------
1745
1746 * moved to CVS repository and Linux as development environment
1747 * incorporated ldap-service.c fix from Greg
1748
1749
1750 changes from 2.35 to 2.36
1751 -------------------------
1752
1753 * util.c: will use ldap_explode_rdn() if it exists
1754
1755
1756 changes from 2.34 to 2.35
1757 -------------------------
1758
1759 * made util.c compile again. Silly me.
1760
1761
1762 changes from 2.33 to 2.34
1763 -------------------------
1764
1765 * fixed #endif in testpw.c
1766 * fixed another DN freeing leak in util.c
1767 * added RFC 2307 to distribution (fixed the two typos in it:
1768 * fixed bug in ...getrdnvalue() (thanks, Greg)
1769 * diff rfc2307.txt ~/rfc2307.txt
1770 480c480
1771 <           MUST ( cn $ ipProtocolNumber )
1772 ---
1773 >           MUST ( cn $ ipProtocolNumber $ description )
1774 1038c1038
1775 <         lester:X5/DBrWPOQQaI:10:10:Lester:/home/lester:/bin/csh
1776 ---
1777 >         lester:X5/DBrWPOQQaI:10:10:Lester:/home/lester:/bin/sh
1778
1779
1780 changes from 2.32 to 2.33
1781 -------------------------
1782
1783 * rolled in more patches from greg@rage.net:
1784 * removed _r from setXXXent and endXXXent functions for GNU_NSS
1785 * cleaned up testpw.c to use pthreads and protos
1786 * fixed prototype for gethostbyaddr_r on GNU_NSS
1787 * braced conditional in getservbyname_r
1788 * merged in Makefile.linux and README.LINUX diffs
1789 * added htons(port) in getservbyport_r
1790 * added nsswitch.test
1791 * added ldaptest.pl
1792 * added ldap.conf.ragenet
1793
1794
1795 changes from 2.31 to 2.32
1796 -------------------------
1797
1798 * moved Makefile to Makefile.solaris
1799 * cleaned up mutex code for Linux, hopefully
1800
1801
1802 changes from 2.30 to 2.31
1803 -------------------------
1804
1805 * fixed leak in util.c (need to free dn)
1806 * rolled in patches from greg@rage.net:
1807 * fixed ldap-ethers.c to use struct ether
1808 * fixed bracing in ldap-hosts.c (?)
1809 * added SSLEAY patch to ldap-nss.h
1810 * fixed locking in ldap-nss.h
1811 * Makefile changes incorporated into Makefile.linux
1812
1813
1814 changes from 2.29e to 2.30
1815 --------------------------
1816
1817 * synced into DevMan repository again
1818 * RFC 2307 is the one!
1819
1820
1821 changes from 2.29d to 2.29e
1822 ---------------------------
1823
1824 * util.c: fixed memory leak (call to ldap_value_free())
1825
1826
1827 changes from 2.29c to 2.29d
1828 ---------------------------
1829
1830 * ldap-ethers.c: fixed to use HOSTNAME attribute
1831
1832
1833 changes from 2.29b to 2.29c
1834 ---------------------------
1835
1836 * ieee8022Device -> ieee802Device
1837
1838
1839 changes from 2.29a to 2.29b
1840 ---------------------------
1841
1842 * added ieee8022Device and bootableDevice classes,
1843   at Sun's request.
1844
1845
1846 changes from 2.29 to 2.29a
1847 --------------------------
1848
1849 * dc -> cn
1850
1851
1852 changes from 2.28 to 2.29
1853 -------------------------
1854
1855 * changed host/network/ethers naming schema see the -02 draft revision for
1856   more info
1857
1858
1859 changes from 2.27 to 2.28
1860 -------------------------
1861
1862 * ldap-pwd.c, ldap-spwd.c: fixed tmpbuf stuff. Yuck.
1863
1864
1865 changes from 2.26 to 2.27
1866 -------------------------
1867
1868 * ANNOUNCE: reflected draft-howard-nis-schema-01.txt
1869 * ldap-spwd.c: default for shadow integer values is -1, not 0 and fixed
1870   crasher (thanks to dj@gregor.com)
1871
1872
1873 changes from 2.25 to 2.26
1874 -------------------------
1875
1876 * globals.c: added offset stuff back for mapping errnumbers. Weird: this stuff
1877   *was* in an earlier version of the work area. I have no idea where it went.
1878   Scary.
1879
1880
1881 changes from 2.24 to 2.25
1882 -------------------------
1883
1884 * irs-nss.h: added prototype for irs_ldap_acc()
1885 * ldap-*.[ch]: removed redundent PARSER macro
1886 * unbroke for GNU NSS (context_key_t changed to context_handle_t)
1887
1888
1889 changes from 2.23 to 2.24
1890 -------------------------
1891
1892 * irs-nss.c: added dispatch table for IRS library
1893 * testpw5.c: added additional test program
1894 * ldap-nss.c: removed spurious debug statement
1895 * ldap-nss.c, util.c, dnsconfig.c: cleaned up memory allocation for config.
1896   (This could be improved, but there is no longer a static ldap_config_t
1897   structure.)
1898 * Makefile: general cleanup
1899
1900
1901 changes from 2.22 to 2.23
1902 -------------------------
1903
1904 * default destructor is now simply wrapped around by individual backend
1905   destructors
1906 * __EXTENSIONS__ defined for Solaris 2.6 to import strncasecmp()
1907 * getbyname: fixed crasher in ldap-nss.c due to uninitialized variable
1908 * ldap-parse.h, assorted others: tidied up resolver calls to use NSS_ARGS()
1909   macro and not to interfere with the previous backend's status (bad thing!)
1910 * ldap-service.c: cleaned up potential uninitialized var in parser
1911 * ldap-nss.c: no valued arrays are now { NULL } instead of NULL.
1912
1913
1914 changes from 2.21 to 2.22
1915 -------------------------
1916
1917 * testpw.c: XXX problem. dies with segfault, but gdb doesn't give me enough
1918   information; it's definitely within nss_ldap.so though. I just can't see the
1919   symbols. (Maybe dbx would be better...) However, testpw doesn't work at
1920   *all* under 2.5.1, and technically it shouldn't as it's not linked against
1921   liblthread. I haven't been able to duplicate this with testpw2, which is the
1922   same code linked with the thread library.
1923 * backported to NeXT
1924
1925
1926 changes from 2.20 to 2.21
1927 -------------------------
1928
1929 * resolve.h: renamed functions so as to keep namespace clean
1930 * snprintf.h: tidied up for systems which already have snprintf() and renamed
1931   anyway to keep namespace clean (_nss_ldap_snprintf)
1932 * ldap-*.h: made character constants const to avoid nasty warnings
1933 * globals.[ch]: as above
1934 * README, TODO, ANNOUNCE: general documentation updates
1935 * ldap-nss.c, et al: general work on Solaris 2.6 port, to get nscd working.
1936   Lots of fiddling with the locking.
1937 * Major architectural changes to Solaris NSS implementation. Thread specific
1938   data is now stored in the backend, where it should be: just like it is in
1939   IRS. Locking is a little more coarse now, but it will do for the moment.
1940 * Paul Henson's DCE module gave me the inspiration to do the backend stuff the
1941   "right" way -- thanks, Paul!
1942 * As a result, a lot of the bugs listed in TODO have mysteriously fixed
1943   themselves. :-)
1944
1945
1946 changes from 2.19 to 2.20
1947 -------------------------
1948
1949 * Makefile.*: ensured resolve.[ch] and dnsconfig.[ch] were there.
1950 * Makefile: should link now with gcc -shared instead of requiring cc.
1951
1952
1953 changes from 2.18 to 2.19
1954 -------------------------
1955
1956 * testpw4.c: added irs hostbyname() test
1957 * Makefile: added correct flags to build position indepdenent code with Sun's
1958   compiler (thanks, Bill). Added SRV sources.
1959 * testpw.c: works under NeXT, cleaned up a bit.
1960 * ldap.conf: documented what this file does
1961 * util.c: ignore blank lines in ldap.conf properly
1962 * resolve.h: fixed up for Solaris
1963
1964
1965 changes from 2.17 to 2.18
1966 -------------------------
1967
1968 * ldap-network.c: fixed infinite loop in getnetbyname()
1969 * util.c: goto out causes a compiler warning under Solaris. Documented this.
1970   Should fix this, I suppose, but we need to break out of two blocks. (We
1971   could remove the code that handles multivalued DNs, as it's fairly unlikely
1972   that someone will use a DN of o=Xedoc+dc=xedoc,c=US+dc=com, but who knows?)
1973 * ldap-ethers.c: line 215, result was not assigned to an lvalue (should have
1974   been args->status, not args). Fixed.
1975
1976
1977 changes from 2.16 to 2.17
1978 -------------------------
1979
1980 * Cleaned up documentation and testpw4.c
1981 * dnsconfig.c: Fixed strtok() bug which was clobbering domain
1982
1983
1984 changes from 2.15 to 2.16
1985 -------------------------
1986
1987 * util.c (_nss_ldap_readconfig) fixed strtok() typo
1988
1989
1990 changes from 2.2 to 2.15
1991 ------------------------
1992
1993 * dnsconfig.c: got DNS SRV support working under NEXTSTEP
1994 * util.c: (_nss_ldap_getdomainname) made host and network DN parsing compliant
1995   with current draft
1996
1997
1998 changes from 2.1 to 2.2
1999 -----------------------
2000
2001 * I'll get around to merging in the RCS log here one day. Nothing very
2002   exciting happened, I just backported the code to NEXTSTEP and compiled it.