summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/smbd/filename.c3
-rw-r--r--source3/smbd/reply.c18
2 files changed, 10 insertions, 11 deletions
diff --git a/source3/smbd/filename.c b/source3/smbd/filename.c
index 685725f096..7cbb3392cb 100644
--- a/source3/smbd/filename.c
+++ b/source3/smbd/filename.c
@@ -366,8 +366,6 @@ BOOL unix_convert(char *name,connection_struct *conn,char *saved_last_component,
trim_string(name,"/","/");
- /* I've disabled this till we fix printing (probably a getatr problem) (tridge) */
-#if TRIM_NULL_NAMES
/*
* If we trimmed down to a single '\0' character
* then we should use the "." directory to avoid
@@ -378,7 +376,6 @@ BOOL unix_convert(char *name,connection_struct *conn,char *saved_last_component,
name[0] = '.';
name[1] = '\0';
}
-#endif
/*
* Ensure saved_last_component is valid even if file exists.
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c
index 63bbcbcdba..12a39589d6 100644
--- a/source3/smbd/reply.c
+++ b/source3/smbd/reply.c
@@ -812,19 +812,20 @@ int reply_getatr(connection_struct *conn, char *inbuf,char *outbuf, int dum_size
BOOL bad_path = False;
pstrcpy(fname,smb_buf(inbuf) + 1);
- unix_convert(fname,conn,0,&bad_path,&sbuf);
/* dos smetimes asks for a stat of "" - it returns a "hidden directory"
under WfWg - weird! */
if (! (*fname))
- {
- mode = aHIDDEN | aDIR;
- if (!CAN_WRITE(conn)) mode |= aRONLY;
- size = 0;
- mtime = 0;
- ok = True;
- }
+ {
+ mode = aHIDDEN | aDIR;
+ if (!CAN_WRITE(conn)) mode |= aRONLY;
+ size = 0;
+ mtime = 0;
+ ok = True;
+ }
else
+ {
+ unix_convert(fname,conn,0,&bad_path,&sbuf);
if (check_name(fname,conn))
{
if (VALID_STAT(sbuf) || dos_stat(fname,&sbuf) == 0)
@@ -839,6 +840,7 @@ int reply_getatr(connection_struct *conn, char *inbuf,char *outbuf, int dum_size
else
DEBUG(3,("stat of %s failed (%s)\n",fname,strerror(errno)));
}
+ }
if (!ok)
{