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

The client needs to authenticate to gain\n"

8335b1
                "network access.

\n");
8335b1
+    case HTTP_UNAVAILABLE_FOR_LEGAL_REASONS:
8335b1
+        s1 = apr_pstrcat(p,
8335b1
+                         "

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

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

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