[asterisk-commits] ghenry: branch 1.6.2 r279597 - /branches/1.6.2/res/res_config_ldap.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Mon Jul 26 15:26:00 CDT 2010
Author: ghenry
Date: Mon Jul 26 15:25:54 2010
New Revision: 279597
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=279597
Log:
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
Modified:
branches/1.6.2/res/res_config_ldap.c
Modified: branches/1.6.2/res/res_config_ldap.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.6.2/res/res_config_ldap.c?view=diff&rev=279597&r1=279596&r2=279597
==============================================================================
--- branches/1.6.2/res/res_config_ldap.c (original)
+++ branches/1.6.2/res/res_config_ldap.c Mon Jul 26 15:25:54 2010
@@ -65,7 +65,7 @@
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,9 +938,23 @@
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();
@@ -959,6 +973,9 @@
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;
More information about the asterisk-commits
mailing list