32 lines
652 B
Go
32 lines
652 B
Go
package ntlmssp
|
|
|
|
import (
|
|
"bytes"
|
|
"encoding/binary"
|
|
)
|
|
|
|
type negotiateMessageFields struct {
|
|
messageHeader
|
|
NegotiateFlags negotiateFlags
|
|
}
|
|
|
|
//NewNegotiateMessage creates a new NEGOTIATE message with the
|
|
//flags that this package supports.
|
|
func NewNegotiateMessage() []byte {
|
|
m := negotiateMessageFields{
|
|
messageHeader: newMessageHeader(1),
|
|
}
|
|
|
|
m.NegotiateFlags = negotiateFlagNTLMSSPREQUESTTARGET |
|
|
negotiateFlagNTLMSSPNEGOTIATENTLM |
|
|
negotiateFlagNTLMSSPNEGOTIATEALWAYSSIGN |
|
|
negotiateFlagNTLMSSPNEGOTIATEUNICODE
|
|
|
|
b := bytes.Buffer{}
|
|
err := binary.Write(&b, binary.LittleEndian, &m)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
return b.Bytes()
|
|
}
|