/* SPDX-License-Identifier: LGPL-2.1+ */ /* * Copyright (c) International Business Machines Corp., 2002,2007 * Author(s): Steve French (sfrench@us.ibm.com)
*/
/* Although typedefs are not commonly used for structure definitions */ /* in the Linux kernel, in this particular case they are useful */ /* to more closely match the standards document for NTLMSSP from */ /* OpenGroup and to make the code more closely match the standard in */ /* appearance */
struct negotiate_message {
__u8 Signature[sizeof(NTLMSSP_SIGNATURE)];
__le32 MessageType; /* NtLmNegotiate = 1 */
__le32 NegotiateFlags; struct security_buffer DomainName; /* RFC 1001 style and ASCII */ struct security_buffer WorkstationName; /* RFC 1001 and ASCII */ /* * struct security_buffer for version info not present since we * do not set the version is present flag
*/ char DomainString[]; /* followed by WorkstationString */
} __packed;
struct challenge_message {
__u8 Signature[sizeof(NTLMSSP_SIGNATURE)];
__le32 MessageType; /* NtLmChallenge = 2 */ struct security_buffer TargetName;
__le32 NegotiateFlags;
__u8 Challenge[CIFS_CRYPTO_KEY_SIZE];
__u8 Reserved[8]; struct security_buffer TargetInfoArray; /* * struct security_buffer for version info not present since we * do not set the version is present flag
*/
} __packed;
struct authenticate_message {
__u8 Signature[sizeof(NTLMSSP_SIGNATURE)];
__le32 MessageType; /* NtLmsAuthenticate = 3 */ struct security_buffer LmChallengeResponse; struct security_buffer NtChallengeResponse; struct security_buffer DomainName; struct security_buffer UserName; struct security_buffer WorkstationName; struct security_buffer SessionKey;
__le32 NegotiateFlags; /* * struct security_buffer for version info not present since we * do not set the version is present flag
*/ char UserString[];
} __packed;
struct ntlmv2_resp { char ntlmv2_hash[CIFS_ENCPWD_SIZE];
__le32 blob_signature;
__u32 reserved;
__le64 time;
__u64 client_chal; /* random */
__u32 reserved2; /* array of name entries could follow ending in minimum 4 byte struct */
} __packed;
/* per smb session structure/fields */ struct ntlmssp_auth { /* whether session key is per smb session */ bool sesskey_per_smbsess; /* sent by client in type 1 ntlmsssp exchange */
__u32 client_flags; /* sent by server in type 2 ntlmssp exchange */
__u32 conn_flags; /* sent to server */ unsignedchar ciphertext[CIFS_CPHTXT_SIZE]; /* used by ntlmssp */ char cryptkey[CIFS_CRYPTO_KEY_SIZE];
}; #endif/* __KSMBD_NTLMSSP_H */
Messung V0.5
¤ Dauer der Verarbeitung: 0.24 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.