https://bugzilla.redhat.com/show_bug.cgi?id=472602
Resolves: bug 472602
Bug Description: The SLAPI API doesn't expose a way to check if an
operation is an internal operation. There is a public function
that allows you to get the flags set for an operation, but the
internal operation flag itself is not exposed.
Reviewed by: ???
Files: see diff
Branch: HEAD
Fix Description: The fix is simply to expose the internal operation
flag in the public header file.
Platforms tested: F9
Flag Day: no
Doc impact: yes - add new flag and old function to SLAPI docs.
https://bugzilla.redhat.com/attachment.cgi?id=328598&action=diff
https://bugzilla.redhat.com/show_bug.cgi?id=471068
Resolves: bug 471068
Bug Description: winsync doesn't recognize some changes
Reviewed by: ???
Files: see diff
Branch: HEAD
Fix Description: Before sending updates to AD, first check to see if the
updates still apply. For modify/add operations, check to make sure the
value to add doesn't exist. If it does, remove it from the list of
values in the mod. If all values are removed, then just skip the
modify/add op altogether. For modify/del ops, check to see if the
attribute exists. If not, just skip the op. If it does exist, check to
see if the values exist, and remove the values from the mod/del op that
do not exist anymore. If all values have been removed, just skip the
mod/del op.
I added a new slapi function - slapi_mod_init_valueset_byval - which
will init a Slapi_Mod and init the list of values using a valueset.
Fortunately there was already a function for converting a Slapi_Value**
to a berval**.
I also fixed a few compiler warnings.
Platforms tested: RHEL5
Flag Day: no
Doc impact: yes - add new function to slapi docs
https://bugzilla.redhat.com/attachment.cgi?id=328589&action=diff
[Bug 464854] ldapsearch with size limit (-z) doesn't work with OR filter
and range search
https://bugzilla.redhat.com/show_bug.cgi?id=464854
[Description of Problem]
If sizelimit is specified (e.g., -z 5) in ldapsearch, the filter including a range search does not return expected entries even if entries matches the filter.
How to reproduce the problem:
Create a test ldif file with dbgen.pl
$ dbgen.pl -o /path/to/example10k.ldif -n 10000
Import it
$ ldif2db -n userRoot -i /path/to/example10k.ldif
Start the server
$ start-slapd
Run the following command
$ ldapsearch -D 'cn=Directory Manager' -w <pw> -b "dc=example,dc=com"
"(&(l=Boston)(|(ou=Payroll)(ou=Accounting))(roomNumber>=9700))" dn roomNumber l ou
It returns 7 entries.
$ ldapsearch -D 'cn=Directory Manager' -w <pw> -b "dc=example,dc=com" -z 5
"(&(l=Boston)(|(ou=Payroll)(ou=Accounting))(roomNumber>=9700))" dn roomNumber l ou
It returns no entries. This entry count could be random from 0 to 5.
Expected result: returns 5 entries
Problem description:
SIZELIMIT is checked in index_range_read to eliminate the unnecessary data
retrieval. But when the filter contains a range search which is connected by
AND, then we should not do sizelimit. There was a bug in the function which
sets is_and. The flag should have been cleared only when the function set it
to 1. Instead, it was cleared each time the function is called. It let
index_range_read stop reading when it reaches sizelimit even though it should
not have.
[Proposed Fix]
Created an attachment (id=328581)
--> (https://bugzilla.redhat.com/attachment.cgi?id=328581)
cvs diff ldapserver/ldap/servers/slapd/back-ldbm/filterindex.c
Fix Description: list_candidates sets SLAPI_SEARCH_IS_AND to 1 in pblock when
the filter starts with AND. This function is recursively called and the IS_AND
info should be passed to the descendent candidates functions. The IS_AND flag
is cleared only by the function which sets it to 1.
*Bug 436830* <https://bugzilla.redhat.com/show_bug.cgi?id=436830> -
Memory leak in ns-slapd's Class Of Service
https://bugzilla.redhat.com/show_bug.cgi?id=436830
//
[Problem description by Tamas Bagyal]
>From Bugzilla Helper:
User-Agent: Opera/9.50 (X11; Linux i686; U; en)
Description of problem:
I found a memory leak in ns-slapd when using cos. the fds build on a debian
etch using the build-ds script and follow the instructions on the mailing-list.
the database replicated from an fds version 1.0.4 which is in mmr with 1.1.0.
errors log shows nothing.
valgrind's output see in the attachment.
[Proposed fix]
Created an attachment (id=328497)
--> (https://bugzilla.redhat.com/attachment.cgi?id=328497)
cvs diff ldapserver/ldap/servers/plugins/cos/cos_cache.c
Fix Description: When all the necessary values for the CoS template cache are not
available, the allocated memory should be discarded. One of them pCosPriority
was missed to release.
https://bugzilla.redhat.com/show_bug.cgi?id=478656
Resolves: bug 478656
Bug Description: rhds accounts are disabled in ad after full sync
Reviewed by: ???
Files: see diff
Branch: HEAD
Fix Description: The incremental sync code calls
send_accountcontrol_modify after adding an entry, but the total update
code does not. I modified the code to do that. I also changed the
send_accountcontrol_modify to force the account to be enabled if adding
it. I tried just adding userAccountContro:512 to the default user add
template, but AD does not like this - gives operations error. So you
have to modify userAccountControl after adding the entry. I also
cleaned up a couple of minor memory leaks.
Platforms tested: RHEL5
Flag Day: no
Doc impact: no
https://bugzilla.redhat.com/attachment.cgi?id=328417&action=diff