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>

Split Close
Expand all
Collapse all
          --- old/usr/src/lib/smbsrv/libfksmbsrv/Makefile.com
          +++ new/usr/src/lib/smbsrv/libfksmbsrv/Makefile.com
↓ open down ↓ 14 lines elided ↑ open up ↑
  15   15  # If applicable, add the following below this CDDL HEADER, with the
  16   16  # fields enclosed by brackets "[]" replaced with your own identifying
  17   17  # information: Portions Copyright [yyyy] [name of copyright owner]
  18   18  #
  19   19  # CDDL HEADER END
  20   20  #
  21   21  #
  22   22  # Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
  23   23  # Use is subject to license terms.
  24   24  #
  25      -# Copyright 2014 Nexenta Systems, Inc.  All rights reserved.
       25 +# Copyright 2018 Nexenta Systems, Inc.  All rights reserved.
  26   26  #
  27   27  
  28   28  LIBRARY =       libfksmbsrv.a
  29   29  VERS =          .1
  30   30  
  31   31  OBJS_LOCAL = \
       32 +                fksmb_audit.o \
  32   33                  fksmb_cred.o \
  33      -                fksmb_dt.o \
       34 +                fksmb_encrypt_pkcs.o \
  34   35                  fksmb_fem.o \
  35   36                  fksmb_idmap.o \
  36   37                  fksmb_init.o \
  37   38                  fksmb_kdoor.o \
  38   39                  fksmb_sign_pkcs.o \
  39   40                  fake_lookup.o \
  40   41                  fake_nblk.o \
  41   42                  fake_vfs.o \
  42   43                  fake_vnode.o \
  43   44                  fake_vop.o \
↓ open down ↓ 3 lines elided ↑ open up ↑
  47   48  
  48   49  # See also: $SRC/uts/common/Makefile.files
  49   50  # NB: Intentionally ommitted, compared w/ the above:
  50   51  #   smb_cred, smb_fem, smb_idmap, smb_init, smb_kdoor
  51   52  #
  52   53  OBJS_FS_SMBSRV = \
  53   54                  smb_acl.o                               \
  54   55                  smb_alloc.o                             \
  55   56                  smb_authenticate.o                      \
  56   57                  smb_close.o                             \
       58 +                smb_cmn_oplock.o                        \
  57   59                  smb_cmn_rename.o                        \
  58   60                  smb_cmn_setfile.o                       \
  59   61                  smb_common_open.o                       \
  60   62                  smb_common_transact.o                   \
  61   63                  smb_create.o                            \
  62   64                  smb_delete.o                            \
  63   65                  smb_dfs.o                               \
  64   66                  smb_directory.o                         \
  65   67                  smb_dispatch.o                          \
  66   68                  smb_echo.o                              \
↓ open down ↓ 34 lines elided ↑ open up ↑
 101  103                  smb_quota.o                             \
 102  104                  smb_read.o                              \
 103  105                  smb_rename.o                            \
 104  106                  smb_sd.o                                \
 105  107                  smb_seek.o                              \
 106  108                  smb_server.o                            \
 107  109                  smb_session.o                           \
 108  110                  smb_session_setup_andx.o                \
 109  111                  smb_set_fileinfo.o                      \
 110  112                  smb_signing.o                           \
      113 +                smb_srv_oplock.o                        \
 111  114                  smb_thread.o                            \
 112  115                  smb_tree.o                              \
 113  116                  smb_trans2_create_directory.o           \
 114  117                  smb_trans2_dfs.o                        \
 115  118                  smb_trans2_find.o                       \
 116  119                  smb_tree_connect.o                      \
 117  120                  smb_unlock_byte_range.o                 \
 118  121                  smb_user.o                              \
 119      -                smb_vfs.o                               \
 120  122                  smb_vops.o                              \
 121  123                  smb_vss.o                               \
 122  124                  smb_write.o                             \
 123  125                  \
      126 +                smb2_aapl.o \
 124  127                  smb2_dispatch.o \
      128 +                smb2_durable.o \
 125  129                  smb2_cancel.o \
 126  130                  smb2_change_notify.o \
 127  131                  smb2_close.o \
 128  132                  smb2_create.o \
 129  133                  smb2_echo.o \
 130  134                  smb2_flush.o \
      135 +                smb2_fsctl_copychunk.o \
      136 +                smb2_fsctl_fs.o \
      137 +                smb2_fsctl_odx.o \
      138 +                smb2_fsctl_sparse.o \
 131  139                  smb2_ioctl.o \
      140 +                smb2_lease.o \
 132  141                  smb2_lock.o \
 133  142                  smb2_logoff.o \
 134  143                  smb2_negotiate.o \
 135  144                  smb2_ofile.o \
 136  145                  smb2_oplock.o \
 137  146                  smb2_qinfo_file.o \
 138  147                  smb2_qinfo_fs.o \
 139  148                  smb2_qinfo_sec.o \
 140  149                  smb2_qinfo_quota.o \
 141  150                  smb2_query_dir.o \
↓ open down ↓ 1 lines elided ↑ open up ↑
 143  152                  smb2_read.o \
 144  153                  smb2_session_setup.o \
 145  154                  smb2_set_info.o \
 146  155                  smb2_setinfo_file.o \
 147  156                  smb2_setinfo_fs.o \
 148  157                  smb2_setinfo_quota.o \
 149  158                  smb2_setinfo_sec.o \
 150  159                  smb2_signing.o \
 151  160                  smb2_tree_connect.o \
 152  161                  smb2_tree_disconn.o \
 153      -                smb2_write.o
      162 +                smb2_write.o \
      163 +                \
      164 +                smb3_encrypt.o
 154  165  
 155  166  # Can't just link with -lsmb because of user vs kernel API
 156  167  # i.e. can't call free with mem from kmem_alloc, which is
 157  168  # what happens if we just link with -lsmb
 158  169  OBJS_CMN_SMBSRV = \
      170 +                smb_cfg_util.o \
 159  171                  smb_inet.o \
 160  172                  smb_match.o \
 161  173                  smb_msgbuf.o \
 162  174                  smb_native.o \
 163  175                  smb_netbios_util.o \
 164  176                  smb_oem.o \
 165  177                  smb_sid.o \
 166  178                  smb_string.o \
 167  179                  smb_token.o \
 168  180                  smb_token_xdr.o \
 169  181                  smb_utf8.o \
 170  182                  smb_xdr.o
 171  183  
 172  184  OBJS_MISC = \
 173  185                  acl_common.o \
 174  186                  pathname.o \
 175  187                  refstr.o \
 176  188                  smb_status2winerr.o \
 177  189                  xattr_common.o
 178  190  
      191 +# This one can't be in OBJECTS, as it has to depend on
      192 +# all of those for the COMPILE.d rule (which processes
      193 +# all those objects collecting probe instances).
      194 +DTRACE_OBJS = fksmb_dt.o
      195 +
 179  196  OBJECTS = \
 180  197          $(OBJS_LOCAL) \
 181  198          $(OBJS_FS_SMBSRV) \
 182  199          $(OBJS_CMN_SMBSRV) \
 183  200          $(OBJS_MISC)
 184  201  
 185  202  include ../../../Makefile.lib
 186  203  include ../../Makefile.lib
 187  204  
 188  205  # Force SOURCEDEBUG
 189  206  CSOURCEDEBUGFLAGS       = -g
 190  207  CCSOURCEDEBUGFLAGS      = -g
 191  208  STRIP_STABS     = :
 192  209  
 193  210  
 194  211  # Note: need our sys includes _before_ ENVCPPFLAGS, proto etc.
      212 +# Also, like Makefile.uts, reset CPPFLAGS
 195  213  CPPFLAGS.first += -I../../../libfakekernel/common
 196  214  CPPFLAGS.first += -I../common
      215 +CPPFLAGS        = $(CPPFLAGS.first)
 197  216  
 198  217  INCS += -I$(SRC)/uts/common
 199  218  INCS += -I$(SRC)/common/smbsrv
 200  219  INCS += -I$(SRC)/common
 201  220  
 202  221  LINTCHECKFLAGS += -erroff=E_INCONS_ARG_DECL2
 203  222  LINTCHECKFLAGS += -erroff=E_INCONS_VAL_TYPE_DECL2
 204  223  LINTCHECKFLAGS += -erroff=E_INCONS_VAL_TYPE_USED2
 205  224  
 206  225  LDLIBS +=       $(MACH_LDLIBS)
 207  226  LDLIBS +=       -lfakekernel -lidmap -lcmdutils
 208  227  LDLIBS +=       -lavl -lnvpair -lnsl -lpkcs11 -lreparse -lc
 209  228  
 210  229  CPPFLAGS += $(INCS) -D_REENTRANT -D_FAKE_KERNEL
 211  230  CPPFLAGS += -D_FILE_OFFSET_BITS=64
 212  231  # Always want DEBUG here
 213  232  CPPFLAGS += -DDEBUG
 214  233  
 215      -CERRWARN += -_gcc=-Wno-parentheses
 216  234  CERRWARN += -_gcc=-Wno-switch
 217  235  
 218  236  SRCS=   $(OBJS_LOCAL:%.o=$(SRCDIR)/%.c) \
 219  237          $(OBJS_FS_SMBSRV:%.o=$(SRC)/uts/common/fs/smbsrv/%.c) \
 220  238          $(OBJS_CMN_SMBSRV:%.o=$(SRC)/common/smbsrv/%.c)
 221  239  
 222  240  all:
 223  241  
 224  242  pics/%.o:       $(SRC)/uts/common/fs/smbsrv/%.c
 225  243          $(COMPILE.c) -o $@ $<
 226  244          $(POST_PROCESS_O)
 227  245  
 228  246  pics/acl_common.o:         $(SRC)/common/acl/acl_common.c
 229  247          $(COMPILE.c) -o $@ $(SRC)/common/acl/acl_common.c
 230  248          $(POST_PROCESS_O)
 231  249  
 232      -pics/smb_status2winerr.o:  $(SRC)/common/smbclnt/smb_status2winerr.c
 233      -        $(COMPILE.c) -o $@ $(SRC)/common/smbclnt/smb_status2winerr.c
 234      -        $(POST_PROCESS_O)
 235      -
 236  250  pics/pathname.o:           $(SRC)/uts/common/fs/pathname.c
 237  251          $(COMPILE.c) -o $@ $(SRC)/uts/common/fs/pathname.c
 238  252          $(POST_PROCESS_O)
 239  253  
 240  254  pics/refstr.o:             $(SRC)/uts/common/os/refstr.c
 241  255          $(COMPILE.c) -o $@ $(SRC)/uts/common/os/refstr.c
 242  256          $(POST_PROCESS_O)
 243  257  
      258 +pics/smb_status2winerr.o:  $(SRC)/common/smbclnt/smb_status2winerr.c
      259 +        $(COMPILE.c) -o $@ $(SRC)/common/smbclnt/smb_status2winerr.c
      260 +        $(POST_PROCESS_O)
      261 +
 244  262  pics/xattr_common.o:       $(SRC)/common/xattr/xattr_common.c
 245  263          $(COMPILE.c) -o $@ $(SRC)/common/xattr/xattr_common.c
 246  264          $(POST_PROCESS_O)
 247  265  
 248  266  # Makefile.targ has rule for $(SRC)/common/smbsrv/%.c
 249  267  
 250  268  .KEEP_STATE:
 251  269  
 252  270  include ../../Makefile.targ
 253  271  include ../../../Makefile.targ
      272 +
      273 +EXTPICS= $(DTRACE_OBJS:%=pics/%)
      274 +CLEANFILES += $(EXTPICS)
      275 +
      276 +$(OBJS) $(PICS) : ../common/fksmb_dt.h
      277 +
      278 +pics/fksmb_dt.o: ../common/fksmb_dt.d $(PICS)
      279 +        $(COMPILE.d) -C -s ../common/fksmb_dt.d -o $@ $(PICS)
      280 +        $(POST_PROCESS_O)
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX