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 *);