如何在OpenLDAP中设置size.pr?

我认为我的一个LDAP客户端在OpenLDAP中达到了分页限制。 客户看到的具体错误是下面的Java事情:

REASON: Caught exception running LDAP sync. [LDAP: error code 2 - paged results cookie is invalid]; nested exception is javax.naming.CommunicationException: [LDAP: error code 2 - paged results cookie is invalid]; remaining name 'dc=example,dc=com' 

谷歌search这个错误提出了LDAP分页和相关限制的讨论。 关于OpenLDAP的这个文档限制了提到olcSizeLimitsize.pr

我能够使用此ldif将我的olcSizeLimit从500更改为-1:

 dn: cn=config changetype: modify replace: olcSizeLimit olcSizeLimit: -1 

不幸的是我的客户仍然看到它的分页问题。

size.pr是一个slapd.conf设置,而我的OpenLDAP使用slapd.d。 在LDAP模式中查找olcDbClientPr ,我发现olcDbClientPr被描述为'PagedResults handling' 。 另外,以下是OpenLDAP源代码中的描述:

 { "client-pr", "accept-unsolicited|disable|<size>", 2, 2, 0, ARG_MAGIC|LDAP_BACK_CFG_CLIENT_PR, meta_back_cf_gen, "( OLcfgDbAt:3.111 " "NAME 'olcDbClientPr' " "DESC 'PagedResults handling' " "SYNTAX OMsDirectoryString " "SINGLE-VALUE )", NULL, NULL }, 

假设olcDbClientPr和size.pr是一样的,我该如何设置它?

我试过这个:

 dn: cn=config changetype: modify replace: olcDbClientPr olcDbClientPr: -1 

它会抛出这个错误:

 modifying entry "cn=config" ldap_modify: Object class violation (65) additional info: attribute 'olcDbClientPr' not allowed 

在相关的情况下,这里是我的cn=config目录的内容:

 # ls /etc/openldap/slapd.d/cn=config/ cn=module{0}.ldif olcDatabase={0}config.ldif olcDatabase={1}hdb.ldif cn=schema olcDatabase={-1}frontend.ldif olcDatabase={1}monitor.ldif cn=schema.ldif olcDatabase={1}hdb 

size.pr是每个数据库(和dn /组scopable), olcLimits选项。 您可能也对全局olcSizeLimit选项感兴趣。

slapd-config(5)

olcSizeLimit:size [。{soft | hard | unchecked}] = […]
指定要从search操作返回的最大条目数。 默认的大小限制是500.使用无限制来指定没有限制。 第二种格式允许设置大小限制的细粒度。 额外的参数可以添加相同的值或附加值。 有关不同标志的解释,请参阅olcLimits。


olcDbClientPrsize.pr