Merge "Fix wrong status returned when auth backend couldn't be reached" into stable-2.16
This commit is contained in:
@@ -15,6 +15,7 @@
|
|||||||
package com.google.gerrit.httpd;
|
package com.google.gerrit.httpd;
|
||||||
|
|
||||||
import static java.nio.charset.StandardCharsets.UTF_8;
|
import static java.nio.charset.StandardCharsets.UTF_8;
|
||||||
|
import static javax.servlet.http.HttpServletResponse.SC_SERVICE_UNAVAILABLE;
|
||||||
import static javax.servlet.http.HttpServletResponse.SC_UNAUTHORIZED;
|
import static javax.servlet.http.HttpServletResponse.SC_UNAUTHORIZED;
|
||||||
|
|
||||||
import com.google.common.base.MoreObjects;
|
import com.google.common.base.MoreObjects;
|
||||||
@@ -31,6 +32,7 @@ import com.google.gerrit.server.account.AccountState;
|
|||||||
import com.google.gerrit.server.account.AuthRequest;
|
import com.google.gerrit.server.account.AuthRequest;
|
||||||
import com.google.gerrit.server.account.AuthResult;
|
import com.google.gerrit.server.account.AuthResult;
|
||||||
import com.google.gerrit.server.account.AuthenticationFailedException;
|
import com.google.gerrit.server.account.AuthenticationFailedException;
|
||||||
|
import com.google.gerrit.server.auth.AuthenticationUnavailableException;
|
||||||
import com.google.gerrit.server.auth.NoSuchUserException;
|
import com.google.gerrit.server.auth.NoSuchUserException;
|
||||||
import com.google.gerrit.server.config.AuthConfig;
|
import com.google.gerrit.server.config.AuthConfig;
|
||||||
import com.google.inject.Inject;
|
import com.google.inject.Inject;
|
||||||
@@ -169,6 +171,10 @@ class ProjectBasicAuthFilter implements Filter {
|
|||||||
logger.atWarning().log(authenticationFailedMsg(username, req) + ": %s", e.getMessage());
|
logger.atWarning().log(authenticationFailedMsg(username, req) + ": %s", e.getMessage());
|
||||||
rsp.sendError(SC_UNAUTHORIZED);
|
rsp.sendError(SC_UNAUTHORIZED);
|
||||||
return false;
|
return false;
|
||||||
|
} catch (AuthenticationUnavailableException e) {
|
||||||
|
logger.atSevere().withCause(e).log("could not reach authentication backend");
|
||||||
|
rsp.sendError(SC_SERVICE_UNAVAILABLE);
|
||||||
|
return false;
|
||||||
} catch (AccountException e) {
|
} catch (AccountException e) {
|
||||||
logger.atWarning().withCause(e).log(authenticationFailedMsg(username, req));
|
logger.atWarning().withCause(e).log(authenticationFailedMsg(username, req));
|
||||||
rsp.sendError(SC_UNAUTHORIZED);
|
rsp.sendError(SC_UNAUTHORIZED);
|
||||||
|
|||||||
Reference in New Issue
Block a user