diff options
author | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-04-06 20:58:43 +0000 |
---|---|---|
committer | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-04-06 20:58:43 +0000 |
commit | 52502ee152be35747e2c65ea19765fd3ef618d91 (patch) | |
tree | 59a9f7f65b11753182e16b0e635788e2caf96da5 /include | |
parent | bef2aae366c4db003ad5758a02378bbf1f176182 (diff) |
To be able to achieve the things that we would like to achieve with the
Asterisk GUI project, we need a fully functional HTTP interface with access
to the Asterisk manager interface. One of the things that was intended to be
a part of this system, but was never actually implemented, was the ability for
the GUI to be able to upload files to Asterisk. So, this commit adds this in
the most minimally invasive way that we could come up with.
A lot of work on minimime was done by Steve Murphy. He fixed a lot of bugs in
the parser, and updated it to be thread-safe. The ability to check
permissions of active manager sessions was added by Dwayne Hubbard. Then,
hacking this all together and do doing the modifications necessary to the HTTP
interface was done by me.
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@60603 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'include')
-rw-r--r-- | include/asterisk/autoconfig.h.in | 6 | ||||
-rw-r--r-- | include/asterisk/compat.h | 8 | ||||
-rw-r--r-- | include/asterisk/manager.h | 16 |
3 files changed, 30 insertions, 0 deletions
diff --git a/include/asterisk/autoconfig.h.in b/include/asterisk/autoconfig.h.in index b40d1e410..b214532cb 100644 --- a/include/asterisk/autoconfig.h.in +++ b/include/asterisk/autoconfig.h.in @@ -361,6 +361,12 @@ /* Define to 1 if you have the <string.h> header file. */ #undef HAVE_STRING_H +/* Define to 1 if you have the `strlcat' function. */ +#undef HAVE_STRLCAT + +/* Define to 1 if you have the `strlcpy' function. */ +#undef HAVE_STRLCPY + /* Define to 1 if you have the `strncasecmp' function. */ #undef HAVE_STRNCASECMP diff --git a/include/asterisk/compat.h b/include/asterisk/compat.h index e02d3c7c1..838e24e47 100644 --- a/include/asterisk/compat.h +++ b/include/asterisk/compat.h @@ -61,6 +61,14 @@ int unsetenv(const char *name); int vasprintf(char **strp, const char *fmt, va_list ap); #endif +#ifndef HAVE_STRLCAT +size_t strlcat(char *dst, const char *src, size_t siz); +#endif + +#ifndef HAVE_STRLCPY +size_t strlcpy(char *dst, const char *src, size_t siz); +#endif + #ifdef SOLARIS #define __BEGIN_DECLS #define __END_DECLS diff --git a/include/asterisk/manager.h b/include/asterisk/manager.h index aa657d643..39a0ca478 100644 --- a/include/asterisk/manager.h +++ b/include/asterisk/manager.h @@ -105,6 +105,22 @@ int ast_manager_register2( */ int ast_manager_unregister( char *action ); +/*! + * \brief Verify a session's read permissions against a permission mask. + * \param ident session identity + * \param perm permission mask to verify + * \returns 1 if the session has the permission mask capabilities, otherwise 0 + */ +int astman_verify_session_readpermissions(unsigned long ident, int perm); + +/*! + * \brief Verify a session's write permissions against a permission mask. + * \param ident session identity + * \param perm permission mask to verify + * \returns 1 if the session has the permission mask capabilities, otherwise 0 + */ +int astman_verify_session_writepermissions(unsigned long ident, int perm); + /*! External routines may send asterisk manager events this way */ /*! \param category Event category, matches manager authorization \param event Event name |