ntlmssp: add NEGOTIATE_MESSAGE to IDL.
authorGünther Deschner <gd@samba.org>
Thu, 13 Aug 2009 22:31:53 +0000 (00:31 +0200)
committerGünther Deschner <gd@samba.org>
Fri, 28 Aug 2009 08:05:06 +0000 (10:05 +0200)
Guenther

librpc/idl/ntlmssp.idl

index 9845f348e102f5edbf5ab451b4d6fd22e24d2584..6106617b959f016518b610b3ded2b513f9ddcdba 100644 (file)
@@ -87,4 +87,24 @@ interface ntlmssp
                uint8 Reserved[3];
                ntlmssp_NTLMRevisionCurrent NTLMRevisionCurrent;
        } VERSION;
+
+       typedef [nodiscriminant] union {
+               [case(NTLMSSP_NEGOTIATE_VERSION)] VERSION version;
+               [default];
+       } ntlmssp_Version;
+
+       /* NTLMSSP negotiate message */
+
+       typedef [public] struct {
+               [charset(DOS),value("NTLMSSP")] uint8 Signature[8];
+               [value(NtLmNegotiate)] ntlmssp_MessageType MessageType;
+               NEGOTIATE NegotiateFlags;
+               [value(strlen(DomainName))] uint16 DomainNameLen;
+               [value(DomainNameLen)] uint16 DomainNameMaxLen;
+               [relative] [subcontext(0),subcontext_size(DomainNameLen)] [flag(ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_OEM))] string *DomainName;
+               [value(strlen(Workstation))] uint16 WorkstationLen;
+               [value(WorkstationLen)] uint16 WorkstationMaxLen;
+               [relative] [subcontext(0),subcontext_size(WorkstationLen)] [flag(ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_OEM))] string *Workstation;
+               [switch_is(NegotiateFlags & NTLMSSP_NEGOTIATE_VERSION)] ntlmssp_Version Version;
+       } NEGOTIATE_MESSAGE;
 }