You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2010/09/29 01:05:15 UTC

svn commit: r1002409 - in /trafficserver/traffic/trunk/proxy: hdrs/MIME.h http2/HttpTransact.cc

Author: zwoop
Date: Tue Sep 28 23:05:14 2010
New Revision: 1002409

URL: http://svn.apache.org/viewvc?rev=1002409&view=rev
Log:
undo previous attempt, and bite the bullet on the date_value.

Modified:
    trafficserver/traffic/trunk/proxy/hdrs/MIME.h
    trafficserver/traffic/trunk/proxy/http2/HttpTransact.cc

Modified: trafficserver/traffic/trunk/proxy/hdrs/MIME.h
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/hdrs/MIME.h?rev=1002409&r1=1002408&r2=1002409&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/hdrs/MIME.h (original)
+++ trafficserver/traffic/trunk/proxy/hdrs/MIME.h Tue Sep 28 23:05:14 2010
@@ -912,7 +912,7 @@ public:
   // Other separators (e.g. ';' in Set-cookie/Cookie) are also possible
   void field_value_append(MIMEField * field,
                           const char *value, int value_length, bool prepend_comma = false, const char separator = ',');
-  time_t get_age();
+  uint32 get_age();
   int64 get_content_length();
   time_t get_date();
   time_t get_expires();
@@ -933,7 +933,7 @@ public:
   void set_cooked_cc_need_revalidate_once();
   void unset_cooked_cc_need_revalidate_once();
 
-  void set_age(time_t value);
+  void set_age(uint32 value);
   void set_content_length(int64 value);
   void set_date(time_t value);
   void set_expires(time_t value);
@@ -1323,7 +1323,7 @@ MIMEHdr::value_append(const char *name, 
 /*-------------------------------------------------------------------------
   -------------------------------------------------------------------------*/
 
-inline time_t
+inline uint32
 MIMEHdr::get_age()
 {
   int64 age = value_get_int64(MIME_FIELD_AGE, MIME_LEN_AGE);
@@ -1494,7 +1494,7 @@ MIMEHdr::unset_cooked_cc_need_revalidate
   -------------------------------------------------------------------------*/
 
 inline void
-MIMEHdr::set_age(time_t value)
+MIMEHdr::set_age(uint32 value)
 {
   value_set_uint(MIME_FIELD_AGE, MIME_LEN_AGE, value);
 }

Modified: trafficserver/traffic/trunk/proxy/http2/HttpTransact.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/http2/HttpTransact.cc?rev=1002409&r1=1002408&r2=1002409&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/http2/HttpTransact.cc (original)
+++ trafficserver/traffic/trunk/proxy/http2/HttpTransact.cc Tue Sep 28 23:05:14 2010
@@ -4855,7 +4855,7 @@ HttpTransact::merge_and_update_headers_f
     // Hack fix. If the server sends back
     // a 304 without a Date Header, use the current time
     // as the new Date value in the header to be cached.
-    time_t date_value = s->hdr_info.server_response.get_date();
+    uint32 date_value = s->hdr_info.server_response.get_date(); // was time_t but it's signed int on some OSes
     HTTPHdr *cached_hdr = s->cache_info.object_store.response_get();
 
     if (date_value <= 0) {
@@ -4866,16 +4866,15 @@ HttpTransact::merge_and_update_headers_f
     // We could use calculate_document_age but my guess is it's overkill
     // Just use 'now' - 304's Date: + Age: (response's Age: if there)
     //
-    date_value = max(s->current.now - date_value, (time_t) 0);
+    date_value = max(s->current.now - date_value, (time_t)0);
 
     if (s->hdr_info.server_response.presence(MIME_PRESENCE_AGE)) {
       int64 new_age = s->hdr_info.server_response.get_age() + date_value;
       
       // Check for overflow
-      date_value = new_age > INT_MAX ? (time_t)INT_MAX + 1 : new_age;
+      date_value = new_age > INT_MAX ? (uint32)INT_MAX + 1 : new_age;
     }
     cached_hdr->set_age(date_value);
-
     delete_warning_value(cached_hdr, HTTP_WARNING_CODE_REVALIDATION_FAILED);
   }