func GetDomain(user string) (string, string, bool)
GetDomain : parse domain name from based on slashes in the input Need to check for upn as well
func NewNegotiateMessage(domainName, workstationName string) ([]byte, error)
NewNegotiateMessage creates a new NEGOTIATE message with the flags that this package supports.
func ProcessChallenge(challengeMessageData []byte, user, password string, domainNeeded bool) ([]byte, error)
ProcessChallenge crafts an AUTHENTICATE message in response to the CHALLENGE message that was received from the server
func ProcessChallengeWithHash(challengeMessageData []byte, user, hash string) ([]byte, error)
Negotiator is a http.Roundtripper decorator that automatically converts basic authentication to NTLM/Negotiate authentication when appropriate.
type Negotiator struct{ http.RoundTripper }
func (l Negotiator) RoundTrip(req *http.Request) (res *http.Response, err error)
RoundTrip sends the request to the server, handling any authentication re-sends as needed.
Version is a struct representing https://msdn.microsoft.com/en-us/library/cc236654.aspx
type Version struct { ProductMajorVersion uint8 ProductMinorVersion uint8 ProductBuild uint16 NTLMRevisionCurrent uint8 // contains filtered or unexported fields }
func DefaultVersion() Version
DefaultVersion returns a Version with "sensible" defaults (Windows 7)