akosut 96/08/18 13:26:31
Modified: src http_protocol.c
Log:
Oops. Make If-None-Match and If-Match work again.
Revision Changes Path
1.38 +7 -6 apache/src/http_protocol.c
Index: http_protocol.c
===================================================================
RCS file: /export/home/cvs/apache/src/http_protocol.c,v
retrieving revision 1.37
retrieving revision 1.38
diff -C3 -r1.37 -r1.38
*** http_protocol.c 1996/08/15 23:41:43 1.37
--- http_protocol.c 1996/08/18 20:26:30 1.38
***************
*** 326,332 ****
int set_last_modified(request_rec *r, time_t mtime)
{
! char *ts, etag[MAX_STRING_LEN];
char *if_modified_since = table_get (r->headers_in,
"If-Modified-Since");
char *if_unmodified = table_get (r->headers_in, "If-Unmodified-Since");
char *if_nonematch = table_get (r->headers_in, "If-None-Match");
--- 326,332 ----
int set_last_modified(request_rec *r, time_t mtime)
{
! char *ts, *etag, weak_etag[MAX_STRING_LEN];
char *if_modified_since = table_get (r->headers_in,
"If-Modified-Since");
char *if_unmodified = table_get (r->headers_in, "If-Unmodified-Since");
char *if_nonematch = table_get (r->headers_in, "If-None-Match");
***************
*** 351,362 ****
*/
if (r->finfo.st_mode != 0)
! sprintf(etag, "W/\"%lx-%lx-%lx\"", r->finfo.st_ino,
r->finfo.st_size,
! mtime);
else
! sprintf(etag, "W/\"%lx\"", mtime);
! table_set (r->headers_out, "ETag",
! etag + ((r->request_time - mtime > 1) ? 2 : 0));
/* We now do the no_cache stuff using an Expires: header (we used to
* withhold Last-modified). However, we still want to enforce this by
--- 351,363 ----
*/
if (r->finfo.st_mode != 0)
! sprintf(weak_etag, "W/\"%lx-%lx-%lx\"", r->finfo.st_ino,
! r->finfo.st_size, mtime);
else
! sprintf(weak_etag, "W/\"%lx\"", mtime);
!
! etag = weak_etag + ((r->request_time - mtime > 1) ? 2 : 0);
! table_set (r->headers_out, "ETag", etag);
/* We now do the no_cache stuff using an Expires: header (we used to
* withhold Last-modified). However, we still want to enforce this by