[asterisk-commits] qwell: branch 1.8 r303467 - in /branches/1.8: ./ channels/chan_dahdi.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Mon Jan 24 11:20:07 CST 2011


Author: qwell
Date: Mon Jan 24 11:20:03 2011
New Revision: 303467

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=303467
Log:
Merged revisions 303285 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r303285 | qwell | 2011-01-21 15:48:09 -0600 (Fri, 21 Jan 2011) | 15 lines
  
  Merged revisions 303284 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r303284 | qwell | 2011-01-21 15:45:34 -0600 (Fri, 21 Jan 2011) | 8 lines
    
    Reset configuration before parsing users.conf.
    
    Some values configured in chan_dahdi.conf were able to leak in to users.conf
    configuration.  This was surprising users, and potentially setting non-sane
    "defaults".
    
    ASTNOW-125
  ........
................

Modified:
    branches/1.8/   (props changed)
    branches/1.8/channels/chan_dahdi.c

Propchange: branches/1.8/
------------------------------------------------------------------------------
Binary property 'branch-1.6.2-merged' - no diff available.

Modified: branches/1.8/channels/chan_dahdi.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.8/channels/chan_dahdi.c?view=diff&rev=303467&r1=303466&r2=303467
==============================================================================
--- branches/1.8/channels/chan_dahdi.c (original)
+++ branches/1.8/channels/chan_dahdi.c Mon Jan 24 11:20:03 2011
@@ -17494,7 +17494,7 @@
  * \retval 0 on success.
  * \retval -1 on error.
  */
-static int setup_dahdi_int(int reload, struct dahdi_chan_conf *base_conf, struct dahdi_chan_conf *conf)
+static int setup_dahdi_int(int reload, struct dahdi_chan_conf *default_conf, struct dahdi_chan_conf *base_conf, struct dahdi_chan_conf *conf)
 {
 	struct ast_config *cfg;
 	struct ast_config *ucfg;
@@ -17652,6 +17652,8 @@
 	if (ucfg) {
 		const char *chans;
 
+		/* Reset base_conf, so things dont leak from dahdi_chan.conf */
+		deep_copy_dahdi_chan_conf(base_conf, default_conf);
 		process_dahdi(base_conf, "", ast_variable_browse(ucfg, "general"), 1, 0);
 
 		for (cat = ast_category_browse(ucfg, NULL); cat ; cat = ast_category_browse(ucfg, cat)) {
@@ -17738,14 +17740,16 @@
 static int setup_dahdi(int reload)
 {
 	int res;
+	struct dahdi_chan_conf default_conf = dahdi_chan_conf_default();
 	struct dahdi_chan_conf base_conf = dahdi_chan_conf_default();
 	struct dahdi_chan_conf conf = dahdi_chan_conf_default();
 
-	if (base_conf.chan.cc_params && conf.chan.cc_params) {
-		res = setup_dahdi_int(reload, &base_conf, &conf);
+	if (default_conf.chan.cc_params && base_conf.chan.cc_params && conf.chan.cc_params) {
+		res = setup_dahdi_int(reload, &default_conf, &base_conf, &conf);
 	} else {
 		res = -1;
 	}
+	ast_cc_config_params_destroy(default_conf.chan.cc_params);
 	ast_cc_config_params_destroy(base_conf.chan.cc_params);
 	ast_cc_config_params_destroy(conf.chan.cc_params);
 




More information about the asterisk-commits mailing list