Print this page
NEX-17289 Minimal SMB 3.0.2 support
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
NEX-10019 SMB server min_protocol setting
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
NEX-5273 SMB 3 Encryption
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Roman Strashkin <roman.strashkin@nexenta.com>
NEX-4598 SMB2 credit shortage with Mac client
Reviewed by: Bayard Bell <bayard.bell@nexenta.com>
Reviewed by: Kevin Crowe <kevin.crowe@nexenta.com>
Reviewed by: Matt Barden <Matt.Barden@nexenta.com>
NEX-3611 CLONE NEX-3550 Replace smb2_enable with max_protocol
Reviewed by: Yuri Pankov <Yuri.Pankov@nexenta.com>
NEX-1050 enable_smb2 should be smb2_enable
SMB-11 SMB2 message parse & dispatch
SMB-12 SMB2 Negotiate Protocol
SMB-13 SMB2 Session Setup
SMB-14 SMB2 Logoff
SMB-15 SMB2 Tree Connect
SMB-16 SMB2 Tree Disconnect
SMB-17 SMB2 Create
SMB-18 SMB2 Close
SMB-19 SMB2 Flush
SMB-20 SMB2 Read
SMB-21 SMB2 Write
SMB-22 SMB2 Lock/Unlock
SMB-23 SMB2 Ioctl
SMB-24 SMB2 Cancel
SMB-25 SMB2 Echo
SMB-26 SMB2 Query Dir
SMB-27 SMB2 Change Notify
SMB-28 SMB2 Query Info
SMB-29 SMB2 Set Info
SMB-30 SMB2 Oplocks
SMB-53 SMB2 Create Context options
(SMB2 code review cleanup 1, 2, 3)
SMB-56 extended security NTLMSSP, inbound
SMB-50 User-mode SMB server
 Includes work by these authors:
 Thomas Keiser <thomas.keiser@nexenta.com>
 Albert Lee <trisk@nexenta.com>
re #6813 rb1757 port 2976 Child folder visibility through shares
        
*** 18,28 ****
   *
   * CDDL HEADER END
   */
  /*
   * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
!  * Copyright 2015 Nexenta Systems, Inc.  All rights reserved.
   */
  
  #ifndef _SMBSRV_SMBINFO_H
  #define _SMBSRV_SMBINFO_H
  
--- 18,28 ----
   *
   * CDDL HEADER END
   */
  /*
   * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
!  * Copyright 2018 Nexenta Systems, Inc.  All rights reserved.
   */
  
  #ifndef _SMBSRV_SMBINFO_H
  #define _SMBSRV_SMBINFO_H
  
*** 129,138 ****
--- 129,146 ----
          uint32_t        sv_minor;
          uint32_t        sv_build_number;
          uint32_t        sv_platform_id;
  } smb_version_t;
  
+ typedef enum smb_cfg_val {
+         SMB_CONFIG_DISABLED = 0,
+         SMB_CONFIG_ENABLED = 1,
+         SMB_CONFIG_REQUIRED = 2
+ } smb_cfg_val_t;
+ 
+ void smb_cfg_set_require(const char *, smb_cfg_val_t *);
+ 
  /* See also: smb_ioc_cfg_t */
  typedef struct smb_kmod_cfg {
          uint32_t skc_maxworkers;
          uint32_t skc_maxconnections;
          uint32_t skc_keepalive;
*** 145,154 ****
--- 153,164 ----
          int32_t skc_netbios_enable;
          int32_t skc_ipv6_enable;
          int32_t skc_print_enable;
          int32_t skc_traverse_mounts;
          uint32_t skc_max_protocol;      /* SMB_VERS_... */
+         uint32_t skc_min_protocol;      /* SMB_VERS_... */
+         smb_cfg_val_t skc_encrypt; /* EncryptData and RejectUnencryptedAccess */
          uint32_t skc_execflags;
          uint32_t skc_negtok_len;
          smb_version_t skc_version;
          uint16_t skc_initial_credits;
          uint16_t skc_maximum_credits;
*** 218,227 ****
--- 228,238 ----
  #define SMB_VERS_1              1       /* arbitrary value < 0x200 */
  #define SMB_VERS_2_BASE         0x200   /* for (SMB2 or higher?) tests */
  #define SMB_VERS_2_002          0x202   /* "2.002" */
  #define SMB_VERS_2_1            0x210   /* "2.1" */
  #define SMB_VERS_3_0            0x300   /* "3.0" */
+ #define SMB_VERS_3_02           0x302   /* "3.02" */
  
  #ifdef __cplusplus
  }
  #endif