eap

package
v1.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 18, 2020 License: BSD-3-Clause Imports: 6 Imported by: 0

Documentation

Overview

Package eap (EAP Authenticator) provides interface to supported & registered EAP Authenticator Providers

Package eap (EAP Authenticator) provides interface to supported & registered EAP Authenticator Providers

Package eap (EAP Authenticator) provides interface to supported & registered EAP Authenticator Providers

Index

Constants

View Source
const (
	// EAP Message Payload Offsets
	EapMsgCode int = iota
	EapMsgIdentifier
	EapMsgLenHigh
	EapMsgLenLow
	EapMsgMethodType
	EapMsgData
	EapReserved1
	EapReserved2
	EapFirstAttribute
	EapFirstAttributeLen
)
View Source
const (
	// EapSubtype - pseudonym for EapMsgData
	EapSubtype   = EapMsgData
	EapHeaderLen = EapMsgMethodType
	// EapMaxLen maximum possible length of EAP Packet
	EapMaxLen uint = 1<<16 - 1

	UndefinedCode = 0
	RequestCode   = 1
	ResponseCode  = 2
	SuccessCode   = 3
	FailureCode   = 4
)
View Source
const (
	// EAP Related Consts
	MethodIdentity = uint8(protos.EapType_Identity)
	MethodNak      = uint8(protos.EapType_Legacy_Nak)
	CodeResponse   = uint8(protos.EapCode_Response)
)
View Source
const BitsPerUint = 32

Variables

This section is empty.

Functions

func CreateSessionId

func CreateSessionId() string

CreateSessionId creates & returns unique session ID string

func EncodeMsMppeKey

func EncodeMsMppeKey(salt, key, authenticatorKey, sharedSecret []byte) []byte

EncodeMsMppeKey implements RFC 2048 encoding for MS-MPPE-Send-Key & MS-MPPE-Recv-Key radius keys, returns padded & encoded key. See: https://www.ietf.org/rfc/rfc2548.txt 2.4.2, 2.4.3

func NewAttribute

func NewAttribute(typ AttrType, data []byte) attribute

NewAttribute creates and returns new attribute of given type (typ) & value the new attribute is padded with zeros to 4 byte boundary

func NewAttributeScanner

func NewAttributeScanner(eapData Packet) (*attributeScanner, error)

func NewDuplicateDetector

func NewDuplicateDetector(bitLen uint) *duplicateDetector

NewDuplicateDetector returns a new detector supporting bitLen possible combinations

func NewRawAttribute

func NewRawAttribute(data []byte) attribute

NewRawAttribute 'casts' given slice to Attribute type without any validations

func XorBytes

func XorBytes(a, b []byte) []byte

XorBytes returns a new byte slice c where c[i] = a[i] ^ b[i]

Types

type AttrType

type AttrType uint8

type Attribute

type Attribute interface {
	Type() AttrType
	Value() []byte
	String() string
	Len() int
	AttrLen() uint8
	Marshaled() []byte
}

attribute EAP Method's attribute implementation attribute provides the following interface:

type Packet

type Packet []byte

Packet represents EAP Packet

func NewPacket

func NewPacket(code, identifier uint8, data []byte, additionalCapacity ...uint) Packet

NewPacket creates an EAP Packet with initialized header and appends provided data if additionalCapacity is specified, NewPacket reserves extra additionalCapacity bytes capacity in the returned packet byte slice

func NewPreallocatedPacket

func NewPreallocatedPacket(identifier uint8, data []byte) (Packet, error)

NewPreallocatedPacket creates an EAP Packet from/in passed data slice & initializes its header

func (Packet) Append

func (eap Packet) Append(a Attribute) (Packet, error)

Append adds given Attribute to EAP Packet and amends the packet's header to reflect the new EAP packet size

func (Packet) Code

func (p Packet) Code() uint8

Code returns EAP Packet Message Code

func (Packet) Failure

func (p Packet) Failure() Packet

Failure returns RFC 3748, 4.2 Failure packet with Identifier set from p

func (Packet) Identifier

func (p Packet) Identifier() uint8

Identifier returns EAP Message Identifier

func (Packet) IsSuccess

func (p Packet) IsSuccess() bool

IsSuccess returns if the EAP Packet Code is Success (3)

func (Packet) Len

func (p Packet) Len() int

Len returns EAP Packet length derived from its header (vs. len of []byte)

func (Packet) Truncate

func (p Packet) Truncate() Packet

Truncate truncates EAP Packet to its header defined length

func (Packet) Type

func (p Packet) Type() uint8

Type returns EAP Method Type or 0 - reserved if not available

func (Packet) TypeData

func (p Packet) TypeData() []byte

TypeData returns EAP Packet Type data part

func (Packet) TypeDataUnsafe

func (p Packet) TypeDataUnsafe() []byte

TypeDataUnsafe - same as TypeData, but doesn't check the packet length

func (Packet) Validate

func (p Packet) Validate() error

Validate verifies that the packet is not nil & it's length is correct

Directories

Path Synopsis
Package client (eap.client) provides interface to supported & registered EAP Authenticator Providers
Package client (eap.client) provides interface to supported & registered EAP Authenticator Providers
Package main implements eap_router service
Package main implements eap_router service
sample_eap_client
Package main implements sample eap_router service client
Package main implements sample eap_router service client
aka
package aka implements EAP-AKA provider package aka implements EAP-AKA EAP Method Package handlers provided AKA Response handlers for supported AKA subtypes package servce implements EAP-AKA GRPC service
package aka implements EAP-AKA provider package aka implements EAP-AKA EAP Method Package handlers provided AKA Response handlers for supported AKA subtypes package servce implements EAP-AKA GRPC service
aka/eap_aka
Package main implements Magma EAP AKA Service
Package main implements Magma EAP AKA Service
aka/provider
package aka implements EAP-AKA provider Package aka implements EAP-AKA provider
package aka implements EAP-AKA provider Package aka implements EAP-AKA provider
aka/servicers
package servcers implements EAP-AKA GRPC service package servcers implements EAP-AKA GRPC service package servicers implements EAP-AKA GRPC service
package servcers implements EAP-AKA GRPC service package servcers implements EAP-AKA GRPC service package servicers implements EAP-AKA GRPC service
aka/servicers/handlers
Package handlers provided AKA Response handlers for supported AKA subtypes Package handlers provided AKA Response handlers for supported AKA subtypes Package handlers provided AKA Response handlers for supported AKA subtypes Package handlers provided AKA Response handlers for supported AKA subtypes
Package handlers provided AKA Response handlers for supported AKA subtypes Package handlers provided AKA Response handlers for supported AKA subtypes Package handlers provided AKA Response handlers for supported AKA subtypes Package handlers provided AKA Response handlers for supported AKA subtypes
registry
Package registry defines API to register and fing EAP providers Package registry defines API to register and fing EAP providers
Package registry defines API to register and fing EAP providers Package registry defines API to register and fing EAP providers
Package test provides common definitions and function for eap related tests Package test provides common definitions and function for eap related tests Package test provides common definitions and function for eap related tests
Package test provides common definitions and function for eap related tests Package test provides common definitions and function for eap related tests Package test provides common definitions and function for eap related tests

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL