5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21 /*
22 * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
23 * Copyright (c) 2017 by Delphix. All rights reserved.
24 * Copyright 2019 Nexenta by DDN, Inc. All rights reserved.
25 */
26
27 /*
28 * General Structures Layout
29 * -------------------------
30 *
31 * This is a simplified diagram showing the relationship between most of the
32 * main structures.
33 *
34 * +-------------------+
35 * | SMB_SERVER |
36 * +-------------------+
37 * |
38 * |
39 * v
40 * +-------------------+ +-------------------+ +-------------------+
41 * | SESSION |<----->| SESSION |......| SESSION |
42 * +-------------------+ +-------------------+ +-------------------+
43 * |
44 * |
2061 "forcing max_protocol to 3.0");
2062 ioc->max_protocol = SMB_VERS_3_0;
2063 }
2064
2065 sv->sv_cfg.skc_maxworkers = ioc->maxworkers;
2066 sv->sv_cfg.skc_maxconnections = ioc->maxconnections;
2067 sv->sv_cfg.skc_keepalive = ioc->keepalive;
2068 sv->sv_cfg.skc_restrict_anon = ioc->restrict_anon;
2069 sv->sv_cfg.skc_signing_enable = ioc->signing_enable;
2070 sv->sv_cfg.skc_signing_required = ioc->signing_required;
2071 sv->sv_cfg.skc_oplock_enable = ioc->oplock_enable;
2072 sv->sv_cfg.skc_sync_enable = ioc->sync_enable;
2073 sv->sv_cfg.skc_secmode = ioc->secmode;
2074 sv->sv_cfg.skc_netbios_enable = ioc->netbios_enable;
2075 sv->sv_cfg.skc_ipv6_enable = ioc->ipv6_enable;
2076 sv->sv_cfg.skc_print_enable = ioc->print_enable;
2077 sv->sv_cfg.skc_traverse_mounts = ioc->traverse_mounts;
2078 sv->sv_cfg.skc_max_protocol = ioc->max_protocol;
2079 sv->sv_cfg.skc_min_protocol = ioc->min_protocol;
2080 sv->sv_cfg.skc_encrypt = ioc->encrypt;
2081 sv->sv_cfg.skc_execflags = ioc->exec_flags;
2082 sv->sv_cfg.skc_negtok_len = ioc->negtok_len;
2083 sv->sv_cfg.skc_version = ioc->version;
2084 sv->sv_cfg.skc_initial_credits = ioc->initial_credits;
2085 sv->sv_cfg.skc_maximum_credits = ioc->maximum_credits;
2086
2087 (void) memcpy(sv->sv_cfg.skc_machine_uuid, ioc->machine_uuid,
2088 sizeof (uuid_t));
2089 (void) memcpy(sv->sv_cfg.skc_negtok, ioc->negtok,
2090 sizeof (sv->sv_cfg.skc_negtok));
2091 (void) memcpy(sv->sv_cfg.skc_native_os, ioc->native_os,
2092 sizeof (sv->sv_cfg.skc_native_os));
2093 (void) memcpy(sv->sv_cfg.skc_native_lm, ioc->native_lm,
2094 sizeof (sv->sv_cfg.skc_native_lm));
2095
2096 (void) strlcpy(sv->sv_cfg.skc_nbdomain, ioc->nbdomain,
2097 sizeof (sv->sv_cfg.skc_nbdomain));
2098 (void) strlcpy(sv->sv_cfg.skc_fqdn, ioc->fqdn,
2099 sizeof (sv->sv_cfg.skc_fqdn));
2100 (void) strlcpy(sv->sv_cfg.skc_hostname, ioc->hostname,
|
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21 /*
22 * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
23 * Copyright (c) 2017 by Delphix. All rights reserved.
24 * Copyright 2019 Nexenta by DDN, Inc. All rights reserved.
25 * Copyright 2020 RackTop Systems, Inc.
26 */
27
28 /*
29 * General Structures Layout
30 * -------------------------
31 *
32 * This is a simplified diagram showing the relationship between most of the
33 * main structures.
34 *
35 * +-------------------+
36 * | SMB_SERVER |
37 * +-------------------+
38 * |
39 * |
40 * v
41 * +-------------------+ +-------------------+ +-------------------+
42 * | SESSION |<----->| SESSION |......| SESSION |
43 * +-------------------+ +-------------------+ +-------------------+
44 * |
45 * |
2062 "forcing max_protocol to 3.0");
2063 ioc->max_protocol = SMB_VERS_3_0;
2064 }
2065
2066 sv->sv_cfg.skc_maxworkers = ioc->maxworkers;
2067 sv->sv_cfg.skc_maxconnections = ioc->maxconnections;
2068 sv->sv_cfg.skc_keepalive = ioc->keepalive;
2069 sv->sv_cfg.skc_restrict_anon = ioc->restrict_anon;
2070 sv->sv_cfg.skc_signing_enable = ioc->signing_enable;
2071 sv->sv_cfg.skc_signing_required = ioc->signing_required;
2072 sv->sv_cfg.skc_oplock_enable = ioc->oplock_enable;
2073 sv->sv_cfg.skc_sync_enable = ioc->sync_enable;
2074 sv->sv_cfg.skc_secmode = ioc->secmode;
2075 sv->sv_cfg.skc_netbios_enable = ioc->netbios_enable;
2076 sv->sv_cfg.skc_ipv6_enable = ioc->ipv6_enable;
2077 sv->sv_cfg.skc_print_enable = ioc->print_enable;
2078 sv->sv_cfg.skc_traverse_mounts = ioc->traverse_mounts;
2079 sv->sv_cfg.skc_max_protocol = ioc->max_protocol;
2080 sv->sv_cfg.skc_min_protocol = ioc->min_protocol;
2081 sv->sv_cfg.skc_encrypt = ioc->encrypt;
2082 sv->sv_cfg.skc_encrypt_cipher = ioc->encrypt_cipher;
2083 sv->sv_cfg.skc_execflags = ioc->exec_flags;
2084 sv->sv_cfg.skc_negtok_len = ioc->negtok_len;
2085 sv->sv_cfg.skc_version = ioc->version;
2086 sv->sv_cfg.skc_initial_credits = ioc->initial_credits;
2087 sv->sv_cfg.skc_maximum_credits = ioc->maximum_credits;
2088
2089 (void) memcpy(sv->sv_cfg.skc_machine_uuid, ioc->machine_uuid,
2090 sizeof (uuid_t));
2091 (void) memcpy(sv->sv_cfg.skc_negtok, ioc->negtok,
2092 sizeof (sv->sv_cfg.skc_negtok));
2093 (void) memcpy(sv->sv_cfg.skc_native_os, ioc->native_os,
2094 sizeof (sv->sv_cfg.skc_native_os));
2095 (void) memcpy(sv->sv_cfg.skc_native_lm, ioc->native_lm,
2096 sizeof (sv->sv_cfg.skc_native_lm));
2097
2098 (void) strlcpy(sv->sv_cfg.skc_nbdomain, ioc->nbdomain,
2099 sizeof (sv->sv_cfg.skc_nbdomain));
2100 (void) strlcpy(sv->sv_cfg.skc_fqdn, ioc->fqdn,
2101 sizeof (sv->sv_cfg.skc_fqdn));
2102 (void) strlcpy(sv->sv_cfg.skc_hostname, ioc->hostname,
|