[asterisk-bugs] [Asterisk 0016905]: [patch] system() dialplan function does not work

Asterisk Bug Tracker noreply at bugs.digium.com
Thu Mar 11 15:07:08 CST 2010


The following issue has been RESOLVED. 
====================================================================== 
https://issues.asterisk.org/view.php?id=16905 
====================================================================== 
Reported By:                ip-rob
Assigned To:                tilghman
====================================================================== 
Project:                    Asterisk
Issue ID:                   16905
Category:                   Applications/app_system
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     resolved
Target Version:             1.6.2.7
Asterisk Version:           SVN 
JIRA:                       SWP-991 
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
Resolution:                 fixed
Fixed in Version:           
====================================================================== 
Date Submitted:             2010-02-25 14:51 CST
Last Modified:              2010-03-11 15:07 CST
====================================================================== 
Summary:                    [patch] system() dialplan function does not work
Description: 
You can put any script passed as an argument to the system() command in a
dialplan and it will not execute.  In my example, I created the following
script:

#!/bin/bash
ls -l /tmp > /usr/src/temp.txt

in file /usr/src/temp.sh.  temp.sh is 755 so any user can execute it.  In
the dialplan I put a simple call to system using this dialplan

exten => 101,1,Set(__FROM_DID=${EXTEN})
exten => 101,n,system(/usr/src/temp.sh)

The asterisk log shows

[Feb 25 15:12:11] VERBOSE[23375] pbx.c:     -- Executing
[101 at from-trunk:1] ^[[1;36mSet^[[0m("^[[1;35mSIP/DefaultOut-00000006^[[0m",
"^[[1;35m__FROM_DID=[Feb 25 15:12:11] VERBOSE[23375] pbx.c:     --
Executing [101 at from-trunk:2]
^[[1;36mSystem^[[0m("^[[1;35mSIP/DefaultOut-00000006^[[0m",
"^[[1;35m/usr/src/temp.sh^[[0m") in new stack

The script does not execute as there is no output file /usr/src/temp.txt.

Executing the command from the asterisk command line as
"!/usr/src/temp.sh" DOES work without issue.

====================================================================== 

---------------------------------------------------------------------- 
 (0119284) svnbot (reporter) - 2010-03-11 15:07
 https://issues.asterisk.org/view.php?id=16905#c119284 
---------------------------------------------------------------------- 
Repository: asterisk
Revision: 251884

U   trunk/apps/app_exec.c

------------------------------------------------------------------------
r251884 | tilghman | 2010-03-11 15:07:07 -0600 (Thu, 11 Mar 2010) | 8
lines

Because ExecIf needs to reprocess arguments, it's best if we don't remove
quotes during parsing.

(closes issue https://issues.asterisk.org/view.php?id=16905)
 Reported by: ip-rob
 Patches: 
       20100303__issue16905.diff.txt uploaded by tilghman (license 14)
 Tested by: ip-rob

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=251884 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-03-11 15:07 svnbot         Note Added: 0119284                          
2010-03-11 15:07 svnbot         Status                   ready for testing =>
assigned
2010-03-11 15:07 svnbot         Status                   assigned => resolved
2010-03-11 15:07 svnbot         Resolution               reopened => fixed   
======================================================================




More information about the asterisk-bugs mailing list