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>
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-3550 Replace smb2_enable with max_protocol (fix fksmbd noise)
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-3611 CLONE NEX-3550 Replace smb2_enable with max_protocol
Reviewed by: Yuri Pankov <Yuri.Pankov@nexenta.com>
NEX-2346 SMB server debug logging cleanup after NEX-2314
NEX-2314 SMB server debug logging needs improvement
NEX-2188 Browsing top level share produces RPC error 1728
NEX-1810 extended security Kerberos (inbound)
SMB-72 Improve startup/shudown debug features
SMB-70 Hang during boot after SMB-50 (fix elfchk noise)
SMB-70 Hang during boot after SMB-50
SMB-50 User-mode SMB server (missed some things)
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>
SMB-65 SMB server in non-global zones (data structure changes)
Many things move to the smb_server_t object, and
many functions gain an sv arg (which server).
re #6812 rb1753 backport illumos 1604 smbd print_enable doesn't really work
        
*** 18,28 ****
   *
   * CDDL HEADER END
   */
  /*
   * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
!  * Copyright 2015 Nexenta Systems, Inc.  All rights reserved.
   */
  
  #include <sys/types.h>
  #include <sys/stat.h>
  #include <sys/ioccom.h>
--- 18,28 ----
   *
   * CDDL HEADER END
   */
  /*
   * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
!  * Copyright 2018 Nexenta Systems, Inc.  All rights reserved.
   */
  
  #include <sys/types.h>
  #include <sys/stat.h>
  #include <sys/ioccom.h>
*** 400,409 ****
--- 400,410 ----
  
          /* list of privileges for smbd */
          (void) priv_addset(pset, PRIV_NET_MAC_AWARE);
          (void) priv_addset(pset, PRIV_NET_PRIVADDR);
          (void) priv_addset(pset, PRIV_PROC_AUDIT);
+         (void) priv_addset(pset, PRIV_SYS_CONFIG);
          (void) priv_addset(pset, PRIV_SYS_DEVICES);
          (void) priv_addset(pset, PRIV_SYS_SMB);
          (void) priv_addset(pset, PRIV_SYS_MOUNT);
  
          priv_inverse(pset);
*** 574,583 ****
--- 575,585 ----
          smbd_door_stop();
          smbd_authsvc_stop();
          smbd_spool_stop();
          smbd_kernel_unbind();
          smbd_share_stop();
+         smb_shr_unload();
          smb_shr_stop();
          dyndns_stop();
          smbd_nicmon_stop();
          smb_ccache_remove(SMB_CCACHE_PATH);
          smb_pwd_fini();
*** 628,638 ****
          dyndns_update_zones();
  
          /* This reloads the in-kernel config. */
          (void) smbd_kernel_bind();
  
!         smbd_load_shares();
          smbd_load_printers();
          smbd_spool_start();
  }
  
  void
--- 630,642 ----
          dyndns_update_zones();
  
          /* This reloads the in-kernel config. */
          (void) smbd_kernel_bind();
  
!         /* On refresh load share properties only, not the shares themselves */
!         smb_shr_load_execinfo();
! 
          smbd_load_printers();
          smbd_spool_start();
  }
  
  void
*** 831,840 ****
--- 835,848 ----
  
          if (rc != 0)
                  smbd_report("unable to load disk shares: %s", strerror(errno));
  }
  
+ /*
+  * This wrapper function is used to avoid casting smb_shr_load() in
+  * pthread_create() above. It is called very infrequently.
+  */
  static void *
  smbd_share_loader(void *args)
  {
          (void) smb_shr_load(args);
          return (NULL);