From 4fd9a9d6de6c37d368010f1485adf87a8f1523ca Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Tue, 8 Sep 2009 14:51:42 +0200 Subject: schannel: add NL_AUTH_MESSAGE and both NL_AUTH_SIGNATURE structs. These actually belong netlogon but we for now want to keep netlogon as a security providor separate. Guenther --- librpc/gen_ndr/schannel.h | 83 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) (limited to 'librpc/gen_ndr/schannel.h') diff --git a/librpc/gen_ndr/schannel.h b/librpc/gen_ndr/schannel.h index d7e3ab3970..83357d8568 100644 --- a/librpc/gen_ndr/schannel.h +++ b/librpc/gen_ndr/schannel.h @@ -51,4 +51,87 @@ struct netlogon_creds_CredentialState { struct dom_sid *sid;/* [unique] */ }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */; +enum NL_AUTH_MESSAGE_TYPE +#ifndef USE_UINT_ENUMS + { + NL_NEGOTIATE_REQUEST=0x00000000, + NL_NEGOTIATE_RESPONSE=0x00000001 +} +#else + { __donnot_use_enum_NL_AUTH_MESSAGE_TYPE=0x7FFFFFFF} +#define NL_NEGOTIATE_REQUEST ( 0x00000000 ) +#define NL_NEGOTIATE_RESPONSE ( 0x00000001 ) +#endif +; + +/* bitmap NL_AUTH_MESSAGE_FLAGS */ +#define NL_FLAG_OEM_NETBIOS_DOMAIN_NAME ( 0x00000001 ) +#define NL_FLAG_OEM_NETBIOS_COMPUTER_NAME ( 0x00000002 ) +#define NL_FLAG_UTF8_DNS_DOMAIN_NAME ( 0x00000004 ) +#define NL_FLAG_UTF8_DNS_HOST_NAME ( 0x00000008 ) +#define NL_FLAG_UTF8_NETBIOS_COMPUTER_NAME ( 0x00000010 ) + +union NL_AUTH_MESSAGE_BUFFER { + const char * a;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM),case(NL_FLAG_OEM_NETBIOS_DOMAIN_NAME)] */ + const char * u;/* [case(NL_FLAG_UTF8_DNS_DOMAIN_NAME)] */ +}/* [noprint,nodiscriminant,public] */; + +struct NL_AUTH_MESSAGE { + enum NL_AUTH_MESSAGE_TYPE MessageType; + uint32_t Flags; + union NL_AUTH_MESSAGE_BUFFER oem_netbios_domain;/* [switch_is(Flags&NL_FLAG_OEM_NETBIOS_DOMAIN_NAME)] */ + union NL_AUTH_MESSAGE_BUFFER oem_netbios_computer;/* [switch_is(Flags&NL_FLAG_OEM_NETBIOS_COMPUTER_NAME)] */ + union NL_AUTH_MESSAGE_BUFFER utf8_dns_domain;/* [switch_is(Flags&NL_FLAG_UTF8_DNS_DOMAIN_NAME)] */ + union NL_AUTH_MESSAGE_BUFFER utf8_dns_host;/* [switch_is(Flags&NL_FLAG_UTF8_DNS_HOST_NAME)] */ + union NL_AUTH_MESSAGE_BUFFER utf8_netbios_computer;/* [switch_is(Flags&NL_FLAG_UTF8_NETBIOS_COMPUTER_NAME)] */ +}/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */; + +enum NL_SIGNATURE_ALGORITHM +#ifndef USE_UINT_ENUMS + { + NL_SIGN_HMAC_SHA256=0x0013, + NL_SIGN_HMAC_MD5=0x0077 +} +#else + { __donnot_use_enum_NL_SIGNATURE_ALGORITHM=0x7FFFFFFF} +#define NL_SIGN_HMAC_SHA256 ( 0x0013 ) +#define NL_SIGN_HMAC_MD5 ( 0x0077 ) +#endif +; + +enum NL_SEAL_ALGORITHM +#ifndef USE_UINT_ENUMS + { + NL_SEAL_AES128=0x001A, + NL_SEAL_RC4=0x007A, + NL_SEAL_NONE=0xFFFF +} +#else + { __donnot_use_enum_NL_SEAL_ALGORITHM=0x7FFFFFFF} +#define NL_SEAL_AES128 ( 0x001A ) +#define NL_SEAL_RC4 ( 0x007A ) +#define NL_SEAL_NONE ( 0xFFFF ) +#endif +; + +struct NL_AUTH_SIGNATURE { + enum NL_SIGNATURE_ALGORITHM SignatureAlgorithm;/* [value(NL_SIGN_HMAC_MD5)] */ + enum NL_SEAL_ALGORITHM SealAlgorithm; + uint16_t Pad; + uint16_t Flags; + uint8_t SequenceNumber[8]; + uint8_t Checksum[8]; + uint8_t Confounder[8]; +}/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */; + +struct NL_AUTH_SHA2_SIGNATURE { + enum NL_SIGNATURE_ALGORITHM SignatureAlgorithm;/* [value(NL_SIGN_HMAC_SHA256)] */ + enum NL_SEAL_ALGORITHM SealAlgorithm; + uint16_t Pad; + uint16_t Flags; + uint8_t SequenceNumber[8]; + uint8_t Checksum[32]; + uint8_t Confounder[8]; +}/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */; + #endif /* _HEADER_schannel */ -- cgit