Print this page
    
NEX-13644 File access audit logging
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
Reviewed by: Roman Strashkin <roman.strashkin@nexenta.com>
Reviewed by: Saso Kiselkov <saso.kiselkov@nexenta.com>
Reviewed by: Rick McNeal <rick.mcneal@nexenta.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
NEX-9808 SMB3 persistent handles
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
NEX-9808 SMB3 persistent handles
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
NEX-3553 SMB2/3 durable handles
Reviewed by: Gordon Ross <gwr@nexenta.com>
Reviewed by: Kevin Crowe <kevin.crowe@nexenta.com>
NEX-3776 SMB should handle PreviousSessionID
Reviewed by: Gordon Ross <gwr@nexenta.com>
SMB-50 User-mode SMB server
 Includes work by these authors:
 Thomas Keiser <thomas.keiser@nexenta.com>
 Albert Lee <trisk@nexenta.com>
    
      
        | Split | 
	Close | 
      
      | Expand all | 
      | Collapse all | 
    
    
          --- old/usr/src/lib/smbsrv/libfksmbsrv/common/fksmb_cred.c
          +++ new/usr/src/lib/smbsrv/libfksmbsrv/common/fksmb_cred.c
   1    1  /*
   2    2   * CDDL HEADER START
   3    3   *
   4    4   * The contents of this file are subject to the terms of the
   5    5   * Common Development and Distribution License (the "License").
   6    6   * You may not use this file except in compliance with the License.
   7    7   *
   8    8   * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9    9   * or http://www.opensolaris.org/os/licensing.
  10   10   * See the License for the specific language governing permissions
  11   11   * and limitations under the License.
  12   12   *
  
    | 
      ↓ open down ↓ | 
    12 lines elided | 
    
      ↑ open up ↑ | 
  
  13   13   * When distributing Covered Code, include this CDDL HEADER in each
  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   * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
  23      - * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
       23 + * Copyright 2018 Nexenta Systems, Inc.  All rights reserved.
  24   24   */
  25   25  
  26   26  #include <sys/types.h>
  27   27  #include <sys/sid.h>
  28   28  #include <sys/priv_names.h>
  29   29  #include <sys/socket.h>
  30   30  #include <netinet/in.h>
  31   31  #include <smbsrv/smb_idmap.h>
  32   32  #include <smbsrv/smb_kproto.h>
  33   33  #include <smbsrv/smb_token.h>
  34   34  
  35   35  
  36   36  /*
  37   37   * Kind of a hack here.  In this user-space test implementation,
  38   38   * we don't bother with real credential.  Everything here uses
  39   39   * the ordinary credentials of the process running this.
  40   40   */
       41 +
       42 +/*
       43 + * This library does not implement real credentials. All contexts
       44 + * use an opaque cred_t object, and all activity happens in the
       45 + * context of the user who runs the program.
       46 + */
       47 +/* ARGSUSED */
  41   48  cred_t *
  42      -smb_cred_create(smb_token_t *token)
       49 +smb_cred_create(smb_token_t *token, smb_session_t *s)
  43   50  {
  44   51          cred_t *cr;
  45      -        cr = (cred_t *)token;   /* hack */
       52 +        cr = CRED();
  46   53          return (cr);
  47   54  }
       55 +
       56 +cred_t *
       57 +smb_kcred_create(void)
       58 +{
       59 +        cred_t *cr;
       60 +        cr = CRED();
       61 +        return (cr);
       62 +}
  48   63  
  49   64  void
  50   65  smb_user_setcred(smb_user_t *user, cred_t *cr, uint32_t privileges)
  51   66  {
  52   67          user->u_cred = cr;
  53   68          user->u_privcred = NULL;
  54   69          user->u_privileges = privileges;
  55   70  }
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX