aboutsummaryrefslogtreecommitdiffstats
path: root/include/asterisk
diff options
context:
space:
mode:
authorrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2007-04-06 21:16:38 +0000
committerrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2007-04-06 21:16:38 +0000
commitfe453b5ef2007fde913e3ebd31e401f0cdb658eb (patch)
treed1a8725b9d1a7d8508205ad650f4a6ed1de11339 /include/asterisk
parentfb1d21c4f24ce15bb1a102b6a650fea83e77ecd5 (diff)
Merged revisions 60603 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r60603 | russell | 2007-04-06 15:58:43 -0500 (Fri, 06 Apr 2007) | 13 lines 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/trunk@60604 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'include/asterisk')
-rw-r--r--include/asterisk/autoconfig.h.in6
-rw-r--r--include/asterisk/compat.h8
-rw-r--r--include/asterisk/manager.h16
3 files changed, 30 insertions, 0 deletions
diff --git a/include/asterisk/autoconfig.h.in b/include/asterisk/autoconfig.h.in
index e450ba93f..ef6a76a49 100644
--- a/include/asterisk/autoconfig.h.in
+++ b/include/asterisk/autoconfig.h.in
@@ -462,6 +462,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 1cf03b5b5..8efcfba18 100644
--- a/include/asterisk/manager.h
+++ b/include/asterisk/manager.h
@@ -134,6 +134,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