Ticket 346 - version 4 Slow ldapmodify operation time for large quantities of multi-valued attribute values

Description: Backported commit f6ef7dc23352c82f45c41dfd5e9392971a164a23
  Author: Ludwig Krispenz <lkrispen@redhat.com>

  Bug Description: The reason for the performance degradation is that
  for operations like add and delete of values and for updating the
  index for each values a check has tobe done if it exists in the
  current attribute.  if the number of values grows the seaqrch time
  increases.

  Fix Description: Keep a secondary array of the indexes of the
  valuearray which is sorted.  To locate a value, a binary search
  can be used.

  A design doc is available at: http://port389.org/wiki/Static_group_performance

  https://fedorahosted.org/389/ticket/346
Ticket 47369  version2 - provide default syntax plugin

Backported commit d779853f5fa6eeeea436627801718070824ca795
  Author: Ludwig Krispenz <lkrispen@redhat.com>
  Bug Description: syntax plugins are laoded during bootstrapping, but
                   in that phase already attributes are handled
                   eg in dse.ldif and schema files and no proper way
                   to normalize or comare values is provided.
                   This became visible with teh fix for ticket #346
                   where large attribute sets will be sorted

  Fix Description: when the first attribute syntax init is done, create a plugin
                   for directory string syntax and register it with a dummy
                   attribute name. if for any attribute the syntax lookup fails
                   fall back to using this plugin.
                   It will only be used until the syntax plugins are loaded
                   and in the startup phase it is acceptable to use directory
                   string.
                   The impelemenation of the default plugin is reduce to the
                   necessary minimum not to duplicate the code of the syntax
                   plugins.

                   A more rigorus solution would be to refactor the code and
                   and move the common code from the syntax plugin to the
                   slapd level and reuse it in the default plugin.
                   But this would be a major change and should only be done
                   with a review of the syntax plugin code, whic could probabyly
                   be optimized.

    https://fedorahosted.org/389/ticket/47369

    Reviewed by: RichM
(cherry picked from commit 62d0dbf548e1d2b0d7f7e09809456393034e34a5)
(cherry picked from commit ecafacefd47c20dcc01cb0c69b378b4203f77d0b)

Note: removed SLAPI_ATTR_FLAG_NOEXPOSE
fix coverity 11915 - dead code - introduced with fix for ticket 346

just get rid of unused variable was_present_null
reviewed by: nhosoi (Thanks!)
(cherry picked from commit ba70aac1991a04455ba83362e22c33f7f6ab227a)
(cherry picked from commit fcf4154b73681752a5ac32954a1d25771a75478e)
Ticket #47455 - valgrind - value mem leaks, uninit mem usage

Backported the valueset.c part of commit 3adc242bcc8c6d0d05d5d9773f32b4f81afb6e6d.
  Author: Rich Megginson <rmeggins@redhat.com>

  https://fedorahosted.org/389/ticket/47455
  Fix Description: The problem was that slapi_valueset_add_attr_valuearray_ext
  was assuming the caller was going to free the entire given vs upon failure.
  This is fine for the value replace case but not for the add 1 value case.
  Callers of slapi_valueset_add_attr_valuearray_ext must provide
  the dup_index parameter if using SLAPI_VALUE_FLAG_PASSIN and
  SLAPI_VALUE_FLAG_DUPCHECK, and if there is more than one value.  The caller
  needs to know which of the values from addvals is in vs to properly clean up
  with no memory leaks.
  Platforms tested: RHEL6 x86_64
  Flag Day: no
  Doc impact: no
  (cherry picked from commit 3adc242bcc8c6d0d05d5d9773f32b4f81afb6e6d)
  (cherry picked from commit 6357ced2e4380def053966e849eac45e44009662)
Ticket 417, 458, 47522 - Password Administrator Backport

Description:  Backported all the fixes needed to implement the feature.

https://fedorahosted.org/389/ticket/417
https://fedorahosted.org/389/ticket/458
https://fedorahosted.org/389/ticket/47522

Reviewed by: nhosoi(Thanks!)
Ticket 47637 - rsa_null_sha should not be enabled by default

Bug Description:  rsa_null_sha is enabled by default, this can allow unencrypted
                  traffic over a TLS connection.

Fix Description:  Disable rsa_null_sha, just like rsa_null_md5, by default.

https://fedorahosted.org/389/ticket/47637

Reviewed by: rmeggins(Thanks!)
(cherry picked from commit 82b12c97afd34ecc8acfe54baaf0f32bd83a7edf)