Package org.forgerock.openam.radius.server
Holds directly or via sub-packages mechanism for enabling openAM to be a radius server.
The RADIUS server is created as a part of OpenAM using the Java service loader mechanism.
in /src/main/resources/META-INF/services there exists a file com.sun.identity.setup.SetupListener
that specifies implementations of SetupListener that will be loaded by AMSetupServlet.
The RADIUS server uses that mechanism to have
AMSetupServlet load the
RadiusServiceManager and call addListener on it. When that happens
the RadiusServerManager will use the RadiusServerGuiceModule to create a Guice injector
and get from it a singleton instance of RadiusServiceStarter, which loads config, creates the RadiusRequestListener
and monitors for further config changes.
Shutdown of the RADIUS server can happen for a number of reasons;
a) The container is stopping the OpenAM servlet.
b) A catastrophic error occurred while processing a radius request.
In case a, when the OpenAM servlet is shutting down, the RadiusServerManager will be notified as
when it is created it registers for shutdown notification with the ShutdownListener. This event starts an orderly
shutdown of the RADIUS server.-
Class Summary Class Description AccessRequestHandlerFactory Responsible for constructing the class specified in the client configuration that will be used to handle Access-Request RADIUS messages.ConsoleClient Implements a console based RADIUS client that enables testing of a radius server.DroppedRequestHandler Handles incoming requests to the radius server when the thread pool's queue is full.RadiusRequest Encapsulates a radius request.RadiusRequestContext Holds context information about a received radius request being processed and provides the means for a client's handler to send a response.RadiusRequestHandler Handles valid (ie: from approved clients) incoming radius access-request packets passing responsibility for generating a response to the client's declared handler class.RadiusRequestListener Listens for incoming radius requests, validates they are for defined clients, drops packets that aren't, and queues for handling those that are.RadiusResponse Holds the Radius packet to be returned to the requester, along with other information for audit logging/accounting purposes.RadiusServerGuiceModule This module is loaded by the java service loader mechanism due, initiated by the entry in META-INF/services.RadiusServiceManager This class is responsible for starting and stopping the RADIUS server.RadiusThreadFactory Creates threads with name RADIUS-Request-Handler-# with # being the index of creation.RequestListenerFactory A class that may be used to obtain createdRadiusRequestListenerobjects. -
Enum Summary Enum Description RadiusProcessingExceptionNature Enum that describes the nature of the exception. -
Exception Summary Exception Description RadiusLifecycleException Exception to be thrown for Radius startup, shutdown & re-configuration errors.RadiusProcessingException An exception thrown when a response to a RADIUS message could not be sent.