mirror of
https://github.com/jetty/jetty.project.git
synced 2025-03-03 04:19:12 +00:00
Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
This commit is contained in:
commit
bc663d2d63
@ -46,7 +46,8 @@ public class ForwardedSchemeHeaderRule extends HeaderRule
|
||||
@Override
|
||||
protected String apply(String target, String value, HttpServletRequest request, HttpServletResponse response)
|
||||
{
|
||||
((Request)request).setScheme(_scheme);
|
||||
Request baseRequest = Request.getBaseRequest(request);
|
||||
baseRequest.setScheme(_scheme);
|
||||
return target;
|
||||
}
|
||||
}
|
||||
|
@ -121,6 +121,8 @@ public class DigestAuthenticator extends LoginAuthenticator
|
||||
|
||||
try
|
||||
{
|
||||
Request baseRequest = Request.getBaseRequest(request);
|
||||
|
||||
boolean stale = false;
|
||||
if (credentials != null)
|
||||
{
|
||||
@ -173,7 +175,7 @@ public class DigestAuthenticator extends LoginAuthenticator
|
||||
}
|
||||
}
|
||||
|
||||
int n = checkNonce(digest, (Request)request);
|
||||
int n = checkNonce(digest, baseRequest);
|
||||
|
||||
if (n > 0)
|
||||
{
|
||||
@ -195,7 +197,7 @@ public class DigestAuthenticator extends LoginAuthenticator
|
||||
domain = "/";
|
||||
response.setHeader(HttpHeader.WWW_AUTHENTICATE.asString(), "Digest realm=\"" + _loginService.getName() +
|
||||
"\", domain=\"" + domain +
|
||||
"\", nonce=\"" + newNonce((Request)request) +
|
||||
"\", nonce=\"" + newNonce(baseRequest) +
|
||||
"\", algorithm=MD5" +
|
||||
", qop=\"auth\"" +
|
||||
", stale=" + stale);
|
||||
|
@ -272,12 +272,19 @@ public class HttpConnection extends AbstractConnection implements Runnable, Http
|
||||
// Parse the request buffer.
|
||||
boolean handle = parseRequestBuffer();
|
||||
|
||||
// There could be a connection upgrade before handling
|
||||
// the HTTP/1.1 request, for example PRI * HTTP/2.
|
||||
// If there was a connection upgrade, the other
|
||||
// connection took over, nothing more to do here.
|
||||
if (getEndPoint().getConnection() != this)
|
||||
break;
|
||||
|
||||
// Handle channel event
|
||||
if (handle)
|
||||
{
|
||||
boolean suspended = !_channel.handle();
|
||||
|
||||
// We should break iteration if we have suspended or changed connection or this is not the handling thread.
|
||||
// We should break iteration if we have suspended or upgraded the connection.
|
||||
if (suspended || getEndPoint().getConnection() != this)
|
||||
break;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user