32 lines
908 B
Go
32 lines
908 B
Go
//Copyright 2013 Thomson Reuters Global Resources. BSD License please see License file for more information
|
|
|
|
package ntlm
|
|
|
|
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")
|
|
}
|
|
}
|