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 class
RadiusPacket.RadiusPacketOption<T>
Класс, объекты которого используются для установкиsetOption(RadiusPacketOption, Object)
и для полученияgetOption(RadiusPacketOption)
. -
Field Summary
Fields Modifier and Type Field Description static byte
ACCESS_ACCEPT
static byte
ACCESS_CHALLENGE
static byte
ACCESS_REJECT
static byte
ACCESS_REQUEST
static byte
ACCOUNTING_MESSAGE
static byte
ACCOUNTING_REQUEST
static byte
ACCOUNTING_RESPONSE
static byte
ACCOUNTING_STATUS
static byte
ACCOUNTING_STATUS_START
static byte
ACCOUNTING_STATUS_STOP
static byte
ACCOUNTING_STATUS_UPDATE
protected byte[]
authenticator
Для пришедшего запроса это authenticator который хранится в запросе,
для создаваемого запроса - null.static byte
CoA_ACK
static byte
CoA_NAK
static byte
CoA_REQUEST
static byte
DISCONNECT_ACK
static byte
DISCONNECT_NAK
static byte
DISCONNECT_REQUEST
byte
identifier
Идентификатор пакета.protected byte[]
messageAuthenticator
Атрибут для подписи пакетаRadiusDictionary.Message_Authenticator
.
Используется в EAP.static byte
PASSWORD_ACCEPT
static byte
PASSWORD_REJECT
static byte
PASSWORD_REQUEST
protected byte[]
requestAuthenticator
Для создаваемого ответа - это authenticator запроса.static byte
STATUS_CLIENT
static byte
STATUS_SERVER
Fields inherited from class ru.bitel.bgbilling.kernel.network.radius.RadiusAttributeSet
standartAttributes, vendorAttributes
-
Constructor Summary
Constructors Modifier Constructor Description RadiusPacket(byte code, byte identifier)
Создание радиус пакета (запрос).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)
-
Method Summary
Modifier and Type Method Description void
addAttribute(bitel.billing.server.radius.RadiusAttribute ra)
Deprecated.void
addAttributes(java.util.List<bitel.billing.server.radius.RadiusAttribute> attrs)
Deprecated.void
addOptions(RadiusPacket request)
void
addVendorAttribute(bitel.billing.server.radius.RadiusVendorAttribute rva)
Deprecated.void
addVendorAttributes(java.util.List<bitel.billing.server.radius.RadiusVendorAttribute> attrs)
Deprecated.RadiusPacket
clone()
RadiusPacket
createResponse()
Создание пакета-ответа из пакета-запроса.void
fromPacket(RadiusPacket lastResponsePacket)
byte[]
getAuthenticator()
byte[]
getAuthenticatorBytes()
Deprecated.byte[]
getByteAttribute(int code)
Deprecated.byte
getCode()
Получение типа пакета (например,ACCESS_REQUEST
ACCOUNTING_REQUEST
).int
getFlag()
Deprecated.int
getIntAttribute(int code)
Deprecated.use#getIntAttribute(int, int, int)
java.lang.Object
getOption(java.lang.String option)
Deprecated.<O> O
getOption(RadiusPacket.RadiusPacketOption<O> option)
Получение опции(атрибута) из пакета.<O> O
getOption(RadiusPacket.RadiusPacketOption<O> option, O value)
Получение опции(атрибута) из пакета.byte
getPacketId()
Deprecated.int
getPacketType()
Deprecated.usegetCode()
java.lang.String
getPacketTypeString()
Получение названия типа radius-пакетаjava.lang.String
getStringAttribute(int code)
Deprecated.Trace
getTrace()
java.util.List<RadiusAttribute<?>>
getVendorAttributes(int vendor)
Deprecated.java.util.List<RadiusAttribute<?>>
getVendorAttributes(int vendor, int code)
Deprecated.int
getVendorIntAttribute(int code)
Deprecated.use#getIntAttribute(int, int, int)
java.lang.String
getVendorStringAttribute(int code)
Deprecated.boolean
isRequest()
static RadiusPacket
parse(java.nio.ByteBuffer bb)
Парсинг пакета из ByteBuffer.static RadiusPacket
parse(java.nio.ByteBuffer byteBuffer, boolean move)
Парсинг пакета из ByteBuffer.void
setByteAttribute(int code, byte[] value)
Deprecated.void
setCode(byte code)
Установка типа пакета.void
setFlag(int flag)
Deprecated.void
setIntAttribute(int code, int value)
Deprecated.void
setOption(java.lang.String option, java.lang.Object value)
Deprecated.<O> void
setOption(RadiusPacket.RadiusPacketOption<O> option, O value)
Установка опции в пакет.void
setPacketType(byte value)
Deprecated.usesetCode(byte)
void
setStringAttribute(int code, java.lang.String value)
Deprecated.void
setVendorAttribute(bitel.billing.server.radius.RadiusVendorAttribute rva)
Deprecated.java.lang.String
toString()
void
write(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, toString
Methods 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_REQUEST
ACCOUNTING_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.InvalidKeyException
java.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:
toString
in 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:
clone
in classjava.lang.Object
-
getAuthenticatorBytes
@Deprecated public byte[] getAuthenticatorBytes()Deprecated. -
getAuthenticator
public byte[] getAuthenticator() -
addOptions
-
RadiusAttributeSet.addAttribute(RadiusAttribute)