diff options
author | Jeremy Allison <jra@samba.org> | 2001-08-23 23:37:40 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2001-08-23 23:37:40 +0000 |
commit | 964bfb219353369ba244cb7fb2177f03cce4d56c (patch) | |
tree | f36f2151bdf0cc8386d920e6cda881b7cf8c6194 | |
parent | 8ef7ddba65f326df69d3ff247491a0df1fa89578 (diff) | |
download | samba-964bfb219353369ba244cb7fb2177f03cce4d56c.tar.gz samba-964bfb219353369ba244cb7fb2177f03cce4d56c.tar.bz2 samba-964bfb219353369ba244cb7fb2177f03cce4d56c.zip |
Fix W2K profiles writing to a Samba PDC. Thanks to Microsoft for their help !
Jeremy.
(This used to be commit faae7512e059456db2450f878c435fd402839146)
-rw-r--r-- | source3/smbd/trans2.c | 21 |
1 files changed, 6 insertions, 15 deletions
diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c index 2c0286cf0a..f219d250c2 100644 --- a/source3/smbd/trans2.c +++ b/source3/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)); |