Print this page
NEX-13644 File access audit logging
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
Reviewed by: Roman Strashkin <roman.strashkin@nexenta.com>
Reviewed by: Saso Kiselkov <saso.kiselkov@nexenta.com>
Reviewed by: Rick McNeal <rick.mcneal@nexenta.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
NEX-17589 Get "too high" smbd error when copy big file to cifs share (redo)
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
NEX-16763 Catch up with illumos SMB client 1575 ... (fix rebuild)
NEX-9808 SMB3 persistent handles
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
NEX-15578 SMB2 durable handle redesign
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-15578 SMB2 durable handle redesign
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-1643 dtrace provider for smbsrv
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Matt Barden <matt.barden@nexenta.com>
NEX-9864 Some SMB cancel races remain after NEX-5845
Revert (part of) "NEX-5845 rework SMB immediate cancel"
reverts (part of) commit 7a5da69f6d42b17ebcc95ca3d02925d07a01343e.
Reviewed by: Matt Barden <matt.barden@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-5664 Offload Data Transfer (ODX) support for Hyper-V
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Kevin Crowe <kevin.crowe@nexenta.com>
Reviewed by: Matt Barden <matt.barden@nexenta.com>
NEX-6276 SMB sparse file support
Reviewed by: Kevin Crowe <kevin.crowe@nexenta.com>
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
NEX-5844 want SMB2 ioctl FSCTL_SRV_COPYCHUNK
NEX-6124 smb_fsop_read/write should allow file != sr->fid_ofile
NEX-6125 smbtorture invalid response with smb2.ioctl
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Matt Barden <matt.barden@nexenta.com>
NEX-6096 Enable compile warnings re. parentheses in smbsrv
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Rick McNeal <rick.mcneal@nexenta.com>
Reviewed by: Josef 'Jeff' Sipek <josef.sipek@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Jean McCormack <jean.mccormack@nexenta.com>
NEX-3733 Want SMB2 Apple extensions
Reviewed by: Kevin Crowe <kevin.crowe@nexenta.com>
Reviewed by: Matt Barden <Matt.Barden@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-4083 Upstream changes from illumos 5917 and 5995
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Kevin Crowe <kevin.crowe@nexenta.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
NEX-3728 SMB1 signing should use KCF like SMB2/3
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Dan Fields <dan.fields@nexenta.com>
NEX-3610 CLONE NEX-3591 SMB3 signing
Reviewed by: Gordon Ross <gwr@nexenta.com>
Reviewed by: Dan Fields <dan.fields@nexenta.com>
NEX-3487 Fix fallout from illumos 5688 ELF tools need to be more careful with dwarf data
NEX-2460 libfksmbd should not link with libsmb
SMB-55 SMB2 signing
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-69 read-raw, write-raw are dead code
SMB-56 extended security NTLMSSP, inbound
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>
        
@@ -20,19 +20,20 @@
 #
 #
 # Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
-# Copyright 2014 Nexenta Systems, Inc.  All rights reserved.
+# Copyright 2018 Nexenta Systems, Inc.  All rights reserved.
 #
 
 LIBRARY =       libfksmbsrv.a
 VERS =          .1
 
 OBJS_LOCAL = \
+                fksmb_audit.o \
                 fksmb_cred.o \
-                fksmb_dt.o \
+                fksmb_encrypt_pkcs.o \
                 fksmb_fem.o \
                 fksmb_idmap.o \
                 fksmb_init.o \
                 fksmb_kdoor.o \
                 fksmb_sign_pkcs.o \
@@ -52,10 +53,11 @@
 OBJS_FS_SMBSRV = \
                 smb_acl.o                               \
                 smb_alloc.o                             \
                 smb_authenticate.o                      \
                 smb_close.o                             \
+                smb_cmn_oplock.o                        \
                 smb_cmn_rename.o                        \
                 smb_cmn_setfile.o                       \
                 smb_common_open.o                       \
                 smb_common_transact.o                   \
                 smb_create.o                            \
@@ -106,31 +108,38 @@
                 smb_server.o                            \
                 smb_session.o                           \
                 smb_session_setup_andx.o                \
                 smb_set_fileinfo.o                      \
                 smb_signing.o                           \
+                smb_srv_oplock.o                        \
                 smb_thread.o                            \
                 smb_tree.o                              \
                 smb_trans2_create_directory.o           \
                 smb_trans2_dfs.o                        \
                 smb_trans2_find.o                       \
                 smb_tree_connect.o                      \
                 smb_unlock_byte_range.o                 \
                 smb_user.o                              \
-                smb_vfs.o                               \
                 smb_vops.o                              \
                 smb_vss.o                               \
                 smb_write.o                             \
                 \
+                smb2_aapl.o \
                 smb2_dispatch.o \
+                smb2_durable.o \
                 smb2_cancel.o \
                 smb2_change_notify.o \
                 smb2_close.o \
                 smb2_create.o \
                 smb2_echo.o \
                 smb2_flush.o \
+                smb2_fsctl_copychunk.o \
+                smb2_fsctl_fs.o \
+                smb2_fsctl_odx.o \
+                smb2_fsctl_sparse.o \
                 smb2_ioctl.o \
+                smb2_lease.o \
                 smb2_lock.o \
                 smb2_logoff.o \
                 smb2_negotiate.o \
                 smb2_ofile.o \
                 smb2_oplock.o \
@@ -148,16 +157,19 @@
                 smb2_setinfo_quota.o \
                 smb2_setinfo_sec.o \
                 smb2_signing.o \
                 smb2_tree_connect.o \
                 smb2_tree_disconn.o \
-                smb2_write.o
+                smb2_write.o \
+                \
+                smb3_encrypt.o
 
 # Can't just link with -lsmb because of user vs kernel API
 # i.e. can't call free with mem from kmem_alloc, which is
 # what happens if we just link with -lsmb
 OBJS_CMN_SMBSRV = \
+                smb_cfg_util.o \
                 smb_inet.o \
                 smb_match.o \
                 smb_msgbuf.o \
                 smb_native.o \
                 smb_netbios_util.o \
@@ -174,10 +186,15 @@
                 pathname.o \
                 refstr.o \
                 smb_status2winerr.o \
                 xattr_common.o
 
+# This one can't be in OBJECTS, as it has to depend on
+# all of those for the COMPILE.d rule (which processes
+# all those objects collecting probe instances).
+DTRACE_OBJS = fksmb_dt.o
+
 OBJECTS = \
         $(OBJS_LOCAL) \
         $(OBJS_FS_SMBSRV) \
         $(OBJS_CMN_SMBSRV) \
         $(OBJS_MISC)
@@ -190,12 +207,14 @@
 CCSOURCEDEBUGFLAGS      = -g
 STRIP_STABS     = :
 
 
 # Note: need our sys includes _before_ ENVCPPFLAGS, proto etc.
+# Also, like Makefile.uts, reset CPPFLAGS
 CPPFLAGS.first += -I../../../libfakekernel/common
 CPPFLAGS.first += -I../common
+CPPFLAGS        = $(CPPFLAGS.first)
 
 INCS += -I$(SRC)/uts/common
 INCS += -I$(SRC)/common/smbsrv
 INCS += -I$(SRC)/common
 
@@ -210,11 +229,10 @@
 CPPFLAGS += $(INCS) -D_REENTRANT -D_FAKE_KERNEL
 CPPFLAGS += -D_FILE_OFFSET_BITS=64
 # Always want DEBUG here
 CPPFLAGS += -DDEBUG
 
-CERRWARN += -_gcc=-Wno-parentheses
 CERRWARN += -_gcc=-Wno-switch
 
 SRCS=   $(OBJS_LOCAL:%.o=$(SRCDIR)/%.c) \
         $(OBJS_FS_SMBSRV:%.o=$(SRC)/uts/common/fs/smbsrv/%.c) \
         $(OBJS_CMN_SMBSRV:%.o=$(SRC)/common/smbsrv/%.c)
@@ -227,22 +245,22 @@
 
 pics/acl_common.o:         $(SRC)/common/acl/acl_common.c
         $(COMPILE.c) -o $@ $(SRC)/common/acl/acl_common.c
         $(POST_PROCESS_O)
 
-pics/smb_status2winerr.o:  $(SRC)/common/smbclnt/smb_status2winerr.c
-        $(COMPILE.c) -o $@ $(SRC)/common/smbclnt/smb_status2winerr.c
-        $(POST_PROCESS_O)
-
 pics/pathname.o:           $(SRC)/uts/common/fs/pathname.c
         $(COMPILE.c) -o $@ $(SRC)/uts/common/fs/pathname.c
         $(POST_PROCESS_O)
 
 pics/refstr.o:             $(SRC)/uts/common/os/refstr.c
         $(COMPILE.c) -o $@ $(SRC)/uts/common/os/refstr.c
         $(POST_PROCESS_O)
 
+pics/smb_status2winerr.o:  $(SRC)/common/smbclnt/smb_status2winerr.c
+        $(COMPILE.c) -o $@ $(SRC)/common/smbclnt/smb_status2winerr.c
+        $(POST_PROCESS_O)
+
 pics/xattr_common.o:       $(SRC)/common/xattr/xattr_common.c
         $(COMPILE.c) -o $@ $(SRC)/common/xattr/xattr_common.c
         $(POST_PROCESS_O)
 
 # Makefile.targ has rule for $(SRC)/common/smbsrv/%.c
@@ -249,5 +267,14 @@
 
 .KEEP_STATE:
 
 include ../../Makefile.targ
 include ../../../Makefile.targ
+
+EXTPICS= $(DTRACE_OBJS:%=pics/%)
+CLEANFILES += $(EXTPICS)
+
+$(OBJS) $(PICS) : ../common/fksmb_dt.h
+
+pics/fksmb_dt.o: ../common/fksmb_dt.d $(PICS)
+        $(COMPILE.d) -C -s ../common/fksmb_dt.d -o $@ $(PICS)
+        $(POST_PROCESS_O)