mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-07 05:31:22 +00:00
GUACAMOLE-197: Deal correctly with EAP Challenge/Response, which is different from 2/Multi-factor Challenge/Response
This commit is contained in:
committed by
Nick Couchman
parent
ead5480ca9
commit
aa45177387
@@ -40,6 +40,8 @@ import net.jradius.client.auth.EAPTTLSAuthenticator;
|
|||||||
import net.jradius.client.auth.RadiusAuthenticator;
|
import net.jradius.client.auth.RadiusAuthenticator;
|
||||||
import net.jradius.client.auth.PEAPAuthenticator;
|
import net.jradius.client.auth.PEAPAuthenticator;
|
||||||
import net.jradius.packet.attribute.AttributeFactory;
|
import net.jradius.packet.attribute.AttributeFactory;
|
||||||
|
import net.jradius.packet.AccessChallenge;
|
||||||
|
import net.jradius.packet.RadiusResponse;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Service for creating and managing connections to RADIUS servers.
|
* Service for creating and managing connections to RADIUS servers.
|
||||||
@@ -255,7 +257,13 @@ public class RadiusConnectionService {
|
|||||||
|
|
||||||
radAuth.setupRequest(radiusClient, radAcc);
|
radAuth.setupRequest(radiusClient, radAcc);
|
||||||
radAuth.processRequest(radAcc);
|
radAuth.processRequest(radAcc);
|
||||||
return radiusClient.sendReceive(radAcc, confService.getRadiusRetries());
|
RadiusResponse reply = radiusClient.sendReceive(radAcc, confService.getRadiusRetries());
|
||||||
|
if ((reply instanceof AccessChallenge) && (reply.findAttribute(Attr_EAPMessage.TYPE) != null)) {
|
||||||
|
logger.debug("We got an AccessChallenge message, and it appears to be an EAP mechanism, trying to process.");
|
||||||
|
radAuth.processChallenge(radAcc, reply);
|
||||||
|
reply = radiusClient.sendReceive(radAcc, confService.getRadiusRetries());
|
||||||
|
}
|
||||||
|
return reply;
|
||||||
}
|
}
|
||||||
|
|
||||||
catch (RadiusException e) {
|
catch (RadiusException e) {
|
||||||
|
Reference in New Issue
Block a user