Print this page
NEX-19057 All zfs/nfs/smb threads in door calls to idle idmap
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Roman Strashkin <roman.strashkin@nexenta.com>
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-16159 Time spent sharing SMB filesystems could be reduced by optimizing smb_getdataset for default mount points (build fix)
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
NEX-16159 Time spent sharing SMB filesystems could be reduced by optimizing smb_getdataset for default mount points
Reviewed by: Sanjay Nadkarni <sanjay.nadkarni@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Reviewed by: Matt Barden <matt.barden@nexenta.com>
NEX-15558 SMB logon fails during 1st second after service start
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
NEX-15558 SMB logon fails during 1st second after service start
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
NEX-15052 Need a way to add appliance local user/group ACE from Windows
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
NEX-15041 method to delete local SMB users
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
NEX-15052 Need a way to add appliance local user/group ACE from Windows
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
NEX-15041 method to delete local SMB users
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
NEX-9497 SMB should bypass ACL traverse checking
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Roman Strashkin <roman.strashkin@nexenta.com>
NEX-10019 SMB server min_protocol setting
Reviewed by: Gordon Ross <gordon.ross@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-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-2667 Wrong error when join domain with wrong password
Reviewed by: Kevin Crowe <kevin.crowe@nexenta.com>
Reviewed by: Bayard Bell <bayard.bell@nexenta.com>
NEX-2225 Unable to join NexentaStor to 2008 AD
NEX-2346 SMB server debug logging cleanup after NEX-2314
NEX-2314 SMB server debug logging needs improvement
NEX-2286 smbadm join error messages are uninformative
NEX-1404 fixed malformed entries in zone_sun.tab
NEX-1799 Failure to authenticate domain account from Win2003 with NTLM(v1)
NEX-1638 Updated DC Locator
 Includes work by: matt.barden@nexenta.com, kevin.crowe@nexenta.com
SMB-126 Unable to map share from win2003/win2003R2 client ...
SMB-107 Unable to map network drive in workgroup mode using Windows XP...
SMB-68 NTLM(v1) inbound with Extended Session Security
NEX-1050 enable_smb2 should be smb2_enable
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-70 Hang during boot after SMB-50
SMB-56 extended security NTLMSSP, inbound
SMB-50 User-mode SMB server
 Includes work by these authors:
 Thomas Keiser <thomas.keiser@nexenta.com>
 Albert Lee <trisk@nexenta.com>
SFR-56 Identity Management for UNIX (IDMU) authentication support
re #12435 rb3958 r10 is added 2 times to panic info
re #12393 rb3935 Kerberos and smbd disagree about who is our AD server
re #6813 rb1757 port 2976 Child folder visibility through shares

*** 19,29 **** * CDDL HEADER END */ /* * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. ! * Copyright 2015 Nexenta Systems, Inc. All rights reserved. */ #ifndef _LIBSMB_H #define _LIBSMB_H --- 19,29 ---- * CDDL HEADER END */ /* * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. ! * Copyright 2019 Nexenta Systems, Inc. All rights reserved. */ #ifndef _LIBSMB_H #define _LIBSMB_H
*** 30,39 **** --- 30,40 ---- #ifdef __cplusplus extern "C" { #endif #include <sys/types.h> + #include <sys/inttypes.h> #include <sys/list.h> #include <sys/avl.h> #include <arpa/inet.h> #include <net/if.h> /* LIFNAMSIZ */ #include <netdb.h>
*** 42,62 **** #include <libshare.h> #include <uuid/uuid.h> #include <synch.h> #include <stdarg.h> #include <smbsrv/string.h> #include <smbsrv/smb_idmap.h> #include <smbsrv/netbios.h> #include <smbsrv/smb_share.h> - #include <smb/nterror.h> - #include <smb/ntstatus.h> #include <smbsrv/smb_door.h> #include <smbsrv/alloc.h> #include <smbsrv/hash_table.h> #include <smbsrv/msgbuf.h> - #include <smbsrv/wintypes.h> #include <smbsrv/smb_xdr.h> #include <smbsrv/smbinfo.h> #include <smbsrv/ntifs.h> #define SMB_VARSMB_DIR "/var/smb" --- 43,64 ---- #include <libshare.h> #include <uuid/uuid.h> #include <synch.h> #include <stdarg.h> + #include <smb/nterror.h> + #include <smb/ntstatus.h> + #include <smb/wintypes.h> + #include <smbsrv/string.h> #include <smbsrv/smb_idmap.h> #include <smbsrv/netbios.h> #include <smbsrv/smb_share.h> #include <smbsrv/smb_door.h> #include <smbsrv/alloc.h> #include <smbsrv/hash_table.h> #include <smbsrv/msgbuf.h> #include <smbsrv/smb_xdr.h> #include <smbsrv/smbinfo.h> #include <smbsrv/ntifs.h> #define SMB_VARSMB_DIR "/var/smb"
*** 153,162 **** --- 155,167 ---- SMB_CI_TRAVERSE_MOUNTS, SMB_CI_SMB2_ENABLE_OLD, /* obsolete */ SMB_CI_INITIAL_CREDITS, SMB_CI_MAXIMUM_CREDITS, SMB_CI_MAX_PROTOCOL, + SMB_CI_ENCRYPT, + SMB_CI_MIN_PROTOCOL, + SMB_CI_BYPASS_TRAVERSE_CHECKING, SMB_CI_MAX } smb_cfg_id_t; /* SMF helper functions */
*** 179,189 **** extern int smb_smf_delete_property(smb_scfhandle_t *, char *); extern int smb_smf_restart_service(void); extern int smb_smf_maintenance_mode(void); /* ZFS interface */ ! int smb_getdataset(const char *, char *, size_t); /* Configuration management functions */ extern int smb_config_get(smb_cfg_id_t, char *, int); extern char *smb_config_getname(smb_cfg_id_t); extern int smb_config_getstr(smb_cfg_id_t, char *, int); --- 184,195 ---- extern int smb_smf_delete_property(smb_scfhandle_t *, char *); extern int smb_smf_restart_service(void); extern int smb_smf_maintenance_mode(void); /* ZFS interface */ ! struct libzfs_handle; ! int smb_getdataset(struct libzfs_handle *, const char *, char *, size_t); /* Configuration management functions */ extern int smb_config_get(smb_cfg_id_t, char *, int); extern char *smb_config_getname(smb_cfg_id_t); extern int smb_config_getstr(smb_cfg_id_t, char *, int);
*** 211,222 **** --- 217,231 ---- uint32_t smb_config_get_execinfo(char *, char *, size_t); extern void smb_config_get_negtok(uchar_t *, uint32_t *); extern int smb_config_check_protocol(char *); extern uint32_t smb_config_get_max_protocol(void); + extern uint32_t smb_config_get_min_protocol(void); extern void smb_config_upgrade(void); + extern smb_cfg_val_t smb_config_get_require(smb_cfg_id_t); + extern void smb_load_kconfig(smb_kmod_cfg_t *kcfg); extern uint32_t smb_crc_gen(uint8_t *, size_t); extern boolean_t smb_match_netlogon_seqnum(void); extern int smb_setdomainprops(char *, char *, char *);
*** 447,456 **** --- 456,466 ---- * Control flags passed to smb_pwd_setcntl */ #define SMB_PWC_DISABLE 0x01 #define SMB_PWC_ENABLE 0x02 #define SMB_PWC_NOLM 0x04 + #define SMB_PWC_DELETE 0x08 #define SMB_PWE_SUCCESS 0 #define SMB_PWE_USER_UNKNOWN 1 #define SMB_PWE_USER_DISABLE 2 #define SMB_PWE_CLOSE_FAILED 3
*** 659,668 **** --- 669,679 ---- void smb_domain_set_dns_info(char *, char *, char *, char *, char *, smb_domain_t *); void smb_domain_set_trust_info(char *, char *, char *, uint32_t, uint32_t, uint32_t, smb_domain_t *); void smb_domain_current_dc(smb_dcinfo_t *); + void smb_domain_bad_dc(void); typedef struct smb_gsid { smb_sid_t *gs_sid; uint16_t gs_type; } smb_gsid_t;
*** 709,719 **** --- 720,732 ---- void smb_lgrp_iterclose(smb_giter_t *); boolean_t smb_lgrp_itererror(smb_giter_t *); int smb_lgrp_iterate(smb_giter_t *, smb_group_t *); int smb_lookup_sid(const char *, lsa_account_t *); + int smb_lookup_lsid(const char *, lsa_account_t *); int smb_lookup_name(const char *, sid_type_t, lsa_account_t *); + int smb_lookup_lname(const char *, sid_type_t, lsa_account_t *); #define SMB_LGRP_SUCCESS 0 #define SMB_LGRP_INVALID_ARG 1 #define SMB_LGRP_INVALID_MEMBER 2 #define SMB_LGRP_INVALID_NAME 3
*** 856,865 **** --- 869,879 ---- char *a_domain; uint16_t a_type; smb_sid_t *a_sid; smb_sid_t *a_domsid; uint32_t a_rid; + uint32_t a_flags; } smb_account_t; uint32_t smb_sam_lookup_name(char *, char *, uint16_t, smb_account_t *); uint32_t smb_sam_lookup_sid(smb_sid_t *, smb_account_t *); int smb_sam_usr_cnt(void);