Print this page
NEX-17589 Get "too high" smbd error when copy big file to cifs share
Reviewed by: Joyce McIntosh <joyce.mcintosh@nexenta.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Matt Barden <matt.barden@nexenta.com>
NEX-17795 SMB logon should tolerate idmap problems
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Joyce McIntosh <joyce.mcintosh@nexenta.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
NEX-2460 libfksmbd should not link with libsmb
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/uts/common/smbsrv/smb_idmap.h
          +++ new/usr/src/uts/common/smbsrv/smb_idmap.h
↓ open down ↓ 14 lines elided ↑ open up ↑
  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 2010 Sun Microsystems, Inc.  All rights reserved.
  23   23   * Use is subject to license terms.
  24   24   *
  25      - * Copyright 2014 Nexenta Systems, Inc.  All rights reserved.
       25 + * Copyright 2018 Nexenta Systems, Inc.  All rights reserved.
  26   26   */
  27   27  
  28   28  #ifndef _SMB_IDMAP_H
  29   29  #define _SMB_IDMAP_H
  30   30  
  31   31  #if defined(_KERNEL) /* intentionally not || defined(_FAKE_KERNEL) */
  32   32  #include <sys/kidmap.h>
  33   33  #else
  34   34  #include <idmap.h>
  35   35  #endif
↓ open down ↓ 16 lines elided ↑ open up ↑
  52   52  
  53   53  #define SMB_IDMAP_UNKNOWN       -1
  54   54  #define SMB_IDMAP_GROUP         0
  55   55  #define SMB_IDMAP_USER          1
  56   56  #define SMB_IDMAP_OWNERAT       2
  57   57  #define SMB_IDMAP_GROUPAT       3
  58   58  #define SMB_IDMAP_EVERYONE      4
  59   59  
  60   60  #define SMB_IDMAP_SID2ID        0x0001
  61   61  #define SMB_IDMAP_ID2SID        0x0002
       62 +#define SMB_IDMAP_SKIP_ERRS     0x0004
  62   63  
  63   64  /*
  64   65   * smb_idmap_t
  65   66   *
  66   67   * sim_idtype: ID type (output in sid->uid mapping)
  67   68   * sim_id:     UID/GID (output in sid->uid mapping)
  68   69   */
  69   70  typedef struct smb_idmap {
  70   71          int             sim_idtype;
  71   72          uid_t           *sim_id;
  72   73          char            *sim_domsid;
  73   74          uint32_t        sim_rid;
  74   75          smb_sid_t       *sim_sid;
  75   76          idmap_stat      sim_stat;
  76   77  } smb_idmap_t;
  77   78  
  78   79  typedef struct smb_idmap_batch {
  79   80          uint16_t                sib_nmap;
  80   81          uint32_t                sib_flags;
  81   82          uint32_t                sib_size;
  82      -        smb_idmap_t             *sib_maps;
  83      -        idmap_get_handle_t      *sib_idmaph;
       83 +        smb_idmap_t             *sib_maps;
       84 +        idmap_get_handle_t      *sib_idmaph;
  84   85  } smb_idmap_batch_t;
  85   86  
  86   87  idmap_stat smb_idmap_getsid(uid_t, int, smb_sid_t **);
  87   88  idmap_stat smb_idmap_getid(smb_sid_t *, uid_t *, int *);
  88   89  
  89   90  void smb_idmap_batch_destroy(smb_idmap_batch_t *);
  90   91  idmap_stat smb_idmap_batch_create(smb_idmap_batch_t *, uint16_t, int);
  91   92  idmap_stat smb_idmap_batch_getmappings(smb_idmap_batch_t *);
  92   93  idmap_stat smb_idmap_batch_getid(idmap_get_handle_t *, smb_idmap_t *,
  93   94      smb_sid_t *, int);
  94   95  idmap_stat smb_idmap_batch_getsid(idmap_get_handle_t *, smb_idmap_t *,
  95   96      uid_t, int);
  96   97  
  97   98  #ifdef __cplusplus
  98   99  }
  99  100  #endif
 100  101  
 101  102  
 102  103  #endif /* _SMB_IDMAP_H */
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX