[asterisk-commits] trunk r17105 - in /trunk: ./ include/asterisk/
asterisk-commits at lists.digium.com
asterisk-commits at lists.digium.com
Mon Apr 3 11:38:32 MST 2006
Author: oej
Date: Mon Apr 3 13:38:28 2006
New Revision: 17105
URL: http://svn.digium.com/view/asterisk?rev=17105&view=rev
Log:
- Doxygen additions
- Formatting fixes (read guidelines :-) )
- Removing compilation warnings
Modified:
trunk/http.c
trunk/include/asterisk/doxyref.h
trunk/include/asterisk/http.h
trunk/manager.c
Modified: trunk/http.c
URL: http://svn.digium.com/view/asterisk/trunk/http.c?rev=17105&r1=17104&r2=17105&view=diff
==============================================================================
--- trunk/http.c (original)
+++ trunk/http.c Mon Apr 3 13:38:28 2006
@@ -18,10 +18,13 @@
/*!
* \file
- * \brief http server
+ * \brief http server for AMI access
*
+ * \author Mark Spencer <markster at digium.com>
* This program implements a tiny http server supporting the "get" method
* only and was inspired by micro-httpd by Jef Poskanzer
+ *
+ * \ref AstHTTP - AMI over the http protocol
*/
#include <sys/types.h>
@@ -41,6 +44,9 @@
#include <pthread.h>
#include "asterisk.h"
+
+ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
+
#include "asterisk/cli.h"
#include "asterisk/http.h"
#include "asterisk/utils.h"
@@ -67,7 +73,7 @@
static struct sockaddr_in oldsin;
static int enablestatic=0;
-/* Limit the kinds of files we're willing to serve up */
+/*! \brief Limit the kinds of files we're willing to serve up */
static struct {
char *ext;
char *mtype;
@@ -360,18 +366,21 @@
if (fgets(buf, sizeof(buf), ser->f)) {
/* Skip method */
uri = buf;
- while(*uri && (*uri > 32)) uri++;
+ while(*uri && (*uri > 32))
+ uri++;
if (*uri) {
*uri = '\0';
uri++;
}
/* Skip white space */
- while (*uri && (*uri < 33)) uri++;
+ while (*uri && (*uri < 33))
+ uri++;
if (*uri) {
c = uri;
- while (*c && (*c > 32)) c++;
+ while (*c && (*c > 32))
+ c++;
if (*c) {
*c = '\0';
}
@@ -492,7 +501,7 @@
return NULL;
}
-char *ast_http_setcookie(const char *var, const char *val, int expires, char *buf, int buflen)
+char *ast_http_setcookie(const char *var, const char *val, int expires, char *buf, size_t buflen)
{
char *c;
c = buf;
@@ -575,6 +584,7 @@
struct hostent *hp;
struct ast_hostent ahp;
char newprefix[MAX_PREFIX];
+
memset(&sin, 0, sizeof(sin));
sin.sin_port = 8088;
strcpy(newprefix, DEFAULT_PREFIX);
@@ -654,7 +664,7 @@
static struct ast_cli_entry http_cli[] = {
{ { "show", "http", NULL }, handle_show_http,
- "Display HTTP status", show_http_help },
+ "Display HTTP server status", show_http_help },
};
int ast_http_init(void)
Modified: trunk/include/asterisk/doxyref.h
URL: http://svn.digium.com/view/asterisk/trunk/include/asterisk/doxyref.h?rev=17105&r1=17104&r2=17105&view=diff
==============================================================================
--- trunk/include/asterisk/doxyref.h (original)
+++ trunk/include/asterisk/doxyref.h Mon Apr 3 13:38:28 2006
@@ -37,6 +37,7 @@
* \arg \ref AstREADME
* \arg \ref AstVar
* \arg \ref AstENUM : The IETF way to redirect from phone numbers to VoIP calls
+ * \arg \ref AstHTTP
* \arg \ref ConfigFiles
* \arg \ref SoundFiles included in the Asterisk distribution
* \arg \ref AstCREDITS : A Thank You to contributors
@@ -446,3 +447,12 @@
* \par See also
* \arg \ref codecs
*/
+
+/*! \page AstHTTP AMI over HTTP support
+ * The http.c file includes support for manager transactions over
+ * http.
+ * \section ami AMI - The manager Interface
+ * \arg \link Config_ami Configuration file \endlink
+ * \verbinclude http.txt
+ */
+
Modified: trunk/include/asterisk/http.h
URL: http://svn.digium.com/view/asterisk/trunk/include/asterisk/http.h?rev=17105&r1=17104&r2=17105&view=diff
==============================================================================
--- trunk/include/asterisk/http.h (original)
+++ trunk/include/asterisk/http.h Mon Apr 3 13:38:28 2006
@@ -16,10 +16,6 @@
* at the top of the source tree.
*/
-/*
- * DNS SRV record support
- */
-
#ifndef _ASTERISK_HTTP_H
#define _ASTERISK_HTTP_H
@@ -30,9 +26,10 @@
\brief Support for Private Asterisk HTTP Servers.
\note Note: The Asterisk HTTP servers are extremely simple and minimal and
only support the "GET" method.
+ \author Mark Spencer <markster at digium.com>
*/
-/* HTTP Callbacks take the socket, the method and the path as arguments and should
+/*! \brief HTTP Callbacks take the socket, the method and the path as arguments and should
return the content, allocated with malloc(). Status should be changed to reflect
the status of the request if it isn't 200 and title may be set to a malloc()'d string
to an appropriate title for non-200 responses. Content length may also be specified.
@@ -49,16 +46,16 @@
ast_http_callback callback;
};
-/* Link into the Asterisk HTTP server */
+/*! \brief Link into the Asterisk HTTP server */
int ast_http_uri_link(struct ast_http_uri *urihandler);
-/* Return a malloc()'d string containing an HTTP error message */
+/*! \brief Return a malloc()'d string containing an HTTP error message */
char *ast_http_error(int status, const char *title, const char *extra_header, const char *text);
-/* Destroy an HTTP server */
+/*! \brief Destroy an HTTP server */
void ast_http_uri_unlink(struct ast_http_uri *urihandler);
-char *ast_http_setcookie(const char *var, const char *val, int expires, char *buf, int buflen);
+char *ast_http_setcookie(const char *var, const char *val, int expires, char *buf, size_t buflen);
int ast_http_init(void);
int ast_http_reload(void);
Modified: trunk/manager.c
URL: http://svn.digium.com/view/asterisk/trunk/manager.c?rev=17105&r1=17104&r2=17105&view=diff
==============================================================================
--- trunk/manager.c (original)
+++ trunk/manager.c Mon Apr 3 13:38:28 2006
@@ -237,7 +237,7 @@
return ret;
}
-static void xml_copy_escape(char **dst, int *maxlen, const char *src, int lower)
+static void xml_copy_escape(char **dst, size_t *maxlen, const char *src, int lower)
{
while (*src && (*maxlen > 6)) {
switch(*src) {
@@ -273,6 +273,7 @@
src++;
}
}
+
static char *xml_translate(char *in, struct ast_variable *vars)
{
struct ast_variable *v;
@@ -281,12 +282,13 @@
char *objtype=NULL;
int colons = 0;
int breaks = 0;
- int len;
+ size_t len;
int count = 1;
int escaped = 0;
int inobj = 0;
int x;
v = vars;
+
while(v) {
if (!dest && !strcasecmp(v->name, "ajaxdest"))
dest = v->value;
@@ -298,7 +300,7 @@
dest = "unknown";
if (!objtype)
objtype = "generic";
- for (x=0;in[x];x++) {
+ for (x=0; in[x]; x++) {
if (in[x] == ':')
colons++;
else if (in[x] == '\n')
@@ -306,14 +308,15 @@
else if (strchr("&\"<>", in[x]))
escaped++;
}
- len = strlen(in) + colons * 5 + breaks * (40 + strlen(dest) + strlen(objtype)) + escaped * 10; /* foo="bar", "<response type=\"object\" id=\"dest\"", "&" */
+ len = (size_t) (strlen(in) + colons * 5 + breaks * (40 + strlen(dest) + strlen(objtype)) + escaped * 10); /* foo="bar", "<response type=\"object\" id=\"dest\"", "&" */
out = malloc(len);
if (!out)
return 0;
tmp = out;
while(*in) {
var = in;
- while (*in && (*in >= 32)) in++;
+ while (*in && (*in >= 32))
+ in++;
if (*in) {
if ((count > 3) && inobj) {
ast_build_string(&tmp, &len, " /></response>\n");
@@ -353,10 +356,11 @@
int x;
int colons = 0;
int breaks = 0;
- int len;
+ size_t len;
int count=1;
char *tmp, *var, *val, *out;
- for (x=0;in[x];x++) {
+
+ for (x=0; in[x]; x++) {
if (in[x] == ':')
colons++;
if (in[x] == '\n')
@@ -369,7 +373,8 @@
tmp = out;
while(*in) {
var = in;
- while (*in && (*in >= 32)) in++;
+ while (*in && (*in >= 32))
+ in++;
if (*in) {
if ((count % 4) == 0){
ast_build_string(&tmp, &len, "<tr><td colspan=\"2\"><hr></td></tr>\r\n");
@@ -405,20 +410,20 @@
va_end(ap);
if (res == -1) {
ast_log(LOG_ERROR, "Memory allocation failure\n");
- } else {
- if (s->fd > -1)
- ast_carefulwrite(s->fd, stuff, strlen(stuff), s->writetimeout);
- else {
- tmp = realloc(s->outputstr, (s->outputstr ? strlen(s->outputstr) : 0) + strlen(stuff) + 1);
- if (tmp) {
- if (!s->outputstr)
- tmp[0] = '\0';
- s->outputstr = tmp;
- strcat(s->outputstr, stuff);
- }
- }
- free(stuff);
- }
+ return;
+ }
+ if (s->fd > -1)
+ ast_carefulwrite(s->fd, stuff, strlen(stuff), s->writetimeout);
+ else {
+ tmp = realloc(s->outputstr, (s->outputstr ? strlen(s->outputstr) : 0) + strlen(stuff) + 1);
+ if (tmp) {
+ if (!s->outputstr)
+ tmp[0] = '\0';
+ s->outputstr = tmp;
+ strcat(s->outputstr, stuff);
+ }
+ }
+ free(stuff);
}
static int handle_showmancmd(int fd, int argc, char *argv[])
@@ -2139,7 +2144,7 @@
char workspace[256];
char cookie[128];
char iabuf[INET_ADDRSTRLEN];
- int len = sizeof(workspace);
+ size_t len = sizeof(workspace);
int blastaway = 0;
char *c = workspace;
char *retval=NULL;
More information about the asterisk-commits
mailing list