logo_kerberos.gif

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

From K5Wiki
Jump to: navigation, search
(Heimdal's internal hdb library)
(Samba4's hdb_samba4 interface to LDAP)
 
(40 intermediate revisions by the same user not shown)
Line 1: Line 1:
This page aims to reduce the confusion about four DB libraries:
 
  +
[[Image:Hdb_ldb_diagram_3.png|350px|thumb|right| Color Key: Samba4 is in blue; Heimdal is in green]]
  +
 
This page describes Samba4's four DB libraries:
 
# Two hdb libraries in Heimdal;
 
# Two hdb libraries in Heimdal;
 
# Samba4's hdb_samba4 library (formerly named LDB), and
 
# Samba4's hdb_samba4 library (formerly named LDB), and
Line 5: Line 7:
   
 
These libraries operate as layers:
 
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 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 hdb_samba4 wraps the most basic store/retrieve part of ldb.
 
# Samba4's ldb wraps the underlying database storage
 
# Samba4's ldb wraps the underlying database storage
Heimdal's internal hdb handles DB-entries after they're retrieved.
 
  +
   
 
----
 
----
   
 
== Samba4's hdb_samba4 interface to LDAP ==
 
== Samba4's hdb_samba4 interface to LDAP ==
These routines make up half of Samba4's kdc-specific code,
+
# These routines make up half of Samba4's kdc-specific code,
and almost all of the hdb_samba4_ routines are in source4/kdc/hdb-samba4.c .
+
# 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 .
+
# The exceptionally-placed routine is hdb_samba4_lookup_spn_alias(), in dsdb/samdb .
   
 
{| 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="#33ff99" |<font color="#ffffff">'''Entry-point'''</font>
+
| bgcolor="#00cc99" |<font color="#ffffff">'''Entry-point'''</font>
| bgcolor="#33ff99" |<font color="#ffffff">'''Heim use'''</font>
+
| bgcolor="#00cc99" |<font color="#ffffff">'''Heim use'''</font>
| bgcolor="#33ff99" |<font color="#ffffff">'''Smb4 use'''</font>
+
| bgcolor="#00cc99" |<font color="#ffffff">'''Smb4 use'''</font>
| bgcolor="#33ff99" |<font color="#ffffff">'''Comment''' </font>
+
| bgcolor="#00cc99" |<font color="#ffffff">'''Comment''' </font>
   
 
|-
 
|-
Line 188: Line 190:
   
 
== Heimdal's hdb Interface to Samba4's hdb_samba4 ==
 
== Heimdal's hdb Interface to Samba4's hdb_samba4 ==
Samba4's file kdc/hdb-samba4.c contains the hdb_samba4_ functions,
 
which only Samba4 uses directly.
 
   
In Samba4's heimdal/lib/hdb/hdb.h, Heimdal's HDB structure
 
  +
# Heimdal uses the hdb_samba4 functions via a set of hdb_ function-pointers.
contains "hdb-" prefixed function-pointers to the hdb_samba4 functions.
 
  +
# Heimdal's HDB structure contains the hdb_ function-pointers.
Only Heimdal uses this function-pointer interface to
 
  +
# The hdb_samba4 functions wrap the part of Samba4's ldb library that stores & retrieves DB entries.
Samba4's hdb_samba4_ functions:
 
  +
# 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;
Line 211: Line 214:
 
# (HDB *)->hdb__del = NULL;
 
# (HDB *)->hdb__del = NULL;
 
# (HDB *)->hdb_destroy = hdb_samba4_destroy;
 
# (HDB *)->hdb_destroy = hdb_samba4_destroy;
# (HDB *)->hdb_samba4_check_pkinit_ms_upn_match = hdb_samba4_check_pkinit_ms_upn_match
+
# (HDB *)->hdb_check_pkinit_ms_upn_match = hdb_samba4_check_pkinit_ms_upn_match
# (HDB *)->hdb_samba4_check_constrained_delegation = hdb_samba4_check_constrained_delegation
+
# (HDB *)->hdb_check_constrained_delegation = hdb_samba4_check_constrained_delegation
   
 
Samba4's hdb_ library also includes a local function invoked via a function-pointer:
 
Samba4's hdb_ library also includes a local function invoked via a function-pointer:
Line 222: Line 225:
 
== Heimdal's internal hdb library ==
 
== Heimdal's internal hdb library ==
 
This library isn't completely "internal,"
 
This library isn't completely "internal,"
because four of these routines get used by Samba, too:
+
because four of these routines get used by Samba4, too:
   
 
# initialize_hdb_error_table_r
 
# initialize_hdb_error_table_r
Line 235: Line 238:
 
# (HDB *)->hdb_lock ,
 
# (HDB *)->hdb_lock ,
 
# (HDB *)->hdb_unlock .
 
# (HDB *)->hdb_unlock .
Heimdal uses these two function pointers heavily.
 
   
 
Of these 72 functions:
 
Of these 72 functions:
  +
# Four get used by Samba4;
 
# Seven are used by Heimdal's kdc & tgs code;
 
# 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);
 
# 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.
 
# 27 are used only internally, by the hdb library.
  +
# 39 are unused.
  +
 
----
 
----
   
 
{| 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">'''Heim use'''</font>
+
| bgcolor="#99ff99" |<font color="#666666">'''Heim use'''</font>
| bgcolor="#ff6600" |<font color="#ffffff">'''Smb4 use'''</font>
+
| bgcolor="#99ff99" |<font color="#666666">'''Smb4 use'''</font>
   
 
|-
 
|-
Line 697: Line 702:
 
The ldb functions are used by Samba4's hdb_samba4 interface,
 
The ldb functions are used by Samba4's hdb_samba4 interface,
 
which Heimdal does use, via the hdb_*** function-pointers.
 
which Heimdal does use, via the hdb_*** function-pointers.
  +
  +
Two function-families are defined in a spread-out way:
  +
# The eight ldb_attr_ functions are defined in four source-files;
  +
# The seven ldb_request functions are defined in four source-files.
   
 
Key to the columns:
 
Key to the columns:
Line 709: Line 718:
   
 
{| 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="#3399ff" |<font color="#ffffff">'''Entry-point'''</font>
+
| bgcolor="#66ccff" |<font color="#ffffff">'''Entry-point'''</font>
| bgcolor="#3399ff" |<font color="#ffffff">'''Samba4 file''' </font>
+
| bgcolor="#66ccff" |<font color="#ffffff">'''Samba4 file''' </font>
| bgcolor="#3399ff" |<font color="#ffffff">'''*srv'''</font>
+
| bgcolor="#66ccff" |<font color="#ffffff">'''*srv'''</font>
| bgcolor="#3399ff" |<font color="#ffffff">'''dsdb'''</font>
+
| bgcolor="#66ccff" |<font color="#ffffff">'''dsdb'''</font>
| bgcolor="#3399ff" |<font color="#ffffff">'''net'''</font>
+
| bgcolor="#66ccff" |<font color="#ffffff">'''net'''</font>
| bgcolor="#3399ff" |<font color="#ffffff">'''ldb'''</font>
+
| bgcolor="#66ccff" |<font color="#ffffff">'''ldb'''</font>
| bgcolor="#3399ff" |<font color="#ffffff">'''other'''</font>
+
| bgcolor="#66ccff" |<font color="#ffffff">'''other'''</font>
| bgcolor="#3399ff" |<font color="#ffffff">'''ldb grp'''</font>
+
| bgcolor="#66ccff" |<font color="#ffffff">'''ldb grp'''</font>
   
 
|-
 
|-
Line 1,094: Line 1,103:
 
|
 
|
 
|
 
|
|
+
| 1
|
+
| registry
 
| debug
 
| debug
   

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