Print this page
12513 SMB 3.1.1 support for server
*** 19,28 ****
--- 19,29 ----
* CDDL HEADER END
*/
/*
* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright 2019 Nexenta by DDN, Inc. All rights reserved.
+ * Copyright 2020 RackTop Systems, Inc.
*/
/*
* Structures and type definitions for the SMB module.
*/
*** 886,895 ****
--- 887,897 ----
#define SMB_SESSION_MAGIC 0x53455353 /* 'SESS' */
#define SMB_SESSION_VALID(p) \
ASSERT(((p) != NULL) && ((p)->s_magic == SMB_SESSION_MAGIC))
#define SMB_CHALLENGE_SZ 8
+ #define SMB3_PREAUTH_HASHVAL_SZ 64
typedef enum {
SMB_SESSION_STATE_INITIALIZED = 0,
SMB_SESSION_STATE_DISCONNECTED,
SMB_SESSION_STATE_CONNECTED,
*** 936,945 ****
--- 938,948 ----
uint32_t srv_cap;
struct smb_sign signing; /* SMB1 */
void *sign_mech; /* mechanism info */
void *enc_mech;
+ void *preauth_mech;
/* SMB2/SMB3 signing support */
int (*sign_calc)(struct smb_request *,
struct mbuf_chain *, uint8_t *);
void (*sign_fini)(struct smb_session *);
*** 974,983 ****
--- 977,992 ----
int reply_max_bytes;
uint16_t smb_msg_size;
uint16_t smb_max_mpx;
smb_srqueue_t *s_srqueue;
uint64_t start_time;
+
+ uint16_t smb31_enc_cipherid;
+ uint16_t smb31_preauth_hashid;
+ uint8_t smb31_preauth_hashval[SMB3_PREAUTH_HASHVAL_SZ];
+ uint8_t smb31_preauth_salt[32];
+
unsigned char MAC_key[44];
char ip_addr_str[INET6_ADDRSTRLEN];
uint8_t clnt_uuid[16];
char workstation[SMB_PI_MAX_HOST];
} smb_session_t;