[Commits] : Tuxbox-GIT: apps branch master updated. CVS-Final-556-gfde68c8
Tuxbox Sources
Brought to you by:
dbt1
From: GetAway <tux...@ne...> - 2015-05-15 15:38:59
|
Project "Tuxbox-GIT: apps": The branch, master has been updated via fde68c8aeb7303fdcd7dcd01a6e77dc2a2a4ab08 (commit) from b1c0e5df235155d738d46e3310302be5ba82fc9d (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit fde68c8aeb7303fdcd7dcd01a6e77dc2a2a4ab08 Author: GetAway <get...@t-...> Date: Fri May 15 17:38:26 2015 +0200 nhttpd: use thread-safe gmtime_r Signed-off-by: GetAway <get...@t-...> diff --git a/tuxbox/neutrino/daemons/nhttpd/yhttpd_core/yhook.cpp b/tuxbox/neutrino/daemons/nhttpd/yhttpd_core/yhook.cpp index 78ff0e0..9a0b796 100644 --- a/tuxbox/neutrino/daemons/nhttpd/yhttpd_core/yhook.cpp +++ b/tuxbox/neutrino/daemons/nhttpd/yhttpd_core/yhook.cpp @@ -262,20 +262,21 @@ std::string CyhookHandler::BuildHeader(bool cache) time_t timer = time(0); char timeStr[80]; // cache + struct tm lt; if(!cache && (HookVarList["CacheCategory"]).empty() ) result += "Cache-Control: no-cache\r\n"; else { time_t x_time = time(NULL); - struct tm *ptm = gmtime(&x_time); - ptm->tm_mday+=1; - x_time = mktime(ptm); - strftime(timeStr, sizeof(timeStr), RFC1123FMT, gmtime(&x_time)); + gmtime_r(&x_time, <); + lt.tm_mday+=1; + x_time = mktime(<); + strftime(timeStr, sizeof(timeStr), RFC1123FMT, gmtime_r(&x_time, <)); result += string_printf("Expires: %s\r\n", timeStr); } result += "Server: " WEBSERVERNAME "\r\n"; // actual date - strftime(timeStr, sizeof(timeStr), RFC1123FMT, gmtime(&timer)); + strftime(timeStr, sizeof(timeStr), RFC1123FMT, gmtime_r(&timer, <)); result += string_printf("Date: %s\r\n", timeStr); // connection type #ifdef Y_CONFIG_FEATURE_KEEP_ALIVE @@ -296,7 +297,7 @@ std::string CyhookHandler::BuildHeader(bool cache) if(LastModified != (time_t)-1) mod_time = LastModified; - strftime(timeStr, sizeof(timeStr), RFC1123FMT, gmtime(&mod_time)); + strftime(timeStr, sizeof(timeStr), RFC1123FMT, gmtime_r(&mod_time, <)); result += string_printf("Last-Modified: %s\r\nContent-Length: %ld\r\n", timeStr, GetContentLength()); } result += "\r\n"; // End of Header diff --git a/tuxbox/neutrino/daemons/nhttpd/yhttpd_mods/mod_cache.cpp b/tuxbox/neutrino/daemons/nhttpd/yhttpd_mods/mod_cache.cpp index c60a7e1..2d439f7 100644 --- a/tuxbox/neutrino/daemons/nhttpd/yhttpd_mods/mod_cache.cpp +++ b/tuxbox/neutrino/daemons/nhttpd/yhttpd_mods/mod_cache.cpp @@ -51,8 +51,9 @@ THandleStatus CmodCache::Hook_PrepareResponse(CyhookHandler *hh) } // normalize obj_last_modified to GMT - struct tm *tmp = gmtime(&(CacheList[url].created)); - time_t obj_last_modified_gmt = mktime(tmp); + struct tm lt; + gmtime_r(&CacheList[url].created, <); + time_t obj_last_modified_gmt = mktime(<); bool modified = (if_modified_since == (time_t)-1) || (if_modified_since < obj_last_modified_gmt); // Send file or not-modified header @@ -210,7 +211,8 @@ void CmodCache::yshowCacheInfo(CyhookHandler *hh) { TCache *item = &((*i).second); char timeStr[80]; - strftime(timeStr, sizeof(timeStr), RFC1123FMT, gmtime(&(item->created)) ); + struct tm lt; + strftime(timeStr, sizeof(timeStr), RFC1123FMT, gmtime_r(&item->created, <) ); yresult += string_printf("<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td>" \ "<td><a href=\"/y/cache-clear?url=%s\">url</a> " \ "<a href=\"/y/cache-clear?category=%s\">category</a></td></tr>\n", diff --git a/tuxbox/neutrino/daemons/nhttpd/yhttpd_mods/mod_sendfile.cpp b/tuxbox/neutrino/daemons/nhttpd/yhttpd_mods/mod_sendfile.cpp index a98a8bf..f259369 100644 --- a/tuxbox/neutrino/daemons/nhttpd/yhttpd_mods/mod_sendfile.cpp +++ b/tuxbox/neutrino/daemons/nhttpd/yhttpd_mods/mod_sendfile.cpp @@ -112,8 +112,9 @@ THandleStatus CmodSendfile::Hook_PrepareResponse(CyhookHandler *hh) } // normalize obj_last_modified to GMT - struct tm *tmp = gmtime(&(hh->LastModified)); - time_t LastModifiedGMT = mktime(tmp); + struct tm lt; + gmtime_r(&hh->LastModified, <); + time_t LastModifiedGMT = mktime(<); bool modified = (if_modified_since == (time_t)-1) || (if_modified_since < LastModifiedGMT); // Send normal or not-modified header ----------------------------------------------------------------------- Summary of changes: .../neutrino/daemons/nhttpd/yhttpd_core/yhook.cpp | 13 +++++++------ .../daemons/nhttpd/yhttpd_mods/mod_cache.cpp | 8 +++++--- .../daemons/nhttpd/yhttpd_mods/mod_sendfile.cpp | 5 +++-- 3 files changed, 15 insertions(+), 11 deletions(-) -- Tuxbox-GIT: apps |