From: Christian Mauderer <christian.maude...@embedded-brains.de>

We currently don't have a timegm function. There seems to be no easy
way to replace this function with POSIX functions in a thread save
way. This patch just avoids the call.

Note that with this solution, the caching feature is effectively
disabled.
---
 cpukit/mghttpd/civetweb.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/cpukit/mghttpd/civetweb.c b/cpukit/mghttpd/civetweb.c
index edc13d6..41c3eed 100644
--- a/cpukit/mghttpd/civetweb.c
+++ b/cpukit/mghttpd/civetweb.c
@@ -4918,6 +4918,7 @@ get_month_index(const char *s)
 
 
 /* Parse UTC date-time string, and return the corresponding time_t value. */
+#if !defined(NO_TIMEGM)
 static time_t
 parse_date_string(const char *datetime)
 {
@@ -4971,6 +4972,7 @@ parse_date_string(const char *datetime)
 
        return result;
 }
+#endif /* !NO_TIMEGM */
 
 
 /* Protect against directory disclosure attack by removing '..',
@@ -7051,6 +7053,7 @@ substitute_index_file(struct mg_connection *conn,
 static int
 is_not_modified(const struct mg_connection *conn, const struct file *filep)
 {
+#if !defined(NO_TIMEGM)
        char etag[64];
        const char *ims = mg_get_header(conn, "If-Modified-Since");
        const char *inm = mg_get_header(conn, "If-None-Match");
@@ -7060,6 +7063,9 @@ is_not_modified(const struct mg_connection *conn, const 
struct file *filep)
        }
        return (inm != NULL && !mg_strcasecmp(etag, inm))
               || (ims != NULL && (filep->last_modified <= 
parse_date_string(ims)));
+#else /* NO_TIMEGM */
+       return false;
+#endif /* !NO_TIMEGM */
 }
 
 
-- 
1.8.4.5

_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to