Fix W2K profiles writing to a Samba PDC. Thanks to Microsoft for their help !
authorJeremy Allison <jra@samba.org>
Thu, 23 Aug 2001 23:37:40 +0000 (23:37 +0000)
committerJeremy Allison <jra@samba.org>
Thu, 23 Aug 2001 23:37:40 +0000 (23:37 +0000)
Jeremy.
(This used to be commit faae7512e059456db2450f878c435fd402839146)

source3/smbd/trans2.c

index 2c0286cf0a98bfdcdcf2e50bc8a083980b3e616e..f219d250c2456e098450e33ca35d0bb1d8b24529 100644 (file)
@@ -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));