Sun Java System Directory Server Enterprise Edition 6.3 发行说明

目录代理服务器中的已知问题和限制

本部分列出了发行时的已知问题和限制。

目录代理服务器限制

本部分列出了产品限制。

不要手动更改文件权限。

在某些情况下,对已安装的 Directory Server Enterprise Edition 产品文件的权限进行更改可能会导致软件无法正常运行。只能按照产品文档中的说明或 Sun 支持人员的指导来更改文件权限。

要解除此限制,请以具有适当用户和组权限的用户身份来安装产品和创建服务器实例。

无法续订自签名的服务器证书。

创建自签名服务器证书时,请确保指定足够长的有效期,这样便无需续订证书。

当使用联接数据视图写入操作时,目录代理服务器将无法确保原子性。

为确保原子性,请不要使用联接数据视图写入操作。如果对联接数据视图执行写入操作,请使用外部机制来阻止或检测不一致问题。可通过监视目录代理服务器错误日志来监视不一致问题。

Directory Proxy Server 6.3 中的已知问题

本部分列出了在发行Directory Proxy Server 6.3 时发现的已知问题。

6646107 / 6643181

对于联接 LDAP 和 JDBC 数据视图的 join-data-view 操作,当添加、替换或修改的属性的值过长而无法存储在数据库中时,会截断该值并引发以下特定于数据源的问题:

  • 在 mySQL 中,该属性所属的数据库行出现两次。

  • 在 DB2 中,一些数据库表在重新启动目录代理服务器之前不可用。

6609603

将新的数据源添加到数据源池时,需要重新启动服务器。

6607075

如果 LDAP 和 JDBC 联接视图的联接规则中含有一个 UID,并且 JDBC 视图中含有一个额外的属性,则针对该属性执行 ldapsearch 操作时将不返回服务器中的一个条目,而是返回所有条目。

6640597

如果 ADD 操作遵循这样一个引用(即 basedn 不同于原始计算机中的 basedn)时,则目录代理服务器不会更改该操作的 DN。如果尝试对目录代理服务器实例执行 ADD 操作,并且该实例含有设置为遵循引用而不是转发引用的目录服务器实例,则会因 basedn 错误而拒绝在引用的服务器上执行 ADD 操作。

使用 ldapmodify 命令直接对目录服务器实例执行 ADD 操作时,可以成功完成该操作。

6637608

通过 Directory Server Enterprise Edition 执行大量搜索时, 会对目录代理服务器造成负载压力,并发生 ArrayIndexOutOfBounds NegativeArraySize 异常。

6659381

在 64 位模式下将目录代理服务器与 Java 1.6 结合使用时,目录代理服务器可能会挂起。使用 Java 1.5 可消除此风险。有关详细信息,请参见软件相关性要求

6597598

使用 modrate 工具对联接视图(包括 LDAP 和 JDBC)执行修改时,如果使用 1 个以上线程,则会发生空指针异常。错误消息类似于以下内容:


java.lang.NullPointerException  com.sun.directory.proxy.server.JoinDataView.
processModifyRequest(JoinDataView.java:916) 
com.sun.directory.proxy.server.JoinDataViewOpContext.processModifyRequest
(JoinDataViewOpContext.java:243) com.sun.directory.proxy.server.ModifyOperation.
processOperation(ModifyOperation.java:502 com.sun.directory.proxy.server
.WorkerThread.runThread(WorkerThread.java:150) 
com.sun.directory.proxy.util.DistributionThread.run
(DistributionThread.java:225)
6639674

如果将目录代理服务器配置属性 allow-bind-operations 设置为 false,则无法使用带有 -–secure-port 选项的 dpconf 命令行参数在 SSL 端口上进行连接。但仍可以通过 Start TLS(默认设置)或简明连接(-–unsecured 选项)进行连接。

6642559

对于 remove-attr-value 转换模型,写入虚拟转换是无效的。

6642578

当修改条目时,无法按预期那样写入虚拟转换。

5042517

LDIF 数据视图、JDBC 数据视图、联接数据视图和访问控制数据视图不支持修改 DN 操作。

6355714

目前,仅 LDAP 数据视图支持 getEffectiveRight 控制,但该控制并未考虑使用代理的本地 ACI。

6356465

目录代理服务器会拒绝那些将子类型指定给目标属性(如 targetattr = "locality;lang-fr-ca")的 ACI。

6360059

目录代理服务器无法恢复在数据源连接失败后已恢复的 JDBC 数据源连接。 目录代理服务器仅在重新启动目录代理服务器实例后才能恢复连接。

6383532

更改验证模式配置后,必须重新启动目录代理服务器。

6386073

生成 CA 签名的证书请求后,当您进行刷新时,该证书将显示为自签名证书。

6388022

如果目录代理服务器使用的 SSL 端口不正确,则在该端口上发出安全搜索请求后,目录代理服务器可能会关闭所有连接。

6649984

当您为证书数据库设置的密码长度不够时,没有发出警告。如果密码很短,则目录服务控制中心会接受该密码。发出 dpadm 命令(包含 cert 子命令)时,会导致这些命令挂起。

6390118

将目录代理服务器配置为使用基于客户端应用程序凭证(而非代理授权)的验证时,它将无法正确计算引用跃点数。

6390220

可以在创建数据视图时正确指定 base-dn 属性,但在创建该视图后,无法将 base-dn 属性设置为 ""(根 dse)。

6410741

目录服务控制中心将值作为字符串进行排序。因此,在目录服务控制中心中对数字进行排序时,数字将被视为字符串。

对 0、20 和 100 进行升序排序的结果为 0、100、20。对 0、20 和 100 进行降序排序的结果为 20、100、0。

6547755

无法在 DSCC 中创建路径包含多字节字符的目录代理服务器实例以启动或执行其他常规任务。

可通过用于创建该实例的字符集来解决其中的某些问题。请使用以下命令设置字符集:


# cacaoadm list-params | grep java-flags
  java-flags=-Xms4M -Xmx64M

# cacaoadm stop
# cacaoadm set-param java-flags="-Xms4M -Xmx64M -Dfile.encoding=utf-8"
# cacaoadm start

请仅在实例路径中使用 ASCII 字符以避免出现这些问题。

6439604

配置警报后,必须重新启动目录代理服务器才能使更改生效。

6461510

在目录代理服务器中,引用跳数限制无效。

6447554

如果配置了数字或词典数据分布,则目录代理服务器将无法对移动到其他数据视图的条目进行重命名。

6458935

使用联接数据视图时,目录代理服务器不会采用构成该联接的视图中的数据分配算法。

要解决此问题,请在同时使用联接和数据分配时,在联接数据视图级别上配置数据分配。

6469154

在 Windows 上,dsadmdpadm 命令的输出以及帮助消息没有使用简体中文和繁体中文进行本地化。

6469780

不会动态检测新创建的 JDBC 数据源条目。如果在创建 JDBC 数据视图之前创建了 JDBC 服务器,将会忽略该数据视图,直至您下次重新启动服务器为止。因此,在配置 JDBC 数据源后,必须重新启动目录代理服务器才能检测到更改。

6486578

对于 JDBC 对象类,如果其中一个类 A 将一个表格用作附表,而另一个类 B 将同样的表格用作唯一的主表,则无法对 B 发出请求。在主表中使用 filter-join-rule 属性时,目录代理服务器无法忽略该属性。

6488197

在 Windows 系统上完成安装并创建服务器实例后,安装和服务器实例文件夹的文件权限允许所有用户进行访问。

要解决此问题,请更改安装和服务器实例文件夹上的权限。

6488297

在 Windows 上,只能由管理员用户执行 DSCC 初始化。

6490763

通过目录代理服务器访问目录服务器时,Access Manager 在重新启动目录服务器后遇到与持久性搜索相关的缓存问题。

要解决此问题,请在重新启动目录服务器后重新启动 Access Manager 或目录代理服务器。

要进一步进行优化,可以增加 Access Manager 尝试次数以及尝试之间的延迟时间,以便重新建立持久性搜索连接。可以通过更改 AMConfig.properties 文件中的下列属性来增大这些参数。

  • 增大 com.iplanet.am.event.connection.num.retries,该属性表示尝试次数。默认值为 3 次尝试。

  • 增大 com.iplanet.am.event.connection.delay.between.retries,该属性表示两次尝试之间的延迟时间(以毫秒为单位)。默认值为 3000 毫秒。

6490853

如果使用为 DB2 数据库配置的 JDBC 数据视图执行搜索,并且在搜索结果中返回了大量条目,则在返回 1344 个条目后可能会发生错误。

要解除这一限制,可以增加大型软件包的数量,方法是将 CLI/ODBC 配置关键字 CLIPkg 的值最大设置为 30。但搜索结果仍被限定为最多 11712 个条目。

有关详细信息,请参见 DB2 文档。

6491133

使用目录服务控制中心创建自签名证书时,不要使用多字节字符作为证书名称。

6491845

目录服务控制中心不显示允许通过目录代理服务器的默认 LDAP 控件。

6493349

更改现有的排除子树或备用搜索基的 DN 时,目录服务控制中心会删除逗号。

6494540

首次启用或禁用非安全 LDAP 访问后,必须重新启动目录代理服务器才能使更改生效。

6497547

时间限制和大小限制设置仅适用于 LDAP 数据源。

6497992

使用命令 dpadm set-flags cert-pwd-store=off 后,无法使用目录服务控制中心重新启动目录代理服务器。

6501867

dpadm start 命令中使用由 ASCII 和多字节字符组成的服务器实例名称时,该命令会失败。

6505112

在现有的连接处理程序上设置 data-view-routing-custom-list 属性时发生错误,因为数据视图名称中包含必须转义的字符(如逗号)。

要解决此问题,请不要使用包含必须转义的字符的数据视图名称。例如,不要使用包含 DN 的数据视图名称。

6510583

与以前的版本不同,如手册页allowed-ldap-controls(5dpconf)中所述,目录代理服务器在默认情况下不允许使用服务器端排序控件。

通过在允许的 LDAP 控件(由 allowed-ldap-controls 属性指定)列表中添加 server-side-sorting,可以使目录代理服务器支持服务器端排序控件。


$ dpconf set-server-prop \
 allowed-ldap-controls:auth-request \
 allowed-ldap-controls:chaining-loop-detection \
 allowed-ldap-controls:manage-dsa \
 allowed-ldap-controls:persistent-search \
 allowed-ldap-controls:proxy-auth-v1 \
 allowed-ldap-controls:proxy-auth-v2 \
 allowed-ldap-controls:real-attributes-only \
 allowed-ldap-controls:server-side-sorting

请注意,必须重复现有设置。否则,将只允许服务器端排序控件。

6511264

请注意,使用目录代理服务器的 DN 重命名功能时,重复的 DN 部分将被重命名为一个替换部分。

例如,要将以 o=myCompany.com 结尾的 DN 重命名为以 dc=com 结尾。对于 DN 与原始部分重复的条目(如 uid=userid,ou=people,o=myCompany.com,o=myCompany.com),重命名后所生成的 DN 为 uid=userid,ou=people,dc=com,而不是 uid=userid,ou=people,o=myCompany.com,dc=com

6520368

此文档未能准确地对通过目录代理服务器访问 Oracle 9 的 JDBC 连接配置进行描述。

请考虑以下配置:Oracle 9 服务器侦听主机 myhost 上的端口 1537,该实例包含的系统标识符 (system identifier, SID) 为 MYINST。该实例具有数据库 MYNAME.MYTABLE

通常,要配置对 MYTABLE 的访问,需要设置以下属性。

  • 在 JDBC 数据源上,设置 db-name:MYINST

  • 在 JDBC 数据源上,设置 db-url:jdbc:oracle:thin:myhost:1537:

  • 在 JDBC 表中,设置 sql-table:MYNAME.MYTABLE

如果以上设置无效,请通过以下设置来配置对 MYTABLE 的访问。

  • 在 JDBC 数据源上,设置 db-name:(CONNECT_DATA=(SERVICE_NAME=MYINST)))

  • 在 JDBC 数据源上,设置 db-url:jdbc:oracle:thin:@(DESCRIPTION= (ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=myhost)(PORT=1537)))

  • 在 JDBC 表中,设置 sql-table:MYNAME.MYTABLE

6527010

目录代理服务器无法写入表明 JDBC 数据库表之间多对多 (N:N) 关系的 JDBC 属性。

6539650

带有多字节 DN 并使用 DSCC 创建的目录代理服务器实例在 Linux 上无法启动。

6542857

在 Solaris 10 上使用 Service Management Facility (SMF) 启用服务器实例时,重新引导系统时实例可能无法启动。

假如从未调用过命令 dsadm enable service,请将以下带有 + 标记的行添加到 /opt/SUNWdsee/ds6/install/tmpl_smf.manifest 中来解决此问题。


...
restart_on="none" type="service"> 
<service_fmri value="svc:/network/initial:default"/> 
  </dependency> 
+ <dependency name="nameservice" grouping="require_all" \
+ restart_on="none" type="service"> 
+ <service_fmri value="svc:/milestone/name-services"/> 
+ </dependency> 
<exec_method type="method" name="start" 
exec="%%%INSTALL_PATH%%%/bin/dsadm start --exec %{sunds/path}"...

在 Solaris 10 上使用 Service Management Facility (SMF) 启用服务器实例时,重新引导系统时实例可能无法启动。

假如从未调用过命令 dsadm enable service,请将以下带有 + 标记的行添加到 /opt/SUNWdsee/ds6/install/tmpl_smf.manifest 中来解决此问题。


...
restart_on="none" type="service"> 
<service_fmri value="svc:/network/initial:default"/> 
  </dependency> 
+ <dependency name="nameservice" grouping="require_all" \
+ restart_on="none" type="service"> 
+ <service_fmri value="svc:/milestone/name-services"/> 
+ </dependency> 
<exec_method type="method" name="start" 
exec="%%%INSTALL_PATH%%%/bin/dsadm start --exec %{sunds/path}"...

如果以前调用过 dsadm enable service 命令,则解决方法如下所示:

  1. 创建一个包含下列内容的文件:


    select dps
    addpg nameservice dependency
    setprop nameservice/grouping  = astring: require_all
    setprop nameservice/restart_on = astring: none
    setprop nameservice/type = astring: service
    setprop nameservice/entities = fmri: "svc:/milestone/name-services"    
  2. 对该文件执行以下命令:


    svccfg -f file
    

    如果维护状态中存在某些实例,请运行下面这些命令:


    svcadm clear svc:/application/sun/dps:dps-{instancepath}
    
6547759

在 HP-UX 上,如果使用针对不同语言环境设置的多个浏览器会话访问 DSCC,则 DSCC 可能会使用其他语言环境显示某些字符串,而不使用浏览器中设置的语言环境。

6551076

如果计算机有多个主机名,控制台不会检索目录代理服务器实例的后端状态。

6565106

如果与在 JDBC 对象类中找到的 DN 模式相匹配的 RDBMS 表中包含重复条目,则在针对 JDBC 数据视图执行搜索时,目录代理服务器将返回重复的子树(非叶)节点。 例如,如果 JDBC 对象类中包含 DN 模式 ou,并且映射到 JDBC 属性 ou 的 RDBMS 列中包含重复的条目(如 sales),则搜索结果中将显示重复的节点,如 ou=sales

    要解决此问题,请执行以下操作:

  1. 创建一个 RDBMS 视图,方法是:以某种方式从表(包含映射到 ou JDBC 属性的列)中提取值,以使其没有重复的条目。

  2. 在具有 DN 模式 ou 的 JDBC 对象类中,将 RDBMS 表名替换为 RDBMS 视图名称。这种方法的限制是,由于 RDBMS 视图是只读的,因此,无法通过目录代理服务器添加任何 JDBC 属性 ou 值。

6573439

在 DSCC 中,实例的“更多视图选项”中“访问日志”、“错误日志”和“审计日志”选项卡下面显示的日期没有进行本地化。

6588319

在使用 Tomcat 服务器配置的 DSCC 中,“帮助”和“版本”弹出式窗口的标题将多字节字符串显示为乱码。

6590460

在简体中文和繁体中文语言环境中,没有翻译 dpadm show-cert dps-instance-path 命令输出中的字符串 owner

6592543

在法语语言环境中,提示确认停止或取消注册服务器的弹出式窗口显示双撇号。