go-ntlm/src/ntlm/messages/negotiate_flags_test.go
2012-11-09 15:39:05 -05:00

30 lines
803 B
Go

package messages
import (
"encoding/binary"
"encoding/hex"
"testing"
)
func TestFlags(t *testing.T) {
// Sample value from 4.2.2 NTLM v1 Authentication
bytes, _ := hex.DecodeString("338202e2")
flags := uint32(0)
flags = NTLMSSP_NEGOTIATE_KEY_EXCH.Set(flags)
flags = NTLMSSP_NEGOTIATE_56.Set(flags)
flags = NTLMSSP_NEGOTIATE_128.Set(flags)
flags = NTLMSSP_NEGOTIATE_VERSION.Set(flags)
flags = NTLMSSP_TARGET_TYPE_SERVER.Set(flags)
flags = NTLMSSP_NEGOTIATE_ALWAYS_SIGN.Set(flags)
flags = NTLMSSP_NEGOTIATE_NTLM.Set(flags)
flags = NTLMSSP_NEGOTIATE_SEAL.Set(flags)
flags = NTLMSSP_NEGOTIATE_SIGN.Set(flags)
flags = NTLM_NEGOTIATE_OEM.Set(flags)
flags = NTLMSSP_NEGOTIATE_UNICODE.Set(flags)
if flags != binary.LittleEndian.Uint32(bytes) {
t.Error("NTLM Flags are not correct")
}
}