~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/fs/smb/common/smbacl.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /fs/smb/common/smbacl.h (Version linux-6.12-rc7) and /fs/smb/common/smbacl.h (Version linux-5.10.229)


  1 /* SPDX-License-Identifier: LGPL-2.1+ */            1 
  2 /*                                                
  3  *   Copyright (c) International Business Mach    
  4  *   Author(s): Steve French (sfrench@us.ibm.c    
  5  *   Modified by Namjae Jeon (linkinjeon@kerne    
  6  */                                               
  7                                                   
  8 #ifndef _COMMON_SMBACL_H                          
  9 #define _COMMON_SMBACL_H                          
 10                                                   
 11 #define NUM_AUTHS (6)   /* number of authority    
 12 #define SID_MAX_SUB_AUTHORITIES (15) /* max nu    
 13                                                   
 14 /* ACE types - see MS-DTYP 2.4.4.1 */             
 15 #define ACCESS_ALLOWED_ACE_TYPE 0x00              
 16 #define ACCESS_DENIED_ACE_TYPE  0x01              
 17 #define SYSTEM_AUDIT_ACE_TYPE   0x02              
 18 #define SYSTEM_ALARM_ACE_TYPE   0x03              
 19 #define ACCESS_ALLOWED_COMPOUND_ACE_TYPE 0x04     
 20 #define ACCESS_ALLOWED_OBJECT_ACE_TYPE  0x05      
 21 #define ACCESS_DENIED_OBJECT_ACE_TYPE   0x06      
 22 #define SYSTEM_AUDIT_OBJECT_ACE_TYPE    0x07      
 23 #define SYSTEM_ALARM_OBJECT_ACE_TYPE    0x08      
 24 #define ACCESS_ALLOWED_CALLBACK_ACE_TYPE 0x09     
 25 #define ACCESS_DENIED_CALLBACK_ACE_TYPE 0x0A      
 26 #define ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYP    
 27 #define ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE    
 28 #define SYSTEM_AUDIT_CALLBACK_ACE_TYPE  0x0D      
 29 #define SYSTEM_ALARM_CALLBACK_ACE_TYPE  0x0E /    
 30 #define SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE     
 31 #define SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE     
 32 #define SYSTEM_MANDATORY_LABEL_ACE_TYPE 0x11      
 33 #define SYSTEM_RESOURCE_ATTRIBUTE_ACE_TYPE 0x1    
 34 #define SYSTEM_SCOPED_POLICY_ID_ACE_TYPE 0x13     
 35                                                   
 36 /* ACE flags */                                   
 37 #define OBJECT_INHERIT_ACE              0x01      
 38 #define CONTAINER_INHERIT_ACE           0x02      
 39 #define NO_PROPAGATE_INHERIT_ACE        0x04      
 40 #define INHERIT_ONLY_ACE                0x08      
 41 #define INHERITED_ACE                   0x10      
 42 #define SUCCESSFUL_ACCESS_ACE_FLAG      0x40      
 43 #define FAILED_ACCESS_ACE_FLAG          0x80      
 44                                                   
 45 /*                                                
 46  * Maximum size of a string representation of     
 47  *                                                
 48  * The fields are unsigned values in decimal.     
 49  *                                                
 50  * u8:  max 3 bytes in decimal                    
 51  * u32: max 10 bytes in decimal                   
 52  *                                                
 53  * "S-" + 3 bytes for version field + 15 for a    
 54  *                                                
 55  * For authority field, max is when all 6 valu    
 56  * represented in hex. So "-0x" + 12 hex digit    
 57  *                                                
 58  * Add 11 bytes for each subauthority field (1    
 59  */                                               
 60 #define SID_STRING_BASE_SIZE (2 + 3 + 15 + 1)     
 61 #define SID_STRING_SUBAUTH_SIZE (11) /* size o    
 62                                                   
 63 #define DOMAIN_USER_RID_LE      cpu_to_le32(51    
 64                                                   
 65 /*                                                
 66  * ACE types - see MS-DTYP 2.4.4.1                
 67  */                                               
 68 enum {                                            
 69         ACCESS_ALLOWED,                           
 70         ACCESS_DENIED,                            
 71 };                                                
 72                                                   
 73 /*                                                
 74  * Security ID types                              
 75  */                                               
 76 enum {                                            
 77         SIDOWNER = 1,                             
 78         SIDGROUP,                                 
 79         SIDCREATOR_OWNER,                         
 80         SIDCREATOR_GROUP,                         
 81         SIDUNIX_USER,                             
 82         SIDUNIX_GROUP,                            
 83         SIDNFS_USER,                              
 84         SIDNFS_GROUP,                             
 85         SIDNFS_MODE,                              
 86 };                                                
 87                                                   
 88 struct smb_ntsd {                                 
 89         __le16 revision; /* revision level */     
 90         __le16 type;                              
 91         __le32 osidoffset;                        
 92         __le32 gsidoffset;                        
 93         __le32 sacloffset;                        
 94         __le32 dacloffset;                        
 95 } __attribute__((packed));                        
 96                                                   
 97 struct smb_sid {                                  
 98         __u8 revision; /* revision level */       
 99         __u8 num_subauth;                         
100         __u8 authority[NUM_AUTHS];                
101         __le32 sub_auth[SID_MAX_SUB_AUTHORITIE    
102 } __attribute__((packed));                        
103                                                   
104 /* size of a struct smb_sid, sans sub_auth arr    
105 #define CIFS_SID_BASE_SIZE (1 + 1 + NUM_AUTHS)    
106                                                   
107 struct smb_acl {                                  
108         __le16 revision; /* revision level */     
109         __le16 size;                              
110         __le32 num_aces;                          
111 } __attribute__((packed));                        
112                                                   
113 struct smb_ace {                                  
114         __u8 type; /* see above and MS-DTYP 2.    
115         __u8 flags;                               
116         __le16 size;                              
117         __le32 access_req;                        
118         struct smb_sid sid; /* ie UUID of user    
119 } __attribute__((packed));                        
120                                                   
121 #endif /* _COMMON_SMBACL_H */                     
122                                                   

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php