[asterisk-commits] qwell: trunk r303468 - in /trunk: ./ channels/chan_dahdi.c

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


Author: qwell
Date: Mon Jan 24 11:21:12 2011
New Revision: 303468

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

................
  r303467 | qwell | 2011-01-24 11:20:03 -0600 (Mon, 24 Jan 2011) | 22 lines
  
  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:
    trunk/   (props changed)
    trunk/channels/chan_dahdi.c

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

Modified: trunk/channels/chan_dahdi.c
URL: http://svnview.digium.com/svn/asterisk/trunk/channels/chan_dahdi.c?view=diff&rev=303468&r1=303467&r2=303468
==============================================================================
--- trunk/channels/chan_dahdi.c (original)
+++ trunk/channels/chan_dahdi.c Mon Jan 24 11:21:12 2011
@@ -17578,7 +17578,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;
@@ -17736,6 +17736,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)) {
@@ -17822,14 +17824,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