]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
- Resurrected storeValidToSend()
authorwessels <>
Fri, 8 Nov 1996 03:52:49 +0000 (03:52 +0000)
committerwessels <>
Fri, 8 Nov 1996 03:52:49 +0000 (03:52 +0000)
- Moved storeSetPrivateKey() to storeReleaseRequest().

src/ftp.cc
src/http.cc
src/store.cc

index ba442f70211e5886de51eec7b639f28326ac6805..6c772f295fa5dc50b9632040f2a658044e5d418c 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: ftp.cc,v 1.77 1996/11/06 23:14:34 wessels Exp $
+ * $Id: ftp.cc,v 1.78 1996/11/07 20:52:49 wessels Exp $
  *
  * DEBUG: section 9     File Transfer Protocol (FTP)
  * AUTHOR: Harvest Derived
@@ -255,7 +255,6 @@ ftpProcessReplyHeader(FtpStateData * data, const char *buf, int size)
        case 401:               /* Unauthorized */
        case 407:               /* Proxy Authentication Required */
            /* These should never be cached at all */
-           storeSetPrivateKey(entry);
            storeExpireNow(entry);
            BIT_RESET(entry->flag, ENTRY_CACHABLE);
            storeReleaseRequest(entry);
index f2522b4e8bfedb240162d4e23137fe1276363ae5..cf17c7825f0237e158690925c64221ad8c1aa401 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: http.cc,v 1.99 1996/11/07 18:53:15 wessels Exp $
+ * $Id: http.cc,v 1.100 1996/11/07 20:52:50 wessels Exp $
  *
  * DEBUG: section 11    Hypertext Transfer Protocol (HTTP)
  * AUTHOR: Harvest Derived
@@ -226,7 +226,6 @@ httpMakePublic(StoreEntry * entry)
 static void
 httpMakePrivate(StoreEntry * entry)
 {
-    storeSetPrivateKey(entry);
     storeExpireNow(entry);
     BIT_RESET(entry->flag, ENTRY_CACHABLE);
     storeReleaseRequest(entry);        /* delete object when not used */
index 78b5dd9a14d5a01304ba95a5cbbbdc21e55a8364..a884050f510273bd071d755b7464966015a8ef04 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store.cc,v 1.155 1996/11/07 18:53:18 wessels Exp $
+ * $Id: store.cc,v 1.156 1996/11/07 20:52:52 wessels Exp $
  *
  * DEBUG: section 20    Storeage Manager
  * AUTHOR: Harvest Derived
@@ -237,6 +237,7 @@ static void storeSwapLog _PARAMS((const StoreEntry *));
 static void storeSwapOutHandle _PARAMS((int, int, StoreEntry *));
 static void storeHashMemInsert _PARAMS((StoreEntry *));
 static void storeHashMemDelete _PARAMS((StoreEntry *));
+static void storeSetPrivateKey _PARAMS((StoreEntry *));
 
 /* Now, this table is inaccessible to outsider. They have to use a method
  * to access a value in internal storage data structure. */
@@ -567,6 +568,7 @@ storeReleaseRequest(StoreEntry * e)
     }
     debug(20, 3, "storeReleaseRequest: FOR '%s'\n", e->key ? e->key : e->url);
     e->flag |= RELEASE_REQUEST;
+    storeSetPrivateKey(e);
 }
 
 /* unlock object, return -1 if object get released after unlock
@@ -671,7 +673,7 @@ storeGeneratePublicKey(const char *url, method_t method)
     return NULL;
 }
 
-void
+static void
 storeSetPrivateKey(StoreEntry * e)
 {
     StoreEntry *e2 = NULL;
@@ -2809,3 +2811,17 @@ expiresMoreThan(time_t expires, time_t when)
        return 0;
     return (expires > squid_curtime + when);
 }
+
+int
+storeEntryValidToSend(StoreEntry * e)
+{
+    if (BIT_TEST(e->flag, RELEASE_REQUEST))
+       return 0;
+    if (BIT_TEST(e->flag, ENTRY_NEGCACHED))
+       if (entry->expires <= squid_curtime)
+           return 0;
+    if (e->store_status == STORE_ABORTED)
+       return 0;
+    return 1;
+}
+