summaryrefslogtreecommitdiff
path: root/source3/smbd/reply.c
diff options
context:
space:
mode:
authorSamba Release Account <samba-bugs@samba.org>1997-02-11 22:53:29 +0000
committerSamba Release Account <samba-bugs@samba.org>1997-02-11 22:53:29 +0000
commit8bd0dbb1af535466018b7ae3e4f7f042d493e145 (patch)
treee6aea313b53924182f95ec2511186fda325dfb6d /source3/smbd/reply.c
parent25ca2fd3d36382107e5443d64a6bf35fe7c47cca (diff)
downloadsamba-8bd0dbb1af535466018b7ae3e4f7f042d493e145.tar.gz
samba-8bd0dbb1af535466018b7ae3e4f7f042d493e145.tar.bz2
samba-8bd0dbb1af535466018b7ae3e4f7f042d493e145.zip
Replaced YOST code with more functionally equivalent code that
changes a bit less. Also added fix to tricky reply_mv case. jra@cygnus.com (This used to be commit f22ac13b1423186d463c9fc5b3588a3dcbd7bc1c)
Diffstat (limited to 'source3/smbd/reply.c')
-rw-r--r--source3/smbd/reply.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c
index 3698787ba4..46c385b85e 100644
--- a/source3/smbd/reply.c
+++ b/source3/smbd/reply.c
@@ -37,6 +37,7 @@ extern connection_struct Connections[];
extern files_struct Files[];
extern BOOL case_sensitive;
extern BOOL case_preserve;
+extern BOOL short_case_preserve;
extern pstring sesssetup_user;
extern int Client;
@@ -605,7 +606,7 @@ int reply_getatr(char *inbuf,char *outbuf)
char *p = strrchr(fname,'/');
uint16 flg2 = SVAL(outbuf,smb_flg2);
if (!p) p = fname;
- if (!is_8_3(fname))
+ if (!is_8_3(fname, True))
SSVAL(outbuf,smb_flg2,flg2 | 0x40); /* IS_LONG_NAME */
}
@@ -2582,7 +2583,8 @@ int reply_mv(char *inbuf,char *outbuf)
* the rename (user is trying to change the case of the
* filename).
*/
- if((case_sensitive == False) && (case_preserve == True) &&
+ if((case_sensitive == False) && ((case_preserve == True) ||
+ ((short_case_preserve == True) && is_8_3(name, True))) &&
strcsequal(name, newname)) {
pstring newname_modified_last_component;