diff options
author | David M. Lee <dlee@digium.com> | 2013-07-03 17:58:45 +0000 |
---|---|---|
committer | David M. Lee <dlee@digium.com> | 2013-07-03 17:58:45 +0000 |
commit | a75fd32212c35b41143442bd757387fad636177a (patch) | |
tree | 461033acf36f4596d8fc9800a1195e12207b3ea2 /include/asterisk/utils.h | |
parent | c4adaf91067559dd5aa90577e181693abade0602 (diff) |
ARI - channel recording support
This patch is the first step in adding recording support to the
Asterisk REST Interface.
Recordings are stored in /var/spool/recording. Since recordings may be
destructive (overwriting existing files), the API rejects attempts to
escape the recording directory (avoiding issues if someone attempts to
record to ../../lib/sounds/greeting, for example).
(closes issue ASTERISK-21594)
(closes issue ASTERISK-21581)
Review: https://reviewboard.asterisk.org/r/2612/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@393550 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'include/asterisk/utils.h')
-rw-r--r-- | include/asterisk/utils.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/include/asterisk/utils.h b/include/asterisk/utils.h index ce6db0965..184850905 100644 --- a/include/asterisk/utils.h +++ b/include/asterisk/utils.h @@ -718,6 +718,19 @@ void ast_enable_packet_fragmentation(int sock); */ int ast_mkdir(const char *path, int mode); +/*! + * \brief Recursively create directory path, but only if it resolves within + * the given \a base_path. + * + * If \a base_path does not exist, it will not be created and this function + * returns \c EPERM. + * + * \param path The directory path to create + * \param mode The permissions with which to try to create the directory + * \return 0 on success or an error code otherwise + */ +int ast_safe_mkdir(const char *base_path, const char *path, int mode); + #define ARRAY_LEN(a) (size_t) (sizeof(a) / sizeof(0[a])) |