adamwill / 389-ds-base

Forked from 389-ds-base 4 years ago
Clone

e4ddba7 Ticket 47369 version2 - provide default syntax plugin

Authored and Committed by nhosoi 10 years ago
    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
    
        
file modified
+19 -1
file modified
+188 -0