|
@@ -73,6 +73,7 @@
|
|
|
#pragma warning(disable : 4711)
|
|
|
#endif
|
|
|
|
|
|
+
|
|
|
/* This code uses static_assert to check some conditions.
|
|
|
* Unfortunately some compilers still do not support it, so we have a
|
|
|
* replacement function here. */
|
|
@@ -177,6 +178,7 @@ clock_gettime(int clk_id, struct timespec *t)
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
+
|
|
|
#include <time.h>
|
|
|
#include <stdlib.h>
|
|
|
#include <stdarg.h>
|
|
@@ -187,6 +189,7 @@ clock_gettime(int clk_id, struct timespec *t)
|
|
|
#include <stddef.h>
|
|
|
#include <stdio.h>
|
|
|
|
|
|
+
|
|
|
#ifndef MAX_WORKER_THREADS
|
|
|
#define MAX_WORKER_THREADS (1024 * 64)
|
|
|
#endif
|
|
@@ -381,6 +384,7 @@ struct pollfd {
|
|
|
|
|
|
#else /* defined(_WIN32) && !defined(__SYMBIAN32__) - WINDOWS / UNIX include \
|
|
|
block */
|
|
|
+
|
|
|
#include <sys/wait.h>
|
|
|
#include <sys/socket.h>
|
|
|
#include <sys/poll.h>
|
|
@@ -2088,11 +2092,7 @@ suggest_connection_header(const struct mg_connection *conn)
|
|
|
static int
|
|
|
send_no_cache_header(struct mg_connection *conn)
|
|
|
{
|
|
|
- /* According to
|
|
|
- * http://stackoverflow.com/questions/49547/making-sure-a-web-page-is-not-cached-across-all-browsers
|
|
|
- * there must be several response headers to ensure no browser caches the
|
|
|
- * response.
|
|
|
- */
|
|
|
+ /* Send all current and obsolete cache opt-out directives. */
|
|
|
return mg_printf(conn,
|
|
|
"Cache-Control: no-cache, no-store, "
|
|
|
"must-revalidate, private, max-age=0\r\n"
|
|
@@ -4802,6 +4802,7 @@ static const struct {
|
|
|
{".m4v", 4, "video/x-m4v"},
|
|
|
{NULL, 0, NULL}};
|
|
|
|
|
|
+
|
|
|
const char *
|
|
|
mg_get_builtin_mime_type(const char *path)
|
|
|
{
|
|
@@ -5379,6 +5380,7 @@ is_authorized_for_put(struct mg_connection *conn)
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
+
|
|
|
int
|
|
|
mg_modify_passwords_file(const char *fname,
|
|
|
const char *domain,
|
|
@@ -7487,14 +7489,15 @@ put_file(struct mg_connection *conn, const char *path)
|
|
|
}
|
|
|
|
|
|
gmt_time_string(date, sizeof(date), &curtime);
|
|
|
- mg_printf(conn, "HTTP/1.1 %d %s\r\n");
|
|
|
+ mg_printf(conn,
|
|
|
+ "HTTP/1.1 %d %s\r\n",
|
|
|
+ conn->status_code,
|
|
|
+ mg_get_response_code_text(conn->status_code, NULL));
|
|
|
send_no_cache_header(conn);
|
|
|
mg_printf(conn,
|
|
|
"Date: %s\r\n"
|
|
|
"Content-Length: 0\r\n"
|
|
|
"Connection: %s\r\n\r\n",
|
|
|
- conn->status_code,
|
|
|
- mg_get_response_code_text(conn->status_code, NULL),
|
|
|
date,
|
|
|
suggest_connection_header(conn));
|
|
|
|