f639711 Reduce the number of DN normalization

Authored and Committed by nhosoi 12 years ago
136 files changed. 3483 lines added. 2815 lines removed.
ldap/servers/plugins/acctpolicy/acct_plugin.c
file modified
+4 -7
ldap/servers/plugins/acl/acl.c
file modified
+21 -25
ldap/servers/plugins/acl/acl.h
file modified
+1 -1
ldap/servers/plugins/acl/acl_ext.c
file modified
+4 -4
ldap/servers/plugins/acl/acleffectiverights.c
file modified
+13 -17
ldap/servers/plugins/acl/acllas.c
file modified
+21 -28
ldap/servers/plugins/acl/acllist.c
file modified
+22 -21
ldap/servers/plugins/acl/aclparse.c
file modified
+10 -10
ldap/servers/plugins/acl/aclplugin.c
file modified
+5 -3
ldap/servers/plugins/automember/automember.c
file modified
+38 -52
ldap/servers/plugins/chainingdb/cb_add.c
file modified
+16 -13
ldap/servers/plugins/chainingdb/cb_bind.c
file modified
+34 -27
ldap/servers/plugins/chainingdb/cb_compare.c
file modified
+25 -21
ldap/servers/plugins/chainingdb/cb_controls.c
file modified
+3 -3
ldap/servers/plugins/chainingdb/cb_delete.c
file modified
+23 -20
ldap/servers/plugins/chainingdb/cb_instance.c
file modified
+12 -12
ldap/servers/plugins/chainingdb/cb_modify.c
file modified
+29 -26
ldap/servers/plugins/chainingdb/cb_modrdn.c
file modified
+48 -44
ldap/servers/plugins/chainingdb/cb_search.c
file modified
+62 -58
ldap/servers/plugins/chainingdb/cb_utils.c
file modified
+1 -1
ldap/servers/plugins/cos/cos_cache.c
file modified
+317 -343
ldap/servers/plugins/dna/dna.c
file modified
+41 -21
ldap/servers/plugins/linkedattrs/fixup_task.c
file modified
+8 -8
ldap/servers/plugins/linkedattrs/linked_attrs.c
file modified
+32 -16
ldap/servers/plugins/linkedattrs/linked_attrs.h
file modified
+1 -1
ldap/servers/plugins/memberof/memberof.c
file modified
+13 -10
ldap/servers/plugins/mep/mep.c
file modified
+79 -88
ldap/servers/plugins/pam_passthru/pam_passthru.h
file modified
+1 -1
ldap/servers/plugins/pam_passthru/pam_ptconfig.c
file modified
+1 -1
ldap/servers/plugins/pam_passthru/pam_ptimpl.c
file modified
+12 -4
ldap/servers/plugins/pam_passthru/pam_ptpreop.c
file modified
+6 -3
ldap/servers/plugins/passthru/passthru.h
file modified
+2 -2
ldap/servers/plugins/passthru/ptbind.c
file modified
+3 -3
ldap/servers/plugins/passthru/ptconn.c
file modified
+4 -4
ldap/servers/plugins/passthru/ptpreop.c
file modified
+10 -7
ldap/servers/plugins/referint/referint.c
file modified
+75 -84
ldap/servers/plugins/replication/cl4_api.c
file modified
+1 -1
ldap/servers/plugins/replication/cl5_api.c
file modified
+41 -39
ldap/servers/plugins/replication/cl5_test.c
file modified
+1 -1
ldap/servers/plugins/replication/legacy_consumer.c
file modified
+7 -7
ldap/servers/plugins/replication/repl.h
file modified
+1 -1
ldap/servers/plugins/replication/repl5.h
file modified
+3 -0
ldap/servers/plugins/replication/repl5_agmt.c
file modified
+8 -7
ldap/servers/plugins/replication/repl5_agmtlist.c
file modified
+12 -10
ldap/servers/plugins/replication/repl5_inc_protocol.c
file modified
+6 -6
ldap/servers/plugins/replication/repl5_init.c
file modified
+2 -2
ldap/servers/plugins/replication/repl5_mtnode_ext.c
file modified
+6 -7
ldap/servers/plugins/replication/repl5_plugins.c
file modified
+1 -1
ldap/servers/plugins/replication/repl5_replica.c
file modified
+14 -12
ldap/servers/plugins/replication/repl5_replica_config.c
file modified
+8 -6
ldap/servers/plugins/replication/repl5_updatedn_list.c
file modified
+1 -1
ldap/servers/plugins/replication/repl_bind.c
file modified
+4 -2
ldap/servers/plugins/replication/repl_compare.c
file modified
+11 -6
ldap/servers/plugins/replication/repl_connext.c
file modified
+1 -1
ldap/servers/plugins/replication/repl_extop.c
file modified
+17 -8
ldap/servers/plugins/replication/replutil.c
file modified
+11 -11
ldap/servers/plugins/replication/urp.c
file modified
+56 -49
ldap/servers/plugins/replication/urp.h
file modified
+1 -1
ldap/servers/plugins/replication/urp_glue.c
file modified
+3 -1
ldap/servers/plugins/replication/urp_tombstone.c
file modified
+4 -2
ldap/servers/plugins/replication/windows_connection.c
file modified
+1 -1
ldap/servers/plugins/replication/windows_private.c
file modified
+8 -8
ldap/servers/plugins/replication/windows_protocol_util.c
file modified
+31 -19
ldap/servers/plugins/retrocl/retrocl_po.c
file modified
+3 -5
ldap/servers/plugins/roles/roles_cache.c
file modified
+6 -4
ldap/servers/plugins/statechange/statechange.c
file modified
+10 -9
ldap/servers/plugins/uiduniq/7bit.c
file modified
+25 -16
ldap/servers/plugins/uiduniq/uid.c
file modified
+68 -69
ldap/servers/plugins/views/views.c
file modified
+8 -3
ldap/servers/slapd/add.c
file modified
+33 -31
ldap/servers/slapd/auditlog.c
file modified
+6 -19
ldap/servers/slapd/auth.c
file modified
+9 -31
ldap/servers/slapd/back-ldbm/ancestorid.c
file modified
+45 -28
ldap/servers/slapd/back-ldbm/dblayer.c
file modified
+0 -2
ldap/servers/slapd/back-ldbm/dn2entry.c
file modified
+14 -13
ldap/servers/slapd/back-ldbm/findentry.c
file modified
+18 -13
ldap/servers/slapd/back-ldbm/id2entry.c
file modified
+10 -10
ldap/servers/slapd/back-ldbm/idl_common.c
file modified
+2 -4
ldap/servers/slapd/back-ldbm/import-threads.c
file modified
+33 -41
ldap/servers/slapd/back-ldbm/index.c
file modified
+1 -1
ldap/servers/slapd/back-ldbm/instance.c
file modified
+1 -0
ldap/servers/slapd/back-ldbm/ldbm_add.c
file modified
+36 -25
ldap/servers/slapd/back-ldbm/ldbm_config.c
file modified
+24 -6
ldap/servers/slapd/back-ldbm/ldbm_delete.c
file modified
+10 -6
ldap/servers/slapd/back-ldbm/ldbm_entryrdn.c
file modified
+1 -3
ldap/servers/slapd/back-ldbm/ldbm_instance_config.c
file modified
+15 -6
ldap/servers/slapd/back-ldbm/ldbm_modify.c
file modified
+1 -1
ldap/servers/slapd/back-ldbm/ldbm_modrdn.c
file modified
+68 -57
ldap/servers/slapd/back-ldbm/ldbm_search.c
file modified
+45 -42
ldap/servers/slapd/back-ldbm/ldif2ldbm.c
file modified
+23 -30
ldap/servers/slapd/back-ldbm/misc.c
file modified
+2 -1
ldap/servers/slapd/back-ldbm/vlv_srch.c
file modified
+1 -1
ldap/servers/slapd/bind.c
file modified
+34 -45
ldap/servers/slapd/bulk_import.c
file modified
+16 -23
ldap/servers/slapd/charray.c
file modified
+21 -0
ldap/servers/slapd/compare.c
file modified
+16 -20
ldap/servers/slapd/delete.c
file modified
+39 -38
ldap/servers/slapd/dn.c
file modified
+291 -112
ldap/servers/slapd/dse.c
file modified
+26 -72
ldap/servers/slapd/entry.c
file modified
+112 -91
ldap/servers/slapd/extendop.c
file modified
+4 -17
ldap/servers/slapd/fedse.c
file modified
+1 -1
ldap/servers/slapd/libglobs.c
file modified
+3 -2
ldap/servers/slapd/main.c
file modified
+12 -4
ldap/servers/slapd/mapping_tree.c
file modified
+55 -27
ldap/servers/slapd/modify.c
file modified
+78 -48
ldap/servers/slapd/modrdn.c
file modified
+132 -122
ldap/servers/slapd/modutil.c
file modified
+4 -13
ldap/servers/slapd/operation.c
file modified
+10 -15
ldap/servers/slapd/opshared.c
file modified
+78 -45
ldap/servers/slapd/passwd_extop.c
file modified
+64 -88
ldap/servers/slapd/pblock.c
file modified
+104 -16
ldap/servers/slapd/plugin.c
file modified
+39 -41
ldap/servers/slapd/plugin_acl.c
file modified
+12 -7
ldap/servers/slapd/plugin_internal_op.c
file modified
+80 -51
ldap/servers/slapd/plugin_syntax.c
file modified
+6 -4
ldap/servers/slapd/proto-slap.h
file modified
+1 -1
ldap/servers/slapd/proxyauth.c
file modified
+5 -10
ldap/servers/slapd/psearch.c
file modified
+34 -30
ldap/servers/slapd/pw.c
file modified
+23 -18
ldap/servers/slapd/pw_mgmt.c
file modified
+9 -7
ldap/servers/slapd/pw_retry.c
file modified
+33 -18
ldap/servers/slapd/rdn.c
file modified
+19 -4
ldap/servers/slapd/referral.c
file modified
+13 -12
ldap/servers/slapd/result.c
file modified
+6 -4
ldap/servers/slapd/saslbind.c
file modified
+18 -7
ldap/servers/slapd/search.c
file modified
+7 -35
ldap/servers/slapd/slap.h
file modified
+3 -2
ldap/servers/slapd/slapi-plugin.h
file modified
+227 -27
ldap/servers/slapd/slapi-private.h
file modified
+7 -4
ldap/servers/slapd/task.c
file modified
+28 -4
ldap/servers/slapd/tools/ldclt/ldapfct.c
file modified
+1 -4
ldap/servers/slapd/util.c
file modified
+19 -30
ldap/servers/slapd/uuid.c
file modified
+1 -2
ldap/servers/slapd/value.c
file modified
+11 -16
lib/libaccess/lasdns.cpp
file modified
+6 -2
    Reduce the number of DN normalization
    
    . Adding SLAPI_TARGET_SDN as well as its macros, SLAPI_SEARCH_TARGET_
      SDN SLAPI_ADD_TARGET_SDN, SLAPI_MODIFY_TARGET_SDN, etc.
    . Adding SLAPI_MODRDN_NEWSUPERIOR_SDN.
    . SLAPI_TARGET_DN and SLAPI_MODRDN_NEWSUPERIOR are kept for the back-
      ward compatibility.  But they are marked as deprecated.  They are
      pointing dn in SLAPI_TARGET_SDN and SLAPI_MODRDN_NEWSUPERIOR_SDN,
      respectively.
    . slapi_pblock_set(.., SLAPI_TARGET_DN/SLAPI_MODRDN_NEWSUPERIOR, dn)
      takes dn string and reset Slapi_DN to SLAPI_TARGET_SDN/SLAPI_MODRDN_
      NEWSUPERIOR_SDN.
    . slapi_pblock_get(.., SLAPI_TARGET_DN/SLAPI_MODRDN_NEWSUPERIOR, &dn)
      retrieves dn out of SLAPI_TARGET_SDN/SLAPI_MODRDN_NEWSUPERIOR_SDN.
    . 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 "udn" to Slapi_DN.
      "udn" is an original DN.
      "dn" is its normalized DN.
      "ndn" is its case-lowered normalized DN.
      Note: slapi_sdn_get_ndn_len represents the length of the normalized
      DN, which is "dn" as well as "ndn".  Thus, instead of calling strlen
      for the normalized dn, using slapi_sdn_get_ndn_len, as much as possible.
    . 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_...)
    
    Others
    . Replacing inefficient array assignment with memset (acl.c) and
      memcpy (idl_common.c).
    . Fixing invalid memory access in LASDnsBuild (lib/libaccess/lasdns.cpp).
    . Fixing compiler warnings.
    
    Reviewed by rmeggins@redhat.com (Thank you, Rich!!)
    
        
file modified
+21 -25
file modified
+41 -21
file modified
+79 -88
file modified
+33 -31
file modified
+6 -19
file modified
+9 -31
file modified
+34 -45
file modified
+21 -0
file modified
+16 -20
file modified
+39 -38
file modified
+291 -112
file modified
+26 -72
file modified
+112 -91
file modified
+4 -17
file modified
+1 -1
file modified
+12 -4
file modified
+78 -48
file modified
+132 -122
file modified
+4 -13
file modified
+10 -15
file modified
+78 -45
file modified
+104 -16
file modified
+39 -41
file modified
+34 -30
file modified
+23 -18
file modified
+9 -7
file modified
+33 -18
file modified
+19 -4
file modified
+13 -12
file modified
+6 -4
file modified
+18 -7
file modified
+7 -35
file modified
+3 -2
file modified
+28 -4
file modified
+19 -30
file modified
+1 -2
file modified
+11 -16
file modified
+6 -2