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/branches/1.6.2@279597 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.6.2
Gavin Henry 16 years ago
parent a1b3fb6535
commit 27e93500bc

@ -65,7 +65,7 @@ AST_MUTEX_DEFINE_STATIC(ldap_lock);
static LDAP *ldapConn;
static char url[512];
static char user[512];
static char pass[50];
static char pass[512];
static char base_distinguished_name[512];
static int version = 3;
static time_t connect_time;
@ -938,10 +938,24 @@ static struct ast_variable *realtime_ldap(const char *basedn,
static struct ast_config *realtime_multi_ldap(const char *basedn,
const char *table_name, va_list 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;
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) {
cfg = ast_config_new();
if (!cfg) {
@ -959,6 +973,9 @@ static struct ast_config *realtime_multi_ldap(const char *basedn,
struct ast_variable *var = *p;
while (var) {
struct ast_variable *next = var->next;
if (initfield && !strcmp(initfield, var->name)) {
ast_category_rename(cat, var->value);
}
var->next = NULL;
ast_variable_append(cat, var);
var = next;

Loading…
Cancel
Save