diff options
author | Jeremy Allison <jra@samba.org> | 2002-09-10 01:58:51 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2002-09-10 01:58:51 +0000 |
commit | df920a60b5f207149cbc9dcb63d406abb0d0490c (patch) | |
tree | c2ef644a20a1675e8203949e3b6f023cf5f04c20 /source3/smbd/reply.c | |
parent | 8de41d59482e7d66824c4a69563875d768f1f100 (diff) | |
download | samba-df920a60b5f207149cbc9dcb63d406abb0d0490c.tar.gz samba-df920a60b5f207149cbc9dcb63d406abb0d0490c.tar.bz2 samba-df920a60b5f207149cbc9dcb63d406abb0d0490c.zip |
Added final Steve French patch for "required" attributes with old
dir listings. Added regression test in smbtorture (in HEAD) also.
Jeremy.
(This used to be commit 3c9d24d7c3bad2beb641880a97f0eda5cd3e4ec7)
Diffstat (limited to 'source3/smbd/reply.c')
-rw-r--r-- | source3/smbd/reply.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index 01e7df282c..2b361fd43a 100644 --- a/source3/smbd/reply.c +++ b/source3/smbd/reply.c @@ -673,12 +673,16 @@ int reply_search(connection_struct *conn, char *inbuf,char *outbuf, int dum_size if (strlen(directory) == 0) pstrcpy(directory,"./"); memset((char *)status,'\0',21); - SCVAL(status,0,dirtype); + SCVAL(status,0,(dirtype & 0x1F)); } else { + int status_dirtype; memcpy(status,p,21); - dirtype = CVAL(status,0) & 0x1F; + status_dirtype = CVAL(status,0) & 0x1F; + if (status_dirtype != (dirtype & 0x1F)) + dirtype = status_dirtype; + conn->dirptr = dptr_fetch(status+12,&dptr_num); if (!conn->dirptr) goto SearchEmpty; |