github.com/keysonZZZ/kmg@v0.0.0-20151121023212-05317bfd7d39/third/kmgRadius/server.go (about)

     1  package kmgRadius
     2  
     3  import (
     4  	"fmt"
     5  
     6  	. "github.com/bronze1man/kmg/kmgErr"
     7  )
     8  
     9  type server struct {
    10  	mschapMap map[string]mschapStatus
    11  	handler   Handler
    12  }
    13  
    14  type mschapStatus struct {
    15  	Challenge  [16]byte
    16  	NTResponse [24]byte
    17  }
    18  
    19  func (p *server) PacketHandler(request *Packet) *Packet {
    20  	switch request.Code {
    21  	case CodeAccessRequest:
    22  		return p.radiusAccess(request)
    23  	case CodeAccountingRequest:
    24  		return p.radiusAccountingRequest(request)
    25  	default:
    26  		npac := request.Reply()
    27  		LogError(fmt.Errorf("[radius.RadiusHandle] request.Code %s", request.Code.String()))
    28  		npac.Code = CodeAccessReject
    29  		return npac
    30  	}
    31  }