logo_kerberos.gif

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

From K5Wiki
Jump to: navigation, search
(LDB Interface)
Line 35: Line 35:
 
# hdb_list_builtin
 
# hdb_list_builtin
 
# hdb_create
 
# hdb_create
  +
  +
----
  +
  +
== ldb interface ==
  +
  +
# ldb_add
  +
# ldb_connect
  +
# ldb_debug
  +
# ldb_delete
  +
# ldb_errstring
  +
# ldb_init
  +
# ldb_modify
  +
# ldb_qsort
  +
# ldb_rename
  +
  +
  +
# ldb_asprintf_errstring
  +
# ldb_base64_decode
  +
# ldb_base64_encode
  +
# ldb_binary_encode
  +
# ldb_binary_encode_string
  +
# ldb_casefold
  +
# ldb_cmdline_process
  +
# ldb_comparison_binary
  +
# ldb_connect_backend
  +
# ldb_debug_set
  +
# ldb_filter_from_tree
  +
# ldb_handle_new
  +
# ldb_handler_copy
  +
# ldb_linked_attributes_mod
  +
# ldb_map_init
  +
# ldb_match_msg
  +
# ldb_mod_register_control
  +
# ldb_op_default_callback
  +
  +
# ldb_parse_control_strings
  +
# ldb_parse_tree
  +
# ldb_parse_tree_attr_replace
  +
# ldb_register_samba_handle
  +
# ldb_reply_get_control
  +
  +
  +
# ldb_reset_err_string
  +
# ldb_samba_syntax_by_lDAPD
  +
# ldb_samba_syntax_by_name
  +
  +
# ldb_search
  +
# ldb_search_default_callback
  +
# ldb_sequence_number
  +
  +
  +
# ldb_setup_wellknown_attri
  +
# ldb_should_b64_encode
  +
  +
# ldb_standard_syntax_by_name
  +
# ldb_strerror
  +
# ldb_string_to_time
  +
# ldb_string_utc_to_time
  +
# ldb_timestring
  +
# ldb_timestring_utc
  +
  +
# ldb_update_keytab_module_
  +
# ldb_wait
  +
# ldb_wrap_connect
  +
  +
=== ldb_attr_ calls ===
  +
  +
# ldb_attr_casefold
  +
# ldb_attr_dn
  +
# ldb_attr_in_list
  +
# ldb_attr_list_copy
  +
# ldb_attr_list_copy_add
  +
  +
=== ldb_build_ calls ===
  +
  +
# ldb_build_add_req
  +
# ldb_build_del_req
  +
# ldb_build_extended_req
  +
# ldb_build_mod_req
  +
# ldb_build_rename_req
  +
# ldb_build_search_req
  +
# ldb_build_search_req_ex
  +
  +
=== ldb_dn_ calls ===
  +
# ldb_dn_add_base
  +
# ldb_dn_add_base_fmt
  +
# ldb_dn_add_child
  +
# ldb_dn_add_child_fmt
  +
# ldb_dn_alloc_casefold
  +
# ldb_dn_alloc_linearized
  +
# ldb_dn_canonical_ex_strin
  +
# ldb_dn_canonical_string
  +
# 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_extended
  +
# ldb_extended_default_call
  +
# ldb_extended_dn_in_module
  +
# ldb_extended_dn_out_deref
  +
# ldb_extended_dn_out_ldb_m
  +
# ldb_extended_dn_store_mod
  +
  +
=== ldb_get_ calls ===
  +
# ldb_get_config_basedn
  +
# ldb_get_create_perms
  +
# ldb_get_default_basedn
  +
# ldb_get_event_context
  +
# ldb_get_opaque
  +
# ldb_get_root_basedn
  +
# ldb_get_schema_basedn
  +
  +
=== ldb_ldif_ calls ===
  +
# ldb_ldif_read_file
  +
# ldb_ldif_read_free
  +
# ldb_ldif_read_string
  +
# ldb_ldif_write_file
  +
  +
=== ldb_module_ calls ===
  +
# ldb_module_done
  +
# ldb_module_get_ctx
  +
# ldb_module_get_private
  +
# ldb_module_new
  +
# ldb_module_send_entry
  +
# ldb_module_send_referral
  +
# ldb_module_set_private
  +
# ldb_modules_list_from_str
  +
# ldb_init_module_chain
  +
# ldb_load_modules
  +
# ldb_load_modules_list
  +
  +
=== ldb_..._module_ops calls ===
  +
# ldb_anr_module_ops
  +
# ldb_asq_module_ops
  +
# ldb_dsdb_cache_module_ops
  +
# ldb_entryuuid_module_ops
  +
# ldb_instancetype_module_ops
  +
# ldb_kludge_acl_module_ops
  +
# ldb_ldap_backend_ops
  +
# ldb_ldapi_backend_ops
  +
# ldb_ldaps_backend_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_wins_ldb_module_ops
  +
  +
  +
=== ldb_msg_ calls ===
  +
# ldb_msg_add
  +
# ldb_msg_add_empty
  +
# ldb_msg_add_fmt
  +
# ldb_msg_add_steal_string
  +
# ldb_msg_add_steal_value
  +
# ldb_msg_add_string
  +
# ldb_msg_add_value
  +
# ldb_msg_canonicalize
  +
# 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_next_end_trans
  +
# ldb_next_init
  +
# ldb_next_remote_request
  +
# ldb_next_request
  +
# ldb_next_start_trans
  +
  +
=== ldb_request ===
  +
# ldb_request
  +
# ldb_request_add_control
  +
# ldb_request_done
  +
# ldb_request_get_control
  +
# ldb_request_get_status
  +
# ldb_request_set_state
  +
  +
=== ldb_schema_ calls ===
  +
# ldb_schema_attribute_add
  +
# ldb_schema_attribute_add_
  +
# ldb_schema_attribute_by_n
  +
# ldb_schema_attribute_remo
  +
# ldb_schema_attribute_set_
  +
# ldb_schema_fsmo_module_op
  +
  +
=== ldb_set_ calls ===
  +
# ldb_set_create_perms
  +
# ldb_set_debug
  +
# ldb_set_debug_stderr
  +
# ldb_set_default_dns
  +
# ldb_set_errstring
  +
# ldb_set_modules_dir
  +
# ldb_set_opaque
  +
# ldb_set_timeout
  +
# ldb_set_utf8_default
  +
# ldb_set_utf8_fns
  +
  +
=== ldb_transaction_ calls ===
  +
# ldb_transaction_cancel
  +
# ldb_transaction_commit
  +
# ldb_transaction_start
  +
  +
=== ldb_val_ calls ===
  +
# ldb_val_dup
  +
# ldb_val_equal_exact
  +
# ldb_valid_attr_name
  +
# ldb_val_map_local
  +
# ldb_val_map_remote
  +
  +
----

Revision as of 14:17, 11 September 2009

LDB Interface

source4/kdc/hdb-samba4.c contains the LDB functions. In Samba4's heimdal/lib/hdb/hdb.h, Heimdal's HDB structure contains "hdb-" prefixed function-pointers to the LDB functions:

  1. (HDB *)->hdb_dbc = NULL;
  2. (HDB *)->hdb_open = LDB_open;
  3. (HDB *)->hdb_close = LDB_close;
  4. (HDB *)->hdb_fetch = LDB_fetch;
  5. (HDB *)->hdb_store = LDB_store;
  6. (HDB *)->hdb_remove = LDB_remove;
  7. (HDB *)->hdb_firstkey = LDB_firstkey;
  8. (HDB *)->hdb_nextkey = LDB_nextkey;
  9. (HDB *)->hdb_lock = LDB_lock;
  10. (HDB *)->hdb_unlock = LDB_unlock;
  11. (HDB *)->hdb_rename = LDB_rename;
  12. (HDB *)->hdb__get = NULL;
  13. (HDB *)->hdb__put = NULL;
  14. (HDB *)->hdb__del = NULL;
  15. (HDB *)->hdb_destroy = LDB_destroy;

hdb Interface

Samba4's heimdal/lib/hdb/hdb.c defines another set of hdb_ functions:

  1. hdb_next_enctype2key
  2. hdb_enctype2key
  3. hdb_free_key
  4. hdb_lock
  5. hdb_unlock
  6. hdb_free_entry
  7. hdb_foreach
  8. hdb_check_db_format
  9. hdb_init_db
  10. hdb_list_builtin
  11. hdb_create

ldb interface

  1. ldb_add
  2. ldb_connect
  3. ldb_debug
  4. ldb_delete
  5. ldb_errstring
  6. ldb_init
  7. ldb_modify
  8. ldb_qsort
  9. ldb_rename


  1. ldb_asprintf_errstring
  2. ldb_base64_decode
  3. ldb_base64_encode
  4. ldb_binary_encode
  5. ldb_binary_encode_string
  6. ldb_casefold
  7. ldb_cmdline_process
  8. ldb_comparison_binary
  9. ldb_connect_backend
  10. ldb_debug_set
  11. ldb_filter_from_tree
  12. ldb_handle_new
  13. ldb_handler_copy
  14. ldb_linked_attributes_mod
  15. ldb_map_init
  16. ldb_match_msg
  17. ldb_mod_register_control
  18. ldb_op_default_callback
  1. ldb_parse_control_strings
  2. ldb_parse_tree
  3. ldb_parse_tree_attr_replace
  4. ldb_register_samba_handle
  5. ldb_reply_get_control


  1. ldb_reset_err_string
  2. ldb_samba_syntax_by_lDAPD
  3. ldb_samba_syntax_by_name
  1. ldb_search
  2. ldb_search_default_callback
  3. ldb_sequence_number


  1. ldb_setup_wellknown_attri
  2. ldb_should_b64_encode
  1. ldb_standard_syntax_by_name
  2. ldb_strerror
  3. ldb_string_to_time
  4. ldb_string_utc_to_time
  5. ldb_timestring
  6. ldb_timestring_utc
  1. ldb_update_keytab_module_
  2. ldb_wait
  3. ldb_wrap_connect

ldb_attr_ calls

  1. ldb_attr_casefold
  2. ldb_attr_dn
  3. ldb_attr_in_list
  4. ldb_attr_list_copy
  5. ldb_attr_list_copy_add

ldb_build_ calls

  1. ldb_build_add_req
  2. ldb_build_del_req
  3. ldb_build_extended_req
  4. ldb_build_mod_req
  5. ldb_build_rename_req
  6. ldb_build_search_req
  7. ldb_build_search_req_ex

ldb_dn_ calls

  1. ldb_dn_add_base
  2. ldb_dn_add_base_fmt
  3. ldb_dn_add_child
  4. ldb_dn_add_child_fmt
  5. ldb_dn_alloc_casefold
  6. ldb_dn_alloc_linearized
  7. ldb_dn_canonical_ex_strin
  8. ldb_dn_canonical_string
  9. ldb_dn_check_local
  10. ldb_dn_check_special
  11. ldb_dn_compare
  12. ldb_dn_compare_base
  13. ldb_dn_copy
  14. ldb_dn_escape_value
  15. ldb_dn_extended_add_synta
  16. ldb_dn_extended_syntax_by
  17. ldb_dn_from_ldb_val
  18. ldb_dn_get_casefold
  19. ldb_dn_get_comp_num
  20. ldb_dn_get_component_name
  21. ldb_dn_get_component_val
  22. ldb_dn_get_extended_compo
  23. ldb_dn_get_extended_linea
  24. ldb_dn_get_linearized
  25. ldb_dn_get_parent
  26. ldb_dn_get_rdn_name
  27. ldb_dn_get_rdn_val
  28. ldb_dn_has_extended
  29. ldb_dn_is_null
  30. ldb_dn_is_special
  31. ldb_dn_is_valid
  32. ldb_dn_map_local
  33. ldb_dn_map_rebase_remote
  34. ldb_dn_new
  35. ldb_dn_new_fmt
  36. ldb_dn_remove_base_compon
  37. ldb_dn_remove_child_compo
  38. ldb_dn_set_component
  39. ldb_dn_set_extended_compo
  40. ldb_dn_validate

ldb_extended_ calls

  1. ldb_extended
  2. ldb_extended_default_call
  3. ldb_extended_dn_in_module
  4. ldb_extended_dn_out_deref
  5. ldb_extended_dn_out_ldb_m
  6. ldb_extended_dn_store_mod

ldb_get_ calls

  1. ldb_get_config_basedn
  2. ldb_get_create_perms
  3. ldb_get_default_basedn
  4. ldb_get_event_context
  5. ldb_get_opaque
  6. ldb_get_root_basedn
  7. ldb_get_schema_basedn

ldb_ldif_ calls

  1. ldb_ldif_read_file
  2. ldb_ldif_read_free
  3. ldb_ldif_read_string
  4. ldb_ldif_write_file

ldb_module_ calls

  1. ldb_module_done
  2. ldb_module_get_ctx
  3. ldb_module_get_private
  4. ldb_module_new
  5. ldb_module_send_entry
  6. ldb_module_send_referral
  7. ldb_module_set_private
  8. ldb_modules_list_from_str
  9. ldb_init_module_chain
  10. ldb_load_modules
  11. ldb_load_modules_list

ldb_..._module_ops calls

  1. ldb_anr_module_ops
  2. ldb_asq_module_ops
  3. ldb_dsdb_cache_module_ops
  4. ldb_entryuuid_module_ops
  5. ldb_instancetype_module_ops
  6. ldb_kludge_acl_module_ops
  7. ldb_ldap_backend_ops
  8. ldb_ldapi_backend_ops
  9. ldb_ldaps_backend_ops
  10. ldb_local_password_module_ops
  11. ldb_naming_fsmo_module_ops
  12. ldb_nsuniqueid_module_ops
  13. ldb_objectclass_module_ops
  14. ldb_objectguid_module_ops
  15. ldb_operational_module_ops
  16. ldb_paged_results_module_ops
  17. ldb_paged_searches_module_ops
  18. ldb_partition_module_ops
  19. ldb_password_hash_module_ops
  20. ldb_pdc_fsmo_module_ops
  21. ldb_ranged_results_module_ops
  22. ldb_rdn_name_module_ops
  23. ldb_register_module
  24. ldb_repl_meta_data_module_ops
  25. ldb_rootdse_module_ops
  26. ldb_samba3sam_module_ops
  27. ldb_samldb_module_ops
  28. ldb_server_sort_module_ops
  29. ldb_show_deleted_module_ops
  30. ldb_skel_module_ops
  31. ldb_subtree_delete_module_ops
  32. ldb_subtree_rename_module_ops
  33. ldb_tdb_backend_ops
  34. ldb_wins_ldb_module_ops


ldb_msg_ calls

  1. ldb_msg_add
  2. ldb_msg_add_empty
  3. ldb_msg_add_fmt
  4. ldb_msg_add_steal_string
  5. ldb_msg_add_steal_value
  6. ldb_msg_add_string
  7. ldb_msg_add_value
  8. ldb_msg_canonicalize
  9. ldb_msg_check_string_attr
  10. ldb_msg_copy
  11. ldb_msg_copy_attr
  12. ldb_msg_copy_shallow
  13. ldb_msg_diff
  14. ldb_msg_element_compare
  15. ldb_msg_find_attr_as_bool
  16. ldb_msg_find_attr_as_dn
  17. ldb_msg_find_attr_as_int
  18. ldb_msg_find_attr_as_int6
  19. ldb_msg_find_attr_as_stri
  20. ldb_msg_find_attr_as_uint
  21. ldb_msg_find_element
  22. ldb_msg_find_ldb_val
  23. ldb_msg_find_val
  24. ldb_msg_new
  25. ldb_msg_remove_attr
  26. ldb_msg_remove_element
  27. ldb_msg_sanity_check
  28. ldb_msg_sort_elements

ldb_next_

  1. ldb_next_del_trans
  2. ldb_next_end_trans
  3. ldb_next_init
  4. ldb_next_remote_request
  5. ldb_next_request
  6. ldb_next_start_trans

ldb_request

  1. ldb_request
  2. ldb_request_add_control
  3. ldb_request_done
  4. ldb_request_get_control
  5. ldb_request_get_status
  6. ldb_request_set_state

ldb_schema_ calls

  1. ldb_schema_attribute_add
  2. ldb_schema_attribute_add_
  3. ldb_schema_attribute_by_n
  4. ldb_schema_attribute_remo
  5. ldb_schema_attribute_set_
  6. ldb_schema_fsmo_module_op

ldb_set_ calls

  1. ldb_set_create_perms
  2. ldb_set_debug
  3. ldb_set_debug_stderr
  4. ldb_set_default_dns
  5. ldb_set_errstring
  6. ldb_set_modules_dir
  7. ldb_set_opaque
  8. ldb_set_timeout
  9. ldb_set_utf8_default
  10. ldb_set_utf8_fns

ldb_transaction_ calls

  1. ldb_transaction_cancel
  2. ldb_transaction_commit
  3. ldb_transaction_start

ldb_val_ calls

  1. ldb_val_dup
  2. ldb_val_equal_exact
  3. ldb_valid_attr_name
  4. ldb_val_map_local
  5. ldb_val_map_remote