From ca92ea82d6e921445d55dd76339295f2a7c28010 Mon Sep 17 00:00:00 2001
From: Tilghman Lesher <tilghman@meg.abyt.es>
Date: Tue, 27 Dec 2005 06:42:29 +0000
Subject: [PATCH] Bug 5854 - Allow quotation of the second field in extconfig,
 for the purpose of including commas (for LDAP configuration)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7647 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 config.c                      | 14 ++++++++++++--
 configs/extconfig.conf.sample |  2 ++
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/config.c b/config.c
index dda916e209..ce68b60ab5 100644
--- a/config.c
+++ b/config.c
@@ -811,9 +811,19 @@ void read_config_maps(void)
 	for (v = ast_variable_browse(config, "settings"); v; v = v->next) {
 		stringp = v->value;
 		driver = strsep(&stringp, ",");
-		database = strsep(&stringp, ",");
+
+		/* check if the database text starts with a double quote */
+		if (*stringp == '"') {
+			stringp++;
+			database = strsep(&stringp, "\"");
+			strsep(&stringp, ",");
+		} else {
+			/* apparently this text has no quotes */
+			database = strsep(&stringp, ",");
+		}
+
 		table = strsep(&stringp, ",");
-			
+
 		if (!strcmp(v->name, extconfig_conf)) {
 			ast_log(LOG_WARNING, "Cannot bind '%s'!\n", extconfig_conf);
 			continue;
diff --git a/configs/extconfig.conf.sample b/configs/extconfig.conf.sample
index 1cf923fb38..1f82b88d70 100644
--- a/configs/extconfig.conf.sample
+++ b/configs/extconfig.conf.sample
@@ -40,6 +40,8 @@
 ; the family if the table is not specified
 ;
 ;example => odbc,asterisk,alttable
+;example2 => ldap,"dc=oxymium,dc=net",example2
+;
 ;iaxusers => odbc,asterisk
 ;iaxpeers => odbc,asterisk
 ;sipusers => odbc,asterisk
-- 
GitLab