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>


   3  *
   4  * The contents of this file are subject to the terms of the
   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) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
  23  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
  24  */
  25 
  26 #include <sys/types.h>
  27 #include <sys/sid.h>
  28 #include <sys/priv_names.h>
  29 #include <sys/socket.h>
  30 #include <netinet/in.h>
  31 #include <smbsrv/smb_idmap.h>
  32 #include <smbsrv/smb_kproto.h>
  33 #include <smbsrv/smb_token.h>
  34 
  35 
  36 /*
  37  * Kind of a hack here.  In this user-space test implementation,
  38  * we don't bother with real credential.  Everything here uses
  39  * the ordinary credentials of the process running this.
  40  */







  41 cred_t *
  42 smb_cred_create(smb_token_t *token)
  43 {
  44         cred_t *cr;
  45         cr = (cred_t *)token;   /* hack */
  46         return (cr);
  47 }








  48 
  49 void
  50 smb_user_setcred(smb_user_t *user, cred_t *cr, uint32_t privileges)
  51 {
  52         user->u_cred = cr;
  53         user->u_privcred = NULL;
  54         user->u_privileges = privileges;
  55 }


   3  *
   4  * The contents of this file are subject to the terms of the
   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) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
  23  * Copyright 2018 Nexenta Systems, Inc.  All rights reserved.
  24  */
  25 
  26 #include <sys/types.h>
  27 #include <sys/sid.h>
  28 #include <sys/priv_names.h>
  29 #include <sys/socket.h>
  30 #include <netinet/in.h>
  31 #include <smbsrv/smb_idmap.h>
  32 #include <smbsrv/smb_kproto.h>
  33 #include <smbsrv/smb_token.h>
  34 
  35 
  36 /*
  37  * Kind of a hack here.  In this user-space test implementation,
  38  * we don't bother with real credential.  Everything here uses
  39  * the ordinary credentials of the process running this.
  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 */
  48 cred_t *
  49 smb_cred_create(smb_token_t *token, smb_session_t *s)
  50 {
  51         cred_t *cr;
  52         cr = CRED();
  53         return (cr);
  54 }
  55 
  56 cred_t *
  57 smb_kcred_create(void)
  58 {
  59         cred_t *cr;
  60         cr = CRED();
  61         return (cr);
  62 }
  63 
  64 void
  65 smb_user_setcred(smb_user_t *user, cred_t *cr, uint32_t privileges)
  66 {
  67         user->u_cred = cr;
  68         user->u_privcred = NULL;
  69         user->u_privileges = privileges;
  70 }