Class RadiusPacket
java.lang.Object
ru.bitel.bgbilling.kernel.network.radius.RadiusAttributeSet
ru.bitel.bgbilling.kernel.network.radius.RadiusPacket
- All Implemented Interfaces:
java.lang.Cloneable
public class RadiusPacket extends RadiusAttributeSet
Радиус пакет. Этот класс расширяет набор атрибутов
RadiusAttributeSet.-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classRadiusPacket.RadiusPacketOption<T>Класс, объекты которого используются для установкиsetOption(RadiusPacketOption, Object)и для полученияgetOption(RadiusPacketOption). -
Field Summary
Fields Modifier and Type Field Description static byteACCESS_ACCEPTstatic byteACCESS_CHALLENGEstatic byteACCESS_REJECTstatic byteACCESS_REQUESTstatic byteACCOUNTING_MESSAGEstatic byteACCOUNTING_REQUESTstatic byteACCOUNTING_RESPONSEstatic byteACCOUNTING_STATUSstatic byteACCOUNTING_STATUS_STARTstatic byteACCOUNTING_STATUS_STOPstatic byteACCOUNTING_STATUS_UPDATEprotected byte[]authenticatorДля пришедшего запроса это authenticator который хранится в запросе,
для создаваемого запроса - null.static byteCoA_ACKstatic byteCoA_NAKstatic byteCoA_REQUESTstatic byteDISCONNECT_ACKstatic byteDISCONNECT_NAKstatic byteDISCONNECT_REQUESTbyteidentifierИдентификатор пакета.protected byte[]messageAuthenticatorАтрибут для подписи пакетаRadiusDictionary.Message_Authenticator.
Используется в EAP.static bytePASSWORD_ACCEPTstatic bytePASSWORD_REJECTstatic bytePASSWORD_REQUESTprotected byte[]requestAuthenticatorДля создаваемого ответа - это authenticator запроса.static byteSTATUS_CLIENTstatic byteSTATUS_SERVERFields inherited from class ru.bitel.bgbilling.kernel.network.radius.RadiusAttributeSet
standartAttributes, vendorAttributes -
Constructor Summary
Constructors Modifier Constructor Description RadiusPacket(byte code, byte identifier)Создание радиус пакета (запрос).protectedRadiusPacket(byte code, byte identifier, byte[] requestAuthenticator, byte[] authenticator, byte[] messageAuthenticator, java.util.Map<java.lang.Integer,java.util.List<RadiusAttribute<?>>> standartAttributes, java.util.Map<java.lang.Integer,java.util.Map<java.lang.Integer,java.util.List<RadiusAttribute<?>>>> vendorAttributes, java.util.Map<java.lang.String,java.lang.Object> optionMap) -
Method Summary
Modifier and Type Method Description voidaddAttribute(bitel.billing.server.radius.RadiusAttribute ra)Deprecated.voidaddAttributes(java.util.List<bitel.billing.server.radius.RadiusAttribute> attrs)Deprecated.voidaddOptions(RadiusPacket request)voidaddVendorAttribute(bitel.billing.server.radius.RadiusVendorAttribute rva)Deprecated.voidaddVendorAttributes(java.util.List<bitel.billing.server.radius.RadiusVendorAttribute> attrs)Deprecated.RadiusPacketclone()RadiusPacketcreateResponse()Создание пакета-ответа из пакета-запроса.voidfromPacket(RadiusPacket lastResponsePacket)byte[]getAuthenticator()byte[]getAuthenticatorBytes()Deprecated.byte[]getByteAttribute(int code)Deprecated.bytegetCode()Получение типа пакета (например,ACCESS_REQUESTACCOUNTING_REQUEST).intgetFlag()Deprecated.intgetIntAttribute(int code)Deprecated.use#getIntAttribute(int, int, int)java.lang.ObjectgetOption(java.lang.String option)Deprecated.<O> OgetOption(RadiusPacket.RadiusPacketOption<O> option)Получение опции(атрибута) из пакета.<O> OgetOption(RadiusPacket.RadiusPacketOption<O> option, O value)Получение опции(атрибута) из пакета.bytegetPacketId()Deprecated.intgetPacketType()Deprecated.usegetCode()java.lang.StringgetPacketTypeString()Получение названия типа radius-пакетаjava.lang.StringgetStringAttribute(int code)Deprecated.TracegetTrace()java.util.List<RadiusAttribute<?>>getVendorAttributes(int vendor)Deprecated.java.util.List<RadiusAttribute<?>>getVendorAttributes(int vendor, int code)Deprecated.intgetVendorIntAttribute(int code)Deprecated.use#getIntAttribute(int, int, int)java.lang.StringgetVendorStringAttribute(int code)Deprecated.booleanisRequest()static RadiusPacketparse(java.nio.ByteBuffer bb)Парсинг пакета из ByteBuffer.static RadiusPacketparse(java.nio.ByteBuffer byteBuffer, boolean move)Парсинг пакета из ByteBuffer.voidsetByteAttribute(int code, byte[] value)Deprecated.voidsetCode(byte code)Установка типа пакета.voidsetFlag(int flag)Deprecated.voidsetIntAttribute(int code, int value)Deprecated.voidsetOption(java.lang.String option, java.lang.Object value)Deprecated.<O> voidsetOption(RadiusPacket.RadiusPacketOption<O> option, O value)Установка опции в пакет.voidsetPacketType(byte value)Deprecated.usesetCode(byte)voidsetStringAttribute(int code, java.lang.String value)Deprecated.voidsetVendorAttribute(bitel.billing.server.radius.RadiusVendorAttribute rva)Deprecated.java.lang.StringtoString()voidwrite(java.nio.ByteBuffer bb, byte[] key)Сериализация пакета в ByteBuffer.Methods inherited from class ru.bitel.bgbilling.kernel.network.radius.RadiusAttributeSet
addAttribute, addAttributes, contains, equals, getAttribute, getAttributes, getAttributeValue, getAttributeValue, getByteAttribute, getIntAttribute, getRadiusAttributeSet, getRadiusAttributeSet, getStringAttribute, getStringAttribute, isEmpty, newRadiusAttributeRealmMap, newRadiusAttributeSet, newRadiusAttributeSet, newRadiusAttributeSetMap, newRadiusAttributeSetRealmMap, removeAttributes, setAttribute, setAttributes, setAttributes, setByteAttribute, setIntAttribute, setStringAttribute, toStringMethods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Field Details
-
ACCESS_REQUEST
public static final byte ACCESS_REQUEST- See Also:
- Constant Field Values
-
ACCESS_ACCEPT
public static final byte ACCESS_ACCEPT- See Also:
- Constant Field Values
-
ACCESS_REJECT
public static final byte ACCESS_REJECT- See Also:
- Constant Field Values
-
ACCOUNTING_REQUEST
public static final byte ACCOUNTING_REQUEST- See Also:
- Constant Field Values
-
ACCOUNTING_RESPONSE
public static final byte ACCOUNTING_RESPONSE- See Also:
- Constant Field Values
-
ACCOUNTING_STATUS
public static final byte ACCOUNTING_STATUS- See Also:
- Constant Field Values
-
PASSWORD_REQUEST
public static final byte PASSWORD_REQUEST- See Also:
- Constant Field Values
-
PASSWORD_ACCEPT
public static final byte PASSWORD_ACCEPT- See Also:
- Constant Field Values
-
PASSWORD_REJECT
public static final byte PASSWORD_REJECT- See Also:
- Constant Field Values
-
ACCOUNTING_MESSAGE
public static final byte ACCOUNTING_MESSAGE- See Also:
- Constant Field Values
-
ACCESS_CHALLENGE
public static final byte ACCESS_CHALLENGE- See Also:
- Constant Field Values
-
STATUS_SERVER
public static final byte STATUS_SERVER- See Also:
- Constant Field Values
-
STATUS_CLIENT
public static final byte STATUS_CLIENT- See Also:
- Constant Field Values
-
DISCONNECT_REQUEST
public static final byte DISCONNECT_REQUEST- See Also:
- Constant Field Values
-
DISCONNECT_ACK
public static final byte DISCONNECT_ACK- See Also:
- Constant Field Values
-
DISCONNECT_NAK
public static final byte DISCONNECT_NAK- See Also:
- Constant Field Values
-
CoA_REQUEST
public static final byte CoA_REQUEST- See Also:
- Constant Field Values
-
CoA_ACK
public static final byte CoA_ACK- See Also:
- Constant Field Values
-
CoA_NAK
public static final byte CoA_NAK- See Also:
- Constant Field Values
-
ACCOUNTING_STATUS_START
public static final byte ACCOUNTING_STATUS_START- See Also:
- Constant Field Values
-
ACCOUNTING_STATUS_STOP
public static final byte ACCOUNTING_STATUS_STOP- See Also:
- Constant Field Values
-
ACCOUNTING_STATUS_UPDATE
public static final byte ACCOUNTING_STATUS_UPDATE- See Also:
- Constant Field Values
-
identifier
public final byte identifierИдентификатор пакета. -
requestAuthenticator
protected final byte[] requestAuthenticatorДля создаваемого ответа - это authenticator запроса. -
authenticator
protected byte[] authenticatorДля пришедшего запроса это authenticator который хранится в запросе,
для создаваемого запроса - null. -
messageAuthenticator
protected final byte[] messageAuthenticatorАтрибут для подписи пакетаRadiusDictionary.Message_Authenticator.
Используется в EAP.
-
-
Constructor Details
-
RadiusPacket
protected RadiusPacket(byte code, byte identifier, byte[] requestAuthenticator, byte[] authenticator, byte[] messageAuthenticator, java.util.Map<java.lang.Integer,java.util.List<RadiusAttribute<?>>> standartAttributes, java.util.Map<java.lang.Integer,java.util.Map<java.lang.Integer,java.util.List<RadiusAttribute<?>>>> vendorAttributes, java.util.Map<java.lang.String,java.lang.Object> optionMap) -
RadiusPacket
public RadiusPacket(byte code, byte identifier)Создание радиус пакета (запрос).- Parameters:
code- - тип пакета (например, 40)identifier- - идентификатор пакета.
-
-
Method Details
-
getCode
public byte getCode()Получение типа пакета (например,ACCESS_REQUESTACCOUNTING_REQUEST).- Returns:
-
setCode
public void setCode(byte code)Установка типа пакета.- Parameters:
code-
-
isRequest
public boolean isRequest() -
write
public void write(java.nio.ByteBuffer bb, byte[] key) throws java.security.InvalidKeyException, java.security.NoSuchAlgorithmExceptionСериализация пакета в ByteBuffer.- Parameters:
bb- - буферkey- - секрет наса.- Throws:
java.security.InvalidKeyExceptionjava.security.NoSuchAlgorithmException
-
parse
public static RadiusPacket parse(java.nio.ByteBuffer bb) throws ru.bitel.bgbilling.common.BGExceptionПарсинг пакета из ByteBuffer.- Parameters:
bb-- Returns:
- Throws:
ru.bitel.bgbilling.common.BGException
-
parse
public static RadiusPacket parse(java.nio.ByteBuffer byteBuffer, boolean move) throws ru.bitel.bgbilling.common.BGExceptionПарсинг пакета из ByteBuffer.- Parameters:
byteBuffer-- Returns:
- Throws:
ru.bitel.bgbilling.common.BGException
-
createResponse
Создание пакета-ответа из пакета-запроса.- Returns:
-
getOption
Получение опции(атрибута) из пакета. Если такая опция не была установлена - метод вернет null.- Type Parameters:
O-- Parameters:
option-- Returns:
-
getOption
Получение опции(атрибута) из пакета. Если такая опция не была установлена - метод вернет value.- Type Parameters:
O-- Parameters:
option-value- - значение по умолчанию- Returns:
-
setOption
Установка опции в пакет.- Type Parameters:
O-- Parameters:
option-value-
-
toString
public java.lang.String toString()- Overrides:
toStringin classRadiusAttributeSet
-
getPacketTypeString
public java.lang.String getPacketTypeString()Получение названия типа radius-пакета- Returns:
- тип пакета
-
fromPacket
-
getTrace
-
getOption
@Deprecated public java.lang.Object getOption(java.lang.String option)Deprecated.Для обратной совместимости со скриптами- Parameters:
option-- Returns:
-
setOption
@Deprecated public void setOption(java.lang.String option, java.lang.Object value)Deprecated.Для обратной совместимости со скриптами- Parameters:
option-value-
-
setFlag
@Deprecated public void setFlag(int flag)Deprecated.Для обратной совместимости со скриптами- Parameters:
flag-
-
getFlag
@Deprecated public int getFlag()Deprecated.Для обратной совместимости со скриптами- Returns:
-
setPacketType
@Deprecated public void setPacketType(byte value)Deprecated.usesetCode(byte)- Parameters:
value-
-
addAttribute
@Deprecated public void addAttribute(bitel.billing.server.radius.RadiusAttribute ra)Deprecated. -
setVendorAttribute
@Deprecated public void setVendorAttribute(bitel.billing.server.radius.RadiusVendorAttribute rva)Deprecated. -
addVendorAttribute
@Deprecated public void addVendorAttribute(bitel.billing.server.radius.RadiusVendorAttribute rva)Deprecated. -
addVendorAttributes
@Deprecated public void addVendorAttributes(java.util.List<bitel.billing.server.radius.RadiusVendorAttribute> attrs)Deprecated. -
addAttributes
@Deprecated public void addAttributes(java.util.List<bitel.billing.server.radius.RadiusAttribute> attrs)Deprecated. -
setStringAttribute
@Deprecated public void setStringAttribute(int code, java.lang.String value)Deprecated. -
setIntAttribute
@Deprecated public void setIntAttribute(int code, int value)Deprecated. -
setByteAttribute
@Deprecated public void setByteAttribute(int code, byte[] value)Deprecated. -
getByteAttribute
@Deprecated public byte[] getByteAttribute(int code)Deprecated. -
getStringAttribute
@Deprecated public java.lang.String getStringAttribute(int code)Deprecated. -
getIntAttribute
@Deprecated public int getIntAttribute(int code)Deprecated.use#getIntAttribute(int, int, int) -
getVendorStringAttribute
@Deprecated public java.lang.String getVendorStringAttribute(int code)Deprecated. -
getVendorIntAttribute
@Deprecated public int getVendorIntAttribute(int code)Deprecated.use#getIntAttribute(int, int, int) -
getVendorAttributes
Deprecated. -
getVendorAttributes
Deprecated.Не понятно для чего мог использоваться данный метод.
Оставлен для обратной совместимости, возвращает все атрибуты всех типов для указанного вендора.- Parameters:
vendor-- Returns:
-
getPacketType
@Deprecated public int getPacketType()Deprecated.usegetCode()Оставлен для обратной совместимости, возвращает тип пакета (code)- Returns:
-
getPacketId
@Deprecated public byte getPacketId()Deprecated.Оставлен для обратной совместимости, возвращает идентификатор пакета (identifier)- Returns:
-
clone
- Overrides:
clonein classjava.lang.Object
-
getAuthenticatorBytes
@Deprecated public byte[] getAuthenticatorBytes()Deprecated. -
getAuthenticator
public byte[] getAuthenticator() -
addOptions
-
RadiusAttributeSet.addAttribute(RadiusAttribute)