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: https://origsvn.digium.com/svn/asterisk/branches/1.4@60603 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Russell Bryant
2007-04-06 20:58:43 +00:00
parent 04adac9bda
commit 06ff84b549
139 changed files with 23449 additions and 7 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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