Skip to content
Snippets Groups Projects
Commit fd8ea204 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

use GMT for the conditional timed gets (reported by Phil Karn)

parent b8667417
No related branches found
No related tags found
No related merge requests found
......@@ -646,12 +646,21 @@ CURLcode Curl_http(struct connectdata *conn)
if(data->timecondition) {
struct tm *thistime;
/* Phil Karn (Fri, 13 Apr 2001) pointed out that the If-Modified-Since
* header family should have their times set in GMT as RFC2616 defines:
* "All HTTP date/time stamps MUST be represented in Greenwich Mean Time
* (GMT), without exception. For the purposes of HTTP, GMT is exactly
* equal to UTC (Coordinated Universal Time)." (see page 20 of RFC2616).
*/
#ifdef HAVE_LOCALTIME_R
/* thread-safe version */
/* We assume that the presense of localtime_r() proves the presense
of gmtime_r() which is a bit ugly but might work */
struct tm keeptime;
thistime = (struct tm *)localtime_r(&data->timevalue, &keeptime);
thistime = (struct tm *)gmtime_r(&data->timevalue, &keeptime);
#else
thistime = localtime(&data->timevalue);
thistime = gmtime(&data->timevalue);
#endif
if(NULL == thistime) {
failf(data, "localtime() failed!");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment