Print this page
NEX-17457 kernel share list fails to be updated after fs import
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
Reviewed by: Yuri Pankov <yuripv@yuripv.net>
1575 untangle libmlrpc from SMB server
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Toomas Soome <tsoome@me.com>
Approved by: Richard Lowe <richlowe@richlowe.net>
NEX-15958 panic importing CA share after failover
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Include in backports of:
  NEX-9808 SMB3 persistent handles
NEX-15958 panic importing CA share after failover
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Include in backports of:
  NEX-9808 SMB3 persistent handles
NEX-9808 SMB3 persistent handles
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
NEX-5665 SMB2 oplock leases
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Roman Strashkin <roman.strashkin@nexenta.com>
NEX-9808 SMB3 persistent handles
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
NEX-5665 SMB2 oplock leases
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Roman Strashkin <roman.strashkin@nexenta.com>
NEX-10098 Disabling SMB server service does not change the sharestate of a smb share to “offline”.
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
Reviewed by: Rob Gittins <rob.gittins@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-3863 Would like an SMB share property to enable/disable quotas
Reviewed by: Bayard Bell <bayard.bell@nexenta.com>
Reviewed by: Kevin Crowe <kevin.crowe@nexenta.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
SMB-39 Use AF_UNIX pipes for RPC
SMB-50 User-mode SMB server
 Includes work by these authors:
 Thomas Keiser <thomas.keiser@nexenta.com>
 Albert Lee <trisk@nexenta.com>

*** 19,41 **** * CDDL HEADER END */ /* * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. ! * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2016 by Delphix. All rights reserved. */ #ifndef _SMB_SHARE_H #define _SMB_SHARE_H #include <sys/param.h> #include <smbsrv/string.h> #include <smbsrv/smb_inet.h> #include <smbsrv/hash_table.h> ! #include <smbsrv/wintypes.h> ! #include <smb/lmerr.h> #if !defined(_KERNEL) && !defined(_FAKE_KERNEL) #include <libshare.h> #endif --- 19,42 ---- * CDDL HEADER END */ /* * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. ! * Copyright 2018 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2016 by Delphix. All rights reserved. */ #ifndef _SMB_SHARE_H #define _SMB_SHARE_H #include <sys/param.h> + #include <smb/lmerr.h> + #include <smb/wintypes.h> #include <smbsrv/string.h> #include <smbsrv/smb_inet.h> #include <smbsrv/hash_table.h> ! #include <smbsrv/smbinfo.h> #if !defined(_KERNEL) && !defined(_FAKE_KERNEL) #include <libshare.h> #endif
*** 72,98 **** * * catia CATIA character substitution * * guestok Determines whether guest access is allowed * ! * next three properties use access-list a al NFS * * ro list of hosts that will have read-only access * rw list of hosts that will have read/write access * none list of hosts that won't be allowed access */ #define SHOPT_AD_CONTAINER "ad-container" #define SHOPT_ABE "abe" #define SHOPT_NAME "name" #define SHOPT_CSC "csc" #define SHOPT_CATIA "catia" #define SHOPT_GUEST "guestok" #define SHOPT_RO "ro" #define SHOPT_RW "rw" #define SHOPT_NONE "none" #define SHOPT_DFSROOT "dfsroot" #define SHOPT_DESCRIPTION "description" #define SMB_DEFAULT_SHARE_GROUP "smb" #define SMB_PROTOCOL_NAME "smb" /* --- 73,112 ---- * * catia CATIA character substitution * * guestok Determines whether guest access is allowed * ! * quotas SMB quotas presented & supported (T/F) * + * encrypt Controls SMB3 encryption per-share. + * disabled Server does not tell the client to encrypt requests. + * enabled Server asks, but does not require, that the client + * encrypt its requests. + * required Server denies unencrypted share access. + * + * next three properties use access-list a la NFS + * * ro list of hosts that will have read-only access * rw list of hosts that will have read/write access * none list of hosts that won't be allowed access */ #define SHOPT_AD_CONTAINER "ad-container" #define SHOPT_ABE "abe" #define SHOPT_NAME "name" + #define SHOPT_CA "ca" #define SHOPT_CSC "csc" #define SHOPT_CATIA "catia" #define SHOPT_GUEST "guestok" #define SHOPT_RO "ro" #define SHOPT_RW "rw" #define SHOPT_NONE "none" #define SHOPT_DFSROOT "dfsroot" #define SHOPT_DESCRIPTION "description" + #define SHOPT_QUOTAS "quotas" + #define SHOPT_FSO "fso" /* Force Shared Oplocks */ + #define SHOPT_ENCRYPT "encrypt" + #define SHOPT_AUTOHOME "Autohome" #define SMB_DEFAULT_SHARE_GROUP "smb" #define SMB_PROTOCOL_NAME "smb" /*
*** 168,184 **** --- 182,203 ---- #define SMB_SHRF_ACC_NONE 0x0100 #define SMB_SHRF_ACC_RO 0x0200 #define SMB_SHRF_ACC_RW 0x0400 #define SMB_SHRF_ACC_ALL 0x0F00 + #define SMB_SHRF_QUOTAS 0x1000 /* Enable SMB Quotas */ + #define SMB_SHRF_FSO 0x2000 /* Force Shared Oplocks */ + #define SMB_SHRF_CA 0x4000 /* Continuous Availability */ + /* * Runtime flags */ #define SMB_SHRF_ADMIN 0x01000000 #define SMB_SHRF_TRANS 0x10000000 #define SMB_SHRF_PERM 0x20000000 #define SMB_SHRF_AUTOHOME 0x40000000 + #define SMB_SHRF_REMOVED 0x80000000 /* unshared */ #define SMB_SHARE_PRINT "print$" #define SMB_SHARE_PRINT_LEN 6 /* * refcnt is currently only used for autohome. autohome needs a refcnt
*** 198,207 **** --- 217,227 ---- uid_t shr_uid; /* autohome only */ gid_t shr_gid; /* autohome only */ char shr_access_none[MAXPATHLEN]; char shr_access_ro[MAXPATHLEN]; char shr_access_rw[MAXPATHLEN]; + smb_cfg_val_t shr_encrypt; } smb_share_t; typedef struct smb_shriter { smb_share_t si_share; HT_ITERATOR si_hashiter;
*** 239,248 **** --- 259,270 ---- * CIFS share management functions exported by libmlsvc */ int smb_shr_start(void); void smb_shr_stop(void); void *smb_shr_load(void *); + void smb_shr_load_execinfo(void); + void smb_shr_unload(void); void smb_shr_iterinit(smb_shriter_t *); smb_share_t *smb_shr_iterate(smb_shriter_t *); void smb_shr_list(int, smb_shrlist_t *); int smb_shr_count(void); uint32_t smb_shr_add(smb_share_t *);