diff --git a/CHANGES b/CHANGES index 5e3ff81bb20c3668d8e6fcb97cc17fcd093d8db6..279b88bc06a68dda246316c5690dde0aeb58278c 100644 --- a/CHANGES +++ b/CHANGES @@ -344,7 +344,9 @@ Miscellaneous * Modules.conf has a new option - "require" - that marks a module as critical for the execution of Asterisk. If one of the required modules fail to load, Asterisk will exit with a return - code set to 2. + code set to 2. + * An 'X' option has been added to the asterisk application which enables #exec support. + This allows #exec to be used in asterisk.conf. ------------------------------------------------------------------------------ --- Functionality changes from Asterisk 1.6.1 to Asterisk 1.6.2 ------------- diff --git a/doc/asterisk.sgml b/doc/asterisk.sgml index 655d33e8e70209ddd294d1e68f56ca0f6758bedf..31d96dd7373bacaf5aafb3aeaddbc64b7fd20b89 100644 --- a/doc/asterisk.sgml +++ b/doc/asterisk.sgml @@ -310,6 +310,16 @@ </para> </listitem> </varlistentry> + <varlistentry> + <term>-X</term> + <listitem> + <para> + Enables executing of includes via <command>#exec</command> directive. + This can be useful if You want to do <command>#exec</command> inside + <filename>asterisk.conf</filename> + </para> + </listitem> + </varlistentry> </variablelist> </refsect1> <refsect1> diff --git a/main/asterisk.c b/main/asterisk.c index 4dee9da531b91ce72f3465e93cbf786afa17a686..f8f3fa4680f1aa75377b6e326e8cbc5928942b40 100644 --- a/main/asterisk.c +++ b/main/asterisk.c @@ -2777,6 +2777,7 @@ static int show_cli_help(void) { printf(" of output to the CLI\n"); printf(" -v Increase verbosity (multiple v's = more verbose)\n"); printf(" -x <cmd> Execute command <cmd> (only valid with -r)\n"); + printf(" -X Execute includes by default (allows #exec in asterisk.conf)\n"); printf(" -W Adjust terminal colors to compensate for a light background\n"); printf("\n"); return 0; @@ -3141,7 +3142,7 @@ int main(int argc, char *argv[]) if (getenv("HOME")) snprintf(filename, sizeof(filename), "%s/.asterisk_history", getenv("HOME")); /* Check for options */ - while ((c = getopt(argc, argv, "BC:cde:FfG:ghIiL:M:mnpqRrs:TtU:VvWx:")) != -1) { + while ((c = getopt(argc, argv, "BC:cde:FfG:ghIiL:M:mnpqRrs:TtU:VvWXx:")) != -1) { /*!\note Please keep the ordering here to alphabetical, capital letters * first. This will make it easier in the future to select unused * option flags for new features. */ @@ -3150,6 +3151,9 @@ int main(int argc, char *argv[]) ast_set_flag(&ast_options, AST_OPT_FLAG_FORCE_BLACK_BACKGROUND); ast_clear_flag(&ast_options, AST_OPT_FLAG_LIGHT_BACKGROUND); break; + case 'X': + ast_set_flag(&ast_options, AST_OPT_FLAG_EXEC_INCLUDES); + break; case 'C': ast_copy_string(cfg_paths.config_file, optarg, sizeof(cfg_paths.config_file)); ast_set_flag(&ast_options, AST_OPT_FLAG_OVERRIDE_CONFIG);