Print this page
12513 SMB 3.1.1 support for server


   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,