]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Bug 4428: mal-formed Cache-Control:stale-if-error header
authorAmos Jeffries <squid3@treenet.co.nz>
Wed, 17 Aug 2016 02:55:01 +0000 (14:55 +1200)
committerAmos Jeffries <squid3@treenet.co.nz>
Wed, 17 Aug 2016 02:55:01 +0000 (14:55 +1200)
src/HttpHdrCc.cc

index 2184c90f9b4102f97b8c412ed21e279fd64756b1..7f1067c99093c98648eefa3796e4cdad2e936540 100644 (file)
@@ -257,6 +257,27 @@ HttpHdrCc::packInto(Packer * p) const
 
             /* for all options having values, "=value" after the name */
             switch (flag) {
+            case CC_BADHDR:
+                break;
+            case CC_PUBLIC:
+                break;
+            case CC_PRIVATE:
+                if (Private().size())
+                    packerPrintf(p, "=\"" SQUIDSTRINGPH "\"", SQUIDSTRINGPRINT(Private()));
+                break;
+
+            case CC_NO_CACHE:
+                if (noCache().size())
+                    packerPrintf(p, "=\"" SQUIDSTRINGPH "\"", SQUIDSTRINGPRINT(noCache()));
+                break;
+            case CC_NO_STORE:
+                break;
+            case CC_NO_TRANSFORM:
+                break;
+            case CC_MUST_REVALIDATE:
+                break;
+            case CC_PROXY_REVALIDATE:
+                break;
             case CC_MAX_AGE:
                 packerPrintf(p, "=%d", (int) maxAge());
                 break;
@@ -272,8 +293,14 @@ HttpHdrCc::packInto(Packer * p) const
             case CC_MIN_FRESH:
                 packerPrintf(p, "=%d", (int) minFresh());
                 break;
-            default:
-                /* do nothing, directive was already printed */
+            case CC_ONLY_IF_CACHED:
+                break;
+            case CC_STALE_IF_ERROR:
+                packerPrintf(p, "=%d", staleIfError());
+                break;
+            case CC_OTHER:
+            case CC_ENUM_END:
+                // done below after the loop
                 break;
             }