logo_kerberos.gif

Difference between revisions of "Samba4 Port: hdb & ldb Interfaces"

From K5Wiki
Jump to: navigation, search
(Heimdal-internal hdb interface)
(Samba4's hdb_samba4 interface to LDAP)
 
(179 intermediate revisions by the same user not shown)
Line 1: Line 1:
This page aims to reduce the confusion about
 
  +
[[Image:Hdb_ldb_diagram_3.png|350px|thumb|right| Color Key: Samba4 is in blue; Heimdal is in green]]
# Three hdb libraries (one for Samba4, two for heimdal);
 
  +
# Samba4's LDB library, and
 
  +
This page describes Samba4's four DB libraries:
  +
# Two hdb libraries in Heimdal;
  +
# Samba4's hdb_samba4 library (formerly named LDB), and
 
# Samba4's ldb library.
 
# Samba4's ldb library.
  +
  +
These libraries operate as layers:
  +
# Heimdal's hdb_ function-pointers wrap hdb_samba4, for Heimdal to retrieve & store entries in the Krb DB.
  +
# Heimdal's internal hdb handles DB-entries after retrieval.
  +
# Samba4's hdb_samba4 wraps the most basic store/retrieve part of ldb.
  +
# Samba4's ldb wraps the underlying database storage
  +
   
 
----
 
----
   
== Heimdal's hdb Interface to LDB ==
+
== Samba4's hdb_samba4 interface to LDAP ==
source4/kdc/hdb-samba4.c contains the LDB_ functions,
+
# These routines make up half of Samba4's kdc-specific code,
which only that file uses directly.
+
# Almost all of the hdb_samba4_ routines are in source4/kdc/hdb-samba4.c .
  +
# The exceptionally-placed routine is hdb_samba4_lookup_spn_alias(), in dsdb/samdb .
   
In Samba4's heimdal/lib/hdb/hdb.h, Heimdal's HDB structure
 
  +
{| class="wikitable sortable" width="100%" border="1" style="border-collapse: collapse; border: 1px solid #dfdfdf;"
contains "hdb-" prefixed function-pointers to the LDB functions.
 
  +
| bgcolor="#00cc99" |<font color="#ffffff">'''Entry-point'''</font>
Only Heimdal uses this function-pointer interface to
 
  +
| bgcolor="#00cc99" |<font color="#ffffff">'''Heim use'''</font>
Samba4's LDB functions:
 
  +
| bgcolor="#00cc99" |<font color="#ffffff">'''Smb4 use'''</font>
  +
| bgcolor="#00cc99" |<font color="#ffffff">'''Comment''' </font>
  +
  +
|-
  +
| hdb_samba4_destroy
  +
| hdb
  +
|
  +
|
  +
  +
|-
  +
| hdb_samba4_fetch
  +
| hdb
  +
|
  +
|
  +
  +
|-
  +
| hdb_samba4_firstkey
  +
| hdb
  +
|
  +
|
  +
  +
|-
  +
| hdb_samba4_nextkey
  +
| hdb
  +
|
  +
| wrapper for hdb_samba4_seq
  +
  +
|-
  +
| hdb_samba4_check_pkinit_ms_upn_match
  +
| hdb
  +
|
  +
  +
|-
  +
| hdb_samba4_check_constrained_delegation
  +
| hdb
  +
|
  +
  +
|-
  +
| hdb_samba4_open
  +
| hdb
  +
|
  +
| stub
  +
  +
|-
  +
| hdb_samba4_close
  +
| hdb
  +
|
  +
| stub
  +
  +
|-
  +
| hdb_samba4_remove
  +
| hdb
  +
|
  +
| stub
  +
  +
|-
  +
| hdb_samba4_rename
  +
| hdb
  +
|
  +
| stub
  +
  +
|-
  +
| hdb_samba4_store
  +
| hdb
  +
|
  +
| stub
  +
  +
|-
  +
| hdb_samba4_lock
  +
| hdb
  +
|
  +
| stub
  +
  +
|-
  +
| hdb_samba4_unlock
  +
| hdb
  +
|
  +
| stub
  +
  +
|-
  +
| hdb_samba4_create_kdc
  +
| hdb
  +
| kdc_task_init
  +
|
  +
  +
|-
  +
| hdb_samba4_create
  +
| hdb
  +
|
  +
| callback
  +
  +
|-
  +
| hdb_samba4_destructor
  +
|
  +
| hdb_samba4
  +
| callback
  +
  +
|-
  +
| hdb_samba4_free_entry
  +
|
  +
| hdb_samba4
  +
| callback
  +
  +
|-
  +
| hdb_samba4_seq
  +
|
  +
| hdb_samba4
  +
|
  +
  +
|-
  +
| hdb_samba4_fetch_client
  +
|
  +
| hdb_samba4
  +
|
  +
  +
|-
  +
| hdb_samba4_fetch_krbtgt
  +
|
  +
| hdb_samba4
  +
|
  +
  +
|-
  +
| hdb_samba4_fetch_server
  +
|
  +
| hdb_samba4
  +
|
  +
  +
|-
  +
| hdb_samba4_lookup_principal
  +
|
  +
| hdb_samba4
  +
|
  +
  +
|-
  +
| hdb_samba4_lookup_spn_alias
  +
|
  +
| samdb
  +
| defined in dsdb/samdb
  +
  +
|-
  +
| hdb_samba4_lookup_trust
  +
|
  +
| hdb_samba4
  +
|
  +
  +
|-
  +
| hdb_samba4_message2entry
  +
|
  +
| hdb_samba4
  +
|
  +
  +
|-
  +
| hdb_samba4_message2entry_keys
  +
|
  +
| hdb_samba4
  +
|
  +
  +
|-
  +
| hdb_samba4_trust_message2entry
  +
|
  +
| hdb_samba4
  +
|
  +
  +
|}
  +
  +
----
  +
  +
== Heimdal's hdb Interface to Samba4's hdb_samba4 ==
  +
  +
# Heimdal uses the hdb_samba4 functions via a set of hdb_ function-pointers.
  +
# Heimdal's HDB structure contains the hdb_ function-pointers.
  +
# The hdb_samba4 functions wrap the part of Samba4's ldb library that stores & retrieves DB entries.
  +
# The hdb_samba4_ functions are defined in Samba4's file kdc/hdb-samba4.c .
  +
# Only Samba4 uses the hdb_samba4 functions directly.
  +
  +
Only Heimdal uses this function-pointer interface to Samba4's hdb_samba4_ functions:
   
 
# (HDB *)->hdb_dbc = NULL;
 
# (HDB *)->hdb_dbc = NULL;
# (HDB *)->hdb_open = LDB_open;
+
# (HDB *)->hdb_open = hdb_samba4_open;
# (HDB *)->hdb_close = LDB_close;
+
# (HDB *)->hdb_close = hdb_samba4_close;
# (HDB *)->hdb_fetch = LDB_fetch;
+
# (HDB *)->hdb_fetch = hdb_samba4_fetch;
# (HDB *)->hdb_store = LDB_store;
+
# (HDB *)->hdb_store = hdb_samba4_store;
# (HDB *)->hdb_remove = LDB_remove;
+
# (HDB *)->hdb_remove = hdb_samba4_remove;
# (HDB *)->hdb_firstkey = LDB_firstkey;
+
# (HDB *)->hdb_firstkey = hdb_samba4_firstkey;
# (HDB *)->hdb_nextkey = LDB_nextkey;
+
# (HDB *)->hdb_nextkey = hdb_samba4_nextkey;
# (HDB *)->hdb_lock = LDB_lock;
+
# (HDB *)->hdb_lock = hdb_samba4_lock;
# (HDB *)->hdb_unlock = LDB_unlock;
+
# (HDB *)->hdb_unlock = hdb_samba4_unlock;
# (HDB *)->hdb_rename = LDB_rename;
+
# (HDB *)->hdb_rename = hdb_samba4_rename;
 
# (HDB *)->hdb__get = NULL;
 
# (HDB *)->hdb__get = NULL;
 
# (HDB *)->hdb__put = NULL;
 
# (HDB *)->hdb__put = NULL;
 
# (HDB *)->hdb__del = NULL;
 
# (HDB *)->hdb__del = NULL;
# (HDB *)->hdb_destroy = LDB_destroy;
+
# (HDB *)->hdb_destroy = hdb_samba4_destroy;
  +
# (HDB *)->hdb_check_pkinit_ms_upn_match = hdb_samba4_check_pkinit_ms_upn_match
  +
# (HDB *)->hdb_check_constrained_delegation = hdb_samba4_check_constrained_delegation
  +
  +
Samba4's hdb_ library also includes a local function invoked via a function-pointer:
  +
# hdb_ldb_free_entry in kdc/hdb-samba4.c
  +
This function-pointer gets used by both Heimdal & Samba4.
   
 
----
 
----
   
== Samba4's hdb Interface ==
+
== Heimdal's internal hdb library ==
Samba4's heimdal/lib/hdb/hdb.c defines another set of hdb_ functions:
+
This library isn't completely "internal,"
  +
because four of these routines get used by Samba4, too:
   
External entry-points:
 
  +
# initialize_hdb_error_table_r
# hdb_next_enctype2key
 
  +
# free_hdb_entry
 
# hdb_enctype2key
 
# hdb_enctype2key
# hdb_free_key
 
# hdb_lock
 
# hdb_unlock
 
 
# hdb_free_entry
 
# hdb_free_entry
# hdb_foreach
 
# hdb_check_db_format
 
# hdb_init_db
 
# hdb_list_builtin
 
# hdb_createandlers
 
   
There are also some event-handlers (local fcns invoked via function-pointers):
 
  +
Further, the global struct hdb_kt_ops{} gets used only by Samba4.
# hdb_ldb_free_entry in kdc/hdb-samba4.c
 
  +
# hdb_samba4_create in kdc/kdc.c
 
  +
Two functions here, hdb_lock & hdb_unlock, have the same names
  +
as two of the hdb_samba4 function-pointers (see above):
  +
# (HDB *)->hdb_lock ,
  +
# (HDB *)->hdb_unlock .
  +
  +
Of these 72 functions:
  +
# Four get used by Samba4;
  +
# Seven are used by Heimdal's kdc & tgs code;
  +
# Seven are used by Heimdal's NDBM & DB code (Heiumdal's alternatives to Samba's ldb);
  +
# 27 are used only internally, by the hdb library.
  +
# 39 are unused.
   
 
----
 
----
   
== Heimdal's internal hdb library ==
 
 
{| class="wikitable sortable" width="100%" border="1" style="border-collapse: collapse; border: 1px solid #dfdfdf;"
 
{| class="wikitable sortable" width="100%" border="1" style="border-collapse: collapse; border: 1px solid #dfdfdf;"
| bgcolor="#ff6600" |<font color="#ffffff">'''Entry-point'''</font>
+
| bgcolor="#99ff99" |<font color="#666666">'''Entry-point'''</font>
| bgcolor="#ff6600" |<font color="#ffffff">'''heimdal/lib/hdb file''' </font>
+
| bgcolor="#99ff99" |<font color="#666666">'''heimdal/lib/hdb file''' </font>
| bgcolor="#ff6600" |<font color="#ffffff">'''Used by'''</font>
+
| bgcolor="#99ff99" |<font color="#666666">'''Heim use'''</font>
  +
| bgcolor="#99ff99" |<font color="#666666">'''Smb4 use'''</font>
   
 
|-
 
|-
 
| copy_hdb_entry
 
| copy_hdb_entry
 
| asn1_hdb_entry.c
 
| asn1_hdb_entry.c
| no
+
|
  +
|
   
 
|-
 
|-
 
| copy_hdb_entry_alias
 
| copy_hdb_entry_alias
 
| asn1_hdb_entry_alias.c
 
| asn1_hdb_entry_alias.c
| no
+
|
  +
|
   
 
|-
 
|-
 
| decode_hdb_entry
 
| decode_hdb_entry
 
| asn1_hdb_entry.c
 
| asn1_hdb_entry.c
| no
+
|
  +
|
   
 
|-
 
|-
 
| decode_hdb_entry_alias
 
| decode_hdb_entry_alias
 
| asn1_hdb_entry_alias.c
 
| asn1_hdb_entry_alias.c
| no
+
|
  +
|
   
 
|-
 
|-
 
| encode_hdb_entry
 
| encode_hdb_entry
 
| asn1_hdb_entry.c
 
| asn1_hdb_entry.c
| no
+
|
  +
|
   
 
|-
 
|-
 
| encode_hdb_entry_alias
 
| encode_hdb_entry_alias
 
| asn1_hdb_entry_alias.c
 
| asn1_hdb_entry_alias.c
| no
+
|
  +
|
   
 
|-
 
|-
 
| free_hdb_entry
 
| free_hdb_entry
 
| asn1_hdb_entry.c
 
| asn1_hdb_entry.c
| both +
+
| hdb ++
  +
| hdb_samba4 +
   
 
|-
 
|-
 
| free_hdb_entry_alias
 
| free_hdb_entry_alias
 
| asn1_hdb_entry_alias.c
 
| asn1_hdb_entry_alias.c
| heimdal
 
  +
|
  +
|
   
 
|-
 
|-
 
| initialize_hdb_error_table
 
| initialize_hdb_error_table
 
| hdb_err.c
 
| hdb_err.c
| no
+
|
  +
|
   
 
|-
 
|-
 
| initialize_hdb_error_table_r
 
| initialize_hdb_error_table_r
 
| hdb_err.c
 
| hdb_err.c
| both
+
| hdb
  +
| kdc
   
 
|-
 
|-
 
| length_hdb_entry
 
| length_hdb_entry
 
| asn1_hdb_entry.c
 
| asn1_hdb_entry.c
| no
+
|
  +
|
   
 
|-
 
|-
 
| length_hdb_entry_alias
 
| length_hdb_entry_alias
 
| asn1_hdb_entry_alias.c
 
| asn1_hdb_entry_alias.c
| no
+
|
  +
|
  +
  +
|-
  +
| _hdb_fetch
  +
| common.c
  +
| hdb
  +
|
  +
  +
|-
  +
| _hdb_store
  +
| common.c
  +
| hdb
  +
|
  +
  +
|-
  +
| _hdb_remove
  +
| common.c
  +
| hdb
  +
|
   
 
|-
 
|-
 
| _hdb_find_master_key
 
| _hdb_find_master_key
 
| mkey.c
 
| mkey.c
| heimdal +
 
  +
| hdb
  +
|
   
 
|-
 
|-
 
| _hdb_mkey_decrypt
 
| _hdb_mkey_decrypt
 
| mkey.c
 
| mkey.c
| heimdal +
 
  +
| hdb
  +
|
   
 
|-
 
|-
 
| _hdb_mkey_version
 
| _hdb_mkey_version
 
| mkey.c
 
| mkey.c
| heimdal
 
  +
| hdb
  +
|
   
 
|-
 
|-
 
| hdb_add_master_key
 
| hdb_add_master_key
 
| mkey.c
 
| mkey.c
| no
+
|
  +
|
   
 
|-
 
|-
 
| hdb_check_db_format
 
| hdb_check_db_format
 
| hdb.c
 
| hdb.c
| heimdal +
 
  +
| NDBM, DB, hdb
  +
|
   
 
|-
 
|-
 
| hdb_clear_extension
 
| hdb_clear_extension
 
| ext.c
 
| ext.c
| heimdal
 
  +
| hdb
  +
|
   
 
|-
 
|-
 
| hdb_clear_master_key
 
| hdb_clear_master_key
 
| mkey.c
 
| mkey.c
| heimdal +
 
  +
| NDBM, DB
  +
|
   
 
|-
 
|-
 
| hdb_create
 
| hdb_create
 
| hdb.c
 
| hdb.c
| heimdal
 
  +
| hdb
  +
|
   
 
|-
 
|-
| hdb_db_dir
 
  +
| hdb_db_dr
 
| dbinfo.c
 
| dbinfo.c
| heimdal +
+
| kdc
  +
|
   
 
|-
 
|-
 
| hdb_dbinfo_get_acl_file
 
| hdb_dbinfo_get_acl_file
 
| dbinfo.c
 
| dbinfo.c
| no
+
|
  +
|
   
 
|-
 
|-
 
| hdb_dbinfo_get_binding
 
| hdb_dbinfo_get_binding
 
| dbinfo.c
 
| dbinfo.c
| no
+
|
  +
|
   
 
|-
 
|-
 
| hdb_dbinfo_get_dbname
 
| hdb_dbinfo_get_dbname
 
| dbinfo.c
 
| dbinfo.c
| no
+
|
  +
|
   
 
|-
 
|-
 
| hdb_dbinfo_get_label
 
| hdb_dbinfo_get_label
 
| dbinfo.c
 
| dbinfo.c
| no
 
  +
|
  +
|
   
 
|-
 
|-
 
| hdb_dbinfo_get_log_file
 
| hdb_dbinfo_get_log_file
 
| dbinfo.c
 
| dbinfo.c
| no
 
  +
|
  +
|
   
 
|-
 
|-
 
| hdb_dbinfo_get_mkey_file
 
| hdb_dbinfo_get_mkey_file
 
| dbinfo.c
 
| dbinfo.c
| no
 
  +
|
  +
|
   
 
|-
 
|-
 
| hdb_dbinfo_get_next
 
| hdb_dbinfo_get_next
 
| dbinfo.c
 
| dbinfo.c
| no
 
  +
|
  +
|
   
 
|-
 
|-
 
| hdb_dbinfo_get_realm
 
| hdb_dbinfo_get_realm
 
| dbinfo.c
 
| dbinfo.c
| no
 
  +
|
  +
|
   
 
|-
 
|-
 
| hdb_free_dbinfo
 
| hdb_free_dbinfo
 
| dbinfo.c
 
| dbinfo.c
| no
 
  +
|
  +
|
   
 
|-
 
|-
 
| hdb_get_dbinfo
 
| hdb_get_dbinfo
 
| dbinfo.c
 
| dbinfo.c
| no
 
  +
|
  +
|
   
 
|-
 
|-
 
| hdb_default_db
 
| hdb_default_db
 
| dbinfo.c
 
| dbinfo.c
| no
 
  +
|
  +
|
   
 
|-
 
|-
 
| hdb_init_db
 
| hdb_init_db
 
| hdb.c
 
| hdb.c
| heimdal
 
  +
| NDBM, DB, hdb
  +
|
   
 
|-
 
|-
 
| hdb_enctype2key
 
| hdb_enctype2key
 
| hdb.c
 
| hdb.c
| both ++
+
| kdc ++, tgs ++
  +
| kdc
   
 
|-
 
|-
 
| hdb_entry_check_mandatory
 
| hdb_entry_check_mandatory
 
| ext.c
 
| ext.c
| no
 
  +
|
  +
|
   
 
|-
 
|-
 
| hdb_entry_clear_password
 
| hdb_entry_clear_password
 
| ext.c
 
| ext.c
| no
 
  +
|
  +
|
   
 
|-
 
|-
 
| hdb_entry_get_aliases
 
| hdb_entry_get_aliases
 
| ext.c
 
| ext.c
| no
 
  +
|
  +
|
   
 
|-
 
|-
 
| hdb_entry_get_ConstrainedDelegACL
 
| hdb_entry_get_ConstrainedDelegACL
 
| ext.c
 
| ext.c
| heimdal
 
  +
| tgs
  +
|
   
 
|-
 
|-
 
| hdb_entry_get_password
 
| hdb_entry_get_password
 
| ext.c
 
| ext.c
| heimdal
 
  +
| kdc
  +
|
   
 
|-
 
|-
 
| hdb_entry_get_pkinit_acl
 
| hdb_entry_get_pkinit_acl
 
| ext.c
 
| ext.c
| heimdal
 
  +
| kdc
  +
|
   
 
|-
 
|-
 
| hdb_entry_get_pkinit_hash
 
| hdb_entry_get_pkinit_hash
 
| ext.c
 
| ext.c
| no
+
|
  +
|
   
 
|-
 
|-
 
| hdb_entry_get_pw_change_time
 
| hdb_entry_get_pw_change_time
 
| ext.c
 
| ext.c
| no
+
|
  +
|
   
 
|-
 
|-
 
| hdb_entry_set_password
 
| hdb_entry_set_password
 
| ext.c
 
| ext.c
| no
 
  +
|
  +
|
   
 
|-
 
|-
 
| hdb_entry_set_pw_change_time
 
| hdb_entry_set_pw_change_time
 
| ext.c
 
| ext.c
| no
 
  +
|
  +
|
   
 
|-
 
|-
 
| hdb_find_extension
 
| hdb_find_extension
 
| ext.c
 
| ext.c
| heimdal +
+
| hdb ++
  +
|
   
 
|-
 
|-
 
| hdb_foreach
 
| hdb_foreach
 
| hdb.c
 
| hdb.c
| no
+
|
  +
|
   
 
|-
 
|-
 
| hdb_free_entry
 
| hdb_free_entry
 
| hdb.c
 
| hdb.c
| both ++
 
  +
| NDBM, DB, kdc, hdb +
  +
| kdc ++
   
 
|-
 
|-
 
| hdb_free_key
 
| hdb_free_key
 
| hdb.c
 
| hdb.c
| no
+
|
  +
|
   
 
|-
 
|-
 
| hdb_free_keys
 
| hdb_free_keys
 
| keys.c
 
| keys.c
| no
+
|
  +
|
   
 
|-
 
|-
 
| hdb_free_master_key
 
| hdb_free_master_key
 
| mkey.c
 
| mkey.c
| heimdal
 
  +
| hdb
  +
|
   
 
|-
 
|-
 
| hdb_generate_key_set
 
| hdb_generate_key_set
 
| keys.c
 
| keys.c
| heimdal
 
  +
| hdb
  +
|
   
 
|-
 
|-
 
| hdb_generate_key_set_password
 
| hdb_generate_key_set_password
 
| keys.c
 
| keys.c
| no
+
|
  +
|
   
 
|-
 
|-
 
| hdb_kt_ops{}
 
| hdb_kt_ops{}
 
| keytab.c
 
| keytab.c
| samba4
 
  +
|
  +
| kdc
   
 
|-
 
|-
 
| hdb_list_builtin
 
| hdb_list_builtin
 
| hdb.c
 
| hdb.c
| no
+
|
+
|
|-
 
| hdb_lock (func ptr)
 
| kdc/hdb-samba4.c
 
| heimdal ++
 
   
 
|-
 
|-
 
| hdb_lock
 
| hdb_lock
 
| hdb.c
 
| hdb.c
| heimdal
 
  +
| NDBM, DB
  +
|
   
 
|-
 
|-
 
| hdb_next_enctype2key
 
| hdb_next_enctype2key
 
| hdb.c
 
| hdb.c
| heimdal +
 
  +
| kdc +, hdb
  +
|
   
 
|-
 
|-
 
| hdb_process_master_key
 
| hdb_process_master_key
 
| mkey.c
 
| mkey.c
| heimdal +
+
| hdb ++
  +
|
   
 
|-
 
|-
 
| hdb_read_master_key
 
| hdb_read_master_key
 
| mkey.c
 
| mkey.c
| heimdal
 
  +
| hdb
  +
|
   
 
|-
 
|-
 
| hdb_replace_extension
 
| hdb_replace_extension
 
| ext.c
 
| ext.c
| heimdal
 
  +
| hdb
  +
|
   
 
|-
 
|-
 
| hdb_seal_key
 
| hdb_seal_key
 
| mkey.c
 
| mkey.c
| no
+
|
  +
|
   
 
|-
 
|-
 
| hdb_seal_keys
 
| hdb_seal_keys
 
| mkey.c
 
| mkey.c
| no
+
|
  +
|
   
 
|-
 
|-
 
| hdb_seal_key_mkey
 
| hdb_seal_key_mkey
 
| mkey.c
 
| mkey.c
| heimdal
 
  +
| hdb
  +
|
   
 
|-
 
|-
 
| hdb_seal_keys_mkey
 
| hdb_seal_keys_mkey
 
| mkey.c
 
| mkey.c
| heimdal
 
  +
| hdb
  +
|
   
 
|-
 
|-
 
| hdb_set_master_key
 
| hdb_set_master_key
 
| mkey.c
 
| mkey.c
| no
+
|
  +
|
   
 
|-
 
|-
 
| hdb_set_master_keyfile
 
| hdb_set_master_keyfile
 
| mkey.c
 
| mkey.c
| heimdal
 
  +
| hdb +
 
  +
|
|-
 
| hdb_unlock (func ptr)
 
| kdc/hdb-samba4.c
 
| heimdal ++
 
   
 
|-
 
|-
 
| hdb_unlock
 
| hdb_unlock
 
| hdb.c
 
| hdb.c
| heimdal
 
  +
| NDBM, DB
  +
|
   
 
|-
 
|-
 
| hdb_unseal_key
 
| hdb_unseal_key
 
| mkey.c
 
| mkey.c
| no
+
|
  +
|
   
 
|-
 
|-
 
| hdb_unseal_keys
 
| hdb_unseal_keys
 
| mkey.c
 
| mkey.c
| heimdal +
 
  +
| NDBM, DB
  +
|
   
 
|-
 
|-
 
| hdb_unseal_key_mkey
 
| hdb_unseal_key_mkey
 
| mkey.c
 
| mkey.c
| heimdal
 
  +
| hdb
  +
|
   
 
|-
 
|-
 
| hdb_unseal_keys_mkey
 
| hdb_unseal_keys_mkey
 
| mkey.c
 
| mkey.c
| heimdal
 
  +
| hdb
  +
|
   
 
|}
 
|}
Line 421: Line 641:
 
----
 
----
   
== Samba's ldb library ==
+
== Samba's internal ldb library ==
   
 
These routines are defined & used only in Samba4,
 
These routines are defined & used only in Samba4,
 
and not in Samba4's heimdal snapshot tree.
 
and not in Samba4's heimdal snapshot tree.
  +
The ldb functions are used by Samba4's hdb_samba4 interface,
  +
which Heimdal does use, via the hdb_*** function-pointers.
   
=== ldb basic calls ===
 
  +
Two function-families are defined in a spread-out way:
# ldb_add
 
  +
# The eight ldb_attr_ functions are defined in four source-files;
# ldb_connect
 
  +
# The seven ldb_request functions are defined in four source-files.
# ldb_debug
 
# ldb_delete
 
# ldb_errstring
 
# ldb_init
 
# ldb_modify
 
# ldb_qsort
 
# ldb_rename
 
# ldb_request
 
# ldb_search
 
# ldb_wait
 
   
=== ldb_attr_ calls ===
 
  +
Key to the columns:
  +
# *srv : used by rpc_server, smb_server, etc (7 *_server components in all).
  +
# dsdb : used by dsdb/samdb
  +
# net : used by libnet
  +
# ldb : used by ldb itself
  +
# other: used by other components, listed in the function's "other" cell
  +
# ldb grp: a makeshift subgrouping of ldb, for sorting the functions by type.
   
# ldb_attr_casefold
 
  +
The column-headings are clickable.
# ldb_attr_dn
 
# ldb_attr_in_list
 
# ldb_attr_list_copy
 
# ldb_attr_list_copy_add
 
   
=== ldb_build_..._req calls ===
 
  +
{| class="wikitable sortable" width="100%" border="1" style="border-collapse: collapse; border: 1px solid #dfdfdf;"
  +
| bgcolor="#66ccff" |<font color="#ffffff">'''Entry-point'''</font>
  +
| bgcolor="#66ccff" |<font color="#ffffff">'''Samba4 file''' </font>
  +
| bgcolor="#66ccff" |<font color="#ffffff">'''*srv'''</font>
  +
| bgcolor="#66ccff" |<font color="#ffffff">'''dsdb'''</font>
  +
| bgcolor="#66ccff" |<font color="#ffffff">'''net'''</font>
  +
| bgcolor="#66ccff" |<font color="#ffffff">'''ldb'''</font>
  +
| bgcolor="#66ccff" |<font color="#ffffff">'''other'''</font>
  +
| bgcolor="#66ccff" |<font color="#ffffff">'''ldb grp'''</font>
   
# ldb_build_add_req
 
  +
|-
# ldb_build_del_req
 
  +
| ldb_search
# ldb_build_extended_req
 
  +
| common/ldb.c
# ldb_build_mod_req
 
  +
| ++
# ldb_build_rename_req
 
  +
| ++
# ldb_build_search_req
 
  +
| ++
# ldb_build_search_req_ex
 
  +
| ++
  +
| param
  +
| basic
   
=== ldb_dn_ calls ===
 
  +
|-
# ldb_dn_add_base
 
  +
| ldb_errstring
# ldb_dn_add_base_fmt
 
  +
| common/ldb.c
# ldb_dn_add_child
 
  +
| ++
# ldb_dn_add_child_fmt
 
  +
| ++
# ldb_dn_alloc_casefold
 
  +
| ++
# ldb_dn_alloc_linearized
 
  +
| ++
# ldb_dn_canonical_ex_strin
 
  +
| kdc, param
# ldb_dn_canonical_string
 
  +
| basic
# ldb_dn_check_local
 
# ldb_dn_check_special
 
# ldb_dn_compare
 
# ldb_dn_compare_base
 
# ldb_dn_copy
 
# ldb_dn_escape_value
 
# ldb_dn_extended_add_synta
 
# ldb_dn_extended_syntax_by
 
# ldb_dn_from_ldb_val
 
# ldb_dn_get_casefold
 
# ldb_dn_get_comp_num
 
# ldb_dn_get_component_name
 
# ldb_dn_get_component_val
 
# ldb_dn_get_extended_compo
 
# ldb_dn_get_extended_linea
 
# ldb_dn_get_linearized
 
# ldb_dn_get_parent
 
# ldb_dn_get_rdn_name
 
# ldb_dn_get_rdn_val
 
# ldb_dn_has_extended
 
# ldb_dn_is_null
 
# ldb_dn_is_special
 
# ldb_dn_is_valid
 
# ldb_dn_map_local
 
# ldb_dn_map_rebase_remote
 
# ldb_dn_new
 
# ldb_dn_new_fmt
 
# ldb_dn_remove_base_compon
 
# ldb_dn_remove_child_compo
 
# ldb_dn_set_component
 
# ldb_dn_set_extended_compo
 
# ldb_dn_validate
 
   
=== ldb_extended_ calls ===
 
  +
|-
  +
| ldb_add
  +
| common/ldb.c
  +
| +
  +
| +
  +
| +
  +
| ++
  +
| param
  +
| basic
   
# ldb_extended
 
  +
|-
# ldb_extended_default_call
 
  +
| ldb_debug
# ldb_extended_dn_in_module
 
  +
| common/ldb_debug.c
# ldb_extended_dn_out_deref
 
  +
| 1
# ldb_extended_dn_out_ldb_m
 
  +
| ++
# ldb_extended_dn_store_mod
 
  +
|
  +
| ++
  +
|
  +
| basic
   
=== ldb_get_ calls ===
 
  +
|-
# ldb_get_config_basedn
 
  +
| ldb_wait
# ldb_get_create_perms
 
  +
| common/ldb.c
# ldb_get_default_basedn
 
  +
| 1
# ldb_get_event_context
 
  +
| +
# ldb_get_opaque
 
  +
| 1
# ldb_get_root_basedn
 
  +
| ++
# ldb_get_schema_basedn
 
  +
|
  +
| basic
   
=== ldb_ldif_ calls ===
 
  +
|-
# ldb_ldif_read_file
 
  +
| ldb_delete
# ldb_ldif_read_free
 
  +
| common/ldb.c
# ldb_ldif_read_string
 
  +
| 1
# ldb_ldif_write_file
 
  +
|
  +
| +
  +
| ++
  +
| param
  +
| basic
   
=== ldb_module_ calls ===
 
  +
|-
# ldb_module_done
 
  +
| ldb_request
# ldb_module_get_ctx
 
  +
| common/ldb.c
# ldb_module_get_private
 
  +
| 1
# ldb_module_new
 
  +
| +
# ldb_module_send_entry
 
  +
|
# ldb_module_send_referral
 
  +
| ++
# ldb_module_set_private
 
  +
|
# ldb_modules_list_from_str
 
  +
| basic
# ldb_init_module_chain
 
# ldb_load_modules
 
# ldb_load_modules_list
 
   
=== ldb_..._module_ops calls ===
 
  +
|-
# ldb_anr_module_ops
 
  +
| ldb_connect
# ldb_asq_module_ops
 
  +
| common/ldb.c
# ldb_dsdb_cache_module_ops
 
  +
| 1
# ldb_entryuuid_module_ops
 
  +
|
# ldb_instancetype_module_ops
 
  +
|
# ldb_kludge_acl_module_ops
 
  +
| ++
# ldb_ldap_backend_ops
 
  +
| param
# ldb_ldapi_backend_ops
 
  +
| basic
# ldb_ldaps_backend_ops
 
# ldb_linked_attributes_module_ops
 
# ldb_local_password_module_ops
 
# ldb_naming_fsmo_module_ops
 
# ldb_nsuniqueid_module_ops
 
# ldb_objectclass_module_ops
 
# ldb_objectguid_module_ops
 
# ldb_operational_module_ops
 
# ldb_paged_results_module_ops
 
# ldb_paged_searches_module_ops
 
# ldb_partition_module_ops
 
# ldb_password_hash_module_ops
 
# ldb_pdc_fsmo_module_ops
 
# ldb_ranged_results_module_ops
 
# ldb_rdn_name_module_ops
 
# ldb_register_module
 
# ldb_repl_meta_data_module_ops
 
# ldb_rootdse_module_ops
 
# ldb_samba3sam_module_ops
 
# ldb_samldb_module_ops
 
# ldb_server_sort_module_ops
 
# ldb_show_deleted_module_ops
 
# ldb_skel_module_ops
 
# ldb_subtree_delete_module_ops
 
# ldb_subtree_rename_module_ops
 
# ldb_tdb_backend_ops
 
# ldb_update_keytab_module_ops
 
# ldb_wins_ldb_module_ops
 
   
=== ldb_msg_ calls ===
 
  +
|-
# ldb_msg_add
 
  +
| ldb_init
# ldb_msg_add_empty
 
  +
| common/ldb.c
# ldb_msg_add_fmt
 
  +
|
# ldb_msg_add_steal_string
 
  +
| 1
# ldb_msg_add_steal_value
 
  +
|
# ldb_msg_add_string
 
  +
| ++
# ldb_msg_add_value
 
  +
|
# ldb_msg_canonicalize
 
  +
| basic
# ldb_msg_check_string_attr
 
# ldb_msg_copy
 
# ldb_msg_copy_attr
 
# ldb_msg_copy_shallow
 
# ldb_msg_diff
 
# ldb_msg_element_compare
 
# ldb_msg_find_attr_as_bool
 
# ldb_msg_find_attr_as_dn
 
# ldb_msg_find_attr_as_int
 
# ldb_msg_find_attr_as_int6
 
# ldb_msg_find_attr_as_stri
 
# ldb_msg_find_attr_as_uint
 
# ldb_msg_find_element
 
# ldb_msg_find_ldb_val
 
# ldb_msg_find_val
 
# ldb_msg_new
 
# ldb_msg_remove_attr
 
# ldb_msg_remove_element
 
# ldb_msg_sanity_check
 
# ldb_msg_sort_elements
 
   
=== ldb_next_ ===
 
  +
|-
# ldb_next_del_trans
 
  +
| ldb_modify
# ldb_next_end_trans
 
  +
| common/ldb.c
# ldb_next_init
 
  +
| +
# ldb_next_remote_request
 
  +
| +
# ldb_next_request
 
  +
| +
# ldb_next_start_trans
 
  +
| +
  +
| param
  +
| basic
   
=== ldb_request ===
 
  +
|-
# ldb_request_add_control
 
  +
| ldb_rename
# ldb_request_done
 
  +
| common/ldb.c
# ldb_request_get_control
 
  +
| 1
# ldb_request_get_status
 
  +
|
# ldb_request_set_state
 
  +
| 1
  +
| +
  +
| param
  +
| basic
   
=== ldb_schema_ calls ===
 
  +
|-
# ldb_schema_attribute_add
 
  +
| ldb_qsort
# ldb_schema_attribute_add_
 
  +
| common/qsort.c
# ldb_schema_attribute_by_n
 
  +
| 1
# ldb_schema_attribute_remo
 
  +
| 1
# ldb_schema_attribute_set_
 
  +
| 1
# ldb_schema_fsmo_module_op
 
  +
| 1
  +
|
  +
| basic
   
=== ldb_set_ calls ===
 
  +
|-
# ldb_set_create_perms
 
  +
| ldb_attr_cmp
# ldb_set_debug
 
  +
| ldb/include/ldb.h
# ldb_set_debug_stderr
 
  +
|
# ldb_set_default_dns
 
  +
| ++
# ldb_set_errstring
 
  +
|
# ldb_set_modules_dir
 
  +
| ++
# ldb_set_opaque
 
  +
|
# ldb_set_timeout
 
  +
| attr
# ldb_set_utf8_default
 
# ldb_set_utf8_fns
 
   
=== ldb_transaction_ calls ===
 
  +
|-
# ldb_transaction_cancel
 
  +
| ldb_attr_in_list
# ldb_transaction_commit
 
  +
| common/ldb_msg.c
# ldb_transaction_start
 
  +
|
  +
| +
  +
|
  +
| +
  +
|
  +
| attr
   
=== ldb_val_ calls ===
 
  +
|-
# ldb_val_dup
 
  +
| ldb_attr_casefold
# ldb_val_equal_exact
 
  +
| common/ldb_utf8.c
# ldb_valid_attr_name
 
  +
|
# ldb_val_map_local
 
  +
|
# ldb_val_map_remote
 
  +
|
  +
| +
  +
|
  +
| attr
   
  +
|-
  +
| ldb_setup_wellknown_attributes
  +
| common/ldb_attributes.c
  +
|
  +
|
  +
|
  +
| +
  +
|
  +
| attr
   
=== ldb miscellaneous calls ===
 
  +
|-
# ldb_asprintf_errstring
 
  +
| ldb_attr_list_copy_add
# ldb_base64_decode
 
  +
| common/ldb_msg.c
# ldb_base64_encode
 
  +
|
# ldb_binary_encode
 
  +
| 1
# ldb_binary_encode_string
 
  +
|
# ldb_casefold
 
  +
| 1
# ldb_cmdline_process
 
  +
|
# ldb_comparison_binary
 
  +
| attr
# ldb_connect_backend
 
  +
# ldb_debug_set
 
  +
|-
# ldb_filter_from_tree
 
  +
| ldb_valid_attr_name
# ldb_handle_new
 
  +
| common/ldb_utf8.c
# ldb_handler_copy
 
  +
|
# ldb_map_init
 
  +
|
# ldb_match_msg
 
  +
|
# ldb_mod_register_control
 
  +
| 1
# ldb_op_default_callback
 
  +
|
# ldb_parse_control_strings
 
  +
| attr
# ldb_parse_tree
 
  +
# ldb_parse_tree_attr_replace
 
  +
|-
# ldb_register_samba_handle
 
  +
| ldb_attr_dn
# ldb_reply_get_control
 
  +
| common/ldb_utf8.c
# ldb_reset_err_string
 
  +
|
# ldb_samba_syntax_by_lDAPD
 
  +
|
# ldb_samba_syntax_by_name
 
  +
|
# ldb_search_default_callback
 
  +
| 1
# ldb_sequence_number
 
  +
|
# ldb_setup_wellknown_attri
 
  +
| attr
# ldb_should_b64_encode
 
  +
# ldb_standard_syntax_by_name
 
  +
|-
# ldb_strerror
 
  +
| ldb_attr_list_copy
# ldb_string_to_time
 
  +
| common/ldb_msg.c
# ldb_string_utc_to_time
 
  +
|
# ldb_timestring
 
  +
|
# ldb_timestring_utc
 
  +
|
# ldb_wrap_connect
 
  +
| 1
  +
|
  +
| attr
  +
  +
|-
  +
| ldb_ldap_backend_ops
  +
| ldb_ildap/ldb_ildap.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| backend_ops
  +
  +
|-
  +
| ldb_ldapi_backend_ops
  +
| ldb_ildap/ldb_ildap.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| backend_ops
  +
  +
|-
  +
| ldb_ldaps_backend_ops
  +
| ldb_ildap/ldb_ildap.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| backend_ops
  +
  +
|-
  +
| ldb_tdb_backend_ops
  +
| ldb_ldap/ldb_tdb.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| backend_ops
  +
  +
|-
  +
| ldb_get_default_basedn
  +
| common/ldb.c
  +
| +
  +
| +
  +
|
  +
| +
  +
| kdc, auth
  +
| basedn
  +
  +
|-
  +
| ldb_get_root_basedn
  +
| common/ldb.c
  +
| +
  +
| +
  +
|
  +
| 1
  +
|
  +
| basedn
  +
  +
|-
  +
| ldb_get_config_basedn
  +
| common/ldb.c
  +
|
  +
| 1
  +
|
  +
| 1
  +
|
  +
| basedn
  +
  +
|-
  +
| ldb_get_schema_basedn
  +
| common/ldb.c
  +
|
  +
| 1
  +
|
  +
| 1
  +
|
  +
| basedn
  +
  +
|-
  +
| ldb_build_search_req_ex
  +
| common/ldb.c
  +
|
  +
| ++
  +
|
  +
| ++
  +
|
  +
| build...req
  +
  +
|-
  +
| ldb_build_add_req
  +
| common/ldb.c
  +
|
  +
| ++
  +
|
  +
| +
  +
|
  +
| build...req
  +
  +
|-
  +
| ldb_build_del_req
  +
| common/ldb.c
  +
|
  +
| ++
  +
|
  +
| +
  +
|
  +
| build...req
  +
  +
|-
  +
| ldb_build_mod_req
  +
| common/ldb.c
  +
|
  +
| ++
  +
|
  +
| +
  +
|
  +
| build...req
  +
  +
|-
  +
| ldb_build_rename_req
  +
| common/ldb.c
  +
|
  +
| ++
  +
|
  +
| +
  +
|
  +
| build...req
  +
  +
|-
  +
| ldb_build_search_req
  +
| common/ldb.c
  +
|
  +
| ++
  +
|
  +
| +
  +
|
  +
| build...req
  +
  +
|-
  +
| ldb_build_extended_req
  +
| common/ldb.c
  +
|
  +
| 1
  +
|
  +
| +
  +
|
  +
| build...req
  +
  +
|-
  +
| ldb_debug_set
  +
| common/ldb_debug.c
  +
| 1
  +
| +
  +
|
  +
| +
  +
|
  +
| debug
  +
  +
|-
  +
| ldb_set_debug
  +
| common/ldb_debug.c
  +
|
  +
|
  +
|
  +
| +
  +
|
  +
| debug
  +
  +
|-
  +
| ldb_set_debug_stderr
  +
| common/ldb_debug.c
  +
|
  +
|
  +
|
  +
| 1
  +
| registry
  +
| debug
  +
  +
|-
  +
| ldb_dn_new
  +
| common/ldb_dn.c
  +
| ++
  +
| ++
  +
| ++
  +
| ++
  +
| gpo, auth, winbind, utils, param, ntptr
  +
| dn
  +
  +
|-
  +
| ldb_dn_get_linearized
  +
| common/ldb_dn.c
  +
| ++
  +
| ++
  +
| ++
  +
| ++
  +
| kdc, gpo, auth
  +
| dn
  +
  +
|-
  +
| ldb_dn_add_child_fmt
  +
| common/ldb_dn.c
  +
| ++
  +
| +
  +
| +
  +
| +
  +
|
  +
| dn
  +
  +
|-
  +
| ldb_dn_new_fmt
  +
| common/ldb_dn.c
  +
| +
  +
| +
  +
| ++
  +
| +
  +
| winbind, param, ntptr
  +
| dn
  +
  +
|-
  +
| ldb_dn_copy
  +
| common/ldb_dn.c
  +
| +
  +
| +
  +
| +
  +
| ++
  +
| utils
  +
| dn
  +
  +
|-
  +
| ldb_dn_validate
  +
| common/ldb_dn.c
  +
| +
  +
| +
  +
| +
  +
| ++
  +
| utils
  +
| dn
  +
  +
|-
  +
| ldb_dn_alloc_linearized
  +
| common/ldb_dn.c
  +
| 1
  +
| +
  +
| +
  +
| ++
  +
|
  +
| dn
  +
  +
|-
  +
| ldb_dn_compare
  +
| common/ldb_dn.c
  +
| 1
  +
| ++
  +
| +
  +
| +
  +
|
  +
| dn
  +
  +
|-
  +
| ldb_dn_is_special
  +
| common/ldb_dn.c
  +
| 1
  +
| ++
  +
|
  +
| ++
  +
|
  +
| dn
  +
  +
|-
  +
| ldb_dn_get_parent
  +
| common/ldb_dn.c
  +
| 1
  +
| +
  +
| +
  +
| +
  +
|
  +
| dn
  +
  +
|-
  +
| ldb_dn_get_component_val
  +
| common/ldb_dn.c
  +
| +
  +
| +
  +
|
  +
| +
  +
|
  +
| dn
  +
  +
|-
  +
| ldb_dn_get_comp_num
  +
| common/ldb_dn.c
  +
| +
  +
| +
  +
|
  +
| +
  +
|
  +
| dn
  +
  +
|-
  +
| ldb_dn_get_component_name
  +
| common/ldb_dn.c
  +
| +
  +
| +
  +
|
  +
| +
  +
|
  +
| dn
  +
  +
|-
  +
| ldb_dn_from_ldb_val
  +
| common/ldb_dn.c
  +
| 1
  +
| +
  +
|
  +
| +
  +
| auth
  +
| dn
  +
  +
|-
  +
| ldb_dn_get_extended_linearized
  +
| common/ldb_dn.c
  +
| 1
  +
| +
  +
|
  +
| +
  +
|
  +
| dn
  +
  +
|-
  +
| ldb_dn_get_rdn_val
  +
| common/ldb_dn.c
  +
| 1
  +
| +
  +
|
  +
| +
  +
|
  +
| dn
  +
  +
|-
  +
| ldb_dn_get_rdn_name
  +
| common/ldb_dn.c
  +
| 1
  +
| +
  +
|
  +
| +
  +
|
  +
| dn
  +
  +
|-
  +
| ldb_dn_add_base
  +
| common/ldb_dn.c
  +
|
  +
| +
  +
|
  +
| +
  +
|
  +
| dn
  +
  +
|-
  +
| ldb_dn_set_component
  +
| common/ldb_dn.c
  +
|
  +
| +
  +
|
  +
| +
  +
|
  +
| dn
  +
  +
|-
  +
| ldb_dn_compare_base
  +
| common/ldb_dn.c
  +
|
  +
| +
  +
|
  +
| +
  +
|
  +
| dn
  +
  +
|-
  +
| ldb_dn_remove_base_components
  +
| common/ldb_dn.c
  +
|
  +
| +
  +
|
  +
| +
  +
|
  +
| dn
  +
  +
|-
  +
| ldb_dn_has_extended
  +
| common/ldb_dn.c
  +
|
  +
| +
  +
|
  +
| +
  +
|
  +
| dn
  +
  +
|-
  +
| ldb_dn_is_null
  +
| common/ldb_dn.c
  +
|
  +
| +
  +
|
  +
| +
  +
|
  +
| dn
  +
  +
|-
  +
| ldb_dn_is_valid
  +
| common/ldb_dn.c
  +
| +
  +
|
  +
|
  +
| +
  +
|
  +
| dn
  +
  +
|-
  +
| ldb_dn_canonical_string
  +
| common/ldb_dn.c
  +
| 1
  +
| 1
  +
|
  +
| +
  +
|
  +
| dn
  +
  +
|-
  +
| ldb_dn_add_base_fmt
  +
| common/ldb_dn.c
  +
|
  +
| 1
  +
|
  +
| +
  +
|
  +
| dn
  +
  +
|-
  +
| ldb_dn_canonical_ex_string
  +
| common/ldb_dn.c
  +
|
  +
| 1
  +
|
  +
| +
  +
|
  +
| dn
  +
  +
|-
  +
| ldb_dn_escape_value
  +
| common/ldb_dn.c
  +
|
  +
|
  +
|
  +
| +
  +
|
  +
| dn
  +
  +
|-
  +
| ldb_dn_check_local
  +
| ldb_map/ldb_map.c
  +
|
  +
|
  +
|
  +
| +
  +
|
  +
| dn
  +
  +
|-
  +
| ldb_dn_check_special
  +
| common/ldb_dn.c
  +
|
  +
|
  +
|
  +
| +
  +
|
  +
| dn
  +
  +
|-
  +
| ldb_dn_alloc_casefold
  +
| common/ldb_dn.c
  +
|
  +
|
  +
|
  +
| +
  +
|
  +
| dn
  +
  +
|-
  +
| ldb_dn_extended_syntax_by_name
  +
| common/ldb_attributes.c
  +
|
  +
|
  +
|
  +
| +
  +
|
  +
| dn
  +
  +
|-
  +
| ldb_dn_get_casefold
  +
| common/ldb_dn.c
  +
|
  +
|
  +
|
  +
| +
  +
|
  +
| dn
  +
  +
|-
  +
| ldb_dn_get_extended_component
  +
| common/ldb_dn.c
  +
|
  +
| +
  +
|
  +
|
  +
| auth
  +
| dn
  +
  +
|-
  +
| ldb_dn_set_extended_compo
  +
| common/ldb_dn.c
  +
|
  +
| +
  +
|
  +
|
  +
|
  +
| dn
  +
  +
|-
  +
| ldb_dn_map_local
  +
| ldb_map/ldb_map.c
  +
|
  +
|
  +
|
  +
| +
  +
|
  +
| dn
  +
  +
|-
  +
| ldb_dn_remove_child_components
  +
| common/ldb_dn.c
  +
| 1
  +
|
  +
|
  +
| 1
  +
|
  +
| dn
  +
  +
|-
  +
| ldb_dn_add_child
  +
| common/ldb_dn.c
  +
|
  +
|
  +
|
  +
| 1
  +
|
  +
| dn
  +
  +
|-
  +
| ldb_dn_extended_add_syntax
  +
| common/ldb_attributes.c
  +
|
  +
|
  +
|
  +
| 1
  +
|
  +
| dn
  +
  +
|-
  +
| ldb_dn_map_rebase_remote
  +
| ldb_map/ldb_map_outbound.c
  +
|
  +
|
  +
|
  +
| 1
  +
|
  +
| dn
  +
  +
|-
  +
| ldb_binary_encode
  +
| common/ldb_parse.c
  +
| 1
  +
| +
  +
|
  +
| +
  +
|
  +
| encoding
  +
  +
|-
  +
| ldb_binary_encode_string
  +
| common/ldb_parse.c
  +
| +
  +
| +
  +
|
  +
|
  +
| auth
  +
| encoding
  +
  +
|-
  +
| ldb_should_b64_encode
  +
| common/ldb_ldif.c
  +
|
  +
|
  +
|
  +
| +
  +
|
  +
| encoding
  +
  +
|-
  +
| ldb_base64_decode
  +
| common/ldb_ldif.c
  +
|
  +
|
  +
|
  +
| +
  +
|
  +
| encoding
  +
  +
|-
  +
| ldb_base64_encode
  +
| common/ldb_ldif.c
  +
|
  +
|
  +
|
  +
| +
  +
|
  +
| encoding
  +
  +
|-
  +
| ldb_set_errstring
  +
| common/ldb.c
  +
|
  +
| ++
  +
|
  +
| ++
  +
|
  +
| error
  +
  +
|-
  +
| ldb_asprintf_errstring
  +
| common/ldb.c
  +
|
  +
| ++
  +
|
  +
| +
  +
|
  +
| error
  +
  +
|-
  +
| ldb_strerror
  +
| common/ldb.c
  +
|
  +
| +
  +
| 1
  +
| +
  +
| gpo
  +
| error
  +
  +
|-
  +
| ldb_reset_err_string
  +
| common/ldb.c
  +
|
  +
| +
  +
|
  +
| +
  +
|
  +
| error
  +
  +
|-
  +
| ldb_extended
  +
| common/ldb.c
  +
|
  +
| +
  +
|
  +
| 1
  +
|
  +
| extended
  +
  +
|-
  +
| ldb_extended_default_callback
  +
| common/ldb.c
  +
|
  +
| +
  +
|
  +
| 1
  +
|
  +
| extended
  +
  +
|-
  +
| ldb_get_opaque
  +
| common/ldb.c
  +
| 1
  +
| ++
  +
|
  +
| ++
  +
| kdc
  +
| get/set
  +
  +
|-
  +
| ldb_set_opaque
  +
| common/ldb.c
  +
| +
  +
| ++
  +
|
  +
| ++
  +
| scripting
  +
| get/set
  +
  +
|-
  +
| ldb_get_event_context
  +
| common/ldb.c
  +
|
  +
| +
  +
|
  +
| +
  +
|
  +
| get/set
  +
  +
|-
  +
| ldb_get_create_perms
  +
| common/ldb.c
  +
|
  +
|
  +
|
  +
| 1
  +
|
  +
| get/set
  +
  +
|-
  +
| ldb_set_create_perms
  +
| common/ldb.c
  +
|
  +
|
  +
|
  +
| +
  +
|
  +
| get/set
  +
  +
|-
  +
| ldb_ldif_write_file
  +
| common/ldb_ldif.c
  +
|
  +
|
  +
| +
  +
| ++
  +
|
  +
| ldif
  +
  +
|-
  +
| ldb_ldif_read_file
  +
| common/ldb_ldif.c
  +
|
  +
|
  +
|
  +
| +
  +
|
  +
| ldif
  +
  +
|-
  +
| ldb_ldif_read_free
  +
| common/ldb_ldif.c
  +
|
  +
|
  +
|
  +
|
  +
| +
  +
| ldif
  +
  +
|-
  +
| ldb_ldif_read_string
  +
| common/ldb_ldif.c
  +
|
  +
| +
  +
|
  +
| 1
  +
|
  +
| ldif
  +
  +
|-
  +
| ldb_wrap_connect
  +
| lib/ldb_wrap.c
  +
| +
  +
| +
  +
| +
  +
| 1
  +
| gpo, auth, winbind, param, ntptr
  +
| misc
  +
  +
|-
  +
| ldb_next_init
  +
| common/ldb_modules.c
  +
|
  +
| ++
  +
|
  +
| +
  +
|
  +
| misc
  +
  +
|-
  +
| ldb_mod_register_control
  +
| common/ldb_modules.c
  +
|
  +
| +
  +
|
  +
| +
  +
|
  +
| misc
  +
  +
|-
  +
| ldb_handle_new
  +
| common/ldb_modules.c
  +
|
  +
| 1
  +
|
  +
| +
  +
|
  +
| misc
  +
  +
|-
  +
| ldb_cmdline_process
  +
| tools/cmdline.c
  +
|
  +
|
  +
|
  +
| +
  +
|
  +
| misc
  +
  +
|-
  +
| ldb_comparison_binary
  +
| common/attrib_handlers.c
  +
|
  +
|
  +
|
  +
| +
  +
|
  +
| misc
  +
  +
|-
  +
| ldb_connect_backend
  +
| common/ldb_modules.c
  +
|
  +
| 1
  +
|
  +
| 1
  +
|
  +
| misc
  +
  +
|-
  +
| ldb_handler_copy
  +
| common/attrib_handlers.c
  +
|
  +
|
  +
|
  +
| +
  +
|
  +
| misc
  +
  +
|-
  +
| ldb_map_init
  +
| ldb_map/ldb_map.c
  +
|
  +
| +
  +
|
  +
|
  +
|
  +
| misc
  +
  +
|-
  +
| ldb_op_default_callback
  +
| common/ldb_modules.c
  +
|
  +
| 1
  +
|
  +
| +
  +
|
  +
| misc
  +
  +
|-
  +
| ldb_register_samba_handle
  +
| /ldb-samba/ldif_handlers.c
  +
|
  +
|
  +
|
  +
| +
  +
| scripting
  +
| misc
  +
  +
|-
  +
| ldb_reply_get_control
  +
| common/ldb_controls.c
  +
|
  +
| 1
  +
|
  +
| 1
  +
|
  +
| misc
  +
  +
|-
  +
| ldb_search_default_callback
  +
| common/ldb.c
  +
| +
  +
| 1
  +
|
  +
| +
  +
| gpo
  +
| misc
  +
  +
|-
  +
| ldb_sequence_number
  +
| common/ldb.c
  +
|
  +
| +
  +
|
  +
|
  +
|
  +
| misc
  +
  +
|-
  +
| ldb_module_get_ctx
  +
| common/ldb_modules.c
  +
| +
  +
| +++
  +
|
  +
| ++
  +
|
  +
| module
  +
  +
|-
  +
| ldb_module_done
  +
| common/ldb_modules.c
  +
|
  +
| +++
  +
|
  +
| ++
  +
|
  +
| module
  +
  +
|-
  +
| ldb_module_get_private
  +
| common/ldb_modules.c
  +
|
  +
| ++
  +
|
  +
| ++
  +
|
  +
| module
  +
  +
|-
  +
| ldb_module_send_entry
  +
| common/ldb_modules.c
  +
|
  +
| ++
  +
|
  +
| ++
  +
|
  +
| module
  +
  +
|-
  +
| ldb_module_send_referral
  +
| common/ldb_modules.c
  +
|
  +
| ++
  +
|
  +
| +
  +
|
  +
| module
  +
  +
|-
  +
| ldb_module_set_private
  +
| common/ldb_modules.c
  +
|
  +
| +
  +
|
  +
| +
  +
|
  +
| module
  +
  +
|-
  +
| ldb_modules_list_from_string
  +
| common/ldb_modules.c
  +
|
  +
| 1
  +
|
  +
| +
  +
|
  +
| module
  +
  +
|-
  +
| ldb_init_module_chain
  +
| common/ldb_modules.c
  +
|
  +
| 1
  +
|
  +
| +
  +
|
  +
| module
  +
  +
|-
  +
| ldb_load_modules
  +
| common/ldb_modules.c
  +
|
  +
| 1
  +
|
  +
| +
  +
|
  +
| module
  +
  +
|-
  +
| ldb_module_new
  +
| common/ldb_modules.c
  +
|
  +
|
  +
|
  +
| +
  +
|
  +
| module
  +
  +
|-
  +
| ldb_load_modules_list
  +
| common/ldb_modules.c
  +
|
  +
| 1
  +
|
  +
| 1
  +
|
  +
| module
  +
  +
|-
  +
| ldb_register_module
  +
| common/ldb_modules.c
  +
|
  +
|
  +
|
  +
| 1
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_anr_module_ops
  +
| sambdb/ldb_modules/anr.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_asq_module_ops
  +
| ldb/modules/asq.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_dsdb_cache_module_ops
  +
| ldb_modules/dsdb_cache.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_entryuuid_module_ops
  +
| ldb_modules/simple_ldap_map.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_extended_dn_in_module_ops
  +
| ldb_modules/extended_dn_in.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_extended_dn_out_dereference_module_ops
  +
| ldb_modules/extended_dn_out.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_extended_dn_out_ldb_module_ops
  +
| ldb_modules/extended_dn_out.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_extended_dn_store_module_ops
  +
| ldb_modules/extended_dn_store.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_instancetype_module_ops
  +
| ldb_modules/instancetype.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_kludge_acl_module_ops
  +
| ldb_modules/kludge_acl.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_linked_attributes_module_ops
  +
| ldb_modules/linked_attributes.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_local_password_module_ops
  +
| ldb_modules/local_password.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_naming_fsmo_module_ops
  +
| ldb_modules/naming_fsmo.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_nsuniqueid_module_ops
  +
| ldb_modules/simple_ldap_map.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_objectclass_module_ops
  +
| ldb_modules/objectclass.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_objectguid_module_ops
  +
| ldb_modules/objectguid.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_operational_module_ops
  +
| ldb_modules/operational.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_paged_results_module_ops
  +
| ldb_modules/paged_results.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_paged_searches_module_ops
  +
| ldb_modules/paged_searches.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_partition_module_ops
  +
| ldb_modules/partition.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_password_hash_module_ops
  +
| ldb_modules/password_hash.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_pdc_fsmo_module_ops
  +
| ldb_modules/pdc_fsmo.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_proxy_module_ops
  +
| ldb_modules/proxy.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_ranged_results_module_ops
  +
| ldb_modules/ranged_results.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_rdn_name_module_ops
  +
| ldb_modules/rdn_name.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_repl_meta_data_module_ops
  +
| ldb_modules/repl_meta_data.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_rootdse_module_ops
  +
| ldb_modules/rootdse.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_samba3sam_module_ops
  +
| ldb_modules/samba3sam.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_samldb_module_ops
  +
| ldb_modules/samldb.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_sample_module_ops
  +
| ldb_modules/sample_module.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_schema_fsmo_module_ops
  +
| ldb_modules/schema_fsmo.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_server_sort_module_ops
  +
| ldb_modules/sort.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_show_deleted_module_ops
  +
| ldb_modules/show_deleted.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_skel_module_ops
  +
| ldb_modules/skel.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_subtree_delete_module_ops
  +
| ldb_modules/subtree_delete.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_subtree_rename_module_ops
  +
| ldb_modules/subtree_rename.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_update_keytab_module_ops
  +
| ldb_modules/update_keytab.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_wins_ldb_module_ops
  +
| ldb_modules/wins_ldb.c
  +
|
  +
|
  +
|
  +
|
  +
|
  +
| module_ops
  +
  +
|-
  +
| ldb_msg_find_element
  +
| common/ldb_msg.c
  +
| +
  +
| +++
  +
| 1
  +
| +
  +
| kdc, gpo, registry
  +
| msg
  +
  +
|-
  +
| ldb_msg_add_string
  +
| common/ldb_msg.c
  +
| +
  +
| ++
  +
| +
  +
| +
  +
| winbind, utils, param, registry
  +
| msg
  +
  +
|-
  +
| ldb_msg_add_value
  +
| common/ldb_msg.c
  +
| +
  +
| ++
  +
| +
  +
| +
  +
| winbind, param, registry
  +
| msg
  +
  +
|-
  +
| ldb_msg_new
  +
| common/ldb_msg.c
  +
| ++
  +
| +
  +
| +
  +
| +
  +
| kdc, registry, winbind, utils, param
  +
| msg
  +
  +
|-
  +
| ldb_msg_find_attr_as_string
  +
| common/ldb_msg.c
  +
| +
  +
| ++
  +
| +
  +
| +
  +
| kdc, gpo, auth, registry, winbind, utils, param
  +
| msg
  +
  +
|-
  +
| ldb_msg_find_ldb_val
  +
| common/ldb_msg.c
  +
| +
  +
| ++
  +
| +
  +
| +
  +
| kdc, gpo, auth, winbind, param
  +
| msg
  +
  +
|-
  +
| ldb_msg_find_attr_as_uint
  +
| common/ldb_msg.c
  +
| ++
  +
| +
  +
| +
  +
| 1
  +
| kdc, winbind,
  +
| msg
  +
  +
|-
  +
| ldb_msg_add_fmt
  +
| common/ldb_msg.c
  +
| ++
  +
| +
  +
| +
  +
| 1
  +
| param
  +
| msg
  +
  +
|-
  +
| ldb_msg_find_attr_as_uint64
  +
| common/ldb_msg.c
  +
| ++
  +
| +
  +
|
  +
| +
  +
|
  +
| msg
  +
  +
|-
  +
| ldb_msg_add_empty
  +
| common/ldb_msg.c
  +
| +
  +
| ++
  +
|
  +
| +
  +
| winbind, param
  +
| msg
  +
  +
|-
  +
| ldb_msg_copy
  +
| common/ldb_msg.c
  +
|
  +
| ++
  +
|
  +
| +
  +
|
  +
| msg
  +
  +
|-
  +
| ldb_msg_copy_shallow
  +
| common/ldb_msg.c
  +
|
  +
| ++
  +
|
  +
| +
  +
|
  +
| msg
  +
  +
|-
  +
| ldb_msg_find_attr_as_dn
  +
| common/ldb_msg.c
  +
| +
  +
| +
  +
|
  +
| +
  +
|
  +
| msg
  +
  +
|-
  +
| ldb_msg_find_attr_as_int
  +
| common/ldb_msg.c
  +
| +
  +
| +
  +
|
  +
| +
  +
| kdc, auth
  +
| msg
  +
  +
|-
  +
| ldb_msg_remove_attr
  +
| common/ldb_msg.c
  +
|
  +
| ++
  +
|
  +
| +
  +
|
  +
| msg
  +
  +
|-
  +
| ldb_msg_add_steal_value
  +
| common/ldb_msg.c
  +
|
  +
| +
  +
|
  +
| +
  +
|
  +
| msg
  +
  +
|-
  +
| ldb_msg_canonicalize
  +
| common/ldb_msg.c
  +
|
  +
| +
  +
|
  +
| +
  +
|
  +
| msg
  +
  +
|-
  +
| ldb_msg_remove_element
  +
| common/ldb_msg.c
  +
|
  +
| +
  +
|
  +
| +
  +
|
  +
| msg
  +
  +
|-
  +
| ldb_msg_sanity_check
  +
| common/ldb_msg.c
  +
|
  +
| +
  +
|
  +
| +
  +
|
  +
| msg
  +
  +
|-
  +
| ldb_msg_add_steal_string
  +
| common/ldb_msg.c
  +
| 1
  +
| +
  +
|
  +
| 1
  +
|
  +
| msg
  +
  +
|-
  +
| ldb_msg_check_string_attribute
  +
| common/ldb_msg.c
  +
|
  +
| +
  +
|
  +
| 1
  +
|
  +
| msg
  +
  +
|-
  +
| ldb_msg_add
  +
| common/ldb_msg.c
  +
|
  +
|
  +
| 1
  +
| +
  +
|
  +
| msg
  +
  +
|-
  +
| ldb_msg_diff
  +
| common/ldb_msg.c
  +
|
  +
| +
  +
|
  +
| 1
  +
|
  +
| msg
  +
  +
|-
  +
| ldb_msg_find_attr_as_int64
  +
| common/ldb_msg.c
  +
| +
  +
| 1
  +
|
  +
|
  +
|
  +
| msg
  +
  +
|-
  +
| ldb_msg_element_compare
  +
| common/ldb_msg.c
  +
|
  +
|
  +
|
  +
| +
  +
|
  +
| msg
  +
  +
|-
  +
| ldb_msg_element_compare_name
  +
| common/ldb_msg.c
  +
|
  +
|
  +
|
  +
| +
  +
|
  +
| msg
  +
  +
|-
  +
| ldb_msg_find_val
  +
| common/ldb_msg.c
  +
|
  +
|
  +
|
  +
| +
  +
| kdc
  +
| msg
  +
  +
|-
  +
| ldb_msg_sort_elements
  +
| common/ldb_msg.c
  +
|
  +
|
  +
|
  +
| +
  +
|
  +
| msg
  +
  +
|-
  +
| ldb_match_msg
  +
| common/ldb_match.c
  +
|
  +
|
  +
|
  +
| +
  +
|
  +
| msg
  +
  +
|-
  +
| ldb_msg_find_attr_as_bool
  +
| common/ldb_msg.c
  +
|
  +
|
  +
|
  +
| 1
  +
|
  +
| msg
  +
  +
|-
  +
| ldb_msg_copy_attr
  +
| common/ldb_msg.c
  +
|
  +
|
  +
|
  +
| 1
  +
|
  +
| msg
  +
  +
|-
  +
| ldb_filter_from_tree
  +
| common/ldb_parse.c
  +
| +
  +
| +
  +
|
  +
| +
  +
|
  +
| parse
  +
  +
|-
  +
| ldb_parse_tree
  +
| common/ldb_parse.c
  +
|
  +
| 1
  +
|
  +
| +
  +
|
  +
| parse
  +
  +
|-
  +
| ldb_parse_tree_attr_replace
  +
| common/ldb_parse.c
  +
|
  +
| 1
  +
|
  +
| +
  +
|
  +
| parse
  +
  +
|-
  +
| ldb_parse_control_strings
  +
| common/ldb_controls.c
  +
|
  +
|
  +
|
  +
| +
  +
|
  +
| parse
  +
  +
|-
  +
| ldb_casefold
  +
| common/ldb_utf8.c
  +
|
  +
|
  +
|
  +
| +
  +
|
  +
| parse
  +
  +
|-
  +
| ldb_set_utf8_fns
  +
| common/ldb_utf8.c
  +
|
  +
|
  +
|
  +
| +
  +
|
  +
| parse
  +
  +
|-
  +
| ldb_set_utf8_default
  +
| common/ldb_utf8.c
  +
|
  +
|
  +
|
  +
| 1
  +
|
  +
| parse
  +
  +
|-
  +
| ldb_samba_syntax_by_lDAPDisplayName
  +
| ldb-samba/ldif_handlers.c
  +
|
  +
| 1
  +
|
  +
|
  +
|
  +
| parse
  +
  +
|-
  +
| ldb_samba_syntax_by_name
  +
| ldb-samba/ldif_handlers.c
  +
|
  +
| 1
  +
|
  +
| +
  +
|
  +
| parse
  +
  +
|-
  +
| ldb_standard_syntax_by_name
  +
| common/attrib_handlers.c
  +
|
  +
| 1
  +
|
  +
| +
  +
|
  +
| parse
  +
  +
|-
  +
| ldb_next_request
  +
| common/ldb_modules.c
  +
|
  +
| +++
  +
|
  +
| ++
  +
|
  +
| request
  +
  +
|-
  +
| ldb_request_done
  +
| common/ldb.c
  +
|
  +
| +
  +
|
  +
| ++
  +
|
  +
| request
  +
  +
|-
  +
| ldb_request_add_control
  +
| common/ldb_controls.c
  +
| 1
  +
| +
  +
|
  +
| 1
  +
|
  +
| request
  +
  +
|-
  +
| ldb_request_get_control
  +
| common/ldb_controls.c
  +
| 1
  +
| +
  +
|
  +
| +
  +
|
  +
| request
  +
  +
|-
  +
| ldb_request_get_status
  +
| common/ldb.c
  +
|
  +
|
  +
|
  +
| +
  +
|
  +
| request
  +
  +
|-
  +
| ldb_request_set_state
  +
| common/ldb.c
  +
|
  +
|
  +
|
  +
| +
  +
|
  +
| request
  +
  +
|-
  +
| ldb_next_remote_request
  +
| ldb_map/ldb_map.c
  +
|
  +
|
  +
|
  +
| +
  +
|
  +
| request
  +
  +
|-
  +
| ldb_schema_attribute_by_name
  +
| common/ldb_attributes.c
  +
|
  +
| +
  +
|
  +
| ++
  +
|
  +
| schema
  +
  +
|-
  +
| ldb_schema_attribute_add
  +
| common/ldb_attributes.c
  +
|
  +
|
  +
|
  +
| +
  +
|
  +
| schema
  +
  +
|-
  +
| ldb_schema_attribute_add_with_syntax
  +
| common/ldb_attributes.c
  +
|
  +
|
  +
|
  +
| +
  +
|
  +
| schema
  +
  +
|-
  +
| ldb_schema_attribute_remove
  +
| common/ldb_attributes.c
  +
|
  +
|
  +
|
  +
| +
  +
|
  +
| schema
  +
  +
|-
  +
| ldb_schema_attribute_set_override_handler
  +
| common/ldb_attributes.c
  +
|
  +
| 1
  +
|
  +
|
  +
|
  +
| schema
  +
  +
|-
  +
| ldb_set_default_dns
  +
| common/ldb.c
  +
|
  +
| 1
  +
|
  +
| 1
  +
|
  +
| set
  +
  +
|-
  +
| ldb_set_modules_dir
  +
| common/ldb_modules.c
  +
|
  +
|
  +
|
  +
| +
  +
|
  +
| set
  +
  +
|-
  +
| ldb_set_timeout
  +
| common/ldb.c
  +
| +
  +
| 1
  +
|
  +
| +
  +
|
  +
| set
  +
  +
|-
  +
| ldb_string_to_time
  +
| common/ldb_msg.c
  +
| +
  +
| +
  +
|
  +
| +
  +
|
  +
| time
  +
  +
|-
  +
| ldb_string_utc_to_time
  +
| common/ldb_msg.c
  +
|
  +
| 1
  +
|
  +
|
  +
|
  +
| time
  +
  +
|-
  +
| ldb_timestring
  +
| common/ldb_msg.c
  +
| +
  +
| +
  +
|
  +
| +
  +
|
  +
| time
  +
  +
|-
  +
| ldb_timestring_utc
  +
| common/ldb_msg.c
  +
|
  +
|
  +
|
  +
| 1
  +
|
  +
| time
  +
  +
|-
  +
| ldb_transaction_cancel
  +
| common/ldb.c
  +
| ++
  +
| +
  +
|
  +
| +
  +
| kdc, winbind, registry
  +
| transaction
  +
  +
|-
  +
| ldb_transaction_commit
  +
| common/ldb.c
  +
| +
  +
| 1
  +
|
  +
| +
  +
| kdc, registry, winbind
  +
| transaction
  +
  +
|-
  +
| ldb_transaction_start
  +
| common/ldb.c
  +
| +
  +
| 1
  +
|
  +
| +
  +
| kdc, registry, winbind
  +
| transaction
  +
  +
|-
  +
| ldb_next_del_trans
  +
| common/ldb_modules.c
  +
| +
  +
|
  +
|
  +
| 1
  +
|
  +
| transaction
  +
  +
|-
  +
| ldb_next_end_trans
  +
| common/ldb_modules.c
  +
|
  +
| +
  +
|
  +
| 1
  +
|
  +
| transaction
  +
  +
|-
  +
| ldb_next_start_trans
  +
| common/ldb_modules.c
  +
|
  +
| 1
  +
|
  +
| 1
  +
|
  +
| transaction
  +
  +
|-
  +
| ldb_val_dup
  +
| common/ldb_msg.c
  +
|
  +
| +
  +
|
  +
| +
  +
|
  +
| val
  +
  +
|-
  +
| ldb_val_equal_exact
  +
| common/ldb_msg.c
  +
|
  +
|
  +
|
  +
| +
  +
|
  +
| val
  +
  +
|-
  +
| ldb_val_map_local
  +
| ldb_map/ldb_map.c
  +
|
  +
|
  +
|
  +
| +
  +
|
  +
| val
  +
  +
|-
  +
| ldb_val_map_remote
  +
| ldb_map/ldb_map.c
  +
|
  +
|
  +
|
  +
| +
  +
|
  +
| val
  +
  +
|}
   
 
----
 
----

Latest revision as of 09:52, 18 September 2009

Color Key: Samba4 is in blue; Heimdal is in green

This page describes Samba4's four DB libraries:

  1. Two hdb libraries in Heimdal;
  2. Samba4's hdb_samba4 library (formerly named LDB), and
  3. Samba4's ldb library.

These libraries operate as layers:

  1. Heimdal's hdb_ function-pointers wrap hdb_samba4, for Heimdal to retrieve & store entries in the Krb DB.
  2. Heimdal's internal hdb handles DB-entries after retrieval.
  3. Samba4's hdb_samba4 wraps the most basic store/retrieve part of ldb.
  4. Samba4's ldb wraps the underlying database storage



Samba4's hdb_samba4 interface to LDAP

  1. These routines make up half of Samba4's kdc-specific code,
  2. Almost all of the hdb_samba4_ routines are in source4/kdc/hdb-samba4.c .
  3. The exceptionally-placed routine is hdb_samba4_lookup_spn_alias(), in dsdb/samdb .
Entry-point Heim use Smb4 use Comment
hdb_samba4_destroy hdb
hdb_samba4_fetch hdb
hdb_samba4_firstkey hdb
hdb_samba4_nextkey hdb wrapper for hdb_samba4_seq
hdb_samba4_check_pkinit_ms_upn_match hdb
hdb_samba4_check_constrained_delegation hdb
hdb_samba4_open hdb stub
hdb_samba4_close hdb stub
hdb_samba4_remove hdb stub
hdb_samba4_rename hdb stub
hdb_samba4_store hdb stub
hdb_samba4_lock hdb stub
hdb_samba4_unlock hdb stub
hdb_samba4_create_kdc hdb kdc_task_init
hdb_samba4_create hdb callback
hdb_samba4_destructor hdb_samba4 callback
hdb_samba4_free_entry hdb_samba4 callback
hdb_samba4_seq hdb_samba4
hdb_samba4_fetch_client hdb_samba4
hdb_samba4_fetch_krbtgt hdb_samba4
hdb_samba4_fetch_server hdb_samba4
hdb_samba4_lookup_principal hdb_samba4
hdb_samba4_lookup_spn_alias samdb defined in dsdb/samdb
hdb_samba4_lookup_trust hdb_samba4
hdb_samba4_message2entry hdb_samba4
hdb_samba4_message2entry_keys hdb_samba4
hdb_samba4_trust_message2entry hdb_samba4

Heimdal's hdb Interface to Samba4's hdb_samba4

  1. Heimdal uses the hdb_samba4 functions via a set of hdb_ function-pointers.
  2. Heimdal's HDB structure contains the hdb_ function-pointers.
  3. The hdb_samba4 functions wrap the part of Samba4's ldb library that stores & retrieves DB entries.
  4. The hdb_samba4_ functions are defined in Samba4's file kdc/hdb-samba4.c .
  5. Only Samba4 uses the hdb_samba4 functions directly.

Only Heimdal uses this function-pointer interface to Samba4's hdb_samba4_ functions:

  1. (HDB *)->hdb_dbc = NULL;
  2. (HDB *)->hdb_open = hdb_samba4_open;
  3. (HDB *)->hdb_close = hdb_samba4_close;
  4. (HDB *)->hdb_fetch = hdb_samba4_fetch;
  5. (HDB *)->hdb_store = hdb_samba4_store;
  6. (HDB *)->hdb_remove = hdb_samba4_remove;
  7. (HDB *)->hdb_firstkey = hdb_samba4_firstkey;
  8. (HDB *)->hdb_nextkey = hdb_samba4_nextkey;
  9. (HDB *)->hdb_lock = hdb_samba4_lock;
  10. (HDB *)->hdb_unlock = hdb_samba4_unlock;
  11. (HDB *)->hdb_rename = hdb_samba4_rename;
  12. (HDB *)->hdb__get = NULL;
  13. (HDB *)->hdb__put = NULL;
  14. (HDB *)->hdb__del = NULL;
  15. (HDB *)->hdb_destroy = hdb_samba4_destroy;
  16. (HDB *)->hdb_check_pkinit_ms_upn_match = hdb_samba4_check_pkinit_ms_upn_match
  17. (HDB *)->hdb_check_constrained_delegation = hdb_samba4_check_constrained_delegation

Samba4's hdb_ library also includes a local function invoked via a function-pointer:

  1. hdb_ldb_free_entry in kdc/hdb-samba4.c

This function-pointer gets used by both Heimdal & Samba4.


Heimdal's internal hdb library

This library isn't completely "internal," because four of these routines get used by Samba4, too:

  1. initialize_hdb_error_table_r
  2. free_hdb_entry
  3. hdb_enctype2key
  4. hdb_free_entry

Further, the global struct hdb_kt_ops{} gets used only by Samba4.

Two functions here, hdb_lock & hdb_unlock, have the same names as two of the hdb_samba4 function-pointers (see above):

  1. (HDB *)->hdb_lock ,
  2. (HDB *)->hdb_unlock .

Of these 72 functions:

  1. Four get used by Samba4;
  2. Seven are used by Heimdal's kdc & tgs code;
  3. Seven are used by Heimdal's NDBM & DB code (Heiumdal's alternatives to Samba's ldb);
  4. 27 are used only internally, by the hdb library.
  5. 39 are unused.

Entry-point heimdal/lib/hdb file Heim use Smb4 use
copy_hdb_entry asn1_hdb_entry.c
copy_hdb_entry_alias asn1_hdb_entry_alias.c
decode_hdb_entry asn1_hdb_entry.c
decode_hdb_entry_alias asn1_hdb_entry_alias.c
encode_hdb_entry asn1_hdb_entry.c
encode_hdb_entry_alias asn1_hdb_entry_alias.c
free_hdb_entry asn1_hdb_entry.c hdb ++ hdb_samba4 +
free_hdb_entry_alias asn1_hdb_entry_alias.c
initialize_hdb_error_table hdb_err.c
initialize_hdb_error_table_r hdb_err.c hdb kdc
length_hdb_entry asn1_hdb_entry.c
length_hdb_entry_alias asn1_hdb_entry_alias.c
_hdb_fetch common.c hdb
_hdb_store common.c hdb
_hdb_remove common.c hdb
_hdb_find_master_key mkey.c hdb
_hdb_mkey_decrypt mkey.c hdb
_hdb_mkey_version mkey.c hdb
hdb_add_master_key mkey.c
hdb_check_db_format hdb.c NDBM, DB, hdb
hdb_clear_extension ext.c hdb
hdb_clear_master_key mkey.c NDBM, DB
hdb_create hdb.c hdb
hdb_db_dr dbinfo.c kdc
hdb_dbinfo_get_acl_file dbinfo.c
hdb_dbinfo_get_binding dbinfo.c
hdb_dbinfo_get_dbname dbinfo.c
hdb_dbinfo_get_label dbinfo.c
hdb_dbinfo_get_log_file dbinfo.c
hdb_dbinfo_get_mkey_file dbinfo.c
hdb_dbinfo_get_next dbinfo.c
hdb_dbinfo_get_realm dbinfo.c
hdb_free_dbinfo dbinfo.c
hdb_get_dbinfo dbinfo.c
hdb_default_db dbinfo.c
hdb_init_db hdb.c NDBM, DB, hdb
hdb_enctype2key hdb.c kdc ++, tgs ++ kdc
hdb_entry_check_mandatory ext.c
hdb_entry_clear_password ext.c
hdb_entry_get_aliases ext.c
hdb_entry_get_ConstrainedDelegACL ext.c tgs
hdb_entry_get_password ext.c kdc
hdb_entry_get_pkinit_acl ext.c kdc
hdb_entry_get_pkinit_hash ext.c
hdb_entry_get_pw_change_time ext.c
hdb_entry_set_password ext.c
hdb_entry_set_pw_change_time ext.c
hdb_find_extension ext.c hdb ++
hdb_foreach hdb.c
hdb_free_entry hdb.c NDBM, DB, kdc, hdb + kdc ++
hdb_free_key hdb.c
hdb_free_keys keys.c
hdb_free_master_key mkey.c hdb
hdb_generate_key_set keys.c hdb
hdb_generate_key_set_password keys.c
hdb_kt_ops{} keytab.c kdc
hdb_list_builtin hdb.c
hdb_lock hdb.c NDBM, DB
hdb_next_enctype2key hdb.c kdc +, hdb
hdb_process_master_key mkey.c hdb ++
hdb_read_master_key mkey.c hdb
hdb_replace_extension ext.c hdb
hdb_seal_key mkey.c
hdb_seal_keys mkey.c
hdb_seal_key_mkey mkey.c hdb
hdb_seal_keys_mkey mkey.c hdb
hdb_set_master_key mkey.c
hdb_set_master_keyfile mkey.c hdb +
hdb_unlock hdb.c NDBM, DB
hdb_unseal_key mkey.c
hdb_unseal_keys mkey.c NDBM, DB
hdb_unseal_key_mkey mkey.c hdb
hdb_unseal_keys_mkey mkey.c hdb

Samba's internal ldb library

These routines are defined & used only in Samba4, and not in Samba4's heimdal snapshot tree. The ldb functions are used by Samba4's hdb_samba4 interface, which Heimdal does use, via the hdb_*** function-pointers.

Two function-families are defined in a spread-out way:

  1. The eight ldb_attr_ functions are defined in four source-files;
  2. The seven ldb_request functions are defined in four source-files.

Key to the columns:

  1. *srv : used by rpc_server, smb_server, etc (7 *_server components in all).
  2. dsdb : used by dsdb/samdb
  3. net  : used by libnet
  4. ldb  : used by ldb itself
  5. other: used by other components, listed in the function's "other" cell
  6. ldb grp: a makeshift subgrouping of ldb, for sorting the functions by type.

The column-headings are clickable.

Entry-point Samba4 file *srv dsdb net ldb other ldb grp
ldb_search common/ldb.c ++ ++ ++ ++ param basic
ldb_errstring common/ldb.c ++ ++ ++ ++ kdc, param basic
ldb_add common/ldb.c + + + ++ param basic
ldb_debug common/ldb_debug.c 1 ++ ++ basic
ldb_wait common/ldb.c 1 + 1 ++ basic
ldb_delete common/ldb.c 1 + ++ param basic
ldb_request common/ldb.c 1 + ++ basic
ldb_connect common/ldb.c 1 ++ param basic
ldb_init common/ldb.c 1 ++ basic
ldb_modify common/ldb.c + + + + param basic
ldb_rename common/ldb.c 1 1 + param basic
ldb_qsort common/qsort.c 1 1 1 1 basic
ldb_attr_cmp ldb/include/ldb.h ++ ++ attr
ldb_attr_in_list common/ldb_msg.c + + attr
ldb_attr_casefold common/ldb_utf8.c + attr
ldb_setup_wellknown_attributes common/ldb_attributes.c + attr
ldb_attr_list_copy_add common/ldb_msg.c 1 1 attr
ldb_valid_attr_name common/ldb_utf8.c 1 attr
ldb_attr_dn common/ldb_utf8.c 1 attr
ldb_attr_list_copy common/ldb_msg.c 1 attr
ldb_ldap_backend_ops ldb_ildap/ldb_ildap.c backend_ops
ldb_ldapi_backend_ops ldb_ildap/ldb_ildap.c backend_ops
ldb_ldaps_backend_ops ldb_ildap/ldb_ildap.c backend_ops
ldb_tdb_backend_ops ldb_ldap/ldb_tdb.c backend_ops
ldb_get_default_basedn common/ldb.c + + + kdc, auth basedn
ldb_get_root_basedn common/ldb.c + + 1 basedn
ldb_get_config_basedn common/ldb.c 1 1 basedn
ldb_get_schema_basedn common/ldb.c 1 1 basedn
ldb_build_search_req_ex common/ldb.c ++ ++ build...req
ldb_build_add_req common/ldb.c ++ + build...req
ldb_build_del_req common/ldb.c ++ + build...req
ldb_build_mod_req common/ldb.c ++ + build...req
ldb_build_rename_req common/ldb.c ++ + build...req
ldb_build_search_req common/ldb.c ++ + build...req
ldb_build_extended_req common/ldb.c 1 + build...req
ldb_debug_set common/ldb_debug.c 1 + + debug
ldb_set_debug common/ldb_debug.c + debug
ldb_set_debug_stderr common/ldb_debug.c 1 registry debug
ldb_dn_new common/ldb_dn.c ++ ++ ++ ++ gpo, auth, winbind, utils, param, ntptr dn
ldb_dn_get_linearized common/ldb_dn.c ++ ++ ++ ++ kdc, gpo, auth dn
ldb_dn_add_child_fmt common/ldb_dn.c ++ + + + dn
ldb_dn_new_fmt common/ldb_dn.c + + ++ + winbind, param, ntptr dn
ldb_dn_copy common/ldb_dn.c + + + ++ utils dn
ldb_dn_validate common/ldb_dn.c + + + ++ utils dn
ldb_dn_alloc_linearized common/ldb_dn.c 1 + + ++ dn
ldb_dn_compare common/ldb_dn.c 1 ++ + + dn
ldb_dn_is_special common/ldb_dn.c 1 ++ ++ dn
ldb_dn_get_parent common/ldb_dn.c 1 + + + dn
ldb_dn_get_component_val common/ldb_dn.c + + + dn
ldb_dn_get_comp_num common/ldb_dn.c + + + dn
ldb_dn_get_component_name common/ldb_dn.c + + + dn
ldb_dn_from_ldb_val common/ldb_dn.c 1 + + auth dn
ldb_dn_get_extended_linearized common/ldb_dn.c 1 + + dn
ldb_dn_get_rdn_val common/ldb_dn.c 1 + + dn
ldb_dn_get_rdn_name common/ldb_dn.c 1 + + dn
ldb_dn_add_base common/ldb_dn.c + + dn
ldb_dn_set_component common/ldb_dn.c + + dn
ldb_dn_compare_base common/ldb_dn.c + + dn
ldb_dn_remove_base_components common/ldb_dn.c + + dn
ldb_dn_has_extended common/ldb_dn.c + + dn
ldb_dn_is_null common/ldb_dn.c + + dn
ldb_dn_is_valid common/ldb_dn.c + + dn
ldb_dn_canonical_string common/ldb_dn.c 1 1 + dn
ldb_dn_add_base_fmt common/ldb_dn.c 1 + dn
ldb_dn_canonical_ex_string common/ldb_dn.c 1 + dn
ldb_dn_escape_value common/ldb_dn.c + dn
ldb_dn_check_local ldb_map/ldb_map.c + dn
ldb_dn_check_special common/ldb_dn.c + dn
ldb_dn_alloc_casefold common/ldb_dn.c + dn
ldb_dn_extended_syntax_by_name common/ldb_attributes.c + dn
ldb_dn_get_casefold common/ldb_dn.c + dn
ldb_dn_get_extended_component common/ldb_dn.c + auth dn
ldb_dn_set_extended_compo common/ldb_dn.c + dn
ldb_dn_map_local ldb_map/ldb_map.c + dn
ldb_dn_remove_child_components common/ldb_dn.c 1 1 dn
ldb_dn_add_child common/ldb_dn.c 1 dn
ldb_dn_extended_add_syntax common/ldb_attributes.c 1 dn
ldb_dn_map_rebase_remote ldb_map/ldb_map_outbound.c 1 dn
ldb_binary_encode common/ldb_parse.c 1 + + encoding
ldb_binary_encode_string common/ldb_parse.c + + auth encoding
ldb_should_b64_encode common/ldb_ldif.c + encoding
ldb_base64_decode common/ldb_ldif.c + encoding
ldb_base64_encode common/ldb_ldif.c + encoding
ldb_set_errstring common/ldb.c ++ ++ error
ldb_asprintf_errstring common/ldb.c ++ + error
ldb_strerror common/ldb.c + 1 + gpo error
ldb_reset_err_string common/ldb.c + + error
ldb_extended common/ldb.c + 1 extended
ldb_extended_default_callback common/ldb.c + 1 extended
ldb_get_opaque common/ldb.c 1 ++ ++ kdc get/set
ldb_set_opaque common/ldb.c + ++ ++ scripting get/set
ldb_get_event_context common/ldb.c + + get/set
ldb_get_create_perms common/ldb.c 1 get/set
ldb_set_create_perms common/ldb.c + get/set
ldb_ldif_write_file common/ldb_ldif.c + ++ ldif
ldb_ldif_read_file common/ldb_ldif.c + ldif
ldb_ldif_read_free common/ldb_ldif.c + ldif
ldb_ldif_read_string common/ldb_ldif.c + 1 ldif
ldb_wrap_connect lib/ldb_wrap.c + + + 1 gpo, auth, winbind, param, ntptr misc
ldb_next_init common/ldb_modules.c ++ + misc
ldb_mod_register_control common/ldb_modules.c + + misc
ldb_handle_new common/ldb_modules.c 1 + misc
ldb_cmdline_process tools/cmdline.c + misc
ldb_comparison_binary common/attrib_handlers.c + misc
ldb_connect_backend common/ldb_modules.c 1 1 misc
ldb_handler_copy common/attrib_handlers.c + misc
ldb_map_init ldb_map/ldb_map.c + misc
ldb_op_default_callback common/ldb_modules.c 1 + misc
ldb_register_samba_handle /ldb-samba/ldif_handlers.c + scripting misc
ldb_reply_get_control common/ldb_controls.c 1 1 misc
ldb_search_default_callback common/ldb.c + 1 + gpo misc
ldb_sequence_number common/ldb.c + misc
ldb_module_get_ctx common/ldb_modules.c + +++ ++ module
ldb_module_done common/ldb_modules.c +++ ++ module
ldb_module_get_private common/ldb_modules.c ++ ++ module
ldb_module_send_entry common/ldb_modules.c ++ ++ module
ldb_module_send_referral common/ldb_modules.c ++ + module
ldb_module_set_private common/ldb_modules.c + + module
ldb_modules_list_from_string common/ldb_modules.c 1 + module
ldb_init_module_chain common/ldb_modules.c 1 + module
ldb_load_modules common/ldb_modules.c 1 + module
ldb_module_new common/ldb_modules.c + module
ldb_load_modules_list common/ldb_modules.c 1 1 module
ldb_register_module common/ldb_modules.c 1 module_ops
ldb_anr_module_ops sambdb/ldb_modules/anr.c module_ops
ldb_asq_module_ops ldb/modules/asq.c module_ops
ldb_dsdb_cache_module_ops ldb_modules/dsdb_cache.c module_ops
ldb_entryuuid_module_ops ldb_modules/simple_ldap_map.c module_ops
ldb_extended_dn_in_module_ops ldb_modules/extended_dn_in.c module_ops
ldb_extended_dn_out_dereference_module_ops ldb_modules/extended_dn_out.c module_ops
ldb_extended_dn_out_ldb_module_ops ldb_modules/extended_dn_out.c module_ops
ldb_extended_dn_store_module_ops ldb_modules/extended_dn_store.c module_ops
ldb_instancetype_module_ops ldb_modules/instancetype.c module_ops
ldb_kludge_acl_module_ops ldb_modules/kludge_acl.c module_ops
ldb_linked_attributes_module_ops ldb_modules/linked_attributes.c module_ops
ldb_local_password_module_ops ldb_modules/local_password.c module_ops
ldb_naming_fsmo_module_ops ldb_modules/naming_fsmo.c module_ops
ldb_nsuniqueid_module_ops ldb_modules/simple_ldap_map.c module_ops
ldb_objectclass_module_ops ldb_modules/objectclass.c module_ops
ldb_objectguid_module_ops ldb_modules/objectguid.c module_ops
ldb_operational_module_ops ldb_modules/operational.c module_ops
ldb_paged_results_module_ops ldb_modules/paged_results.c module_ops
ldb_paged_searches_module_ops ldb_modules/paged_searches.c module_ops
ldb_partition_module_ops ldb_modules/partition.c module_ops
ldb_password_hash_module_ops ldb_modules/password_hash.c module_ops
ldb_pdc_fsmo_module_ops ldb_modules/pdc_fsmo.c module_ops
ldb_proxy_module_ops ldb_modules/proxy.c module_ops
ldb_ranged_results_module_ops ldb_modules/ranged_results.c module_ops
ldb_rdn_name_module_ops ldb_modules/rdn_name.c module_ops
ldb_repl_meta_data_module_ops ldb_modules/repl_meta_data.c module_ops
ldb_rootdse_module_ops ldb_modules/rootdse.c module_ops
ldb_samba3sam_module_ops ldb_modules/samba3sam.c module_ops
ldb_samldb_module_ops ldb_modules/samldb.c module_ops
ldb_sample_module_ops ldb_modules/sample_module.c module_ops
ldb_schema_fsmo_module_ops ldb_modules/schema_fsmo.c module_ops
ldb_server_sort_module_ops ldb_modules/sort.c module_ops
ldb_show_deleted_module_ops ldb_modules/show_deleted.c module_ops
ldb_skel_module_ops ldb_modules/skel.c module_ops
ldb_subtree_delete_module_ops ldb_modules/subtree_delete.c module_ops
ldb_subtree_rename_module_ops ldb_modules/subtree_rename.c module_ops
ldb_update_keytab_module_ops ldb_modules/update_keytab.c module_ops
ldb_wins_ldb_module_ops ldb_modules/wins_ldb.c module_ops
ldb_msg_find_element common/ldb_msg.c + +++ 1 + kdc, gpo, registry msg
ldb_msg_add_string common/ldb_msg.c + ++ + + winbind, utils, param, registry msg
ldb_msg_add_value common/ldb_msg.c + ++ + + winbind, param, registry msg
ldb_msg_new common/ldb_msg.c ++ + + + kdc, registry, winbind, utils, param msg
ldb_msg_find_attr_as_string common/ldb_msg.c + ++ + + kdc, gpo, auth, registry, winbind, utils, param msg
ldb_msg_find_ldb_val common/ldb_msg.c + ++ + + kdc, gpo, auth, winbind, param msg
ldb_msg_find_attr_as_uint common/ldb_msg.c ++ + + 1 kdc, winbind, msg
ldb_msg_add_fmt common/ldb_msg.c ++ + + 1 param msg
ldb_msg_find_attr_as_uint64 common/ldb_msg.c ++ + + msg
ldb_msg_add_empty common/ldb_msg.c + ++ + winbind, param msg
ldb_msg_copy common/ldb_msg.c ++ + msg
ldb_msg_copy_shallow common/ldb_msg.c ++ + msg
ldb_msg_find_attr_as_dn common/ldb_msg.c + + + msg
ldb_msg_find_attr_as_int common/ldb_msg.c + + + kdc, auth msg
ldb_msg_remove_attr common/ldb_msg.c ++ + msg
ldb_msg_add_steal_value common/ldb_msg.c + + msg
ldb_msg_canonicalize common/ldb_msg.c + + msg
ldb_msg_remove_element common/ldb_msg.c + + msg
ldb_msg_sanity_check common/ldb_msg.c + + msg
ldb_msg_add_steal_string common/ldb_msg.c 1 + 1 msg
ldb_msg_check_string_attribute common/ldb_msg.c + 1 msg
ldb_msg_add common/ldb_msg.c 1 + msg
ldb_msg_diff common/ldb_msg.c + 1 msg
ldb_msg_find_attr_as_int64 common/ldb_msg.c + 1 msg
ldb_msg_element_compare common/ldb_msg.c + msg
ldb_msg_element_compare_name common/ldb_msg.c + msg
ldb_msg_find_val common/ldb_msg.c + kdc msg
ldb_msg_sort_elements common/ldb_msg.c + msg
ldb_match_msg common/ldb_match.c + msg
ldb_msg_find_attr_as_bool common/ldb_msg.c 1 msg
ldb_msg_copy_attr common/ldb_msg.c 1 msg
ldb_filter_from_tree common/ldb_parse.c + + + parse
ldb_parse_tree common/ldb_parse.c 1 + parse
ldb_parse_tree_attr_replace common/ldb_parse.c 1 + parse
ldb_parse_control_strings common/ldb_controls.c + parse
ldb_casefold common/ldb_utf8.c + parse
ldb_set_utf8_fns common/ldb_utf8.c + parse
ldb_set_utf8_default common/ldb_utf8.c 1 parse
ldb_samba_syntax_by_lDAPDisplayName ldb-samba/ldif_handlers.c 1 parse
ldb_samba_syntax_by_name ldb-samba/ldif_handlers.c 1 + parse
ldb_standard_syntax_by_name common/attrib_handlers.c 1 + parse
ldb_next_request common/ldb_modules.c +++ ++ request
ldb_request_done common/ldb.c + ++ request
ldb_request_add_control common/ldb_controls.c 1 + 1 request
ldb_request_get_control common/ldb_controls.c 1 + + request
ldb_request_get_status common/ldb.c + request
ldb_request_set_state common/ldb.c + request
ldb_next_remote_request ldb_map/ldb_map.c + request
ldb_schema_attribute_by_name common/ldb_attributes.c + ++ schema
ldb_schema_attribute_add common/ldb_attributes.c + schema
ldb_schema_attribute_add_with_syntax common/ldb_attributes.c + schema
ldb_schema_attribute_remove common/ldb_attributes.c + schema
ldb_schema_attribute_set_override_handler common/ldb_attributes.c 1 schema
ldb_set_default_dns common/ldb.c 1 1 set
ldb_set_modules_dir common/ldb_modules.c + set
ldb_set_timeout common/ldb.c + 1 + set
ldb_string_to_time common/ldb_msg.c + + + time
ldb_string_utc_to_time common/ldb_msg.c 1 time
ldb_timestring common/ldb_msg.c + + + time
ldb_timestring_utc common/ldb_msg.c 1 time
ldb_transaction_cancel common/ldb.c ++ + + kdc, winbind, registry transaction
ldb_transaction_commit common/ldb.c + 1 + kdc, registry, winbind transaction
ldb_transaction_start common/ldb.c + 1 + kdc, registry, winbind transaction
ldb_next_del_trans common/ldb_modules.c + 1 transaction
ldb_next_end_trans common/ldb_modules.c + 1 transaction
ldb_next_start_trans common/ldb_modules.c 1 1 transaction
ldb_val_dup common/ldb_msg.c + + val
ldb_val_equal_exact common/ldb_msg.c + val
ldb_val_map_local ldb_map/ldb_map.c + val
ldb_val_map_remote ldb_map/ldb_map.c + val