GUACAMOLE-774: Merge correction for Java 9+ compatibility in RADIUS build.
diff --git a/extensions/guacamole-auth-radius/src/main/java/org/apache/guacamole/auth/radius/RadiusAuthenticationProviderModule.java b/extensions/guacamole-auth-radius/src/main/java/org/apache/guacamole/auth/radius/RadiusAuthenticationProviderModule.java
index d34b0b3..4224f77 100644
--- a/extensions/guacamole-auth-radius/src/main/java/org/apache/guacamole/auth/radius/RadiusAuthenticationProviderModule.java
+++ b/extensions/guacamole-auth-radius/src/main/java/org/apache/guacamole/auth/radius/RadiusAuthenticationProviderModule.java
@@ -20,7 +20,8 @@
package org.apache.guacamole.auth.radius;
import com.google.inject.AbstractModule;
-import java.security.Provider;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
import java.security.Security;
import org.apache.guacamole.GuacamoleException;
import org.apache.guacamole.auth.radius.conf.ConfigurationService;
@@ -29,6 +30,7 @@
import org.apache.guacamole.environment.Environment;
import org.apache.guacamole.environment.LocalEnvironment;
import org.apache.guacamole.net.auth.AuthenticationProvider;
+import org.bouncycastle.jce.provider.BouncyCastleProvider;
/**
* Guice module which configures RADIUS-specific injections.
@@ -71,11 +73,12 @@
|| innerProtocol == RadiusAuthenticationProtocol.MSCHAPv1
|| innerProtocol == RadiusAuthenticationProtocol.MSCHAPv2) {
- Security.addProvider(new Provider("MD4", 0.00, "MD4 for MSCHAPv1/2 Support") {
- {
- this.put("MessageDigest.MD4", org.bouncycastle.jce.provider.JDKMessageDigest.MD4.class.getName());
- }
- });
+ try {
+ MessageDigest.getInstance("MD4");
+ }
+ catch (NoSuchAlgorithmException e) {
+ Security.addProvider(new BouncyCastleProvider());
+ }
}