Fix call files when astspooldir is relative.

Future dated call files are ignored when astspooldir is relative to the
current directory.  The queue_file() assumed that the qdir needed to be
prepended if the given filename did not start with a '/'.  If astspooldir
is relative it is not going to start from the root directory obviously so
it will not start with a '/'.  The filename used in queue_file()
ultimately results in qdir prepended multiple times.

* Made queue_file() not prepend qdir if the filename contains a '/'.

(closes issue ASTERISK-20593)
Reported by: James Le Cuirot
Patches:
      0004-Fix-future-call-files-from-relative-directories.patch (license #6439) patch uploaded by James Le Cuirot
........

Merged revisions 376232 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 376233 from http://svn.asterisk.org/svn/asterisk/branches/10
........

Merged revisions 376234 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@376235 65c4cc65-6c06-0410-ace0-fbb531ad65f3
changes/78/78/1
Richard Mudgett 13 years ago
parent e62bab8131
commit ee3927be17

@ -509,7 +509,7 @@ static void queue_file(const char *filename, time_t when)
int res;
time_t now = time(NULL);
if (filename[0] != '/') {
if (!strchr(filename, '/')) {
char *fn = ast_alloca(strlen(qdir) + strlen(filename) + 2);
sprintf(fn, "%s/%s", qdir, filename); /* SAFE */
filename = fn;

Loading…
Cancel
Save