Asterisk - The Open Source Telephony Project
18.5.0
|
LDAP plugin for portable configuration engine (ARA) More...
#include "asterisk.h"
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <stdio.h>
#include <ldap.h>
#include "asterisk/channel.h"
#include "asterisk/logger.h"
#include "asterisk/config.h"
#include "asterisk/module.h"
#include "asterisk/lock.h"
#include "asterisk/options.h"
#include "asterisk/cli.h"
#include "asterisk/utils.h"
#include "asterisk/strings.h"
#include "asterisk/pbx.h"
#include "asterisk/linkedlists.h"
Go to the source code of this file.
Data Structures | |
struct | category_and_metric |
struct | ldap_table_config |
Table configuration. More... | |
struct | table_configs |
Should be locked before using it. More... | |
Macros | |
#define | MAXRESULT 2048 |
#define | RES_CONFIG_LDAP_CONF "res_ldap.conf" |
#define | RES_CONFIG_LDAP_DEFAULT_BASEDN "asterisk" |
Functions | |
static void | __reg_module (void) |
static void | __unreg_module (void) |
static void | append_var_and_value_to_filter (struct ast_str **filter, struct ldap_table_config *table_config, const char *name, const char *value) |
Append a name=value filter string. The filter string can grow. More... | |
struct ast_module * | AST_MODULE_SELF_SYM (void) |
static char * | cleaned_basedn (struct ast_channel *channel, const char *basedn) |
static int | compare_categories (const void *a, const void *b) |
Sorting alogrithm for qsort to find the order of the variables a and b. More... | |
static int | config_can_be_inherited (const char *key) |
static struct ast_config * | config_ldap (const char *basedn, const char *table_name, const char *file, struct ast_config *cfg, struct ast_flags config_flags, const char *sugg_incl, const char *who_asked) |
See Asterisk Realtime Documentation. More... | |
static const char * | convert_attribute_name_from_ldap (struct ldap_table_config *table_config, const char *attribute_name) |
Convert ldap attribute name to variable name. More... | |
static const char * | convert_attribute_name_to_ldap (struct ldap_table_config *table_config, const char *attribute_name) |
Convert variable name to ldap attribute name. More... | |
static struct ast_str * | create_lookup_filter (struct ldap_table_config *config, const struct ast_variable *fields) |
static int | is_ldap_connect_error (int err) |
Check if we have a connection error. More... | |
static int | ldap_entry_has_attribute (LDAPMessage *entry, const char *lookup) |
static struct ast_variable * | ldap_loadentry (struct ldap_table_config *table_config, const char *dn) |
Get LDAP entry by dn and return attributes as variables. More... | |
static LDAPMod * | ldap_mod_append (LDAPMod *src, const char *new_value) |
static LDAPMod * | ldap_mod_create (const char *attribute, const char *new_value) |
static LDAPMod * | ldap_mod_duplicate (const LDAPMod *src) |
static LDAPMod * | ldap_mod_find (LDAPMod **modifications, const char *lookup) |
static int | ldap_reconnect (void) |
static void | ldap_table_config_add_attribute (struct ldap_table_config *table_config, const char *attribute_name, const char *attribute_value) |
add attribute to table config More... | |
static int | load_module (void) |
Load the module. More... | |
static LDAPMod ** | massage_mods_for_entry (LDAPMessage *entry, LDAPMod **mods) |
static int | parse_config (void) |
parse the configuration file More... | |
static struct ast_variable * | realtime_arguments_to_fields (va_list ap) |
static struct ast_variable * | realtime_ldap (const char *basedn, const char *table_name, const struct ast_variable *fields) |
See Asterisk doc. More... | |
static struct ast_variable ** | realtime_ldap_base (unsigned int *entries_count_ptr, const char *basedn, const char *table_name,...) |
same as realtime_ldap_base_ap but take variable arguments count list More... | |
static struct ast_variable ** | realtime_ldap_base_ap (unsigned int *entries_count_ptr, const char *basedn, const char *table_name, const struct ast_variable *fields) |
LDAP base function. More... | |
static struct ast_variable * | realtime_ldap_entry_to_var (struct ldap_table_config *table_config, LDAPMessage *ldap_entry) |
Get variables from ldap entry attributes. More... | |
static struct ast_variable ** | realtime_ldap_result_to_vars (struct ldap_table_config *table_config, LDAPMessage *ldap_result_msg, unsigned int *entries_count_ptr) |
Get variables from ldap entry attributes - Should be locked before using it. More... | |
static char * | realtime_ldap_status (struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) |
Realtime Status. More... | |
static struct ast_config * | realtime_multi_ldap (const char *basedn, const char *table_name, const struct ast_variable *fields) |
See Asterisk doc. More... | |
static int | reload (void) |
static int | replace_string_in_string (char *string, const char *search, const char *by) |
Replace <search> by <by> in string. More... | |
static int | semicolon_count_str (const char *somestr) |
Count semicolons in string. More... | |
static int | semicolon_count_var (struct ast_variable *var) |
static char * | substituted (struct ast_channel *channel, const char *string) |
static struct ldap_table_config * | table_config_for_table_name (const char *table_name) |
Find a table_config. More... | |
static struct ldap_table_config * | table_config_new (const char *table_name) |
Create a new table_config. More... | |
static void | table_configs_free (void) |
Free table_config. More... | |
static int | unload_module (void) |
Unload Module. More... | |
static int | update2_ldap (const char *basedn, const char *table_name, const struct ast_variable *lookup_fields, const struct ast_variable *update_fields) |
static int | update_ldap (const char *basedn, const char *table_name, const char *attribute, const char *lookup, const struct ast_variable *fields) |
static struct ast_variable * | variable_named (struct ast_variable *var, const char *name) |
Find variable by name. More... | |
static size_t | variables_count (const struct ast_variable *vars) |
Variables | |
static struct ast_module_info | __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_LOAD_ORDER , .description = "LDAP realtime interface" , .key = "This paragraph is copyright (c) 2006 by Digium, Inc. \In order for your module to load, it must return this \key via a function called \"key\". Any code which \includes this paragraph must be licensed under the GNU \General Public License version 2 or later (at your \option). In addition to Digium's general reservations \of rights, Digium expressly reserves the right to \allow other parties to license this paragraph under \different terms. Any use of Digium, Inc. trademarks or \logos (including \"Asterisk\" or \"Digium\") without \express written permission of Digium, Inc. is prohibited.\n" , .buildopt_sum = "30ef0c93b36035ec78c9cfd712d36d9b" , .support_level = AST_MODULE_SUPPORT_EXTENDED, .load = load_module, .unload = unload_module, .reload = reload, .load_pri = AST_MODPRI_REALTIME_DRIVER, .requires = "extconfig", } |
Module Information. More... | |
static const struct ast_module_info * | ast_module_info = &__mod_info |
static char | base_distinguished_name [512] |
static struct ldap_table_config * | base_table_config |
static time_t | connect_time |
static struct ast_cli_entry | ldap_cli [] |
static struct ast_config_engine | ldap_engine |
static ast_mutex_t | ldap_lock = { PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP , NULL, {1, 0} } |
static LDAP * | ldapConn |
static char | pass [512] |
static struct ldap_table_config * | static_table_config |
static struct table_configs | table_configs = { .first = NULL, .last = NULL, } |
static char | url [512] |
static char | user [512] |
static int | version |
LDAP plugin for portable configuration engine (ARA)
OpenLDAP http://www.openldap.org
Definition in file res_config_ldap.c.
#define MAXRESULT 2048 |
Referenced by substituted().
#define RES_CONFIG_LDAP_CONF "res_ldap.conf" |
Definition at line 68 of file res_config_ldap.c.
Referenced by config_ldap(), and parse_config().
#define RES_CONFIG_LDAP_DEFAULT_BASEDN "asterisk" |
Definition at line 69 of file res_config_ldap.c.
Referenced by parse_config().
|
static |
Definition at line 2005 of file res_config_ldap.c.
|
static |
Definition at line 2005 of file res_config_ldap.c.
|
static |
Append a name=value filter string. The filter string can grow.
Definition at line 736 of file res_config_ldap.c.
References ast_debug, ast_str_append(), ast_strdupa, convert_attribute_name_to_ldap(), len(), category_and_metric::name, NULL, and replace_string_in_string().
Referenced by create_lookup_filter().
struct ast_module* AST_MODULE_SELF_SYM | ( | void | ) |
Definition at line 2005 of file res_config_ldap.c.
|
static |
Definition at line 683 of file res_config_ldap.c.
References ast_debug, ast_strlen_zero, len(), NULL, and substituted().
Referenced by realtime_ldap_base_ap(), and update2_ldap().
|
static |
Sorting alogrithm for qsort to find the order of the variables a and b.
a | pointer to category_and_metric struct |
b | pointer to category_and_metric struct |
-1 | for if b is greater |
0 | zero for equal |
1 | if a is greater |
Definition at line 1097 of file res_config_ldap.c.
References a, b, bs, category_and_metric::metric, category_and_metric::name, and category_and_metric::var_metric.
Referenced by config_ldap().
|
static |
|
static |
See Asterisk Realtime Documentation.
This is for Static Realtime
load the configuration stuff for the .conf files called on a reload
Definition at line 1126 of file res_config_ldap.c.
References ast_calloc, ast_category_append(), ast_category_new_dynamic, ast_config_internal_load(), ast_debug, ast_free, ast_log, ast_strlen_zero, ast_variable_append(), ast_variable_new, categories, compare_categories(), LOG_ERROR, LOG_WARNING, category_and_metric::metric, category_and_metric::name, NULL, realtime_ldap_base(), RES_CONFIG_LDAP_CONF, ast_variable::value, category_and_metric::var_metric, category_and_metric::variable_name, variable_named(), and category_and_metric::variable_value.
|
static |
Convert ldap attribute name to variable name.
Definition at line 278 of file res_config_ldap.c.
References ARRAY_LEN, ldap_table_config::attributes, ast_variable::name, ast_variable::next, and ast_variable::value.
Referenced by realtime_ldap_entry_to_var(), and realtime_ldap_result_to_vars().
|
static |
Convert variable name to ldap attribute name.
Definition at line 250 of file res_config_ldap.c.
References ARRAY_LEN, ldap_table_config::attributes, ast_variable::name, ast_variable::next, and ast_variable::value.
Referenced by append_var_and_value_to_filter(), and update2_ldap().
|
static |
Definition at line 770 of file res_config_ldap.c.
References ldap_table_config::additional_filter, append_var_and_value_to_filter(), ast_str_append(), ast_str_create, filter(), ast_variable::name, ast_variable::next, NULL, and ast_variable::value.
Referenced by realtime_ldap_base_ap(), and update2_ldap().
|
static |
Check if we have a connection error.
Definition at line 580 of file res_config_ldap.c.
Referenced by ldap_loadentry(), realtime_ldap_base_ap(), and update2_ldap().
|
static |
Definition at line 1397 of file res_config_ldap.c.
References ldapConn, and NULL.
Referenced by massage_mods_for_entry().
|
static |
Get LDAP entry by dn and return attributes as variables.
Should be locked before using it
This is used for setting the default values of an object i.e., with accountBaseDN
< not using this
Definition at line 592 of file res_config_ldap.c.
References ast_debug, ast_free, ast_log, ast_mutex_unlock, ast_variables_destroy(), is_ldap_connect_error(), ldap_lock, ldap_reconnect(), ldapConn, LOG_ERROR, LOG_NOTICE, LOG_WARNING, NULL, realtime_ldap_result_to_vars(), result, and var.
Referenced by realtime_ldap_base_ap().
|
static |
Definition at line 1295 of file res_config_ldap.c.
References ast_log, LOG_ERROR, and NULL.
Referenced by update2_ldap().
|
static |
Definition at line 1245 of file res_config_ldap.c.
References ast_log, LOG_ERROR, NULL, type, and value.
Referenced by update2_ldap().
|
static |
Definition at line 1328 of file res_config_ldap.c.
References ast_log, LOG_ERROR, NULL, type, and value.
Referenced by massage_mods_for_entry().
|
static |
|
static |
Definition at line 1910 of file res_config_ldap.c.
References ast_debug, ast_log, ast_strlen_zero, connect_time, ldapConn, LOG_ERROR, LOG_WARNING, NULL, pass, url, and version.
Referenced by ldap_loadentry(), load_module(), realtime_ldap_base_ap(), reload(), and update2_ldap().
|
static |
add attribute to table config
Should be locked before using it
Definition at line 202 of file res_config_ldap.c.
References ast_strlen_zero, ast_variable_new, ldap_table_config::attributes, ast_variable::next, ldap_table_config::table_name, and var.
Referenced by parse_config().
|
static |
Load the module.
Module loading including tests for configuration or dependencies. This function can return AST_MODULE_LOAD_FAILURE, AST_MODULE_LOAD_DECLINE, or AST_MODULE_LOAD_SUCCESS. If a dependency or environment variable fails tests return AST_MODULE_LOAD_FAILURE. If the module can not load the configuration file or other non-critical problem return AST_MODULE_LOAD_DECLINE. On success return AST_MODULE_LOAD_SUCCESS.
Definition at line 1715 of file res_config_ldap.c.
References ARRAY_LEN, ast_cli_register_multiple, ast_config_engine_register(), ast_log, ast_mutex_lock, ast_mutex_unlock, ast_verb, ldap_lock, ldap_reconnect(), LOG_ERROR, LOG_WARNING, and parse_config().
Referenced by realtime_ldap_status().
|
static |
Definition at line 1432 of file res_config_ldap.c.
References ast_debug, ast_log, ldap_entry_has_attribute(), ldap_mod_duplicate(), LOG_ERROR, and NULL.
Referenced by update2_ldap().
|
static |
parse the configuration file
< using the [config] context for Static RealTime
Definition at line 1808 of file res_config_ldap.c.
References ldap_table_config::additional_filter, ast_category_browse(), ast_config_destroy(), ast_config_load, ast_copy_string(), AST_LIST_INSERT_HEAD, ast_log, ast_strdup, ast_strlen_zero, ast_variable_browse(), ast_variable_retrieve(), base_distinguished_name, config, config_can_be_inherited(), CONFIG_STATUS_FILEINVALID, CONFIG_STATUS_FILEMISSING, host, ldap_table_config_add_attribute(), LOG_ERROR, LOG_NOTICE, LOG_WARNING, ast_variable::name, ast_variable::next, NULL, pass, RES_CONFIG_LDAP_CONF, RES_CONFIG_LDAP_DEFAULT_BASEDN, table_config_for_table_name(), table_config_new(), table_configs_free(), url, ast_variable::value, var, and version.
Referenced by load_module(), and reload().
|
static |
Definition at line 960 of file res_config_ldap.c.
References ast_variable_new, ast_variables_destroy(), ast_variable::next, and NULL.
Referenced by realtime_ldap_base().
|
static |
See Asterisk doc.
For Realtime Dynamic(i.e., switch, queues, and directory)
Definition at line 1003 of file res_config_ldap.c.
References ast_free, ast_variable::next, NULL, realtime_ldap_base_ap(), and var.
|
static |
same as realtime_ldap_base_ap but take variable arguments count list
Definition at line 983 of file res_config_ldap.c.
References ast_variables_destroy(), NULL, RAII_VAR, realtime_arguments_to_fields(), and realtime_ldap_base_ap().
Referenced by config_ldap().
|
static |
LDAP base function.
entries_count_ptr | is a pointer to found entries count (can be NULL) |
basedn | is the base DN |
table_name | is the table_name (used dor attribute convertion and additional filter) |
fields | contains list of pairs name/value |
get the default variables from the accountBaseDN, not implemented with delimited values
Definition at line 810 of file res_config_ldap.c.
References ast_debug, ast_free, ast_log, ast_mutex_lock, ast_mutex_unlock, ast_str_buffer(), ast_variables_destroy(), cleaned_basedn(), create_lookup_filter(), filter(), is_ldap_connect_error(), ldap_loadentry(), ldap_lock, ldap_reconnect(), ldapConn, LOG_ERROR, LOG_WARNING, ast_variable::name, ast_variable::next, NULL, realtime_ldap_result_to_vars(), result, table_config_for_table_name(), tmp(), and ast_variable::value.
Referenced by realtime_ldap(), realtime_ldap_base(), and realtime_multi_ldap().
|
static |
Get variables from ldap entry attributes.
Definition at line 306 of file res_config_ldap.c.
References ast_debug, ast_strlen_zero, ast_variable_new, convert_attribute_name_from_ldap(), ldapConn, ast_variable::next, NULL, ldap_table_config::table_name, value, and var.
Referenced by realtime_ldap_result_to_vars().
|
static |
Get variables from ldap entry attributes - Should be locked before using it.
The results are freed outside this function so is the vars array.
Definition at line 392 of file res_config_ldap.c.
References ast_calloc, ast_debug, ast_free, ast_log, ast_strdup, ast_strlen_zero, ast_variable_new, ast_variables_destroy(), convert_attribute_name_from_ldap(), DEBUG_ATLEAST, ldapConn, LOG_DEBUG, ast_variable::next, NULL, realtime_ldap_entry_to_var(), semicolon_count_str(), semicolon_count_var(), ldap_table_config::table_name, tmp(), value, ast_variable::value, var, and variable_named().
Referenced by ldap_loadentry(), and realtime_ldap_base_ap().
|
static |
Realtime Status.
Definition at line 1960 of file res_config_ldap.c.
References ast_cli_print_timestr_fromseconds(), ast_free, AST_MODFLAG_LOAD_ORDER, AST_MODPRI_REALTIME_DRIVER, AST_MODULE_INFO(), AST_MODULE_SUPPORT_EXTENDED, ast_str_append(), ast_str_buffer(), ast_str_create, ast_strlen_zero, ASTERISK_GPL_KEY, base_distinguished_name, buf, CLI_FAILURE, CLI_GENERATE, CLI_INIT, CLI_SUCCESS, ast_cli_entry::command, connect_time, ast_cli_args::fd, ldapConn, load_module(), NULL, reload(), unload_module(), url, and ast_cli_entry::usage.
|
static |
See Asterisk doc.
this function will be called for the switch statement if no match is found with the realtime_ldap function(i.e. it is a failover); however, the ast_load_realtime wil match on wildcharacters also depending on what the mode is set to this is an area of asterisk that could do with a lot of modification I think this function returns Realtime dynamic objects
Definition at line 1038 of file res_config_ldap.c.
References ast_category_append(), ast_category_new_anonymous, ast_category_rename(), ast_config_new(), ast_free, ast_log, ast_strdupa, ast_variable_append(), LOG_ERROR, LOG_WARNING, ast_variable::name, ast_variable::next, NULL, realtime_ldap_base_ap(), ast_variable::value, and var.
|
static |
Relod Module
Definition at line 1763 of file res_config_ldap.c.
References ast_log, ast_mutex_lock, ast_mutex_unlock, ast_verb, ldap_lock, ldap_reconnect(), ldapConn, LOG_NOTICE, LOG_WARNING, NULL, and parse_config().
Referenced by realtime_ldap_status().
|
static |
Replace <search> by <by> in string.
Definition at line 712 of file res_config_ldap.c.
Referenced by append_var_and_value_to_filter().
|
static |
Count semicolons in string.
somestr | - pointer to a string |
Definition at line 168 of file res_config_ldap.c.
Referenced by realtime_ldap_result_to_vars(), and semicolon_count_var().
|
static |
Definition at line 185 of file res_config_ldap.c.
References ast_debug, semicolon_count_str(), ast_variable::value, and variable_named().
Referenced by realtime_ldap_result_to_vars().
|
static |
Definition at line 668 of file res_config_ldap.c.
References ast_calloc, ast_debug, ast_strlen_zero, MAXRESULT, NULL, and pbx_substitute_variables_helper().
Referenced by cleaned_basedn().
|
static |
Find a table_config.
Should be locked before using it
Definition at line 139 of file res_config_ldap.c.
References AST_LIST_TRAVERSE, c, NULL, and ldap_table_config::table_name.
Referenced by parse_config(), realtime_ldap_base_ap(), and update2_ldap().
|
static |
Create a new table_config.
Definition at line 116 of file res_config_ldap.c.
References ast_calloc, ast_free, ast_strdup, NULL, and ldap_table_config::table_name.
Referenced by parse_config().
|
static |
Free table_config.
Definition at line 225 of file res_config_ldap.c.
References ldap_table_config::additional_filter, ast_free, AST_LIST_REMOVE_HEAD, ast_variables_destroy(), ldap_table_config::attributes, c, NULL, and ldap_table_config::table_name.
Referenced by parse_config(), and unload_module().
|
static |
Unload Module.
Definition at line 1740 of file res_config_ldap.c.
References ARRAY_LEN, ast_cli_unregister_multiple(), ast_config_engine_deregister(), ast_mutex_lock, ast_mutex_unlock, ast_verb, ldap_lock, ldapConn, NULL, and table_configs_free().
Referenced by realtime_ldap_status().
|
static |
Definition at line 1491 of file res_config_ldap.c.
References ast_debug, ast_free, ast_log, ast_mutex_lock, ast_mutex_unlock, ast_str_buffer(), cleaned_basedn(), convert_attribute_name_to_ldap(), create_lookup_filter(), DEBUG_ATLEAST, error(), filter(), is_ldap_connect_error(), ldap_lock, ldap_mod_append(), ldap_mod_create(), ldap_mod_find(), ldap_reconnect(), ldapConn, LOG_DEBUG, LOG_ERROR, LOG_WARNING, massage_mods_for_entry(), ast_variable::name, ast_variable::next, NULL, table_config_for_table_name(), ast_variable::value, and variables_count().
Referenced by update_ldap().
|
static |
Definition at line 1684 of file res_config_ldap.c.
References ast_variable_new, ast_variables_destroy(), and update2_ldap().
|
static |
Find variable by name.
Definition at line 153 of file res_config_ldap.c.
References ast_variable::name, ast_variable::next, and var.
Referenced by config_ldap(), realtime_ldap_result_to_vars(), and semicolon_count_var().
|
static |
Definition at line 1481 of file res_config_ldap.c.
References ast_variable::next, and var.
Referenced by update2_ldap().
|
static |
Module Information.
Definition at line 2005 of file res_config_ldap.c.
|
static |
Definition at line 2005 of file res_config_ldap.c.
|
static |
Definition at line 77 of file res_config_ldap.c.
Referenced by parse_config(), and realtime_ldap_status().
|
static |
Definition at line 107 of file res_config_ldap.c.
|
static |
Definition at line 79 of file res_config_ldap.c.
Referenced by ldap_reconnect(), and realtime_ldap_status().
|
static |
Definition at line 110 of file res_config_ldap.c.
|
static |
Definition at line 1693 of file res_config_ldap.c.
|
static |
Definition at line 71 of file res_config_ldap.c.
Referenced by ldap_loadentry(), load_module(), realtime_ldap_base_ap(), reload(), unload_module(), and update2_ldap().
|
static |
Definition at line 73 of file res_config_ldap.c.
Referenced by ldap_entry_has_attribute(), ldap_loadentry(), ldap_reconnect(), realtime_ldap_base_ap(), realtime_ldap_entry_to_var(), realtime_ldap_result_to_vars(), realtime_ldap_status(), reload(), unload_module(), and update2_ldap().
|
static |
Definition at line 76 of file res_config_ldap.c.
Referenced by __ast_dsp_call_progress(), AST_TEST_DEFINE(), build_transactions(), ldap_reconnect(), manager_login(), and parse_config().
|
static |
Definition at line 108 of file res_config_ldap.c.
|
static |
|
static |
Definition at line 74 of file res_config_ldap.c.
Referenced by acf_curl_exec(), dial_exec_full(), ewscal_load_calendar(), fetch_access_token(), fetch_google_access_token(), ldap_reconnect(), parse_config(), queue_exec(), realtime_ldap_status(), reqprep(), respprep(), sendurl_exec(), and sip_sendhtml().
|
static |
Definition at line 75 of file res_config_ldap.c.
Referenced by action_confbridgelist(), action_confbridgesetsinglevideosrc(), action_meetmelist(), apply_menu_to_user(), ast_ari_config_validate_user(), ast_optional_api_use(), AST_TEST_DEFINE(), authenticate_request(), authenticate_verify(), build_route(), build_setup(), build_user(), check_access(), complete_confbridge_participant(), complete_sip_user(), conf_queue_dtmf(), conf_send_event_to_participants(), confbridge_exec(), find_user(), func_confbridge_info(), generic_mute_unmute_helper(), get_manager_by_name_locked(), handle_cli_confbridge_list(), iax2_destroy_helper(), manager_login(), manager_shutdown(), meetme_show_cmd(), meetmemute(), optional_api_user_create(), parse_setup(), pp_each_extension_helper(), prune_users(), realtime_user(), set_config(), sip_show_user(), sip_show_users(), user_alloc(), vm_allocate_dh(), and vmauthenticate().
|
static |
Definition at line 78 of file res_config_ldap.c.
Referenced by ldap_reconnect(), and parse_config().