|
AXL Software | |||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
ObjectPacketInfo
ProxyInfo
Class to pass information to a ProxyImpl method.
ProxyInfo.ProxyRejectException from within the
ProxyImpl.changeRequest(ProxyInfo pi) method.
"A proxy MAY also decide to Reject a Request that has been accepted by the home server."
This is much more difficult since the
ProxyImpl.changeRequest(ProxyInfo pi)
method must somehow match requests to responses passing through
ProxyImpl.changeResponse(ProxyInfo pi).
The RFC suggests that this is possible through the Class attribute:
"Home servers SHOULD insert a unique session identifier in the Class
attribute in an Access-Accept and Access-Challenge."
By matching Class attribute contents it might be possible to match
requests to responses. This is an exercise left to the code writer.
ProxyClient for sending a packet to multiple servers.| Nested Class Summary | |
static class |
ProxyInfo.ProxyChallengeException
Throw a Access-Challenge exception when complying with RFC 2607 (Proxy Chaining and Policy in Roaming) section 5.1. |
static class |
ProxyInfo.ProxyRejectException
Throw a Access-Reject exception when complying with RFC 2607 (Proxy Chaining and Policy in Roaming) section 5.1. |
| Field Summary |
| Fields inherited from class PacketInfo |
AUTH_LENGTH, AUTH_STATE_OBJECT |
| Method Summary | |
NAS[] |
getNASList()
Return a list of the client NAS's. |
NAS[] |
getProxyNASList()
Return a list of the Proxy server NAS's. |
Object |
getProxyStateObject()
Get the external object associated with the Proxy-State. |
String[] |
getProxyTargetList()
Return a list of the proxy realms. |
String |
getRespondingServerName()
Get the name of the responding server. |
long |
getRoundTripTiming()
Get the time in milliseconds for the proxy response. |
String |
getRoundTripTimingString()
Get the time as a string. |
void |
sendClientResponse(int packetType,
AttributeList responseList)
Send a response back from the ProxyImpl.changeRequest(); Sometimes it's necessary for a proxy server to respond to a client directly rather than proxy a particular packet. |
void |
setProxyStateObject(Object o)
Set the external object associated with the Proxy-State. |
void |
setRoundTripTiming(boolean enable)
Enable round trip proxy timing. |
void |
setTransparentProxy(String realmName)
Set proxying transparently by overriding the proxy realm in the User-Name attribute. |
| Methods inherited from class Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method Detail |
public NAS[] getNASList()
public NAS[] getProxyNASList()
public Object getProxyStateObject()
This is useful when some information must be associated with a proxy response packet. The ProxyImpl.changeRequest(ProxyInfo pi) may set some object to be retrieved when the response packet is returned and ProxyImpl.changeResponse() requires continuity with the request.
public String[] getProxyTargetList()
public String getRespondingServerName()
public long getRoundTripTiming()
For an example see ProxyFreeUsage.java.
setRoundTripTiming(boolean enable)public String getRoundTripTimingString()
For an example see ProxyFreeUsage.java.
setRoundTripTiming(boolean enable)
public void sendClientResponse(int packetType,
AttributeList responseList)
throws RADIUSServerException
Sometimes it's necessary for a proxy server to respond to a client directly rather than proxy a particular packet.
For an example see ProxyFreeUsage.java.
packetType - The type of packet for the response, typically Access-Reject, Access-Accept,
or Accounting-Response. The packet type must be a response type.responseList - Response attribute list.
RADIUSServerException - if there's a problem communicating with the client.public void setProxyStateObject(Object o)
This is useful when some information must be associated with a forwarded packet. The ProxyImpl.changeRequest(ProxyInfo pi) may set some object to be retrieved when the response packet is returned and ProxyImpl.changeResponse() requires continuity with the request.
o - Object to preserve over a proxy.public void setRoundTripTiming(boolean enable)
This enables the measuring of the time it takes a proxy request to make the round trip between this server and the final authenticating / accounting server. It can be used, for example, to throttle the RADIUS server's maximum packets up or down to keep from overloading the final server.
This affects all forwarded packets until disabled.
For an example see ProxyThrottle.java.
enable - True if round trip proxy timings are to be enabled.getRoundTripTiming(),
getRoundTripTimingString()public void setTransparentProxy(String realmName)
This RADIUS server will ignore any attribute information redirecting this packet to another RADIUS server. The realm name given as the argument will be used to redirect the packet. If the realm is the local host's realm name the packet will be handled locally.
realmName - Name of the server designated to handle this packet.
This must be the proxy server's name and cannot be a synonym. It also may
not be set to null or an empty string.
|
AXL Software | |||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||