mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-05 20:20:07 +00:00
Merged revisions 279601 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r279601 | tilghman | 2010-07-26 16:07:45 -0500 (Mon, 26 Jul 2010) | 19 lines Merged revisions 279597 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r279597 | ghenry | 2010-07-26 15:25:54 -0500 (Mon, 26 Jul 2010) | 13 lines Apply all patches in: https://issues.asterisk.org/view.php?id=13573 (closes issue #13573) Reported by: navkumar Patches: res_config_ldap-category.diff uploaded by navkumar (license 580) res_config_ldap.patch uploaded by bencer (license 961) res_config_ldap uploaded by bencer (license 961) Tested by: suretec ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@279602 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -65,7 +65,7 @@ AST_MUTEX_DEFINE_STATIC(ldap_lock);
|
|||||||
static LDAP *ldapConn;
|
static LDAP *ldapConn;
|
||||||
static char url[512];
|
static char url[512];
|
||||||
static char user[512];
|
static char user[512];
|
||||||
static char pass[50];
|
static char pass[512];
|
||||||
static char base_distinguished_name[512];
|
static char base_distinguished_name[512];
|
||||||
static int version;
|
static int version;
|
||||||
static time_t connect_time;
|
static time_t connect_time;
|
||||||
@@ -955,9 +955,24 @@ static struct ast_variable *realtime_ldap(const char *basedn,
|
|||||||
static struct ast_config *realtime_multi_ldap(const char *basedn,
|
static struct ast_config *realtime_multi_ldap(const char *basedn,
|
||||||
const char *table_name, va_list ap)
|
const char *table_name, va_list ap)
|
||||||
{
|
{
|
||||||
struct ast_variable **vars = realtime_ldap_base_ap(NULL, basedn, table_name, ap);
|
char *op;
|
||||||
|
const char *initfield = NULL;
|
||||||
|
const char *newparam, *newval;
|
||||||
|
struct ast_variable **vars =
|
||||||
|
realtime_ldap_base_ap(NULL, basedn, table_name, ap);
|
||||||
struct ast_config *cfg = NULL;
|
struct ast_config *cfg = NULL;
|
||||||
|
|
||||||
|
newparam = va_arg(ap, const char *);
|
||||||
|
newval = va_arg(ap, const char *);
|
||||||
|
if (!newparam || !newval) {
|
||||||
|
ast_log(LOG_WARNING, "realtime retrieval requires at least 1 parameter and 1 value to search on.\n");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
initfield = ast_strdupa(newparam);
|
||||||
|
if ((op = strchr(initfield, ' '))) {
|
||||||
|
*op = '\0';
|
||||||
|
}
|
||||||
|
|
||||||
if (vars) {
|
if (vars) {
|
||||||
cfg = ast_config_new();
|
cfg = ast_config_new();
|
||||||
if (!cfg) {
|
if (!cfg) {
|
||||||
@@ -975,6 +990,9 @@ static struct ast_config *realtime_multi_ldap(const char *basedn,
|
|||||||
struct ast_variable *var = *p;
|
struct ast_variable *var = *p;
|
||||||
while (var) {
|
while (var) {
|
||||||
struct ast_variable *next = var->next;
|
struct ast_variable *next = var->next;
|
||||||
|
if (initfield && !strcmp(initfield, var->name)) {
|
||||||
|
ast_category_rename(cat, var->value);
|
||||||
|
}
|
||||||
var->next = NULL;
|
var->next = NULL;
|
||||||
ast_variable_append(cat, var);
|
ast_variable_append(cat, var);
|
||||||
var = next;
|
var = next;
|
||||||
|
Reference in New Issue
Block a user