From 167839b2678286ccea642400fd552bec4aacaf87 Mon Sep 17 00:00:00 2001
From: zzz <zzz@mail.i2p>
Date: Wed, 14 Feb 2018 12:54:16 +0000
Subject: [PATCH] i2ptunnel, eepget: Capitalize Cache-Control Change POST
 throttle response to 429

---
 .../i2p/i2ptunnel/I2PTunnelConnectClient.java |  4 +--
 .../i2p/i2ptunnel/I2PTunnelHTTPClient.java    | 20 +++++++--------
 .../i2ptunnel/I2PTunnelHTTPClientBase.java    |  6 ++---
 .../i2p/i2ptunnel/I2PTunnelHTTPServer.java    | 25 ++++++++++---------
 .../i2ptunnel/socks/SOCKSServerFactory.java   |  2 +-
 .../i2p/client/streaming/I2PSocketEepGet.java |  2 +-
 core/java/src/net/i2p/util/EepGet.java        |  2 +-
 core/java/src/net/i2p/util/PartialEepGet.java |  2 +-
 .../proxy/ahelper-conflict-header.ht          |  2 +-
 .../resources/proxy/ahelper-new-header.ht     |  2 +-
 .../proxy/ahelper-notfound-header.ht          |  2 +-
 installer/resources/proxy/auth-header.ht      |  2 +-
 installer/resources/proxy/baduri-header.ht    |  2 +-
 installer/resources/proxy/denied-header.ht    |  2 +-
 installer/resources/proxy/dnf-header.ht       |  2 +-
 installer/resources/proxy/dnfb-header.ht      |  2 +-
 installer/resources/proxy/dnfh-header.ht      |  2 +-
 installer/resources/proxy/dnfp-header.ht      |  2 +-
 installer/resources/proxy/enc-header.ht       |  2 +-
 installer/resources/proxy/encp-header.ht      |  2 +-
 installer/resources/proxy/localhost-header.ht |  2 +-
 installer/resources/proxy/nols-header.ht      |  2 +-
 installer/resources/proxy/nolsp-header.ht     |  2 +-
 installer/resources/proxy/noproxy-header.ht   |  2 +-
 installer/resources/proxy/protocol-header.ht  |  2 +-
 installer/resources/proxy/reset-header.ht     |  2 +-
 installer/resources/proxy/resetp-header.ht    |  2 +-
 27 files changed, 51 insertions(+), 50 deletions(-)

diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelConnectClient.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelConnectClient.java
index 6e362a41b9..39c573cb47 100644
--- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelConnectClient.java
+++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelConnectClient.java
@@ -65,7 +65,7 @@ public class I2PTunnelConnectClient extends I2PTunnelHTTPClientBase implements R
     private final static String ERR_BAD_PROTOCOL =
          "HTTP/1.1 405 Bad Method\r\n"+
          "Content-Type: text/html; charset=iso-8859-1\r\n"+
-         "Cache-control: no-cache\r\n"+
+         "Cache-Control: no-cache\r\n"+
          "Connection: close\r\n"+
          "Proxy-Connection: close\r\n"+
          "\r\n"+
@@ -76,7 +76,7 @@ public class I2PTunnelConnectClient extends I2PTunnelHTTPClientBase implements R
     private final static String ERR_LOCALHOST =
          "HTTP/1.1 403 Access Denied\r\n"+
          "Content-Type: text/html; charset=iso-8859-1\r\n"+
-         "Cache-control: no-cache\r\n"+
+         "Cache-Control: no-cache\r\n"+
          "Connection: close\r\n"+
          "Proxy-Connection: close\r\n"+
          "\r\n"+
diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java
index 16da083e1b..12c749961e 100644
--- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java
+++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java
@@ -98,7 +98,7 @@ public class I2PTunnelHTTPClient extends I2PTunnelHTTPClientBase implements Runn
     private final static String ERR_REQUEST_DENIED =
             "HTTP/1.1 403 Access Denied\r\n" +
             "Content-Type: text/html; charset=iso-8859-1\r\n" +
-            "Cache-control: no-cache\r\n" +
+            "Cache-Control: no-cache\r\n" +
             "Connection: close\r\n"+
             "Proxy-Connection: close\r\n"+
             "\r\n" +
@@ -109,7 +109,7 @@ public class I2PTunnelHTTPClient extends I2PTunnelHTTPClientBase implements Runn
     private final static byte[] ERR_TIMEOUT =
     ("HTTP/1.1 504 Gateway Timeout\r\n"+
     "Content-Type: text/html; charset=iso-8859-1\r\n"+
-    "Cache-control: no-cache\r\n\r\n"+
+    "Cache-Control: no-cache\r\n\r\n"+
     "<html><body><H1>I2P ERROR: TIMEOUT</H1>"+
     "That Destination was reachable, but timed out getting a "+
     "response.  This is likely a temporary error, so you should simply "+
@@ -121,7 +121,7 @@ public class I2PTunnelHTTPClient extends I2PTunnelHTTPClientBase implements Runn
     private final static String ERR_NO_OUTPROXY =
             "HTTP/1.1 503 Service Unavailable\r\n" +
             "Content-Type: text/html; charset=iso-8859-1\r\n" +
-            "Cache-control: no-cache\r\n" +
+            "Cache-Control: no-cache\r\n" +
             "Connection: close\r\n"+
             "Proxy-Connection: close\r\n"+
             "\r\n" +
@@ -132,7 +132,7 @@ public class I2PTunnelHTTPClient extends I2PTunnelHTTPClientBase implements Runn
     private final static String ERR_AHELPER_CONFLICT =
             "HTTP/1.1 409 Conflict\r\n" +
             "Content-Type: text/html; charset=iso-8859-1\r\n" +
-            "Cache-control: no-cache\r\n" +
+            "Cache-Control: no-cache\r\n" +
             "Connection: close\r\n"+
             "Proxy-Connection: close\r\n"+
             "\r\n" +
@@ -149,7 +149,7 @@ public class I2PTunnelHTTPClient extends I2PTunnelHTTPClientBase implements Runn
     private final static String ERR_AHELPER_NOTFOUND =
             "HTTP/1.1 404 Not Found\r\n" +
             "Content-Type: text/html; charset=iso-8859-1\r\n" +
-            "Cache-control: no-cache\r\n" +
+            "Cache-Control: no-cache\r\n" +
             "Connection: close\r\n"+
             "Proxy-Connection: close\r\n"+
             "\r\n" +
@@ -161,7 +161,7 @@ public class I2PTunnelHTTPClient extends I2PTunnelHTTPClientBase implements Runn
     private final static String ERR_AHELPER_NEW =
             "HTTP/1.1 409 New Address\r\n" +
             "Content-Type: text/html; charset=iso-8859-1\r\n" +
-            "Cache-control: no-cache\r\n" +
+            "Cache-Control: no-cache\r\n" +
             "Connection: close\r\n"+
             "Proxy-Connection: close\r\n"+
             "\r\n" +
@@ -174,7 +174,7 @@ public class I2PTunnelHTTPClient extends I2PTunnelHTTPClientBase implements Runn
     private final static String ERR_BAD_PROTOCOL =
             "HTTP/1.1 403 Bad Protocol\r\n" +
             "Content-Type: text/html; charset=iso-8859-1\r\n" +
-            "Cache-control: no-cache\r\n" +
+            "Cache-Control: no-cache\r\n" +
             "Connection: close\r\n"+
             "Proxy-Connection: close\r\n"+
             "\r\n" +
@@ -185,7 +185,7 @@ public class I2PTunnelHTTPClient extends I2PTunnelHTTPClientBase implements Runn
     private final static String ERR_BAD_URI =
             "HTTP/1.1 403 Bad URI\r\n" +
             "Content-Type: text/html; charset=iso-8859-1\r\n" +
-            "Cache-control: no-cache\r\n" +
+            "Cache-Control: no-cache\r\n" +
             "Connection: close\r\n"+
             "Proxy-Connection: close\r\n"+
             "\r\n" +
@@ -196,7 +196,7 @@ public class I2PTunnelHTTPClient extends I2PTunnelHTTPClientBase implements Runn
     private final static String ERR_LOCALHOST =
             "HTTP/1.1 403 Access Denied\r\n" +
             "Content-Type: text/html; charset=iso-8859-1\r\n" +
-            "Cache-control: no-cache\r\n" +
+            "Cache-Control: no-cache\r\n" +
             "Connection: close\r\n"+
             "Proxy-Connection: close\r\n"+
             "\r\n" +
@@ -206,7 +206,7 @@ public class I2PTunnelHTTPClient extends I2PTunnelHTTPClientBase implements Runn
     private final static String ERR_INTERNAL_SSL =
             "HTTP/1.1 403 SSL Rejected\r\n" +
             "Content-Type: text/html; charset=iso-8859-1\r\n" +
-            "Cache-control: no-cache\r\n" +
+            "Cache-Control: no-cache\r\n" +
             "Connection: close\r\n"+
             "Proxy-Connection: close\r\n"+
             "\r\n" +
diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClientBase.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClientBase.java
index c8aafbd667..d9bbe58bbe 100644
--- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClientBase.java
+++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClientBase.java
@@ -73,7 +73,7 @@ public abstract class I2PTunnelHTTPClientBase extends I2PTunnelClientBase implem
     private static final String ERR_AUTH1 =
             "HTTP/1.1 407 Proxy Authentication Required\r\n" +
             "Content-Type: text/html; charset=UTF-8\r\n" +
-            "Cache-control: no-cache\r\n" +
+            "Cache-Control: no-cache\r\n" +
             "Connection: close\r\n"+
             "Proxy-Connection: close\r\n"+
             "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.5\r\n" + // try to get a UTF-8-encoded response back for the password
@@ -90,7 +90,7 @@ public abstract class I2PTunnelHTTPClientBase extends I2PTunnelClientBase implem
     protected final static String ERR_NO_OUTPROXY =
          "HTTP/1.1 503 No Outproxy Configured\r\n"+
          "Content-Type: text/html; charset=iso-8859-1\r\n"+
-         "Cache-control: no-cache\r\n"+
+         "Cache-Control: no-cache\r\n"+
          "Connection: close\r\n"+
          "Proxy-Connection: close\r\n"+
          "\r\n"+
@@ -101,7 +101,7 @@ public abstract class I2PTunnelHTTPClientBase extends I2PTunnelClientBase implem
     protected final static String ERR_DESTINATION_UNKNOWN =
             "HTTP/1.1 503 Service Unavailable\r\n" +
             "Content-Type: text/html; charset=iso-8859-1\r\n" +
-            "Cache-control: no-cache\r\n" +
+            "Cache-Control: no-cache\r\n" +
             "Connection: close\r\n"+
             "Proxy-Connection: close\r\n"+
             "\r\n" +
diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java
index b66caf42c5..a7e1aee5c2 100644
--- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java
+++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java
@@ -90,7 +90,7 @@ public class I2PTunnelHTTPServer extends I2PTunnelServer {
     private final static String ERR_UNAVAILABLE =
          "HTTP/1.1 503 Service Unavailable\r\n"+
          "Content-Type: text/html; charset=iso-8859-1\r\n"+
-         "Cache-control: no-cache\r\n"+
+         "Cache-Control: no-cache\r\n"+
          "Connection: close\r\n"+
          "Proxy-Connection: close\r\n"+
          "\r\n"+
@@ -99,22 +99,23 @@ public class I2PTunnelHTTPServer extends I2PTunnelServer {
          "<p>This I2P website is unavailable. It may be down or undergoing maintenance.</p>\n" +
          "</body></html>";
 
+    // TODO https://stackoverflow.com/questions/16022624/examples-of-http-api-rate-limiting-http-response-headers
     private final static String ERR_DENIED =
-         "HTTP/1.1 403 Denied\r\n"+
+         "HTTP/1.1 429 Denied\r\n"+
          "Content-Type: text/html; charset=iso-8859-1\r\n"+
-         "Cache-control: no-cache\r\n"+
+         "Cache-Control: no-cache\r\n"+
          "Connection: close\r\n"+
          "Proxy-Connection: close\r\n"+
          "\r\n"+
-         "<html><head><title>403 Denied</title></head>\n"+
-         "<body><h2>403 Denied</h2>\n" +
+         "<html><head><title>429 Denied</title></head>\n"+
+         "<body><h2>429 Denied</h2>\n" +
          "<p>Denied due to excessive requests. Please try again later.</p>\n" +
          "</body></html>";
 
     private final static String ERR_INPROXY =
          "HTTP/1.1 403 Denied\r\n"+
          "Content-Type: text/html; charset=iso-8859-1\r\n"+
-         "Cache-control: no-cache\r\n"+
+         "Cache-Control: no-cache\r\n"+
          "Connection: close\r\n"+
          "Proxy-Connection: close\r\n"+
          "\r\n"+
@@ -126,7 +127,7 @@ public class I2PTunnelHTTPServer extends I2PTunnelServer {
     private final static String ERR_SSL =
          "HTTP/1.1 503 Service Unavailable\r\n"+
          "Content-Type: text/html; charset=iso-8859-1\r\n"+
-         "Cache-control: no-cache\r\n"+
+         "Cache-Control: no-cache\r\n"+
          "Connection: close\r\n"+
          "Proxy-Connection: close\r\n"+
          "\r\n"+
@@ -138,7 +139,7 @@ public class I2PTunnelHTTPServer extends I2PTunnelServer {
     private final static String ERR_REQUEST_URI_TOO_LONG =
          "HTTP/1.1 414 Request URI too long\r\n"+
          "Content-Type: text/html; charset=iso-8859-1\r\n"+
-         "Cache-control: no-cache\r\n"+
+         "Cache-Control: no-cache\r\n"+
          "Connection: close\r\n"+
          "Proxy-Connection: close\r\n"+
          "\r\n"+
@@ -149,7 +150,7 @@ public class I2PTunnelHTTPServer extends I2PTunnelServer {
     private final static String ERR_HEADERS_TOO_LARGE =
          "HTTP/1.1 431 Request header fields too large\r\n"+
          "Content-Type: text/html; charset=iso-8859-1\r\n"+
-         "Cache-control: no-cache\r\n"+
+         "Cache-Control: no-cache\r\n"+
          "Connection: close\r\n"+
          "Proxy-Connection: close\r\n"+
          "\r\n"+
@@ -161,7 +162,7 @@ public class I2PTunnelHTTPServer extends I2PTunnelServer {
     protected final static String ERR_REQUEST_TIMEOUT =
          "HTTP/1.1 408 Request timeout\r\n"+
          "Content-Type: text/html; charset=iso-8859-1\r\n"+
-         "Cache-control: no-cache\r\n"+
+         "Cache-Control: no-cache\r\n"+
          "Connection: close\r\n"+
          "Proxy-Connection: close\r\n"+
          "\r\n"+
@@ -172,7 +173,7 @@ public class I2PTunnelHTTPServer extends I2PTunnelServer {
     private final static String ERR_BAD_REQUEST =
          "HTTP/1.1 400 Bad Request\r\n"+
          "Content-Type: text/html; charset=iso-8859-1\r\n"+
-         "Cache-control: no-cache\r\n"+
+         "Cache-Control: no-cache\r\n"+
          "Connection: close\r\n"+
          "Proxy-Connection: close\r\n"+
          "\r\n"+
@@ -475,7 +476,7 @@ public class I2PTunnelHTTPServer extends I2PTunnelServer {
                     if (_log.shouldLog(Log.WARN))
                         _log.warn("Refusing POST since peer is throttled: " + peerB32);
                     try {
-                        // Send a 403, so the user doesn't get an HTTP Proxy error message
+                        // Send a 429, so the user doesn't get an HTTP Proxy error message
                         // and blame his router or the network.
                         socket.getOutputStream().write(ERR_DENIED.getBytes("UTF-8"));
                     } catch (IOException ioe) {}
diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/socks/SOCKSServerFactory.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/socks/SOCKSServerFactory.java
index a3bfd1c47c..9170d7a2e1 100644
--- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/socks/SOCKSServerFactory.java
+++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/socks/SOCKSServerFactory.java
@@ -25,7 +25,7 @@ class SOCKSServerFactory {
     private final static String ERR_REQUEST_DENIED =
         "HTTP/1.1 403 Access Denied - This is a SOCKS proxy, not a HTTP proxy\r\n" +
         "Content-Type: text/html; charset=iso-8859-1\r\n" +
-        "Cache-control: no-cache\r\n" +
+        "Cache-Control: no-cache\r\n" +
         "\r\n" +
         "<html><body><H1>I2P SOCKS PROXY ERROR: REQUEST DENIED</H1>" +
         "Your browser is misconfigured. This is a SOCKS proxy, not a HTTP proxy" +
diff --git a/apps/ministreaming/java/src/net/i2p/client/streaming/I2PSocketEepGet.java b/apps/ministreaming/java/src/net/i2p/client/streaming/I2PSocketEepGet.java
index c93c37a26c..5b1badb184 100644
--- a/apps/ministreaming/java/src/net/i2p/client/streaming/I2PSocketEepGet.java
+++ b/apps/ministreaming/java/src/net/i2p/client/streaming/I2PSocketEepGet.java
@@ -233,7 +233,7 @@ public class I2PSocketEepGet extends EepGet {
             buf.append("-\r\n");
         }
         buf.append("Accept-Encoding: \r\n" +
-                   "Cache-control: no-cache\r\n" +
+                   "Cache-Control: no-cache\r\n" +
                    "Pragma: no-cache\r\n" +
                    "Connection: close\r\n");
         boolean uaOverridden = false;
diff --git a/core/java/src/net/i2p/util/EepGet.java b/core/java/src/net/i2p/util/EepGet.java
index 8582956680..1ecb8c4790 100644
--- a/core/java/src/net/i2p/util/EepGet.java
+++ b/core/java/src/net/i2p/util/EepGet.java
@@ -1362,7 +1362,7 @@ public class EepGet {
             buf.append("-\r\n");
         }
         if (!_allowCaching) {
-            buf.append("Cache-control: no-cache\r\n" +
+            buf.append("Cache-Control: no-cache\r\n" +
                        "Pragma: no-cache\r\n");
         }
         boolean uaOverridden = false;
diff --git a/core/java/src/net/i2p/util/PartialEepGet.java b/core/java/src/net/i2p/util/PartialEepGet.java
index c647a1e657..71269999a8 100644
--- a/core/java/src/net/i2p/util/PartialEepGet.java
+++ b/core/java/src/net/i2p/util/PartialEepGet.java
@@ -210,7 +210,7 @@ public class PartialEepGet extends EepGet {
         buf.append(_fetchSize - 1);
         buf.append("\r\n");
 
-        buf.append("Cache-control: no-cache\r\n" +
+        buf.append("Cache-Control: no-cache\r\n" +
                    "Pragma: no-cache\r\n" +
                    "Accept-Encoding: \r\n" +
                    "Connection: close\r\n");
diff --git a/installer/resources/proxy/ahelper-conflict-header.ht b/installer/resources/proxy/ahelper-conflict-header.ht
index ea255aa4b2..8e3ce610f5 100644
--- a/installer/resources/proxy/ahelper-conflict-header.ht
+++ b/installer/resources/proxy/ahelper-conflict-header.ht
@@ -1,7 +1,7 @@
 HTTP/1.1 409 Conflict
 Content-Type: text/html; charset=UTF-8
 Referrer-Policy: no-referrer
-Cache-control: no-cache
+Cache-Control: no-cache
 Connection: close
 Proxy-Connection: close
 
diff --git a/installer/resources/proxy/ahelper-new-header.ht b/installer/resources/proxy/ahelper-new-header.ht
index 413ef927ac..bf970feb04 100644
--- a/installer/resources/proxy/ahelper-new-header.ht
+++ b/installer/resources/proxy/ahelper-new-header.ht
@@ -1,7 +1,7 @@
 HTTP/1.1 409 New Address
 Content-Type: text/html; charset=UTF-8
 Referrer-Policy: no-referrer
-Cache-control: no-cache
+Cache-Control: no-cache
 Connection: close
 Proxy-Connection: close
 
diff --git a/installer/resources/proxy/ahelper-notfound-header.ht b/installer/resources/proxy/ahelper-notfound-header.ht
index f907ce3f35..0aeb454dcd 100644
--- a/installer/resources/proxy/ahelper-notfound-header.ht
+++ b/installer/resources/proxy/ahelper-notfound-header.ht
@@ -1,6 +1,6 @@
 HTTP/1.1 409 Bad Helper
 Content-Type: text/html; charset=UTF-8
-Cache-control: no-cache
+Cache-Control: no-cache
 Connection: close
 Proxy-Connection: close
 
diff --git a/installer/resources/proxy/auth-header.ht b/installer/resources/proxy/auth-header.ht
index bdef8b0d7a..9cf4a940de 100644
--- a/installer/resources/proxy/auth-header.ht
+++ b/installer/resources/proxy/auth-header.ht
@@ -2,7 +2,7 @@ HTTP/1.1 407 Proxy Authorization Required
 Content-Type: text/html; charset=UTF-8
 Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.5
 Proxy-Authenticate: Basic realm="I2P HTTP Proxy"
-Cache-control: no-cache
+Cache-Control: no-cache
 Connection: close
 Proxy-Connection: close
 
diff --git a/installer/resources/proxy/baduri-header.ht b/installer/resources/proxy/baduri-header.ht
index 0855dbdeb3..daeb577496 100644
--- a/installer/resources/proxy/baduri-header.ht
+++ b/installer/resources/proxy/baduri-header.ht
@@ -1,6 +1,6 @@
 HTTP/1.1 403 Bad URI
 Content-Type: text/html; charset=UTF-8
-Cache-control: no-cache
+Cache-Control: no-cache
 Connection: close
 Proxy-Connection: close
 
diff --git a/installer/resources/proxy/denied-header.ht b/installer/resources/proxy/denied-header.ht
index b1132adbc8..c54ad93c13 100644
--- a/installer/resources/proxy/denied-header.ht
+++ b/installer/resources/proxy/denied-header.ht
@@ -1,6 +1,6 @@
 HTTP/1.1 403 Request Denied
 Content-Type: text/html; charset=UTF-8
-Cache-control: no-cache
+Cache-Control: no-cache
 Connection: close
 Proxy-Connection: close
 
diff --git a/installer/resources/proxy/dnf-header.ht b/installer/resources/proxy/dnf-header.ht
index ae1688f655..51f98d8f22 100644
--- a/installer/resources/proxy/dnf-header.ht
+++ b/installer/resources/proxy/dnf-header.ht
@@ -1,6 +1,6 @@
 HTTP/1.1 504 Gateway Timeout
 Content-Type: text/html; charset=UTF-8
-Cache-control: no-cache
+Cache-Control: no-cache
 Connection: close
 Proxy-Connection: close
 
diff --git a/installer/resources/proxy/dnfb-header.ht b/installer/resources/proxy/dnfb-header.ht
index 18edb3342c..e18c3d5be8 100644
--- a/installer/resources/proxy/dnfb-header.ht
+++ b/installer/resources/proxy/dnfb-header.ht
@@ -1,6 +1,6 @@
 HTTP/1.1 400 Destination Not Found
 Content-Type: text/html; charset=UTF-8
-Cache-control: no-cache
+Cache-Control: no-cache
 Connection: close
 Proxy-Connection: close
 
diff --git a/installer/resources/proxy/dnfh-header.ht b/installer/resources/proxy/dnfh-header.ht
index 58283ab570..29a6c878e7 100644
--- a/installer/resources/proxy/dnfh-header.ht
+++ b/installer/resources/proxy/dnfh-header.ht
@@ -1,7 +1,7 @@
 HTTP/1.1 500 Domain Not Found
 Content-Type: text/html; charset=UTF-8
 Referrer-Policy: no-referrer
-Cache-control: no-cache
+Cache-Control: no-cache
 Connection: close
 Proxy-Connection: close
 
diff --git a/installer/resources/proxy/dnfp-header.ht b/installer/resources/proxy/dnfp-header.ht
index bd13081a75..46bb0f6c89 100644
--- a/installer/resources/proxy/dnfp-header.ht
+++ b/installer/resources/proxy/dnfp-header.ht
@@ -1,6 +1,6 @@
 HTTP/1.1 504 Gateway Timeout
 Content-Type: text/html; charset=UTF-8
-Cache-control: no-cache
+Cache-Control: no-cache
 Connection: close
 Proxy-Connection: close
 
diff --git a/installer/resources/proxy/enc-header.ht b/installer/resources/proxy/enc-header.ht
index 117ed6ad1c..b7bdea45f2 100644
--- a/installer/resources/proxy/enc-header.ht
+++ b/installer/resources/proxy/enc-header.ht
@@ -1,6 +1,6 @@
 HTTP/1.1 504 Gateway Timeout
 Content-Type: text/html; charset=UTF-8
-Cache-control: no-cache
+Cache-Control: no-cache
 Connection: close
 Proxy-Connection: close
 
diff --git a/installer/resources/proxy/encp-header.ht b/installer/resources/proxy/encp-header.ht
index 01c5b2d654..e3fe502178 100644
--- a/installer/resources/proxy/encp-header.ht
+++ b/installer/resources/proxy/encp-header.ht
@@ -1,6 +1,6 @@
 HTTP/1.1 504 Gateway Timeout
 Content-Type: text/html; charset=UTF-8
-Cache-control: no-cache
+Cache-Control: no-cache
 Connection: close
 Proxy-Connection: close
 
diff --git a/installer/resources/proxy/localhost-header.ht b/installer/resources/proxy/localhost-header.ht
index 5b634f0367..ff3e0603b7 100644
--- a/installer/resources/proxy/localhost-header.ht
+++ b/installer/resources/proxy/localhost-header.ht
@@ -1,6 +1,6 @@
 HTTP/1.1 403 Access Denied
 Content-Type: text/html; charset=UTF-8
-Cache-control: no-cache
+Cache-Control: no-cache
 Connection: close
 Proxy-Connection: close
 
diff --git a/installer/resources/proxy/nols-header.ht b/installer/resources/proxy/nols-header.ht
index 3af938749a..4a31eeeeaa 100644
--- a/installer/resources/proxy/nols-header.ht
+++ b/installer/resources/proxy/nols-header.ht
@@ -1,6 +1,6 @@
 HTTP/1.1 504 Gateway Timeout
 Content-Type: text/html; charset=UTF-8
-Cache-control: no-cache
+Cache-Control: no-cache
 Connection: close
 Proxy-Connection: close
 
diff --git a/installer/resources/proxy/nolsp-header.ht b/installer/resources/proxy/nolsp-header.ht
index 05a35cfcb9..31ed0f62fd 100644
--- a/installer/resources/proxy/nolsp-header.ht
+++ b/installer/resources/proxy/nolsp-header.ht
@@ -1,6 +1,6 @@
 HTTP/1.1 504 Gateway Timeout
 Content-Type: text/html; charset=UTF-8
-Cache-control: no-cache
+Cache-Control: no-cache
 Connection: close
 Proxy-Connection: close
 
diff --git a/installer/resources/proxy/noproxy-header.ht b/installer/resources/proxy/noproxy-header.ht
index 1888d7fd37..c95891c377 100644
--- a/installer/resources/proxy/noproxy-header.ht
+++ b/installer/resources/proxy/noproxy-header.ht
@@ -1,6 +1,6 @@
 HTTP/1.1 503 No Outproxy Configured
 Content-Type: text/html; charset=UTF-8
-Cache-control: no-cache
+Cache-Control: no-cache
 Connection: close
 Proxy-Connection: close
 
diff --git a/installer/resources/proxy/protocol-header.ht b/installer/resources/proxy/protocol-header.ht
index 0599ff58b0..c486392583 100644
--- a/installer/resources/proxy/protocol-header.ht
+++ b/installer/resources/proxy/protocol-header.ht
@@ -1,6 +1,6 @@
 HTTP/1.1 403 Bad Protocol
 Content-Type: text/html; charset=UTF-8
-Cache-control: no-cache
+Cache-Control: no-cache
 Connection: close
 Proxy-Connection: close
 
diff --git a/installer/resources/proxy/reset-header.ht b/installer/resources/proxy/reset-header.ht
index 4b6c1259b4..0e0ec284bf 100644
--- a/installer/resources/proxy/reset-header.ht
+++ b/installer/resources/proxy/reset-header.ht
@@ -1,6 +1,6 @@
 HTTP/1.1 403 Connection Reset
 Content-Type: text/html; charset=UTF-8
-Cache-control: no-cache
+Cache-Control: no-cache
 Connection: close
 Proxy-Connection: close
 
diff --git a/installer/resources/proxy/resetp-header.ht b/installer/resources/proxy/resetp-header.ht
index a5458f53b6..17e90af8d0 100644
--- a/installer/resources/proxy/resetp-header.ht
+++ b/installer/resources/proxy/resetp-header.ht
@@ -1,6 +1,6 @@
 HTTP/1.1 403 Connection Reset
 Content-Type: text/html; charset=UTF-8
-Cache-control: no-cache
+Cache-Control: no-cache
 Connection: close
 Proxy-Connection: close
 
-- 
GitLab