Merged revisions 309204 via svnmerge from

https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r309204 | qwell | 2011-03-01 16:25:44 -0600 (Tue, 01 Mar 2011) | 7 lines
  
  Fix consistency of CRLFs on HTTP headers that get sent out.
  
  (closes issue #18186)
  Reported by: nivaldomjunior
  Patches: 
        18186-httpheadernewline.diff uploaded by qwell (license 4)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@309209 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Jason Parker 2011-03-01 22:26:37 +00:00
parent ffe9e4acfc
commit dc616cfe2c
1 changed files with 8 additions and 7 deletions

View File

@ -278,7 +278,7 @@ static int static_callback(struct ast_tcptls_session_instance *ser,
ast_str_set(&http_header, 0, "Content-type: %s\r\n" ast_str_set(&http_header, 0, "Content-type: %s\r\n"
"ETag: %s\r\n" "ETag: %s\r\n"
"Last-Modified: %s", "Last-Modified: %s\r\n",
mtype, mtype,
etag, etag,
timebuf); timebuf);
@ -369,7 +369,7 @@ static struct ast_http_uri staticuri = {
}; };
/* send http/1.1 responce */ /* send http/1.1 response */
/* free content variable and close socket*/ /* free content variable and close socket*/
void ast_http_send(struct ast_tcptls_session_instance *ser, void ast_http_send(struct ast_tcptls_session_instance *ser,
enum ast_http_method method, int status_code, const char *status_title, enum ast_http_method method, int status_code, const char *status_title,
@ -387,7 +387,7 @@ void ast_http_send(struct ast_tcptls_session_instance *ser,
ast_strftime(timebuf, sizeof(timebuf), "%a, %d %b %Y %H:%M:%S GMT", ast_localtime(&now, &tm, "GMT")); ast_strftime(timebuf, sizeof(timebuf), "%a, %d %b %Y %H:%M:%S GMT", ast_localtime(&now, &tm, "GMT"));
/* calc conetnt length */ /* calc content length */
if (out) { if (out) {
content_length += strlen(ast_str_buffer(out)); content_length += strlen(ast_str_buffer(out));
} }
@ -404,7 +404,8 @@ void ast_http_send(struct ast_tcptls_session_instance *ser,
"Connection: close\r\n" "Connection: close\r\n"
"%s" "%s"
"Content-Length: %d\r\n" "Content-Length: %d\r\n"
"%s\r\n\r\n", "%s"
"\r\n",
status_code, status_title ? status_title : "OK", status_code, status_title ? status_title : "OK",
ast_get_version(), ast_get_version(),
timebuf, timebuf,
@ -459,7 +460,7 @@ void ast_http_auth(struct ast_tcptls_session_instance *ser, const char *realm,
ast_str_set(&http_headers, 0, ast_str_set(&http_headers, 0,
"WWW-authenticate: Digest algorithm=MD5, realm=\"%s\", nonce=\"%08lx\", qop=\"auth\", opaque=\"%08lx\"%s\r\n" "WWW-authenticate: Digest algorithm=MD5, realm=\"%s\", nonce=\"%08lx\", qop=\"auth\", opaque=\"%08lx\"%s\r\n"
"Content-type: text/html", "Content-type: text/html\r\n",
realm ? realm : "Asterisk", realm ? realm : "Asterisk",
nonce, nonce,
opaque, opaque,
@ -481,7 +482,7 @@ void ast_http_auth(struct ast_tcptls_session_instance *ser, const char *realm,
return; return;
} }
/* send http error responce and close socket*/ /* send http error response and close socket*/
void ast_http_error(struct ast_tcptls_session_instance *ser, int status_code, const char *status_title, const char *text) void ast_http_error(struct ast_tcptls_session_instance *ser, int status_code, const char *status_title, const char *text)
{ {
struct ast_str *http_headers = ast_str_create(40); struct ast_str *http_headers = ast_str_create(40);
@ -493,7 +494,7 @@ void ast_http_error(struct ast_tcptls_session_instance *ser, int status_code, co
return; return;
} }
ast_str_set(&http_headers, 0, "Content-type: text/html"); ast_str_set(&http_headers, 0, "Content-type: text/html\r\n");
ast_str_set(&out, 0, ast_str_set(&out, 0,
"<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\r\n" "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\r\n"