summaryrefslogtreecommitdiff
path: root/usr/src/lib
diff options
context:
space:
mode:
authorGordon Ross <gwr@racktopsystems.com>2022-01-18 09:38:37 -0500
committerToomas Soome <tsoome@me.com>2022-11-09 19:40:26 +0200
commit814e0daa42b0648d115fbe8c5d2858e4eb099cbd (patch)
tree1de4eca49eae3d6655a19af82909f18edd44db04 /usr/src/lib
parent0d5d3873da6f8c195c095c01db06e31cedc0aa5a (diff)
downloadillumos-gate-814e0daa42b0648d115fbe8c5d2858e4eb099cbd.tar.gz
15108 SMB option to enable short names
Reviewed by: Andy Stormont <astormont@racktopsystems.com> Reviewed by: Garrett D'Amore <garrett@damore.org> Reviewed by: Matt Barden <mbarden@tintri.com> Reviewed by: Yuri Pankov <yuri@aetern.org> Approved by: Dan McDonald <danmcd@mnx.io>
Diffstat (limited to 'usr/src/lib')
-rw-r--r--usr/src/lib/libshare/smb/libshare_smb.c3
-rw-r--r--usr/src/lib/smbsrv/libsmb/common/libsmb.h3
-rw-r--r--usr/src/lib/smbsrv/libsmb/common/smb_cfg.c3
-rw-r--r--usr/src/lib/smbsrv/libsmb/common/smb_info.c4
-rw-r--r--usr/src/lib/smbsrv/libsmb/common/smb_kmod.c4
5 files changed, 13 insertions, 4 deletions
diff --git a/usr/src/lib/libshare/smb/libshare_smb.c b/usr/src/lib/libshare/smb/libshare_smb.c
index b926637def..4b5d4a4662 100644
--- a/usr/src/lib/libshare/smb/libshare_smb.c
+++ b/usr/src/lib/libshare/smb/libshare_smb.c
@@ -22,6 +22,7 @@
/*
* Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright 2017 Nexenta Systems, Inc. All rights reserved.
+ * Copyright 2022 RackTop Systems.
*/
/*
@@ -900,6 +901,8 @@ struct smb_proto_option_defs {
SMB_REFRESH_REFRESH },
{ SMB_CI_OPLOCK_ENABLE, 0, 0, true_false_validator,
SMB_REFRESH_REFRESH },
+ { SMB_CI_SHORT_NAMES, 0, 0, true_false_validator,
+ SMB_REFRESH_REFRESH },
};
#define SMB_OPT_NUM \
diff --git a/usr/src/lib/smbsrv/libsmb/common/libsmb.h b/usr/src/lib/smbsrv/libsmb/common/libsmb.h
index 388553e03c..bb21e1021a 100644
--- a/usr/src/lib/smbsrv/libsmb/common/libsmb.h
+++ b/usr/src/lib/smbsrv/libsmb/common/libsmb.h
@@ -22,7 +22,7 @@
/*
* Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright 2020 Tintri by DDN, Inc. All rights reserved.
- * Copyright 2020 RackTop Systems, Inc.
+ * Copyright 2022 RackTop Systems, Inc.
*/
#ifndef _LIBSMB_H
@@ -163,6 +163,7 @@ typedef enum {
SMB_CI_BYPASS_TRAVERSE_CHECKING,
SMB_CI_ENCRYPT_CIPHER,
SMB_CI_NETLOGON_FLAGS,
+ SMB_CI_SHORT_NAMES,
SMB_CI_MAX
} smb_cfg_id_t;
diff --git a/usr/src/lib/smbsrv/libsmb/common/smb_cfg.c b/usr/src/lib/smbsrv/libsmb/common/smb_cfg.c
index b295916cb3..2e38586f22 100644
--- a/usr/src/lib/smbsrv/libsmb/common/smb_cfg.c
+++ b/usr/src/lib/smbsrv/libsmb/common/smb_cfg.c
@@ -21,7 +21,7 @@
/*
* Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright 2022 Tintri by DDN, Inc. All rights reserved.
- * Copyright 2021 RackTop Systems, Inc.
+ * Copyright 2022 RackTop Systems, Inc.
*/
/*
@@ -160,6 +160,7 @@ static smb_cfg_param_t smb_cfg_table[] =
"bypass_traverse_checking", SCF_TYPE_BOOLEAN, 0},
{SMB_CI_ENCRYPT_CIPHER, "encrypt_cipher", SCF_TYPE_ASTRING, 0},
{SMB_CI_NETLOGON_FLAGS, "netlogon_flags", SCF_TYPE_INTEGER, 0},
+ {SMB_CI_SHORT_NAMES, "short_names", SCF_TYPE_BOOLEAN, 0},
/* SMB_CI_MAX */
};
diff --git a/usr/src/lib/smbsrv/libsmb/common/smb_info.c b/usr/src/lib/smbsrv/libsmb/common/smb_info.c
index 1cd213cc9a..dac9f8323e 100644
--- a/usr/src/lib/smbsrv/libsmb/common/smb_info.c
+++ b/usr/src/lib/smbsrv/libsmb/common/smb_info.c
@@ -21,7 +21,7 @@
/*
* Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright 2020 Tintri by DDN, Inc. All rights reserved.
- * Copyright 2020 RackTop Systems, Inc.
+ * Copyright 2022 RackTop Systems, Inc.
*/
#include <sys/types.h>
@@ -157,6 +157,8 @@ smb_load_kconfig(smb_kmod_cfg_t *kcfg)
kcfg->skc_oplock_enable = smb_config_getbool(SMB_CI_OPLOCK_ENABLE);
kcfg->skc_sync_enable = smb_config_getbool(SMB_CI_SYNC_ENABLE);
kcfg->skc_traverse_mounts = smb_config_getbool(SMB_CI_TRAVERSE_MOUNTS);
+ kcfg->skc_short_names = smb_config_getbool(SMB_CI_SHORT_NAMES);
+
kcfg->skc_max_protocol = smb_config_get_max_protocol();
kcfg->skc_min_protocol = smb_config_get_min_protocol();
kcfg->skc_secmode = smb_config_get_secmode();
diff --git a/usr/src/lib/smbsrv/libsmb/common/smb_kmod.c b/usr/src/lib/smbsrv/libsmb/common/smb_kmod.c
index 06654400f1..726e9f1600 100644
--- a/usr/src/lib/smbsrv/libsmb/common/smb_kmod.c
+++ b/usr/src/lib/smbsrv/libsmb/common/smb_kmod.c
@@ -22,7 +22,7 @@
* Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright 2017 Nexenta Systems, Inc. All rights reserved.
* Copyright 2017 Joyent, Inc.
- * Copyright 2020 RackTop Systems, Inc.
+ * Copyright 2022 RackTop Systems, Inc.
*/
#include <sys/types.h>
@@ -89,6 +89,8 @@ smb_kmod_setcfg(smb_kmod_cfg_t *cfg)
ioc.ipv6_enable = cfg->skc_ipv6_enable;
ioc.print_enable = cfg->skc_print_enable;
ioc.traverse_mounts = cfg->skc_traverse_mounts;
+ ioc.short_names = cfg->skc_short_names;
+
ioc.max_protocol = cfg->skc_max_protocol;
ioc.min_protocol = cfg->skc_min_protocol;
ioc.exec_flags = cfg->skc_execflags;