Print this page
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-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
re #12435 rb3958 r10 is added 2 times to panic info
re #12393 rb3935 Kerberos and smbd disagree about who is our AD server

Split Close
Expand all
Collapse all
          --- old/usr/src/lib/smbsrv/libmlsvc/common/smbrdr_glue.c
          +++ new/usr/src/lib/smbsrv/libmlsvc/common/smbrdr_glue.c
↓ open down ↓ 13 lines elided ↑ open up ↑
  14   14   * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15   15   * If applicable, add the following below this CDDL HEADER, with the
  16   16   * fields enclosed by brackets "[]" replaced with your own identifying
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  
  22   22  /*
  23   23   * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
  24      - * Copyright 2015 Nexenta Systems, Inc.  All rights reserved.
       24 + * Copyright 2017 Nexenta Systems, Inc.  All rights reserved.
  25   25   */
  26   26  
  27   27  /*
  28   28   * There used to be a "redirector" library, which has been replaced,
  29   29   * leaving only the "glue" functions in this file that adapt this
  30   30   * library to the interface provided by libsmbfs.
  31   31   */
  32   32  
  33   33  #include <errno.h>
  34   34  #include <string.h>
↓ open down ↓ 116 lines elided ↑ open up ↑
 151  151  
 152  152          /*
 153  153           * Do lookup, connect, session setup, tree connect.
 154  154           * Or find and reuse a session/tree, if one exists.
 155  155           */
 156  156          if ((err = smb_ctx_resolve(ctx)) != 0) {
 157  157                  err = NT_STATUS_BAD_NETWORK_PATH;
 158  158                  goto errout;
 159  159          }
 160  160          if ((err = smb_ctx_get_ssn(ctx)) != 0) {
 161      -                err = NT_STATUS_NETWORK_ACCESS_DENIED;
      161 +                switch (err) {
      162 +                case EAUTH:
      163 +                        err = NT_STATUS_NETWORK_ACCESS_DENIED;
      164 +                        break;
      165 +                default:
      166 +                        err = NT_STATUS_BAD_NETWORK_PATH;
      167 +                        break;
      168 +                }
 162  169                  goto errout;
 163  170          }
 164  171          if ((err = smb_ctx_get_tree(ctx)) != 0) {
 165  172                  err = NT_STATUS_BAD_NETWORK_NAME;
 166  173                  goto errout;
 167  174          }
 168  175  
 169  176          /* Success! */
 170  177          *ctx_p = ctx;
 171  178          return (0);
 172  179  
 173  180  errout:
 174  181          smb_ctx_free(ctx);
 175  182          return (err);
 176  183  }
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX