summaryrefslogtreecommitdiffstats
path: root/source/smbd/reply.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2002-09-10 01:58:51 +0000
committerJeremy Allison <jra@samba.org>2002-09-10 01:58:51 +0000
commit3c9d24d7c3bad2beb641880a97f0eda5cd3e4ec7 (patch)
treec51033634e2587f7f2635fea60ac38b2d19d14c6 /source/smbd/reply.c
parentaf2168c0344d49041b1fe78cd5219ac50308deb3 (diff)
downloadsamba-3c9d24d7c3bad2beb641880a97f0eda5cd3e4ec7.tar.gz
samba-3c9d24d7c3bad2beb641880a97f0eda5cd3e4ec7.tar.xz
samba-3c9d24d7c3bad2beb641880a97f0eda5cd3e4ec7.zip
Added final Steve French patch for "required" attributes with old
dir listings. Added regression test in smbtorture (in HEAD) also. Jeremy.
Diffstat (limited to 'source/smbd/reply.c')
-rw-r--r--source/smbd/reply.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/source/smbd/reply.c b/source/smbd/reply.c
index 01e7df282cf..2b361fd43a7 100644
--- a/source/smbd/reply.c
+++ b/source/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;