Index: include/httpd.h =================================================================== --- include/httpd.h (revision 1729438) +++ include/httpd.h (working copy) @@ -532,6 +532,7 @@ #define HTTP_PRECONDITION_REQUIRED 428 #define HTTP_TOO_MANY_REQUESTS 429 #define HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE 431 +#define HTTP_UNAVAILABLE_FOR_LEGAL_REASONS 451 #define HTTP_INTERNAL_SERVER_ERROR 500 #define HTTP_NOT_IMPLEMENTED 501 #define HTTP_BAD_GATEWAY 502 Index: modules/http/http_protocol.c =================================================================== --- modules/http/http_protocol.c (revision 1729438) +++ modules/http/http_protocol.c (working copy) @@ -146,7 +146,27 @@ "429 Too Many Requests", NULL, /* 430 */ "431 Request Header Fields Too Large", -#define LEVEL_500 71 + NULL, /* 432 */ + NULL, /* 433 */ + NULL, /* 434 */ + NULL, /* 435 */ + NULL, /* 436 */ + NULL, /* 437 */ + NULL, /* 438 */ + NULL, /* 439 */ + NULL, /* 440 */ + NULL, /* 441 */ + NULL, /* 442 */ + NULL, /* 443 */ + NULL, /* 444 */ + NULL, /* 445 */ + NULL, /* 446 */ + NULL, /* 447 */ + NULL, /* 448 */ + NULL, /* 449 */ + NULL, /* 450 */ + "451 Unavailable For Legal Reasons", +#define LEVEL_500 91 "500 Internal Server Error", "501 Not Implemented", "502 Bad Gateway", @@ -1313,6 +1333,13 @@ "request as the requested host name does not match\n" "the Server Name Indication (SNI) in use for this\n" "connection.

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

Access to ", + ap_escape_html(r->pool, r->uri), + "\nhas been denied for legal reasons.
\n", + NULL); + return(add_optional_notes(r, s1, "error-notes", "

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