]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Bug 1791: timestampsSet does not validate Date: if server sends very old date
authorBarry Dobyns <barry@dobyns.com>
Sat, 27 Aug 2011 07:43:33 +0000 (01:43 -0600)
committerAmos Jeffries <squid3@treenet.co.nz>
Sat, 27 Aug 2011 07:43:33 +0000 (01:43 -0600)
src/store.cc

index be313eb3313e905a6a888fe78447ea38c7f04042..c1c2b7b232f8163171d11f0d65b41dedbc9c89b0 100644 (file)
@@ -1493,6 +1493,14 @@ StoreEntry::timestampsSet()
     if (served_date < 0 || served_date > squid_curtime)
         served_date = squid_curtime;
 
+    /* Bug 1791:
+     * If the returned Date: is more than 24 hours older than
+     * the squid_curtime, then one of us needs to use NTP to set our
+     * clock.  We'll pretend that our clock is right.
+     */
+    else if (served_date < (squid_curtime - 24 * 60 * 60) )
+        served_date = squid_curtime;
+
     /*
      * Compensate with Age header if origin server clock is ahead
      * of us and there is a cache in between us and the origin