HADOOP-8816. HTTP Error 413 full HEAD if using kerberos authentication. (moritzmoeller via tucu)
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1433567 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
72e631098d
commit
8ab69eb0c3
|
@ -546,6 +546,9 @@ Release 2.0.3-alpha - Unreleased
|
|||
HADOOP-9178. src/main/conf is missing hadoop-policy.xml.
|
||||
(Sandy Ryza via eli)
|
||||
|
||||
HADOOP-8816. HTTP Error 413 full HEAD if using kerberos authentication.
|
||||
(moritzmoeller via tucu)
|
||||
|
||||
Release 2.0.2-alpha - 2012-09-07
|
||||
|
||||
INCOMPATIBLE CHANGES
|
||||
|
|
|
@ -305,6 +305,7 @@ public class HttpServer implements FilterContainer {
|
|||
ret.setAcceptQueueSize(128);
|
||||
ret.setResolveNames(false);
|
||||
ret.setUseDirectBuffers(false);
|
||||
ret.setHeaderBufferSize(1024*64);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
@ -119,6 +119,18 @@ public class TestHttpServer extends HttpServerFunctionalTest {
|
|||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public static class LongHeaderServlet extends HttpServlet {
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public void doGet(HttpServletRequest request,
|
||||
HttpServletResponse response
|
||||
) throws ServletException, IOException {
|
||||
Assert.assertEquals(63 * 1024, request.getHeader("longheader").length());
|
||||
response.setStatus(HttpServletResponse.SC_OK);
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public static class HtmlContentServlet extends HttpServlet {
|
||||
@Override
|
||||
|
@ -139,6 +151,7 @@ public class TestHttpServer extends HttpServerFunctionalTest {
|
|||
server.addServlet("echo", "/echo", EchoServlet.class);
|
||||
server.addServlet("echomap", "/echomap", EchoMapServlet.class);
|
||||
server.addServlet("htmlcontent", "/htmlcontent", HtmlContentServlet.class);
|
||||
server.addServlet("longheader", "/longheader", LongHeaderServlet.class);
|
||||
server.addJerseyResourcePackage(
|
||||
JerseyResource.class.getPackage().getName(), "/jersey/*");
|
||||
server.start();
|
||||
|
@ -197,6 +210,22 @@ public class TestHttpServer extends HttpServerFunctionalTest {
|
|||
readOutput(new URL(baseUrl, "/echomap?a=b&c<=d&a=>")));
|
||||
}
|
||||
|
||||
/**
|
||||
* Test that verifies headers can be up to 64K long.
|
||||
* The test adds a 63K header leaving 1K for other headers.
|
||||
* This is because the header buffer setting is for ALL headers,
|
||||
* names and values included. */
|
||||
@Test public void testLongHeader() throws Exception {
|
||||
URL url = new URL(baseUrl, "/longheader");
|
||||
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (int i = 0 ; i < 63 * 1024; i++) {
|
||||
sb.append("a");
|
||||
}
|
||||
conn.setRequestProperty("longheader", sb.toString());
|
||||
assertEquals(HttpURLConnection.HTTP_OK, conn.getResponseCode());
|
||||
}
|
||||
|
||||
@Test public void testContentTypes() throws Exception {
|
||||
// Static CSS files should have text/css
|
||||
URL cssUrl = new URL(baseUrl, "/static/test.css");
|
||||
|
|
Loading…
Reference in New Issue