summaryrefslogtreecommitdiff
path: root/source4/auth/ntlmssp/ntlmssp.h
diff options
context:
space:
mode:
Diffstat (limited to 'source4/auth/ntlmssp/ntlmssp.h')
-rw-r--r--source4/auth/ntlmssp/ntlmssp.h39
1 files changed, 21 insertions, 18 deletions
diff --git a/source4/auth/ntlmssp/ntlmssp.h b/source4/auth/ntlmssp/ntlmssp.h
index 2aa9aea810..65292b438b 100644
--- a/source4/auth/ntlmssp/ntlmssp.h
+++ b/source4/auth/ntlmssp/ntlmssp.h
@@ -106,10 +106,6 @@ struct ntlmssp_state
uint32_t neg_flags; /* the current state of negotiation with the NTLMSSP partner */
- /* internal variables used by NTLM2 */
- BOOL doing_ntlm2;
- uint8_t session_nonce[16];
-
/* internal variables used by KEY_EXCH (client-supplied user session key */
DATA_BLOB encrypted_session_key;
@@ -162,21 +158,28 @@ struct ntlmssp_state
const char *server_name;
const char *(*get_domain)(void);
- /* SMB Signing */
- uint32_t ntlm_seq_num;
- uint32_t ntlm2_send_seq_num;
- uint32_t ntlm2_recv_seq_num;
-
- /* ntlmv2 */
- DATA_BLOB send_sign_key;
- DATA_BLOB recv_sign_key;
-
- struct arcfour_state *send_seal_hash;
- struct arcfour_state *recv_seal_hash;
-
- /* ntlmv1 */
- struct arcfour_state *ntlmssp_hash;
+ BOOL doing_ntlm2;
+ union {
+ /* NTLM */
+ struct {
+ uint32_t seq_num;
+ struct arcfour_state *arcfour_state;
+ } ntlm;
+
+ /* NTLM2 */
+ struct {
+ uint32_t send_seq_num;
+ uint32_t recv_seq_num;
+ DATA_BLOB send_sign_key;
+ DATA_BLOB recv_sign_key;
+ struct arcfour_state *send_seal_arcfour_state;
+ struct arcfour_state *recv_seal_arcfour_state;
+
+ /* internal variables used by NTLM2 */
+ uint8_t session_nonce[16];
+ } ntlm2;
+ };
};
struct gensec_ntlmssp_state {