On 10/10/2011 10:08 AM, Noriko Hosoi wrote:
Reduce the number of DN normalization
. Replacing SLAPI_TARGET_DN with SLAPI_TARGET_SDN (also its macros,
e.g., SLAPI_SEARCH_TARGET_SDN and SLAPI_ADD_TARGET_SDN).
I haven't reviewed
the entire patch yet, but I am concerned about
changing the APIs defined in slapi-plugin.h (such as the removal of
SLAPI_TARGET_DN). This will require other plug-ins outside of the 389
source code to be ported to use this new API. This porting may be
necessary in some places, but we should also try to be as backwards
compatible as possible.
I know that the SLAPI plug-ins used by FreeIPA use SLAPI_TARGET_DN, so
they will need porting work. We will need to coordinate any API changes
with them to ensure that we don't break their plug-ins.
. Replacing the type of SLAPI_MODRDN_NEWSUPERIOR from (char *) to
(Slapi_DN *), as well.
. Replacing slapi_dn_normalization_ext call with generating Slapi_DN
APIs (e.g., slapi_sdn_new_dn_...) as much as possible and stash it
in pblock using SLAPI_TARGET_SDN.
. When a normalized DN string is needed, get it using slapi_sdn_get_[n]dn
from the stashed Slapi_DN.
. Introduced a new field to Slapi_DN.
"udn" for the original DN; "dn" is a normalized DN; "ndn"
is a case-
ignored normalized DN.
Taking advantage of the knowledge of the stage of the DN, call the
most efficient DN creating API (e.g., slapi_sdn_new_dn_... vs.
slapi_sdn_new_normdn_... vs. slapi_sdn_new_ndn_...)
. Replacing inefficient array assignment with memset (acl.c) and
. Fixing invalid memory access in LASDnsBuild (lib/libaccess/lasdns.cpp).
. Even if Slapi_counter is disabled, the server is allowed to start
. Fixing compiler warnings.
Sorry, it's huge...
389-devel mailing list