summaryrefslogtreecommitdiff
path: root/emu/Nt
diff options
context:
space:
mode:
authorCharles.Forsyth <devnull@localhost>2008-09-07 14:40:04 +0000
committerCharles.Forsyth <devnull@localhost>2008-09-07 14:40:04 +0000
commite55ed0508766c61eec061f90e8e0ac353a07c22b (patch)
treee6e8c80edaeb762a9c4f746d83362fee950fd0e3 /emu/Nt
parente88c702472fc9f74a20db049cded32e48df09d5b (diff)
20080907-0939
Diffstat (limited to 'emu/Nt')
-rw-r--r--emu/Nt/devfs.c23
1 files changed, 9 insertions, 14 deletions
diff --git a/emu/Nt/devfs.c b/emu/Nt/devfs.c
index f5185799..89d52e83 100644
--- a/emu/Nt/devfs.c
+++ b/emu/Nt/devfs.c
@@ -415,7 +415,8 @@ fsattach(char *spec)
strcpy(s, spec);
FS(c)->spec = s;
FS(c)->srv = filesrv(spec);
- FS(c)->usesec = fsacls(spec);
+ if(usesec)
+ FS(c)->usesec = fsacls(spec);
FS(c)->checksec = FS(c)->usesec && isserver;
c->qid.path = fsqidpath(spec);
c->qid.type = QTDIR;
@@ -2067,7 +2068,7 @@ sidtouser(Rune *srv, SID *s)
ndname = sizeof(dname);
if(!LookupAccountSidW(srv, s, aname, &naname, dname, &ndname, &type))
- return mkuser(s, SidTypeUnknown, L"unknown", L"unknown") ; /* was return nil; */
+ return mkuser(s, SidTypeUnknown, L"unknown", L"unknown");
return mkuser(s, type, aname, dname);
}
@@ -2244,14 +2245,11 @@ addgroups(User *u, int force)
return;
u->gotgroup = 1;
- rem = 1;
n = 0;
srv = domsrv(u->dom, srvrock);
- while(rem != n){
- i = net.UserGetGroups(srv, u->name, 0,
- (BYTE**)&grp, 1024, &n, &rem);
- if(i != NERR_Success && i != ERROR_MORE_DATA)
- break;
+ i = net.UserGetGroups(srv, u->name, 0,
+ (BYTE**)&grp, MAX_PREFERRED_LENGTH, &n, &rem);
+ if(i == NERR_Success || i == ERROR_MORE_DATA){
for(i = 0; i < n; i++){
gu = domnametouser(srv, grp[i].grui0_name, u->dom);
if(gu == 0)
@@ -2266,13 +2264,10 @@ addgroups(User *u, int force)
net.ApiBufferFree(grp);
}
- rem = 1;
n = 0;
- while(rem != n){
- i = net.UserGetLocalGroups(srv, u->name, 0, LG_INCLUDE_INDIRECT,
- (BYTE**)&loc, 1024, &n, &rem);
- if(i != NERR_Success && i != ERROR_MORE_DATA)
- break;
+ i = net.UserGetLocalGroups(srv, u->name, 0, LG_INCLUDE_INDIRECT,
+ (BYTE**)&loc, MAX_PREFERRED_LENGTH, &n, &rem);
+ if(i == NERR_Success || i == ERROR_MORE_DATA){
for(i = 0; i < n; i++){
gu = domnametouser(srv, loc[i].lgrui0_name, u->dom);
if(gu == NULL)