{"host": "cp3074.esams.wmnet", "state": "core_diff", "description": "Differences to core resources", "diff": {"full": {"total": 3945, "only_in_self": [], "only_in_other": [], "resource_diffs": [{"resource": "File[/usr/share/varnish/tests/upload-frontend.inc.vcl]", "content": "--- /usr/share/varnish/tests/upload-frontend.inc.vcl.orig\n+++ /usr/share/varnish/tests/upload-frontend.inc.vcl\n@@ -178,10 +178,11 @@\n           // Standard sizes get a lenient rate limit, non-standard sizes get a stricter one.\n           // Since we already know this is a valid thumb URL, we only need to match the\n           // size component from the last path segment.\n-          if (req.url ~ \"/((?:qlow-)?(?:lossy-)?(?:lossless-)?(?:page\\d+-)?(?:lang[0-9a-zA-Z-]+-)?(?:20|40|60|120|250|330|500|960|1280|1920|3840)px-)[^/]+$\") {\n-              var.set_int(\"glb_requests_limit\", 1000);\n-          } else {\n-              var.set_int(\"glb_requests_limit\", 500);\n+           if (req.url ~ \"/((?:qlow-)?(?:lossy-)?(?:lossless-)?(?:page\\d+-)?(?:lang[0-9a-zA-Z-]+-)?(?:20|40|60|120|250|330|500|960|1280|1920|3840)px-)[^/]+$\") {\n+               var.set_int(\"glb_requests_limit\", 1000);\n+            } else {\n+                // Non-standard size is an invalid request, not a rate limit violation\n+                return (synth(400, \"Use thumbnail sizes listed on https://w.wiki/GHai\"));\n           }\n \n             // Normalize end of thumbnail URL (redundant filename)"}, {"resource": "File[/etc/varnish/upload-frontend.inc.vcl]", "content": "--- /etc/varnish/upload-frontend.inc.vcl.orig\n+++ /etc/varnish/upload-frontend.inc.vcl\n@@ -178,10 +178,11 @@\n           // Standard sizes get a lenient rate limit, non-standard sizes get a stricter one.\n           // Since we already know this is a valid thumb URL, we only need to match the\n           // size component from the last path segment.\n-          if (req.url ~ \"/((?:qlow-)?(?:lossy-)?(?:lossless-)?(?:page\\d+-)?(?:lang[0-9a-zA-Z-]+-)?(?:20|40|60|120|250|330|500|960|1280|1920|3840)px-)[^/]+$\") {\n-              var.set_int(\"glb_requests_limit\", 1000);\n-          } else {\n-              var.set_int(\"glb_requests_limit\", 500);\n+           if (req.url ~ \"/((?:qlow-)?(?:lossy-)?(?:lossless-)?(?:page\\d+-)?(?:lang[0-9a-zA-Z-]+-)?(?:20|40|60|120|250|330|500|960|1280|1920|3840)px-)[^/]+$\") {\n+               var.set_int(\"glb_requests_limit\", 1000);\n+            } else {\n+                // Non-standard size is an invalid request, not a rate limit violation\n+                return (synth(400, \"Use thumbnail sizes listed on https://w.wiki/GHai\"));\n           }\n \n             // Normalize end of thumbnail URL (redundant filename)"}], "perc_changed": "0.05%"}, "core": {"total": 3945, "only_in_self": [], "only_in_other": [], "resource_diffs": [{"resource": "File[/usr/share/varnish/tests/upload-frontend.inc.vcl]", "content": "--- /usr/share/varnish/tests/upload-frontend.inc.vcl.orig\n+++ /usr/share/varnish/tests/upload-frontend.inc.vcl\n@@ -178,10 +178,11 @@\n           // Standard sizes get a lenient rate limit, non-standard sizes get a stricter one.\n           // Since we already know this is a valid thumb URL, we only need to match the\n           // size component from the last path segment.\n-          if (req.url ~ \"/((?:qlow-)?(?:lossy-)?(?:lossless-)?(?:page\\d+-)?(?:lang[0-9a-zA-Z-]+-)?(?:20|40|60|120|250|330|500|960|1280|1920|3840)px-)[^/]+$\") {\n-              var.set_int(\"glb_requests_limit\", 1000);\n-          } else {\n-              var.set_int(\"glb_requests_limit\", 500);\n+           if (req.url ~ \"/((?:qlow-)?(?:lossy-)?(?:lossless-)?(?:page\\d+-)?(?:lang[0-9a-zA-Z-]+-)?(?:20|40|60|120|250|330|500|960|1280|1920|3840)px-)[^/]+$\") {\n+               var.set_int(\"glb_requests_limit\", 1000);\n+            } else {\n+                // Non-standard size is an invalid request, not a rate limit violation\n+                return (synth(400, \"Use thumbnail sizes listed on https://w.wiki/GHai\"));\n           }\n \n             // Normalize end of thumbnail URL (redundant filename)"}, {"resource": "File[/etc/varnish/upload-frontend.inc.vcl]", "content": "--- /etc/varnish/upload-frontend.inc.vcl.orig\n+++ /etc/varnish/upload-frontend.inc.vcl\n@@ -178,10 +178,11 @@\n           // Standard sizes get a lenient rate limit, non-standard sizes get a stricter one.\n           // Since we already know this is a valid thumb URL, we only need to match the\n           // size component from the last path segment.\n-          if (req.url ~ \"/((?:qlow-)?(?:lossy-)?(?:lossless-)?(?:page\\d+-)?(?:lang[0-9a-zA-Z-]+-)?(?:20|40|60|120|250|330|500|960|1280|1920|3840)px-)[^/]+$\") {\n-              var.set_int(\"glb_requests_limit\", 1000);\n-          } else {\n-              var.set_int(\"glb_requests_limit\", 500);\n+           if (req.url ~ \"/((?:qlow-)?(?:lossy-)?(?:lossless-)?(?:page\\d+-)?(?:lang[0-9a-zA-Z-]+-)?(?:20|40|60|120|250|330|500|960|1280|1920|3840)px-)[^/]+$\") {\n+               var.set_int(\"glb_requests_limit\", 1000);\n+            } else {\n+                // Non-standard size is an invalid request, not a rate limit violation\n+                return (synth(400, \"Use thumbnail sizes listed on https://w.wiki/GHai\"));\n           }\n \n             // Normalize end of thumbnail URL (redundant filename)"}], "perc_changed": "0.05%"}, "main": {"total": 3945, "only_in_self": [], "only_in_other": [], "resource_diffs": [{"resource": "File[/usr/share/varnish/tests/upload-frontend.inc.vcl]", "content": "--- /usr/share/varnish/tests/upload-frontend.inc.vcl.orig\n+++ /usr/share/varnish/tests/upload-frontend.inc.vcl\n@@ -178,10 +178,11 @@\n           // Standard sizes get a lenient rate limit, non-standard sizes get a stricter one.\n           // Since we already know this is a valid thumb URL, we only need to match the\n           // size component from the last path segment.\n-          if (req.url ~ \"/((?:qlow-)?(?:lossy-)?(?:lossless-)?(?:page\\d+-)?(?:lang[0-9a-zA-Z-]+-)?(?:20|40|60|120|250|330|500|960|1280|1920|3840)px-)[^/]+$\") {\n-              var.set_int(\"glb_requests_limit\", 1000);\n-          } else {\n-              var.set_int(\"glb_requests_limit\", 500);\n+           if (req.url ~ \"/((?:qlow-)?(?:lossy-)?(?:lossless-)?(?:page\\d+-)?(?:lang[0-9a-zA-Z-]+-)?(?:20|40|60|120|250|330|500|960|1280|1920|3840)px-)[^/]+$\") {\n+               var.set_int(\"glb_requests_limit\", 1000);\n+            } else {\n+                // Non-standard size is an invalid request, not a rate limit violation\n+                return (synth(400, \"Use thumbnail sizes listed on https://w.wiki/GHai\"));\n           }\n \n             // Normalize end of thumbnail URL (redundant filename)"}, {"resource": "File[/etc/varnish/upload-frontend.inc.vcl]", "content": "--- /etc/varnish/upload-frontend.inc.vcl.orig\n+++ /etc/varnish/upload-frontend.inc.vcl\n@@ -178,10 +178,11 @@\n           // Standard sizes get a lenient rate limit, non-standard sizes get a stricter one.\n           // Since we already know this is a valid thumb URL, we only need to match the\n           // size component from the last path segment.\n-          if (req.url ~ \"/((?:qlow-)?(?:lossy-)?(?:lossless-)?(?:page\\d+-)?(?:lang[0-9a-zA-Z-]+-)?(?:20|40|60|120|250|330|500|960|1280|1920|3840)px-)[^/]+$\") {\n-              var.set_int(\"glb_requests_limit\", 1000);\n-          } else {\n-              var.set_int(\"glb_requests_limit\", 500);\n+           if (req.url ~ \"/((?:qlow-)?(?:lossy-)?(?:lossless-)?(?:page\\d+-)?(?:lang[0-9a-zA-Z-]+-)?(?:20|40|60|120|250|330|500|960|1280|1920|3840)px-)[^/]+$\") {\n+               var.set_int(\"glb_requests_limit\", 1000);\n+            } else {\n+                // Non-standard size is an invalid request, not a rate limit violation\n+                return (synth(400, \"Use thumbnail sizes listed on https://w.wiki/GHai\"));\n           }\n \n             // Normalize end of thumbnail URL (redundant filename)"}], "perc_changed": "0.05%"}}}