[asterisk-dev] [Code Review]: Patch to make app_system check if a command failed to execute due to permission denied.
Matt Jordan
reviewboard at asterisk.org
Mon Jun 18 13:22:22 CDT 2012
> On June 18, 2012, 11:03 a.m., jrose wrote:
> > Hey, I was talking about this issue with Matt Jordan a while ago and he came up with the following:
> >
> > Since we can't really guarantee under any particular circumstance what a given return code will mean for res here, it'd be more appropriate to leave the code here as is, but set a channel variable based on the res value to allow the author of the dialplan to react to it since they should know what /bin/sh will be (and what the return codes would map to).
>
> Tilghman Lesher wrote:
> While that's a reasonable approach in terms of a method by which to get a result, our approach has generally been that for things which return a value, we use a dialplan function, instead. So, perhaps add a SYSTEM() dialplan function, which returns the result code.
>
> jrose wrote:
> Well, that's true, but this is really more of a status thing than an actual return from the System command being ran... and doing it this way isn't unprecedented (app_queue for instance sets QUEUESTATUS which indicates the the status of the queue at exit). This does remind me though that there is a SHELL dialplan function that works similarly and might also need to be looked at when making these changes.
Hey now, I'm pretty sure I didn't say "channel variable" :-)
I think I said we should expose the return code somehow to the user, and that it could be in the dialplan. Using a function that returns a result code is a perfectly fine implementation of that.
More information about the asterisk-dev
mailing list