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)