rename Authenticate/Challenge/Negotiate to *Message

This commit is contained in:
Conor Hunt 2013-07-23 15:35:16 -05:00
parent af256c1a87
commit 6783d408ba
6 changed files with 38 additions and 38 deletions

View File

@ -10,7 +10,7 @@ import (
"fmt"
)
type Authenticate struct {
type AuthenticateMessage struct {
// sig - 8 bytes
Signature []byte
// message type - 4 bytes
@ -53,8 +53,8 @@ type Authenticate struct {
Payload []byte
}
func ParseAuthenticateMessage(body []byte, ntlmVersion int) (*Authenticate, error) {
am := new(Authenticate)
func ParseAuthenticateMessage(body []byte, ntlmVersion int) (*AuthenticateMessage, error) {
am := new(AuthenticateMessage)
am.Signature = body[0:8]
if !bytes.Equal(am.Signature, []byte("NTLMSSP\x00")) {
@ -155,7 +155,7 @@ func ParseAuthenticateMessage(body []byte, ntlmVersion int) (*Authenticate, erro
return am, nil
}
func (a *Authenticate) ClientChallenge() (response []byte) {
func (a *AuthenticateMessage) ClientChallenge() (response []byte) {
if a.NtlmV2Response != nil {
response = a.NtlmV2Response.NtlmV2ClientChallenge.ChallengeFromClient
} else if a.NtlmV1Response != nil && NTLMSSP_NEGOTIATE_EXTENDED_SESSIONSECURITY.IsSet(a.NegotiateFlags) {
@ -165,7 +165,7 @@ func (a *Authenticate) ClientChallenge() (response []byte) {
return response
}
func (a *Authenticate) getLowestPayloadOffset() int {
func (a *AuthenticateMessage) getLowestPayloadOffset() int {
payloadStructs := [...]*PayloadStruct{a.LmChallengeResponse, a.NtChallengeResponseFields, a.DomainName, a.UserName, a.Workstation, a.EncryptedRandomSessionKey}
// Find the lowest offset value
@ -180,7 +180,7 @@ func (a *Authenticate) getLowestPayloadOffset() int {
return lowest
}
func (a *Authenticate) Bytes() []byte {
func (a *AuthenticateMessage) Bytes() []byte {
payloadLen := int(a.LmChallengeResponse.Len + a.NtChallengeResponseFields.Len + a.DomainName.Len + a.UserName.Len + a.Workstation.Len + a.EncryptedRandomSessionKey.Len)
messageLen := 8 + 4 + 6*8 + 4 + 8 + 16
payloadOffset := uint32(messageLen)
@ -241,7 +241,7 @@ func (a *Authenticate) Bytes() []byte {
return buffer.Bytes()
}
func (a *Authenticate) String() string {
func (a *AuthenticateMessage) String() string {
var buffer bytes.Buffer
buffer.WriteString("Authenticate NTLM Message\n")

View File

@ -10,7 +10,7 @@ import (
"fmt"
)
type Challenge struct {
type ChallengeMessage struct {
// sig - 8 bytes
Signature []byte
// message type - 4 bytes
@ -53,8 +53,8 @@ type Challenge struct {
Payload []byte
}
func ParseChallengeMessage(body []byte) (*Challenge, error) {
challenge := new(Challenge)
func ParseChallengeMessage(body []byte) (*ChallengeMessage, error) {
challenge := new(ChallengeMessage)
challenge.Signature = body[0:8]
if !bytes.Equal(challenge.Signature, []byte("NTLMSSP\x00")) {
@ -101,7 +101,7 @@ func ParseChallengeMessage(body []byte) (*Challenge, error) {
return challenge, nil
}
func (c *Challenge) Bytes() []byte {
func (c *ChallengeMessage) Bytes() []byte {
payloadLen := int(c.TargetName.Len + c.TargetInfoPayloadStruct.Len)
messageLen := 8 + 4 + 8 + 4 + 8 + 8 + 8 + 8
payloadOffset := uint32(messageLen)
@ -137,7 +137,7 @@ func (c *Challenge) Bytes() []byte {
return buffer.Bytes()
}
func (c *Challenge) getLowestPayloadOffset() int {
func (c *ChallengeMessage) getLowestPayloadOffset() int {
payloadStructs := [...]*PayloadStruct{c.TargetName, c.TargetInfoPayloadStruct}
// Find the lowest offset value
@ -152,7 +152,7 @@ func (c *Challenge) getLowestPayloadOffset() int {
return lowest
}
func (c *Challenge) String() string {
func (c *ChallengeMessage) String() string {
var buffer bytes.Buffer
buffer.WriteString("Challenge NTLM Message")

View File

@ -2,7 +2,7 @@
package ntlm
type Negotiate struct {
type NegotiateMessage struct {
// All bytes of the message
Bytes []byte

View File

@ -43,9 +43,9 @@ type ClientSession interface {
SetUserInfo(username string, password string, domain string)
SetMode(mode Mode)
GenerateNegotiateMessage() (*Negotiate, error)
ProcessChallengeMessage(*Challenge) error
GenerateAuthenticateMessage() (*Authenticate, error)
GenerateNegotiateMessage() (*NegotiateMessage, error)
ProcessChallengeMessage(*ChallengeMessage) error
GenerateAuthenticateMessage() (*AuthenticateMessage, error)
Seal(message []byte) ([]byte, error)
Sign(message []byte) ([]byte, error)
@ -77,9 +77,9 @@ type ServerSession interface {
SetMode(mode Mode)
SetServerChallenge(challege []byte)
ProcessNegotiateMessage(*Negotiate) error
GenerateChallengeMessage() (*Challenge, error)
ProcessAuthenticateMessage(*Authenticate) error
ProcessNegotiateMessage(*NegotiateMessage) error
GenerateChallengeMessage() (*ChallengeMessage, error)
ProcessAuthenticateMessage(*AuthenticateMessage) error
GetSessionData() *SessionData
@ -100,9 +100,9 @@ type SessionData struct {
NegotiateFlags uint32
negotiateMessage *Negotiate
challengeMessage *Challenge
authenticateMessage *Authenticate
negotiateMessage *NegotiateMessage
challengeMessage *ChallengeMessage
authenticateMessage *AuthenticateMessage
serverChallenge []byte
clientChallenge []byte

View File

@ -154,12 +154,12 @@ type V1ServerSession struct {
V1Session
}
func (n *V1ServerSession) ProcessNegotiateMessage(nm *Negotiate) (err error) {
func (n *V1ServerSession) ProcessNegotiateMessage(nm *NegotiateMessage) (err error) {
n.negotiateMessage = nm
return
}
func (n *V1ServerSession) GenerateChallengeMessage() (cm *Challenge, err error) {
func (n *V1ServerSession) GenerateChallengeMessage() (cm *ChallengeMessage, err error) {
// TODO: Generate this challenge message
return
}
@ -172,7 +172,7 @@ func (n *V1ServerSession) GetSessionData() *SessionData {
return &n.SessionData
}
func (n *V1ServerSession) ProcessAuthenticateMessage(am *Authenticate) (err error) {
func (n *V1ServerSession) ProcessAuthenticateMessage(am *AuthenticateMessage) (err error) {
n.authenticateMessage = am
n.NegotiateFlags = am.NegotiateFlags
n.clientChallenge = am.ClientChallenge()
@ -262,11 +262,11 @@ type V1ClientSession struct {
V1Session
}
func (n *V1ClientSession) GenerateNegotiateMessage() (nm *Negotiate, err error) {
func (n *V1ClientSession) GenerateNegotiateMessage() (nm *NegotiateMessage, err error) {
return nil, nil
}
func (n *V1ClientSession) ProcessChallengeMessage(cm *Challenge) (err error) {
func (n *V1ClientSession) ProcessChallengeMessage(cm *ChallengeMessage) (err error) {
n.challengeMessage = cm
n.serverChallenge = cm.ServerChallenge
n.clientChallenge = randomBytes(8)
@ -331,8 +331,8 @@ func (n *V1ClientSession) ProcessChallengeMessage(cm *Challenge) (err error) {
return nil
}
func (n *V1ClientSession) GenerateAuthenticateMessage() (am *Authenticate, err error) {
am = new(Authenticate)
func (n *V1ClientSession) GenerateAuthenticateMessage() (am *AuthenticateMessage, err error) {
am = new(AuthenticateMessage)
am.Signature = []byte("NTLMSSP\x00")
am.MessageType = uint32(3)
am.LmChallengeResponse, _ = CreateBytePayload(n.lmChallengeResponse)

View File

@ -149,13 +149,13 @@ func (n *V2ServerSession) SetServerChallenge(challenge []byte) {
n.serverChallenge = challenge
}
func (n *V2ServerSession) ProcessNegotiateMessage(nm *Negotiate) (err error) {
func (n *V2ServerSession) ProcessNegotiateMessage(nm *NegotiateMessage) (err error) {
n.negotiateMessage = nm
return
}
func (n *V2ServerSession) GenerateChallengeMessage() (cm *Challenge, err error) {
cm = new(Challenge)
func (n *V2ServerSession) GenerateChallengeMessage() (cm *ChallengeMessage, err error) {
cm = new(ChallengeMessage)
cm.Signature = []byte("NTLMSSP\x00")
cm.MessageType = uint32(2)
cm.TargetName, _ = CreateBytePayload(make([]byte, 0))
@ -195,7 +195,7 @@ func (n *V2ServerSession) GenerateChallengeMessage() (cm *Challenge, err error)
return cm, nil
}
func (n *V2ServerSession) ProcessAuthenticateMessage(am *Authenticate) (err error) {
func (n *V2ServerSession) ProcessAuthenticateMessage(am *AuthenticateMessage) (err error) {
n.authenticateMessage = am
n.NegotiateFlags = am.NegotiateFlags
n.clientChallenge = am.ClientChallenge()
@ -279,11 +279,11 @@ type V2ClientSession struct {
V2Session
}
func (n *V2ClientSession) GenerateNegotiateMessage() (nm *Negotiate, err error) {
func (n *V2ClientSession) GenerateNegotiateMessage() (nm *NegotiateMessage, err error) {
return nil, nil
}
func (n *V2ClientSession) ProcessChallengeMessage(cm *Challenge) (err error) {
func (n *V2ClientSession) ProcessChallengeMessage(cm *ChallengeMessage) (err error) {
n.challengeMessage = cm
n.serverChallenge = cm.ServerChallenge
n.clientChallenge = randomBytes(8)
@ -343,8 +343,8 @@ func (n *V2ClientSession) ProcessChallengeMessage(cm *Challenge) (err error) {
return nil
}
func (n *V2ClientSession) GenerateAuthenticateMessage() (am *Authenticate, err error) {
am = new(Authenticate)
func (n *V2ClientSession) GenerateAuthenticateMessage() (am *AuthenticateMessage, err error) {
am = new(AuthenticateMessage)
am.Signature = []byte("NTLMSSP\x00")
am.MessageType = uint32(3)
am.LmChallengeResponse, _ = CreateBytePayload(n.lmChallengeResponse)