[asterisk-bugs] [JIRA] (ASTERISK-26226) pbx: Asterisk crash on AMI action "ShowDialplan" when there's a circular dependency between contexts

Etienne Lessard (JIRA) noreply at issues.asterisk.org
Fri Jul 22 09:42:56 CDT 2016


     [ https://issues.asterisk.org/jira/browse/ASTERISK-26226?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Etienne Lessard updated ASTERISK-26226:
---------------------------------------

    Attachment: AST-26226.patch

I've attaching a quick patch I just wrote to work around the bug. It's the same implementation as the one used by the "dialplan show" CLI command, i.e. it's more or less just a copy/paste of some code from the show_dialplan_helper function to the manager_show_dialplan_helper function.

> pbx: Asterisk crash on AMI action "ShowDialplan" when there's a circular dependency between contexts
> ----------------------------------------------------------------------------------------------------
>
>                 Key: ASTERISK-26226
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-26226
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Core/PBX
>    Affects Versions: 13.9.1, 13.10.0
>            Reporter: Etienne Lessard
>            Severity: Minor
>         Attachments: AST-26226.patch, backtrace.txt
>
>
> Given I have the following extensions.conf:
> {noformat}
> [C1]
> include = C2
> exten = 100,1,Hangup()
> [C2]
> include = C1
> exten = 101,1,Hangup()
> {noformat}
> Given I have the following manager.conf:
> {noformat}
> [general]
> enabled = yes
> port = 5038
> [foo]
> secret = foo
> write = all
> deny = 0.0.0.0/0.0.0.0
> permit = 127.0.0.1/255.255.255.0
> {noformat}
> When the AMI action "ShowDialplan" is requested with a Context and Extension argument, e.g.:
> {noformat}
> $ netcat 127.0.0.1 5038
> Action: Login
> Username: foo
> Secret: foo
> Action: ShowDialplan
> Context: C1
> Extension: 100
> {noformat}
> Then asterisk crash (it segfaults, caused by an "infinite" recursion)
> I know circular dependencies between contexts are far from being recommended, but sometimes they exist, and I feel like asterisk should handle the case more gracefully than just crashing.
> Note that the problem doesn't show up when doing a similar action via the CLI "dialplan show" command: instead, a warning "pbx.c:5442 show_dialplan_helper: Avoiding circular include of C2 within C1" is displayed



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list