[svn-commits] tilghman: branch 1.8 r279601 - in /branches/1.8: ./ res/res_config_ldap.c

SVN commits to the Digium repositories svn-commits at lists.digium.com
Mon Jul 26 16:07:50 CDT 2010


Author: tilghman
Date: Mon Jul 26 16:07:45 2010
New Revision: 279601

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=279601
Log:
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
........

Modified:
    branches/1.8/   (props changed)
    branches/1.8/res/res_config_ldap.c

Propchange: branches/1.8/
------------------------------------------------------------------------------
--- branch-1.6.2-merged (original)
+++ branch-1.6.2-merged Mon Jul 26 16:07:45 2010
@@ -1,1 +1,1 @@
-/branches/1.6.2:1-279056,279207,279501,279561
+/branches/1.6.2:1-279056,279207,279501,279561,279597

Modified: branches/1.8/res/res_config_ldap.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.8/res/res_config_ldap.c?view=diff&rev=279601&r1=279600&r2=279601
==============================================================================
--- branches/1.8/res/res_config_ldap.c (original)
+++ branches/1.8/res/res_config_ldap.c Mon Jul 26 16:07:45 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;
 static time_t connect_time;
@@ -84,8 +84,8 @@
 
 /*! \brief Table configuration */
 struct ldap_table_config {
-	char *table_name;                 /*!< table name */
-	char *additional_filter;          /*!< additional filter        */
+	char *table_name;		 /*!< table name */
+	char *additional_filter;	  /*!< additional filter	*/
 	struct ast_variable *attributes;  /*!< attribute names conversion */
 	struct ast_variable *delimiters;  /*!< the current delimiter is semicolon, so we are not using this variable */
 	AST_LIST_ENTRY(ldap_table_config) entry;
@@ -955,8 +955,23 @@
 static struct ast_config *realtime_multi_ldap(const char *basedn,
       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;
+
+	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();
@@ -975,6 +990,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;
@@ -1746,7 +1764,7 @@
 		e->command = "realtime show ldap status";
 		e->usage =
 			"Usage: realtime show ldap status\n"
-			"               Shows connection information for the LDAP RealTime driver\n";
+			"	       Shows connection information for the LDAP RealTime driver\n";
 		return NULL;
 	case CLI_GENERATE:
 		return NULL;




More information about the svn-commits mailing list