summaryrefslogtreecommitdiff
path: root/source3/smbd
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>1998-08-10 20:12:53 +0000
committerJeremy Allison <jra@samba.org>1998-08-10 20:12:53 +0000
commit17fb3a2304d3f9eaa314c90b476d153b5f333f31 (patch)
tree6699f86ad800a503d1e41c4b7af7db3ca40a1755 /source3/smbd
parent670c6addc322e69b86975fc4024c88a885b63d9f (diff)
downloadsamba-17fb3a2304d3f9eaa314c90b476d153b5f333f31.tar.gz
samba-17fb3a2304d3f9eaa314c90b476d153b5f333f31.tar.bz2
samba-17fb3a2304d3f9eaa314c90b476d153b5f333f31.zip
Makefile.in: Fixed make clean bug with CVS directory in bin/.
include/smb.h: Fixed bugs in Debug macro's with SGI compiler. smbd/trans2.c: Fixed bug reported by Zoltan Palmai <ZSPA@chevron.com> PR#8903 where get_lanman2_dir_entry() could return a mangled name as a resume key and call_trans2findnext() wasn't doing the same. Jeremy. (This used to be commit 9d010e721c27af1d9498fd1e147993ba8ac8b41e)
Diffstat (limited to 'source3/smbd')
-rw-r--r--source3/smbd/trans2.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c
index 7f34187bd6..84cd99c91f 100644
--- a/source3/smbd/trans2.c
+++ b/source3/smbd/trans2.c
@@ -945,6 +945,16 @@ resume_key = %d resume name = %s continue=%d level = %d\n",
SeekDir(dirptr, current_pos);
dname = ReadDirName(dirptr);
+
+ /*
+ * Remember, name_map_mangle is called by
+ * get_lanman2_dir_entry(), so the resume name
+ * could be mangled. Ensure we do the same
+ * here.
+ */
+
+ name_map_mangle( dname, False, SNUM(cnum));
+
if(dname && strcsequal( resume_name, dname))
{
SeekDir(dirptr, current_pos+1);
@@ -963,6 +973,15 @@ resume_key = %d resume name = %s continue=%d level = %d\n",
SeekDir(dirptr, start_pos);
for(current_pos = start_pos; (dname = ReadDirName(dirptr)) != NULL; SeekDir(dirptr,++current_pos))
{
+ /*
+ * Remember, name_map_mangle is called by
+ * get_lanman2_dir_entry(), so the resume name
+ * could be mangled. Ensure we do the same
+ * here.
+ */
+
+ name_map_mangle( dname, False, SNUM(cnum));
+
if(strcsequal( resume_name, dname))
{
SeekDir(dirptr, current_pos+1);