|
AXL RADIUS Server API V3 | |||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
ObjectRADIUSServer
RADIUS Server API for dial up and other applications.
Provides accounting and authentication from a Network Access Server (NAS) or software RADIUS client. Provides authentication and accounting services and can proxy the same. In addition it offers the ability to alter proxy destinations on the fly based on attribute values.
Access control, logging, proxy alterations, and packet snooping are separate API.'s (see links below).
Compliant with RFC's 2138 and 2139.
| Field Summary | |
static int |
ACCT_PORT
Port number (1813) for RADIUS Accounting |
static int |
ALT_ACCT_PORT
Original RADIUS Accounting port number (1646) still in use on non-standard servers. |
static int |
ALT_AUTH_PORT
Original RADIUS Authentication port number (1645) still in use on non-standard servers. |
static int |
AUTH_PORT
Port number (1812) for RADIUS Authentication |
static int |
DEFAULT_MAX_PACKETS
Default maximum number of concurrent packets that will be permitted - set to 50. |
static int |
DMCOA_PORT
The Disconnect-Request & Change-of-Authorization UDP port 3799. |
static int |
DUPLICATE_DETECTION_AUTHENTICATOR
Duplicate detection method used by setDuplicateDetectionMethod().
|
static int |
DUPLICATE_DETECTION_NASPORTID
Duplicate detection method used by setDuplicateDetectionMethod().
|
static int |
SL_BOTH
Server Logging Choice. |
static int |
SL_FAILURE
Server Logging Choice. |
static int |
SL_NONE
Server Logging Choice. |
static int |
SL_SUCCESS
Server Logging Choice. |
static String |
Version
Server software version "3.44". |
| Constructor Summary | |
RADIUSServer()
Creates the RADIUS Server Object. |
|
| Method Summary | |
void |
addAcctPacketType(int packetType,
int direction)
Add a packet type to the accounting server. |
void |
addAcctPacketType(int packetType,
int direction,
int proxyAttribute)
Add a packet type to the accounting server. |
void |
addAuthPacketType(int packetType,
int direction)
Add a packet type to the authentication server. |
void |
addDebugFilter(InetAddress filterIP)
Debug Log Filtering The filter will limit debug logging for the specified addresses. |
void |
addDictionary(RADIUSDictionary dict)
Add a dictionary to the RADIUS server's knowledge of vendor Id's and attribute names / types. |
boolean |
addNAS(NAS nas)
Add a NAS entry. |
void |
addProxyTarget(ProxyTarget pt)
Add a proxy target to the target tables. |
void |
allowEmptyAttributes(boolean enable)
Allow empty attributes. |
void |
clearDebugFilter()
Debug Log Filtering Clear all debug log filters. |
void |
clearNAS()
Remove all NAS entries. |
void |
clearProxyTarget()
Clear the proxy target table. |
void |
clearStats()
Clear server statistics. |
void |
closeLogFiles()
Close all open log files. |
void |
debugLog(String msg)
Log a debug message. |
void |
disableAcctDuplicateChecking()
Disable duplicate packet checking for the accounting server. |
void |
disableAuthDuplicateChecking()
Disable duplicate packet checking for the authentication server. |
void |
divertExtendedPacket(int packetType)
Divert an extended packet type to either the authentication
or accounting method instead
of the extended packet handler.
|
NAS |
getClientNAS(InetAddress nasIP)
Get tht NAS entry for a particular client by it's IP address. |
int |
getCurrentPacketCount()
Get the approximate count of current packets being processed. |
int |
getMaximumPackets()
Get the maximum number of concurrent packets the server will handle. |
int |
getMaxPacketSize()
Get the maximum packet size of a RADIUS packet. |
Object |
getModuleInstance(String moduleName,
Object obj)
Instantiate a server support module. |
ProxyTarget[] |
getProxyTargetList()
Get the list of ProxyTargets. |
int |
getServerLogLevel()
Get the current server log level. |
SNMPStats |
getSNMPStats()
Get server statistics. |
RADIUSStats |
getStats()
Get server statistics. |
void |
log(String msg)
Log a server message. |
void |
log(String msg,
int logLevel)
Log a server message. |
void |
removeAcctPacketType(int packetType)
Remove a packet type from the accounting server. |
void |
removeAuthPacketType(int packetType)
Remove a packet type from the authentication server. |
void |
removeDebugFilter(InetAddress filterIP)
Debug Log Filtering Remove a debug log filter. |
void |
removeNAS(NAS nas)
Remove a NAS entry from the tables. |
void |
removeProxyTarget(String targetName)
Remove a proxy target form the target tables This may be called at any time, before or after starting the server. |
boolean |
replaceNASList(NAS[] nasList)
Replace the current list of NAS's. |
void |
sendSNMPTrap(String msg)
Send a V2 SNMP trap. |
void |
setAccessImplFactory(AccessImplFactory fac)
Set up the Access system. |
void |
setAccountingImplFactory(AccountingImplFactory fac)
Set up the Accounting system. |
void |
setAcctDuplicateTTL(int seconds)
Set the TTL for duplicate packets for the accounting server. |
void |
setAuthDuplicateTTL(int seconds)
Set the TTL for duplicate packets for the authentication server. |
void |
setDebugLogImplFactory(LogImplFactory fac)
Set up the Debug logging system. |
void |
setDuplicateDetectionMethod(int detectionMethod)
Use an alternate form of duplicate detection. |
void |
setEncryptImplFactory(EncryptImplFactory fac)
Set up the Proxy packet encryption system. |
void |
setExtendedPacketImplFactory(ExtendedPacketImplFactory fac)
Set up the Extended Packet receiver system. |
void |
setMaximumPackets(int maxPackets)
Set the maximum number of concurrent packets the server will handle - must be configured after one of the server receivers is started (authentication or accounting); Setting this to zero will effectively stop the server. |
void |
setMaxPacketSize(int packetSize)
Change the maximum packet size of a RADIUS packet. |
void |
setMinimumPackets(int minPackets)
Set the minimum number of concurrent packets the server will provide initially. |
void |
setMultihome(boolean allInterfaces)
Specify how the receiver interface is bound. |
void |
setNASCallBackFactory(NASCallBackFactory fac)
Set up an unknown NASCallBack. |
void |
setPrefixCharacter(char prefixChar)
Set the User-Name prefix character. |
void |
setProxyCharacter(char proxyChar)
Set the proxy character. |
void |
setProxyImplFactory(ProxyImplFactory fac)
Set up the Proxy alteration system. |
void |
setProxyStateTTL(int seconds)
Set the time the objects associated with a ProxyState attribute object will persist. |
void |
setServerInfo(InetAddress ipServer,
String realm,
int authPort,
int acctPort)
Set up the server's basic information. |
void |
setServerInfo(ProxyTarget pt)
Set up the server's basic information. |
void |
setServerLogAll()
Set logging level for server authentication messages. |
void |
setServerLogFailure()
Set logging level for server authentication messages. |
void |
setServerLogImplFactory(LogImplFactory fac)
Set up the Server logging system. |
void |
setServerLogLevel(int loglevel)
Set logging level for server messages. |
void |
setServerLogNone()
Set logging level for server authentication messages. |
void |
setServerLogSuccess()
Set logging level for server authentication messages. |
void |
setSingleStatePool()
Set a single pool of State object instead of several. |
void |
setSNMPManagers(InetAddress[] managerList)
Set a list of managers for SNMP. |
void |
setSNMPParameters(String sysContact,
String sysName,
String sysLocation)
Set some common SNMP parameters. |
void |
setSnoopImplFactory(SnoopImplFactory fac)
Set up Snooping. |
void |
setStateTTL(int seconds)
Set the time the objects associated with a State attribute will persist. |
String |
showNASList()
Get a string representation of the list of NAS's the server's currently using. |
void |
startAccountingServer()
Starts the RADIUS Accounting Server. |
void |
startAccountingServer(boolean singleThread)
Starts the RADIUS Accounting Server. |
void |
startAuthenticationServer()
Starts the RADIUS Authentication Server. |
void |
startAuthenticationServer(boolean singleThread)
Starts the RADIUS Authentication Server. |
void |
startDebug()
Start logging debugging information. |
void |
startDMCOAServer(int port)
Starts the RADIUS DM / COA packet server. |
void |
startSNMP()
Start the SNMP statistics without exposing an SNMP agent. |
void |
startSNMP(String readCommunity,
String writeCommunity,
String trapCommunity,
int cmdPort,
InetAddress trapManager,
int trapPort)
Start SNMP. |
void |
stopAccountingServer()
Stop the accounting server. |
void |
stopAuthenticationServer()
Stop the authentication server. |
void |
stopDebug()
Stop logging debugging information. |
void |
stopDMCOAServer()
Stop the DM / COA server. |
void |
stopServer()
Stop all active servers. |
void |
stopSNMP()
Stop SNMP. |
String |
toString()
Return a string representation of the RADIUS Server. |
String |
toVerboseString()
Return a long representation of the RADIUS Server. |
void |
translateProxyId(boolean on)
Translate NAS-Identifier and/or NAS-IP-Address in a proxy request. |
| Methods inherited from class Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
public static final int ACCT_PORT
ProxyTarget,
Constant Field Valuespublic static final int ALT_ACCT_PORT
ProxyTarget,
Constant Field Valuespublic static final int ALT_AUTH_PORT
ProxyTarget,
Constant Field Valuespublic static final int AUTH_PORT
ProxyTarget,
Constant Field Valuespublic static final int DEFAULT_MAX_PACKETS
public static final int DMCOA_PORT
public static final int DUPLICATE_DETECTION_AUTHENTICATOR
setDuplicateDetectionMethod().
This constant is the default and uses the authenticator as the duplicate detection method.
Because the authenticator has two solid requirements in the RADIUS RFC it is the
preferred method of detecting duplicates.
public static final int DUPLICATE_DETECTION_NASPORTID
setDuplicateDetectionMethod().
This constant is the default and uses the RFC's vaguely suggested method
of using the NAS address / port / packet identifier as the duplicate detection method.
This is inherently slower than the DUPLICATE_DETECTION_AUTHENTICATOR
method and should only be used with non-complient clients.
public static final int SL_BOTH
LogImpl,
Constant Field Valuespublic static final int SL_FAILURE
LogImpl,
Constant Field Valuespublic static final int SL_NONE
LogImpl,
Constant Field Valuespublic static final int SL_SUCCESS
LogImpl,
Constant Field Valuespublic static final String Version
| Constructor Detail |
public RADIUSServer()
throws RADIUSServerException
Loads the DefaultDictionary, sets the default packet types,
sets the server up for multi-home, and sets up duplication detection
as DUPLICATE_DETECTION_AUTHENTICATOR.
RADIUSServerException - if there's a problem.| Method Detail |
public void addAcctPacketType(int packetType,
int direction)
Normally packet types are restricted to Accounting-Request and Accounting-Response but more types can be added. One example might be 'Accounting Status' with a value of 6.
Packet types added to the list will be checked in the order they were created. Some small optimization can be had by placing more common packet types at the start of the list.
packetType - RADIUS packet type to accept.direction - PacketType.Request if this type of packet is a request packet,
PacketType.Response if it's a response.
The default proxy attribute is User-Name.removeAuthPacketType(int),
addAuthPacketType(int, int),
removeAcctPacketType(int),
divertExtendedPacket()
public void addAcctPacketType(int packetType,
int direction,
int proxyAttribute)
Normally packet types are restricted to Accounting-Request and Accounting-Response but more types can be added. One example might be 'Accounting Status' with a value of 6.
Packet types added to the list will be checked in the order they were created. Some small optimization can be had by placing more common packet types at the start of the list.
packetType - RADIUS packet type to accept.direction - PacketType.Request if this type of packet is a request packet,
PacketType.Response if it's a response.proxyAttribute - Set the attribute used to determine the proxy realm to this attribute.
This is usually User-Name or Called-Station-Id.removeAuthPacketType(int),
addAuthPacketType(int, int),
removeAcctPacketType(int),
divertExtendedPacket()
public void addAuthPacketType(int packetType,
int direction)
Normally packet types are restricted to Access-Request, Access-Accept, Access-Reject, and Access-Challenge but more types can be added. One example might be 'Password Request' with a value of 7.
The default proxy attribute is User-Name.
packetType - RADIUS packet type to accept.direction - PacketType.Request if this type of packet is a request packet,
PacketType.Response if it's a response.removeAuthPacketType(int),
addAcctPacketType(int, int),
removeAcctPacketType(int)public void addDebugFilter(InetAddress filterIP)
filterIP - IP address to watch.public void addDictionary(RADIUSDictionary dict)
The dictionary aids the server in displaying attribute names and values.
dict - RADIUSDictionary.
public boolean addNAS(NAS nas)
throws RADIUSServerException
nas - NAS class with information for this NAS
RADIUSServerException - if there's a problem creating the NAS.NAS
public void addProxyTarget(ProxyTarget pt)
throws RADIUSServerException
pt - proxy target information.
RADIUSServerException - if the proxy target name or address is missing.ProxyTargetpublic void allowEmptyAttributes(boolean enable)
enable - True allows empty attributes, false disallows them.
The default is to disallow empty attributes and drop the packet if they appear.public void clearDebugFilter()
addDebugFilter(java.net.InetAddress)
public void clearNAS()
throws RADIUSServerException
RADIUSServerException - if there's a problem.
public void clearProxyTarget()
throws RADIUSServerException
RADIUSServerException - if there's a problem.public void clearStats()
RADIUSStatspublic void closeLogFiles()
public void debugLog(String msg)
msg - Message to place in the server debug log.
The message will only be delivered to the log if debugging has been started.startDebug()
public void disableAcctDuplicateChecking()
throws RADIUSServerException
RADIUSServerException - if the accounting server has not been started.
public void disableAuthDuplicateChecking()
throws RADIUSServerException
RADIUSServerException - if the authentication server has not been started.public void divertExtendedPacket(int packetType)
authentication
or accounting method instead
of the extended packet handler.
This is called after the packet type has been added to the server's knowledge of packet types.
This allows packets like Accounting-Status to be sent to the AccountingImpl class instead of the ExtendedPacketImpl class.
packetType - RADIUS packet type divert to the default port handleraddAuthPacketType(),
removeAuthPacketType(),
addAuthPacketType(),
removeAcctPacketType()public NAS getClientNAS(InetAddress nasIP)
nasIP - NAS ip address (client address).
public int getCurrentPacketCount()
public int getMaximumPackets()
public int getMaxPacketSize()
public Object getModuleInstance(String moduleName,
Object obj)
throws RADIUSServerException
moduleName - Name of module to instantiate.
The module name may either be relative to the module package or a fully qualified
class path. In some cases the class loader doesn't provide the necessary package
information so even where the class is relative to the module packate it will be necessary
to use a full path to the class.obj - Object to pass to the module's constructor. If null the default contructor
will be used.
RADIUSServerException - if there's a problem registering the module.public ProxyTarget[] getProxyTargetList()
public int getServerLogLevel()
setServerLogLevel(int loglevel)
public SNMPStats getSNMPStats()
throws RADIUSServerException
RADIUSServerException - if there's a problem.RADIUSStatspublic RADIUSStats getStats()
RADIUSStatspublic void log(String msg)
msg - Message to place in the server log.
public void log(String msg,
int logLevel)
msg - Message to place in the server log.logLevel - The log level for this message.public void removeAcctPacketType(int packetType)
packetType - RADIUS packet type to accept.addAuthPacketType(),
removeAuthPacketType(),
removeAcctPacketType(),
divertExtendedPacket()public void removeAuthPacketType(int packetType)
packetType - RADIUS packet type to accept.addAuthPacketType(int, int),
addAcctPacketType(int, int),
removeAcctPacketType(int),
divertExtendedPacket()public void removeDebugFilter(InetAddress filterIP)
filterIP - IP address (machine or network number)addDebugFilter(java.net.InetAddress)
public void removeNAS(NAS nas)
throws RADIUSServerException
nas - The NAS to remove.
RADIUSServerException - if there's a problem.NASpublic void removeProxyTarget(String targetName)
targetName - name of the target to remove.
public boolean replaceNASList(NAS[] nasList)
throws RADIUSServerException
nasList - Array of replacement NAS's
RADIUSServerException - if a NAS in the list is incomplete.public void sendSNMPTrap(String msg)
msg - Message.public void setAccessImplFactory(AccessImplFactory fac)
fac - Factory to create the access class.AccessImplFactory,
AccessImplpublic void setAccountingImplFactory(AccountingImplFactory fac)
fac - Factory for creating a new accounting class.LogImplFactory,
LogImplpublic void setAcctDuplicateTTL(int seconds)
The default is 15 seconds. If your system always has faster response times this value can be lowered. This should be set to a little more than the longest expected response time. The granularity of the system is such that the average time for a packet will be 1/2 second less than the given value.
This method destroys the existing cache of packet information.
seconds - Number of seconds to remember duplicate packetspublic void setAuthDuplicateTTL(int seconds)
The default is 15 seconds. If your system always has faster response times this value can be lowered. This should be set to a little more than the longest expected response time. The granularity of the system is such that the average time for a packet will be 1/2 second less than the given value.
This method destroys the existing cache of packet information.
public void setDebugLogImplFactory(LogImplFactory fac)
throws IOException
fac - Factory for creating a new logging class.
IOExceptionLogImplFactory,
LogImpl
public void setDuplicateDetectionMethod(int detectionMethod)
throws RADIUSServerException
The server normally uses the packet authenticator to determine if a packet is a duplicate. The RADIUS RFC points out a MUST and a SHOULD indicating that the authenticator MUST be unique if attributes change, and MUST remain the same if a retry is attempted. Further the Request Authenticator field SHOULD exhibit global and temporal uniqueness over the life of the secret.
This method should be used to change the method the server uses to detect duplicate
packets. It must be used prior to starting the servers or changing any other aspect
of duplicate detection, such as
disableAcctDuplicateChecking(),
disableAuthDuplicateChecking(),
setAcctDuplicateTTL(int seconds),
and setAuthDuplicateTTL(int seconds).
By default the authenticator method is satisfactory in almost all cases and is much faster than the NAS address / port / packet identifier uniqueness test.
detectionMethod - One of DUPLICATE_DETECTION_AUTHENTICATOR
or DUPLICATE_DETECTION_NASPORTID.
RADIUSServerException - if there the detection method is unknown.public void setEncryptImplFactory(EncryptImplFactory fac)
fac - Factory to create the EncryptImpl class.EncryptImplFactory,
EncryptImplpublic void setExtendedPacketImplFactory(ExtendedPacketImplFactory fac)
fac - Factory for creating a new extended packet receiver class.LogImplFactory,
LogImplpublic void setMaximumPackets(int maxPackets)
maxPackets - Highest packet count permitted.public void setMaxPacketSize(int packetSize)
packetSize - Packet size in bytes.public void setMinimumPackets(int minPackets)
minPackets - Lowest number of packets to allocate.public void setMultihome(boolean allInterfaces)
The default is to be multihomed.
The advantage of binding to a single interface is that you can run multiple servers one the same machine with identical port numbers. The advantage to listening on multiple interfaces is that your machine will catch all requests regardless of what interface the request arrives on.
allInterfaces - Set to true if you want the server to listen on all interfaces.
Set to false if the interface specified in the server information is the only interface that
will response to requests for this server.public void setNASCallBackFactory(NASCallBackFactory fac)
fac - Factory to create the NASCallBack class.NASCallBackFactory,
NASCallBackpublic void setPrefixCharacter(char prefixChar)
prefixChar - Proxy indication character.public void setProxyCharacter(char proxyChar)
proxyChar - Proxy indication character.public void setProxyImplFactory(ProxyImplFactory fac)
fac - Factory to create the ProxyImpl class.ProxyImplFactory,
ProxyImplpublic void setProxyStateTTL(int seconds)
The ProxyState object attributes is associated with persistent objects so that information required to forward and return packets is maintained. Programmer defined information associated with the ProxyState attribute is also controlled by this timer. This sets the number of seconds an object will persist if not explicitly removed.
The default is 30 seconds.
seconds - Number of seconds to remember ProxyState objects.
public void setServerInfo(InetAddress ipServer,
String realm,
int authPort,
int acctPort)
throws RADIUSServerException
ipServer - The server's IP address.realm - The Server's realm name if it's a proxy server.authPort - Authentication port number. If 0 RADIUSServer.AUTH_PORT is assumed.acctPort - Accounting port number. If 0 RADIUSServer.ACCT_PORT is assumed.
RADIUServerException - if there's a problem.
RADIUSServerException
public void setServerInfo(ProxyTarget pt)
throws RADIUSServerException
If port numbers are 0 they'll default to the normal port numbers.
A secret must not be set in the ProxyTarget server object.r - it derives it's secret from other proxy servers and client's.
pt - ProxyTarget object. This configures the basic server information.
RADIUServerException - if there's a problem.
RADIUSServerExceptionpublic void setServerLogAll()
LogImpl,
setServerLogLevel(int),
SL_SUCCESS,
SL_FAILURE,
SL_BOTH,
SL_NONEpublic void setServerLogFailure()
LogImpl,
setServerLogLevel(int),
SL_SUCCESS,
SL_FAILURE,
SL_BOTH,
SL_NONE
public void setServerLogImplFactory(LogImplFactory fac)
throws IOException
fac - Factory for creating a new logging class.
IOExceptionsetServerLogLevel(int),
LogImplFactory,
LogImplpublic void setServerLogLevel(int loglevel)
loglevel - Logging levelsetServerLogAll(),
setServerLogFailure(),
setServerLogSuccess(),
setServerLogNone(),
LogImpl,
SL_SUCCESS,
SL_FAILURE,
SL_BOTH,
SL_NONEpublic void setServerLogNone()
LogImpl,
setServerLogLevel(int),
SL_SUCCESS,
SL_FAILURE,
SL_BOTH,
SL_NONEpublic void setServerLogSuccess()
LogImpl,
setServerLogLevel(int),
SL_SUCCESS,
SL_FAILURE,
SL_BOTH,
SL_NONEpublic void setSingleStatePool()
This is an abnormal setting for the server and suits certain installations. It allows any client to submit a request that may contain a State value that maps to a state object another client has set. In other words any client may send another client's State information.
public void setSNMPManagers(InetAddress[] managerList)
managerList - List of managers that may send requests.
public void setSNMPParameters(String sysContact,
String sysName,
String sysLocation)
throws RADIUSServerException
sysContact - "The textual identification of the contact person
for this managed node, together with information
on how to contact this person."sysName - "An administratively-assigned name for this
managed node. By convention, this is the node's
fully-qualified domain name."sysLocation - ""The physical location of this node (e.g.,
`telephone closet, 3rd floor')."
RADIUSServerException - if SNMP isn't already started.public void setSnoopImplFactory(SnoopImplFactory fac)
fac - Factory to create the SnoopImpl class.SnoopImplFactory,
SnoopImplpublic void setStateTTL(int seconds)
State attributes may be associated with persistent objects so that information required to be passed from one Access-Challenge to another can be preserved. This sets the number of seconds an object will persist if not explicitly removed.
The default is 30 seconds.
seconds - Number of seconds to remember State objects.public String showNASList()
public void startAccountingServer()
throws RADIUSServerException
RADIUSServerException - if there's a problem starting the accounting server.
public void startAccountingServer(boolean singleThread)
throws RADIUSServerException
Some initialization is required before starting the server including starting SNMP either
exposed or unexposed. The logs, related authentication and / or
accounting implementations, and server setup.
If singleThread is true the server thread will not spawn additional threads to accommodate requests. Each request must wait for the previous to finish. This is useful in an environment where threading greatly increased the complexity of the accounting or authentication code.
If singleThread is false a thread will be spawned for each request. This choice offers maximum parallelism if the various implementations are prepared for this.
singleThread - True if a blocking server is to run, False if a threaded server should run.
RADIUSServerException - if there's a problem.
public void startAuthenticationServer()
throws RADIUSServerException
RADIUSServerException - if SNMP isn't already started.
public void startAuthenticationServer(boolean singleThread)
throws RADIUSServerException
Some initialization is required before starting the server including starting SNMP either
exposed or unexposed. The logs, related authentication and / or
accounting implementations, and server setup.
If singleThread is true the server thread will not spawn additional threads to accommodate requests. Each request must wait for the previous to finish. This is useful in an environment where threading greatly increased the complexity of the accounting or authentication code.
If singleThread is false a thread will be spawned for each request.
This choice offers maximum parallelism if the various implementations are prepared for this.
Each of AccessImpl, SnoopImpl, ProxyImpl are told about the log files.
singleThread - True if a one thread server is to run, False if a fully threaded
server should run.
RADIUSServerException - if the server failed to start.
The reason is given in the exception's message.public void startDebug()
LogImpl
public void startDMCOAServer(int port)
throws RADIUSServerException
The DM / COA server handles packets providing Disconnect-Requests and CoA-Requests. This server differs from the authentication and accounting servers in that it sends packets in the reverse direction, from the server to the client.
port - DM / COA port. If 0 the default port value of DMCOA_PORT is used.
server to determine the next destination, either a server or client, for the request packet.
RADIUSServerException - if the server failed to start.
The reason is given in the exception's message.public void startSNMP()
public void startSNMP(String readCommunity,
String writeCommunity,
String trapCommunity,
int cmdPort,
InetAddress trapManager,
int trapPort)
throws RADIUSServerException
If you don't want to start an SNMP session (preventing SNMP requests from being received) see
startSNMP() .
Typically SNMP provides information about a device or piece of software, such as this server. The RADIUS-AUTH-SERVER-MIB and the RADIUS-ACC-SERVER-MIB are described in RFC's 2619 and 2621 respectively.
If your operating system or other application is already running SNMP you will have to change the port number to an unused port. Traps are sent to the address described as the machine at the trap Manager at the trap port. Normally the only traps sent are thread exceptions although other classes may send trap messages as well.
Community names should be created as any good passwords are chosen to prevent unauthorized restarting of the server among other pranks. These names permit the reading and writing of server SNMP values.
readCommunity - SNMP community for reading (if null it defaults to public).writeCommunity - SNMP community for writing (if null it defaults to private).trapCommunity - SNMP trap community (if null it disables traps).cmdPort - SNMP command port (if 0 the default value of 161 is used).trapManager - Address of manager for catching traps.trapPort - Address manager port (if 0 the default value of 162 is used).
RADIUSServerException - if there's a problem.sendSNMPTrap(),
setDebugLogImplFactory(),
setServerLogImplFactory()
public void stopAccountingServer()
throws RADIUSServerException
RADIUSServerException - if there's a problem.
public void stopAuthenticationServer()
throws RADIUSServerException
RADIUSServerException - if there's a problem.public void stopDebug()
LogImpl
public void stopDMCOAServer()
throws RADIUSServerException
RADIUSServerException - if there's a problem.
public void stopServer()
throws RADIUSServerException
RADIUSServerException - if there's a problem.public void stopSNMP()
public String toString()
public String toVerboseString()
public void translateProxyId(boolean on)
on - True for proxy identifier translation on, false for no identifier translation.
|
AXL RADIUS Server API V3 | |||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||