Description: slapi_entry_size calculating the entry size had issues.
. To calculate the Slapi_DN size, local function slapi_dn_size was used.
slapi_dn_size internally calls slapi_sdn_get_dn and slapi_sdn_get_ndn.
The calls generates normalized dn and case lowered normalized dn from
raw dn udn if the normalized dn are not stored in Slapi_DN yet. I.e.,
the get size function allocates extra memory for the normalized dn.
Local slapi_dn_size also failed to count the raw dn length. This patch
replaces slapi_dn_size with (slapi_sdn_get_size - sizeof(Slapi_DN)).
. slapi_entry_size counted Slapi_RDN twice.
. slapi_entry_size did not count the size of e_virtual_lock, e_aux_attrs
Description: Environment variables (except TERM and LANG) are ignored
if a program is started via service.
If it is started with systemctl, it takes this COMMAND and the values
are correctly passed to the server.
systemctl set-environment SLAPD_MXFAST=0 MALLOC_TRIM_THRESHOLD_=4096
To control them explicitly and to provide the same instructions to
the service and systemctl, it'd be good to have some variables
(SLAPD_MXFAST, MALLOC_TRIM_THRESHOLD_ and MALLOC_MMAP_THRESHOLD_ in
this patch) configurable.