summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/Makefile.in2
-rw-r--r--source3/include/smb.h4
-rw-r--r--source3/smbd/trans2.c19
3 files changed, 22 insertions, 3 deletions
diff --git a/source3/Makefile.in b/source3/Makefile.in
index 48f597c9fc..f0cc4d30ee 100644
--- a/source3/Makefile.in
+++ b/source3/Makefile.in
@@ -288,7 +288,7 @@ uninstallcp:
@$(SHELL) $(srcdir)/script/uninstallcp.sh $(CODEPAGEDIR) $(CODEPAGELIST)
clean:
- rm -f core */*.o */*~ *~ config.cache bin/*
+ rm -f core */*.o */*~ *~ config.cache bin/[!C]*
proto:
@echo rebuilding include/proto.h
diff --git a/source3/include/smb.h b/source3/include/smb.h
index f8a055ad48..bc44fbdd2b 100644
--- a/source3/include/smb.h
+++ b/source3/include/smb.h
@@ -144,10 +144,10 @@ BOOL dbgtext();
#define DEBUG( level, body ) \
((DEBUGLEVEL>=(level) && \
dbghdr(level, FILE_MACRO, FUNCTION_MACRO, (__LINE__)))? \
- (void)dbgtext body:0)
+ (void)(dbgtext body) : (void)0)
#define DEBUGADD( level, body ) \
- (DEBUGLEVEL>=(level)?(void)dbgtext body:0);
+ (DEBUGLEVEL>=(level)?(void)(dbgtext body) : (void)0);
/* End Debugging code section.
* -------------------------------------------------------------------------- **
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);