Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 71568
b: refs/heads/master
c: d12fd12
h: refs/heads/master
v: v3
  • Loading branch information
Steve French committed Oct 3, 2007
1 parent dd22954 commit f9ff237
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 47 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: d0d66c443aefa51d5dbdd6a1d9b135a2a0e469cc
refs/heads/master: d12fd121afd4f87cbc7675f8f6b651d649534f15
78 changes: 39 additions & 39 deletions trunk/fs/cifs/cifsacl.c
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,12 @@

/* security id for everyone */
static const struct cifs_sid sid_everyone =
{1, 1, {0, 0, 0, 0, 0, 0}, {}};
{1, 1, {0, 0, 0, 0, 0, 0}, {} };
/* group users */
static const struct cifs_sid sid_user =
{1, 2 , {0, 0, 0, 0, 0, 5}, {}};
{1, 2 , {0, 0, 0, 0, 0, 5}, {} };

static void parse_ace(struct cifs_ace * pace, char * end_of_acl)
static void parse_ace(struct cifs_ace *pace, char *end_of_acl)
{
int i;
int num_subauth;
Expand All @@ -50,27 +50,27 @@ static void parse_ace(struct cifs_ace * pace, char * end_of_acl)
num_subauth = cpu_to_le32(pace->num_subauth);
if (num_subauth) {
psub_auth = (__u32 *)((char *)pace + sizeof(struct cifs_ace));
#ifdef CONFIG_CIFS_DEBUG2
cFYI(1, ("ACE revision %d num_subauth %d",
pace->revision, pace->num_subauth));
for (i = 0; i < num_subauth; ++i) {
cFYI(1, ("ACE sub_auth[%d]: 0x%x", i,
le32_to_cpu(psub_auth[i])));
}

/* BB add length check to make sure that we do not have huge
num auths and therefore go off the end */

cFYI(1, ("RID %d", le32_to_cpu(psub_auth[num_subauth-1])));
#endif
}

return;
}

static void parse_ntace(struct cifs_ntace * pntace, char * end_of_acl)
{
/* validate that we do not go past end of acl */
#ifdef CONFIG_CIFS_DEBUG2
cFYI(1, ("ACE revision %d num_subauth %d",
pace->revision, pace->num_subauth));
for (i = 0; i < num_subauth; ++i) {
cFYI(1, ("ACE sub_auth[%d]: 0x%x", i,
le32_to_cpu(psub_auth[i])));
}

/* BB add length check to make sure that we do not have huge
num auths and therefore go off the end */

cFYI(1, ("RID %d", le32_to_cpu(psub_auth[num_subauth-1])));
#endif
}

return;
}

static void parse_ntace(struct cifs_ntace *pntace, char *end_of_acl)
{
/* validate that we do not go past end of acl */
if (end_of_acl < (char *)pntace + sizeof(struct cifs_ntace)) {
cERROR(1, ("ACL too small to parse NT ACE"));
return;
Expand All @@ -86,7 +86,7 @@ static void parse_ntace(struct cifs_ntace * pntace, char * end_of_acl)



static void parse_dacl(struct cifs_acl * pdacl, char * end_of_acl)
static void parse_dacl(struct cifs_acl *pdacl, char *end_of_acl)
{
int i;
int num_aces = 0;
Expand Down Expand Up @@ -118,11 +118,11 @@ static void parse_dacl(struct cifs_acl * pdacl, char * end_of_acl)
ppace = kmalloc(num_aces * sizeof(struct cifs_ace *),
GFP_KERNEL);

/* cifscred->cecount = pdacl->num_aces;
cifscred->ntaces = kmalloc(num_aces *
sizeof(struct cifs_ntace *), GFP_KERNEL);
cifscred->aces = kmalloc(num_aces *
sizeof(struct cifs_ace *), GFP_KERNEL);*/
/* cifscred->cecount = pdacl->num_aces;
cifscred->ntaces = kmalloc(num_aces *
sizeof(struct cifs_ntace *), GFP_KERNEL);
cifscred->aces = kmalloc(num_aces *
sizeof(struct cifs_ace *), GFP_KERNEL);*/


for (i = 0; i < num_aces; ++i) {
Expand All @@ -134,12 +134,12 @@ static void parse_dacl(struct cifs_acl * pdacl, char * end_of_acl)
parse_ntace(ppntace[i], end_of_acl);
parse_ace(ppace[i], end_of_acl);

/* memcpy((void *)(&(cifscred->ntaces[i])),
(void *)ppntace[i],
sizeof(struct cifs_ntace));
memcpy((void *)(&(cifscred->aces[i])),
(void *)ppace[i],
sizeof(struct cifs_ace)); */
/* memcpy((void *)(&(cifscred->ntaces[i])),
(void *)ppntace[i],
sizeof(struct cifs_ntace));
memcpy((void *)(&(cifscred->aces[i])),
(void *)ppace[i],
sizeof(struct cifs_ace)); */

acl_base = (char *)ppntace[i];
acl_size = cpu_to_le32(ppntace[i]->size);
Expand Down Expand Up @@ -176,12 +176,12 @@ static int parse_sid(struct cifs_sid *psid, char *end_of_acl)

for (i = 0; i < num_subauth; ++i) {
cFYI(1, ("SID sub_auth[%d]: 0x%x ", i,
le32_to_cpu(psub_auth[i])));
le32_to_cpu(psub_auth[i])));
}

/* BB add length check to make sure that we do not have huge
/* BB add length check to make sure that we do not have huge
num auths and therefore go off the end */
cFYI(1, ("RID 0x%x",
cFYI(1, ("RID 0x%x",
le32_to_cpu(psid->sub_auth[psid->num_subauth])));
#endif
}
Expand Down
19 changes: 12 additions & 7 deletions trunk/fs/cifs/xattr.c
Original file line number Diff line number Diff line change
Expand Up @@ -261,21 +261,26 @@ ssize_t cifs_getxattr(struct dentry *direntry, const char *ea_name,
cifs_sb->local_nls,
cifs_sb->mnt_cifs_flags &
CIFS_MOUNT_MAP_SPECIAL_CHR);
/* else if(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_CIFS_ACL) {
#ifdef CONFIG_CIFS_EXPERIMENTAL
else if(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_CIFS_ACL) {
__u16 fid;
int oplock = FALSE;
rc = CIFSSMBOpen(xid, pTcon, full_path,
FILE_OPEN, GENERIC_READ, 0, &fid,
&oplock, NULL, cifs_sb->local_nls,
cifs_sb->mnt_cifs_flags &
CIFS_MOUNT_MAP_SPECIAL_CHR);
if (experimEnabled)
rc = CIFSSMBOpen(xid, pTcon, full_path,
FILE_OPEN, GENERIC_READ, 0, &fid,
&oplock, NULL, cifs_sb->local_nls,
cifs_sb->mnt_cifs_flags &
CIFS_MOUNT_MAP_SPECIAL_CHR);
/* else rc is EOPNOTSUPP from above */

if(rc == 0) {
rc = CIFSSMBGetCIFSACL(xid, pTcon, fid,
ea_value, buf_size,
ACL_TYPE_ACCESS);
CIFSSMBClose(xid, pTcon, fid);
}
} */ /* BB enable after fixing up return data */
}
#endif /* EXPERIMENTAL */
#else
cFYI(1, ("query POSIX ACL not supported yet"));
#endif /* CONFIG_CIFS_POSIX */
Expand Down

0 comments on commit f9ff237

Please sign in to comment.