41a6c3
# ./pullrev.sh 1748212
41a6c3
http://svn.apache.org/viewvc?view=revision&revision=1748212
41a6c3
41a6c3
https://bugzilla.redhat.com/show_bug.cgi?id=1343582
41a6c3
41a6c3
diff -uap httpd-2.4.6/include/httpd.h.r1748212 httpd-2.4.6/include/httpd.h
41a6c3
--- httpd-2.4.6/include/httpd.h.r1748212
41a6c3
+++ httpd-2.4.6/include/httpd.h
41a6c3
@@ -477,7 +477,7 @@ AP_DECLARE(const char *) ap_get_server_b
41a6c3
  * When adding a new code here add it to status_lines as well.
41a6c3
  * A future version should dynamically generate the apr_table_t at startup.
41a6c3
  */
41a6c3
-#define RESPONSE_CODES 83
41a6c3
+#define RESPONSE_CODES 103
41a6c3
 
41a6c3
 #define HTTP_CONTINUE                        100
41a6c3
 #define HTTP_SWITCHING_PROTOCOLS             101
41a6c3
@@ -525,6 +525,7 @@ AP_DECLARE(const char *) ap_get_server_b
41a6c3
 #define HTTP_PRECONDITION_REQUIRED           428
41a6c3
 #define HTTP_TOO_MANY_REQUESTS               429
41a6c3
 #define HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE 431
41a6c3
+#define HTTP_UNAVAILABLE_FOR_LEGAL_REASONS   451
41a6c3
 #define HTTP_INTERNAL_SERVER_ERROR           500
41a6c3
 #define HTTP_NOT_IMPLEMENTED                 501
41a6c3
 #define HTTP_BAD_GATEWAY                     502
41a6c3
diff -uap httpd-2.4.6/modules/http/http_protocol.c.r1748212 httpd-2.4.6/modules/http/http_protocol.c
41a6c3
--- httpd-2.4.6/modules/http/http_protocol.c.r1748212
41a6c3
+++ httpd-2.4.6/modules/http/http_protocol.c
41a6c3
@@ -146,7 +146,27 @@ static const char * const status_lines[R
41a6c3
     "429 Too Many Requests",
41a6c3
     NULL, /* 430 */
41a6c3
     "431 Request Header Fields Too Large",
41a6c3
-#define LEVEL_500 71
41a6c3
+    NULL, /* 432 */
41a6c3
+    NULL, /* 433 */
41a6c3
+    NULL, /* 434 */
41a6c3
+    NULL, /* 435 */
41a6c3
+    NULL, /* 436 */
41a6c3
+    NULL, /* 437 */
41a6c3
+    NULL, /* 438 */
41a6c3
+    NULL, /* 439 */
41a6c3
+    NULL, /* 440 */
41a6c3
+    NULL, /* 441 */
41a6c3
+    NULL, /* 442 */
41a6c3
+    NULL, /* 443 */
41a6c3
+    NULL, /* 444 */
41a6c3
+    NULL, /* 445 */
41a6c3
+    NULL, /* 446 */
41a6c3
+    NULL, /* 447 */
41a6c3
+    NULL, /* 448 */
41a6c3
+    NULL, /* 449 */
41a6c3
+    NULL, /* 450 */
41a6c3
+    "451 Unavailable For Legal Reasons",
41a6c3
+#define LEVEL_500 91
41a6c3
     "500 Internal Server Error",
41a6c3
     "501 Not Implemented",
41a6c3
     "502 Bad Gateway",
41a6c3
@@ -1295,6 +1315,12 @@ static const char *get_canned_error_stri
41a6c3
     case HTTP_NETWORK_AUTHENTICATION_REQUIRED:
41a6c3
         return("

The client needs to authenticate to gain\n"

41a6c3
                "network access.

\n");
41a6c3
+    case HTTP_UNAVAILABLE_FOR_LEGAL_REASONS:
41a6c3
+        s1 = apr_pstrcat(p,
41a6c3
+                         "

Access to ", ap_escape_html(r->pool, r->uri),

41a6c3
+                         "\nhas been denied for legal reasons.
\n",
41a6c3
+                         NULL);
41a6c3
+        return(add_optional_notes(r, s1, "error-notes", "

\n"));
41a6c3
     default:                    /* HTTP_INTERNAL_SERVER_ERROR */
41a6c3
         /*
41a6c3
          * This comparison to expose error-notes could be modified to