These release notes contain important information available at the time of the version 6.11 release of Netscape Directory Server (Directory Server). New features and enhancements, installation notes, known problems, and other late-breaking issues are addressed here. Read this document before you begin using Directory Server.
Check the Red Hat Directory Server Documentation site prior to installing and setting up your software and then periodically thereafter to obtain the latest release notes and manuals.
These release notes contain the following sections:
This release of Directory Server is supported on the Windows 2000 operating system. For details, see Microsoft Windows Platform Requirements. The release also addresses some of the problems noted in the previous releases of Directory Server. The table below lists bugs that have been fixed in the 6.11 realease.
| Bug Number |
Description |
| Database - Indexes/Searches |
|
| 611341 |
Directory Server would crash when index and id2entry were inconsistent. This problem has been fixed. |
| Installation/Uninstallation/Migration/Upgrade |
|
| 556996 |
The messages logged during setup and uninstallation of Directory Server weren't user friendly. This has been improved. Instead of logging these messages to different log files, now all the messages are logged to a single setup/uninstallation log file. |
| 610738 |
Inplace upgrade was not working properly. This problem has been fixed. |
| 613507 |
On Windows, the upgrade program was failing when one tried to upgrade a Directory Server 6.01 MMR environment to Directory Server 6.11. This problem has been fixed. |
| Replication |
|
| 610346 |
In a supplier-consumer replicated environment, replacing or modifying an attribute with the same values (as the current ones) resulted in the consumer deleting those values. For example, if attribute A1 had values { V1, V2 } and if the change operation of the supplier replaced A1 with { V1, V2, V3 }, after the change got pushed to the consumer, it's copy of the attribute became { V3 }. V1 and V2 were deleted. This problem, which was noted in Directory Server 6.1, has been fixed. |
| 610948 |
In a replicated environment, the master server would stop working, populating the logs with many SASL bind-related error messages. This problem has been fixed. |
| 611150 606139 |
A problem related to replication pausing between updates has been fixed. |
| 613324 |
On Windows, in a supplier-consumer replicated environment, if the supplier and consumer servers were configured to communicate over SSL with client authentication, the supplier server logged LDAP SDK error 91 and the consumer server logged Netscape runtime error -5931. This problem has been fixed. |
| Server |
|
| 607555 611053 |
In Directory Server 6.1, duplicate values for the same attribute were returned for binary attributes. This problem has been fixed. |
The 6.1 release of Directory Server contained many enhancements, including the following:
template-cl-dump.pl,áis now provided. For details, see the Configuration, Command, and File Reference.| Bug Number |
Description |
| ACLs |
|
| 558229 | The limitation of not being able use virtual attributes in ACLs has been removed. You can now use virtual attributes in ACLs and in regular search filters. |
| Back Up/Restore |
|
| 547427 |
During restore, only the old files corresponding to the old index configuration wereáreinstated. The index files weren't brought up to date if the index configuration changed between a backup and restore operation. This problem has been addressed. Now, the restore operation compares the backed up index information with the new information,
and if any difference is found, it reports the difference and issues a warning. |
| 606441 |
The problem of database getting corrupted or deleted during the restoration of a backup has been fixed. |
| Chaining |
|
| 527792 |
During chaining, password expirationsá(expiring or has expired) are now checked and the appropriate messages are logged. |
| 601191 |
The server used to crash while exporting a chained database using the db2ldif tool because db2ldif over chaining was not supported. This has been fixed. For example, assume Server1 has been set up with a root suffix and a database (with entries) and Server2 has been set up with a root suffix and a database link (dblink1) pointing to the database associated with Server1. If you use db2ldif to export the database link on Server2 to Server1 (as db2ldif -n dblink1), the server will not crash. |
| Command-Line Utilities |
|
| 600548 |
The dsml2db import tool now enables you to work with DSML files of size greater than 2 Gigabytes. Directory Server 6.11 uses Java 1.4, which allows better XML parser classes to get around the file-size limit of 2 Gigabytes. |
| 603378 |
The dbscan utility now provides index status, including allidsthreshold information (the utility analyzes and extracts information from a Directory Server database file). |
| 604483 |
The LDAP command-line tools now support large files (the -f option, and you will be able to open files of size greater than 4GB. |
| 605037 |
The dsktune utility has been updated to check for the Abstract Window Tool (AWT) kit, which is required for installing Netscape Console on a HP-UX machine. |
| 605275 |
The start-slapd and stop-slapd scripts reported wrong status. This problem has been fixed. |
| 607458 |
On HP UX, the dsktune utility now recommends an appropriate value for the tcp_conn_request_max kernel parameter, if it's set low. |
| Directory Server Console |
|
| 603446 |
The Password dialog box of the Directory Server Console accepted empty password and/or user ID. This resulted in the anonymous bind; anonymous user does not have any privileges and the user must restart the console. The problem has been fixed to not except empty input fields. The OK button now remains disabled if either of the input fields is empty. |
| 604459 |
The problem related to refreshing the Directory Browser has been fixed. |
| 604884 |
The problem of Directory Server Console failing to create a VLV index for multi-valued DNs (for example, cn=val1+sn=val2, o=domain.com) has been fixed. |
| 605029 |
The problem of console not responding when creating/deleting a VLV index has been fixed. |
| 605550 |
The problem of not being able to disable certain plug-ins from the Directory Server Console has been fixed. |
| 606301 |
When viewing an object with more than 1000 entries, the directory browser truncated the display. The problem has been corrected, and the user is now informed to create a VLV or browsing index first to see all the entries. |
| Logging |
|
| 394699 |
Logging of change sequence numbers (CSN) in access logs is now optional; a new parameter named nsslapd-csnlogging has been defined, which enables you to turn this on/off. |
| 465049 |
Error messages have been improved. Logs now include better error messages that help identify problems that are related to Directory Server components (used internally) and the operating system. |
| 605477 |
The vlvindex command logged erroneous entries in the Error logs. This problem has been fixed. |
| 605910 |
The server now records improved out-of-memory error log messages. |
| 607899 |
Duplicated values were logged in the error log while adding ACIs. This problem has been fixed. |
| Migration/Upgrade |
|
| 601770 |
Creation of dummy suffixes prior to migration is no longer required. The migration script now checks if the database (for example, userRoot) being imported exists in the destination Directory Server instance and, if found, gives you the choice to export or overwrite. |
| 606263 |
The problem of server not restarting after an in-place upgrade of an MMR environment has been fixed. |
| Miscellaneous |
|
| 600894 600962 604430 604446 |
Many memory-related problems have been fixed. |
| 603220 |
Aáfew searches didn't work after db2index.pl, and required reimport of the database. This problem has been fixed. |
| 604504 |
The outdated contact information in the server's SNMP MIB has been corrected. |
| 605126 |
Search didn't yield results when an index is created on an integer or binary attribute for equality and presence. This problem has been fixed. |
| 605456 |
The duplicate value checking did not work if there were 5 or more values for an attribute. This problem has been fixed. |
| 605723 |
An account inactivation related problem has been fixed. |
| 606552 609377 |
VLV response related problems have been fixed. |
| Plug-Ins and Plug-In API |
|
| 379739 |
The name of the UID Uniqueness Plugin has been changed to Attribute Uniqueness Plugin to reflect its ability. This plug-in can be used to check uniqueness of any attribute that you may configure. |
| 398316 |
A new backend state change API is now provided for use with custom plug-ins. The two new functions, slapi_register_backend_state_change() and slapi_unregister_backend_state_change() allow a plug-in to
register for and unregister callbacks when the backend changes state. |
| 603512 |
The Directory Server API has been enhanced to allow plug-ins to easily retrieve their config DN and config entry. The testpreop plug-in now includes sample code to show how to get the config DN and
entry (a plug-in that retrieves configuration from its own config entry). |
| 604708 |
Platform-related errors in the Makefile provided for the sample plug-ins have been fixed. |
| 606871 538548 |
A new pass-in interface for value set add has been defined for use with custom plug-ins. The new function, slapi_valueset_add_value_ext(), enables adding of a Slapi_Value in the Slapi_ValueSet
structure without having to duplicate and free the target value. |
| Replication |
|
| 603068 |
A problem where the Retro Changelog plug-in trimmed (deleted) changelog entries early has been fixed. |
| 604441 |
The replication tombstone reap process may run for a long time, and a problem where that process prevented other periodic tasks inside the Directory Server from running has been fixed. Now logs indicate when the reaper started and finished, and also if it did not start for some reason. Additionally, a new attribute, nsds5ReplicaReapActive, has been introduced in the cn=replica entry to indicate the active/inactive status of the background task, which removes old tombstones (deleted entries) from the database. Clients can use this to determine whether a reap is active. |
| 604885 |
The problem of a supplier not reopening the connection has been fixed. The supplier will now try to keep the connection open in all but the most severe conditions. |
| 605028 |
In a master-consumer replicated environment, any inactivated accounts on the master would correctly show up as inactivated on the consumer when the consumer is initialized. However, during any subsequent initialization of the consumer, these accounts would incorrectly show up as active accounts on the consumer. This problem has been fixed. |
| 605409 |
The problem where deleting replication agreements caused the server to crash has been fixed. |
| 607845 |
In a replicated environment, operations errors caused replication to stop converging; the second master didn't make any progress towards convergence. This problem has been fixed. |
| 608254 |
In a replicated environment, renaming of entries (MODRDN operation) caused operations errors. This problem has been fixed. |
| Security |
|
| 558405 |
The server now rejects proxy-authorization control for the rootdn. |
| 600518 |
The Certificate Setup Wizard no longer gives error when using the certificate in PKCS#7 format. When an SSL server certificate is requested using the Certificate Setup Wizard, the CA's approval response contains the certificate in two formats: Base64 format and Base64 with the CA certificate chain in PKCS#7 format. If one tried to install the certificate using the longer format (Base 64 with the CA certificate chain in PKCS#7 format), the operation would fail with an error. The problem has been fixed. |
| 601384 |
Starting Directory Server in SSL mode using an external token no longer fails with misleading error messages. The secmod.db file is now correctly placed in the <server_root>/alias directory, and you no longer need to copy the file from theáAdministration Server to theáDirectory Server. |
| 601953 |
The Directory Server implementation of SASL DIGEST-MD5 authentication now properly allows an empty authorization ID to be used, more reliably compares the bind DN to the authorization DN, and accepts user id based authorization IDs that start with "u:". |
| 603120 |
The problem of Directory Server crashing if a suffix is deleted while the index creation for the suffix is in progress has been fixed. For example, assume you populated the database with entries, started creating a browsing index for the suffix containing the entries, and then deleted the suffix. The server would crash because the index creation would be in progress in the background. The fix ensures that the delete operation is executed after the index creation is completed. |
| 605457 |
Peer to peer (Directory Server to Directory Server) client certificate based authentication over SSL was not working if there was an SSL connection to the same peer host and port that didn't use client certificate based authentication. (For example, assume a server has two replication agreements to the same host and its secure port. Each replication agreement is for a different suffix, and one uses SSL with simple authentication and the other uses SSL with client authentication. In this type of setup, the SSL with client authentication would not work.) This problem has been fixed. |
| 603008 |
When using SSL with an LDAP command-line tool such as ldapsearch, the default location of the key file did not default to the value specified for the certificate file. Now, if the -P option is used but the -K option is not, the tools look for a key file whose path is derived from the path specified with the -P option. In addition, on Linux only, command-line tools crashed if the -P and -K options were used together. This problem has also been fixed. |
| Server |
|
| 600358 |
On Solaris, when the audit log is rotated at a specific time of day, the Directory Server no longer crashes. |
| 601176 |
On Solaris, setting the nsslapd-listenhost parameter to localhost or IP address 127.0.0.1 resulted in an error if an IPv6 interface was not configured. This has been fixed. You no longer have to configure the IP6 interface. |
| 604526 |
The server now reports clear error messages when the dse.ldif file is made read-only in the file system. |
| 605410 |
There was a problem with closing closed database cursors that under certain circumstances, during server shutdown, caused the slapd process to spin constantly and write error messages to the error log. This problem has been fixed. |
| 606250 |
The problem of server crashing when it ran out of disk space has been fixed. Now, when the disk gets full, the server refrains from any disk-access-related activities and gracefully shuts down. |
| 606951 |
The server now gracefully shuts down when a database file reaches the file system's file-size limit. |
The following items supplement the Directory Server 6.1 documentation.
One of the features of multi-master replication is that a supplier acquires exclusive access to the consumer for the replicated area. During this time, other suppliers are locked out of direct contact with the consumer. If a supplier attempts to acquire access while locked out, the consumer sends back a busy response and the supplier sleeps for several seconds before making another attempt.
A problem can arise if the locking supplier is under a heavy update load or has a lot of pending updates in the change log. If the locking supplier finishes sending updates and then has more pending changes to send, it will immediately attempt to reacquire the consumer and will most likely succeed, since the other suppliers usually will be sleeping. This can cause a single supplier to monopolize a consumer for several hours or longer.
To address this issue, Directory Server 6.11 introduces two new attributes that may be present in the nsds5ReplicationAgreement object class which is used to describe replication agreements:
| Attribute | Description |
| nsds5ReplicaBusyWaitTime | Amount of time in seconds a supplier should wait after a consumer sends back a busy response before making another attempt to acquire access. The default is 3 seconds.á |
| nsds5ReplicaSessionPauseTime | Amount of time in seconds a supplier should wait between update sessions.
Set this interval so that it is at least 1 second longer than the interval specified for nsds5ReplicaBusyWaitTime. Increase the interval as needed until you reach an acceptable distribution of consumer access among the suppliers. The default is 0.á |
You can set these two attributes at any time by using changetype:modify with the replace operation. The change takes effect for the next update session if one is already in progress.
Note: If you set either attribute to a negative value, Directory Server sends the client a message and an LDAP_UNWILLING_TO_PERFORM error code.
The two attributes are designed so that the nsds5ReplicaSessionPauseTime interval will always be at least 1 second longer than the interval specified for nsds5ReplicaBusyWaitTime. The longer interval gives waiting suppliers a better chance to gain consumer access before the previous supplier can reaccess the consumer.
If Directory Server has to automatically reset the value of nsds5ReplicaSessionPauseTime, the value is changed internally only. The change is not visible to clients, and it not saved to the configuration file. From an external viewpoint, the attribute value appears as originally set.
Directory Server is capable of performing Microsoft« Windows pass-through authentication if all the proper conditions are met. Windows pass-through authentication is the process by which Directory Server makes a call to the Windows 2000 operating system to confirm a user's id and password within a Windows security domain. If the user's authentication credentials are confirmed by the Windows security domain, the user is granted access to the directory. This process occurs only for password-based authentication (LDAP simple bind)
When users authenticate to a Directory Server running on Windows 2000, Directory Server first attempts to confirm the user's identity using the normal Directory Server authentication mechanisms. If this authentication fails, Directory Server attempts to confirm authentication with the appropriate Windows 2000 primary domain controller if all the following conditions are true:
In the event that the previous conditions are met, Directory Server asks Windows to verify that the user ID and password are valid within the Windows security domain. If the Windows pass-through authentication succeeds, then the user is granted access to the Directory Server. Access is granted based on the permissions granted to the user's bind entry.
Origin
Netscape Directory Server
ntUserDomainId: workgroup:jsmith
The configuration attribute nsslapd-maxbersize sets the maximum size limit for LDAP requests. The default configuration of Directory Server sets this attribute at 2MB. áLDAP add or modify operations will fail when attempting to add very large attributes that result in a request that is larger than 2MB.á
To add very large attributes, you must first change the setting for the nsslapd-maxbersize configuration attribute to a value larger than the largest LDAP request you will make.
When determining the value to set, you must consider all elements of the LDAP add and modify operations used to add the attributes, not just the single attribute. The list of what is included in determining this size is as follows:
For further information about theánsslapd-maxbersize attribute, and áfor information about setting this attribute, see the section "nsslapd-maxbersize (Maximum Message Size)" in Chapter 2 "Core Server Configuration Reference" of the Netscape Directory Server Configuration, Command, and File Reference.
ldapsearch -h <hostname> -p <port> -b"cn=database,cn=monitor,cn=ldbm database, cn=plugins,cn=config"
-D"cn=directory manager" -w <password> objectclass=* | grep -- -locks: )
ldapmodify:
ldapmodify
changetype: modify
replace: uid
uid: jdoe
ldapmodify
changetype: modrdn
newrdn: uid=jdoe1
deleteoldrdn: 1
./ldapsearch -p 9001 -D "uid=gfarmer,ou=people,dc=example,dc=com" -w ruling -b "dc=example,dc=com" "sn:2.16.840.1.113730.3.3.2.7.1:==passin"
./ldapsearch -p 9001 -D "uid=gfarmer,ou=people,dc=example,dc=com" -w ruling -b "dc=example,dc=com" "sn:de:==passin"
However, the rules listed below will work (note the .3):
./ldapsearch -p 9001 -D "uid=gfarmer,ou=people,dc=example,dc=com" -w ruling -b "dc=example,dc=com" "sn:2.16.840.1.113730.3.3.2.7.1.3:=passin"
./ldapsearch -p 9001 -D "uid=gfarmer,ou=people,dc=example,dc=com" -w ruling -b "dc=example,dc=com" "sn:de.3:=passin"
perl migrateInstance6 -D <rootDN> -w <password> -p <port> -o <oldInstancePath> -n <newInstancePath> -v <oldVersionNumber> -d <oldDataDirectoryPath>
Be sure to use a trailing / (forward slash) character with the -d option. Otherwise, the script can't find your LDIF file during the import process. An example command (to migrate from version 4.16) is shown below:perl migrateInstance6 -D "cn=Directory Manager" -w secret -p 1389 -o c:/netscape/server4/slapd-phonebook -n c:/netscape/servers/slapd-phonebook -v 4.16 -d c:/netscape/server4/migrationData/
To workaround the problem, manually edit the Enterprise Server 6.1's web-apps.xml file:
(memberof=*Domain Administrators*)But either one of these will work correctly:
(memberof=cn=Domain Administrators*)
(memberof=cn=Domain Administrators,ou=Groups,dc=example,dc=com)
snews://secnews.netscape.com/netscape.dev.directoryYou might also find it useful to subscribe to the following newsgroups, where security- and certificate-related topics are discussed:
snews://secnews.netscape.com/netscape.dev.sslSo that we can best assist you in resolving problems, please be sure to include the following information:
snews://secnews.netscape.com/netscape.dev.security
snews://secnews.netscape.com/netscape.dev.certificate