GUACAMOLE-611: Handle sublasses of Error in addition to RuntimeException. Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/9d4aae18 Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/9d4aae18 Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/9d4aae18
Branch: refs/heads/master Commit: 9d4aae187b71b9072764f322d25c48e11a4e1bdb Parents: cc742f2 Author: Michael Jumper <mjum...@apache.org> Authored: Sat Aug 25 13:52:41 2018 -0700 Committer: Michael Jumper <mjum...@apache.org> Committed: Sat Aug 25 13:54:06 2018 -0700 ---------------------------------------------------------------------- .../extension/AuthenticationProviderFacade.java | 26 ++++++++++++++++++++ 1 file changed, 26 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/9d4aae18/guacamole/src/main/java/org/apache/guacamole/extension/AuthenticationProviderFacade.java ---------------------------------------------------------------------- diff --git a/guacamole/src/main/java/org/apache/guacamole/extension/AuthenticationProviderFacade.java b/guacamole/src/main/java/org/apache/guacamole/extension/AuthenticationProviderFacade.java index 3b8fd62..2b4f99c 100644 --- a/guacamole/src/main/java/org/apache/guacamole/extension/AuthenticationProviderFacade.java +++ b/guacamole/src/main/java/org/apache/guacamole/extension/AuthenticationProviderFacade.java @@ -222,6 +222,19 @@ public class AuthenticationProviderFacade implements AuthenticationProvider { throw e; } + catch (Error e) { + + // Skip using this authentication provider if configured to ignore + // internal failures during auth + if (isFailureTolerated()) { + warnAuthProviderSkipped(e); + return null; + } + + warnAuthAborted(); + throw e; + + } } @@ -289,6 +302,19 @@ public class AuthenticationProviderFacade implements AuthenticationProvider { throw e; } + catch (Error e) { + + // Skip using this authentication provider if configured to ignore + // internal failures during auth + if (isFailureTolerated()) { + warnAuthProviderSkipped(e); + return null; + } + + warnAuthAborted(); + throw e; + + } }