summaryrefslogtreecommitdiffstats
path: root/source/smbd/trans2.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2001-08-23 23:37:40 +0000
committerJeremy Allison <jra@samba.org>2001-08-23 23:37:40 +0000
commitfaae7512e059456db2450f878c435fd402839146 (patch)
tree8aabc9769c5ef0cd83dc4dbf0046779fe17ac4f3 /source/smbd/trans2.c
parent6391fd7bdab07c83e9eed02e761db09918e60302 (diff)
downloadsamba-faae7512e059456db2450f878c435fd402839146.tar.gz
samba-faae7512e059456db2450f878c435fd402839146.tar.xz
samba-faae7512e059456db2450f878c435fd402839146.zip
Fix W2K profiles writing to a Samba PDC. Thanks to Microsoft for their help !
Jeremy.
Diffstat (limited to 'source/smbd/trans2.c')
-rw-r--r--source/smbd/trans2.c21
1 files changed, 6 insertions, 15 deletions
diff --git a/source/smbd/trans2.c b/source/smbd/trans2.c
index 2c0286cf0a9..f219d250c24 100644
--- a/source/smbd/trans2.c
+++ b/source/smbd/trans2.c
@@ -1629,8 +1629,10 @@ static int call_trans2qfilepathinfo(connection_struct *conn,
break;
}
- case 1022:
- {
+ case SMB_FILE_STREAM_INFORMATION:
+ if (mode & aDIR) {
+ data_size = 0;
+ } else {
size_t byte_len = dos_PutUniCode(pdata+24,"::$DATA", 0xE, False);
SIVAL(pdata,0,0); /* ??? */
SIVAL(pdata,4,byte_len); /* Byte length of unicode string ::$DATA */
@@ -1638,8 +1640,8 @@ static int call_trans2qfilepathinfo(connection_struct *conn,
SIVAL(pdata,16,0x20); /* ??? */
SIVAL(pdata,20,0); /* ??? */
data_size = 24 + byte_len;
- break;
}
+ break;
case 1028:
SOFF_T(pdata,0,size);
@@ -1947,6 +1949,7 @@ static int call_trans2setfilepathinfo(connection_struct *conn,
break;
}
+ case SMB_FILE_DISPOSITION_INFORMATION:
case SMB_SET_FILE_DISPOSITION_INFO: /* Set delete on close for open file. */
{
BOOL delete_on_close = (CVAL(pdata,0) ? True : False);
@@ -2033,18 +2036,6 @@ static int call_trans2setfilepathinfo(connection_struct *conn,
break;
}
- case 1013:
-#if 0 /* JRA */
- /*
- * This (new) W2K call seems to set one byte. Not sure
- * yet what it's trying to do. JRA.
- */
- {
- unsigned char setval = CVAL(pdata,0);
- }
-#endif /* JRA */
- return(ERROR(ERRDOS,ERRnoaccess));
-
default:
{
return(ERROR(ERRDOS,ERRunknownlevel));