Servlets: Close output stream on redirect,

instead of flushing buffer, to force commitment
This commit is contained in:
zzz
2018-03-09 21:02:00 +00:00
parent a2dbb21853
commit 4bcb1d27e4
11 changed files with 30 additions and 8 deletions

View File

@ -290,7 +290,7 @@ class BasicServlet extends HttpServlet
return true;
}
response.setStatus(304);
response.flushBuffer();
response.getOutputStream().close();
return false;
}
}

View File

@ -1370,7 +1370,7 @@ public class I2PSnarkServlet extends BasicServlet {
buf.append(p.replace("&", "&")); // no you don't html escape the redirect header
resp.setHeader("Location", buf.toString());
resp.setStatus(303);
resp.flushBuffer();
resp.getOutputStream().close();
}
/** @since 0.9 */

View File

@ -183,6 +183,6 @@ public class HostCheckHandler extends GzipHandler
// https://w3c.github.io/webappsec-upgrade-insecure-requests/
httpResponse.setHeader("Vary", "Upgrade-Insecure-Requests");
httpResponse.setStatus(307);
httpResponse.flushBuffer();
httpResponse.getOutputStream().close();
}
}

View File

@ -65,7 +65,7 @@ public class CodedIconRendererServlet extends HttpServlet {
}
} else {
srs.setStatus(304);
srs.flushBuffer();
srs.getOutputStream().close();
}
} else {
//Binary data is not present but must be substituted by file on disk

View File

@ -9,6 +9,9 @@
if (!testIFrame) {
response.setStatus(307);
response.setHeader("Location", "/susidns/index");
// force commitment
response.getOutputStream().close();
return;
} else {
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

View File

@ -24,6 +24,8 @@
// probably because restart or shutdown was clicked
response.setStatus(307);
response.setHeader("Location", "/graphs");
// force commitment
response.getOutputStream().close();
return;
}
%>

View File

@ -9,6 +9,9 @@
if (!testIFrame) {
response.setStatus(307);
response.setHeader("Location", "/i2ptunnel/");
// force commitment
response.getOutputStream().close();
return;
} else {
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

View File

@ -1,6 +1,12 @@
<%@page contentType="text/plain"%>
<%@page pageEncoding="UTF-8"%>
<%
/*
* USE CAUTION WHEN EDITING
* Trailing whitespace OR NEWLINE on the last line will cause
* IllegalStateExceptions !!!
*
* Do not tag this file for translation.
*/
//
// Redirect to either /home or /console, depending on configuration,
// while preserving any query parameters
@ -24,4 +30,6 @@
if (query != null)
buf.append('?').append(query);
response.setHeader("Location", buf.toString());
%>
// force commitment
response.getOutputStream().close();
%>

View File

@ -10,6 +10,9 @@
if (!testIFrame || !embedApp) {
response.setStatus(307);
response.setHeader("Location", "/i2psnark/");
// force commitment
response.getOutputStream().close();
return;
} else {
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

View File

@ -10,6 +10,9 @@
if (!testIFrame || !embedApp) {
response.setStatus(307);
response.setHeader("Location", "/susimail/susimail");
// force commitment
response.getOutputStream().close();
return;
} else {
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

View File

@ -2297,7 +2297,7 @@ public class WebMail extends HttpServlet
buf.append(q.replace("&amp;", "&")); // no you don't html escape the redirect header
resp.setHeader("Location", buf.toString());
resp.setStatus(303);
resp.flushBuffer();
resp.getOutputStream().close();
Debug.debug(Debug.DEBUG, "P-R-G to " + q);
}