wlfuzz: note Windows restrictions on short names
authorEric Biggers <ebiggers3@gmail.com>
Sun, 27 Nov 2016 23:24:36 +0000 (15:24 -0800)
committerEric Biggers <ebiggers3@gmail.com>
Sun, 27 Nov 2016 23:24:36 +0000 (15:24 -0800)
src/test_support.c

index bc7fde1..49e5fed 100644 (file)
@@ -546,18 +546,8 @@ static const char valid_short_name_chars[] = {
        '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
        '!', '#', '$', '%', '&', '\'', '(', ')', '-', '@', '^', '_', '`', '{',
        '}', '~',
-       /* TODO: why doesn't Windows accept these characters? */
-       /* ' ', */
-       /*128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,*/
-       /*142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,*/
-       /*156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,*/
-       /*170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,*/
-       /*184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,*/
-       /*198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,*/
-       /*212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,*/
-       /*226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,*/
-       /*240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,*/
-       /*254, 255*/
+       /* Note: Windows does not allow space and 128-255 in short filenames
+        * (tested on both NTFS and FAT). */
 };
 
 static int
@@ -568,12 +558,6 @@ generate_short_name_component(utf16lechar p[], int len)
                                                ARRAY_LEN(valid_short_name_chars)];
                p[i] = cpu_to_le16(c);
        }
-#if 0 /* TODO: we aren't using space yet anyway */
-       while (len > 1 && p[len - 1] == cpu_to_le16(' '))
-               len--;
-       if (p[len - 1] == cpu_to_le16(' '))
-               p[len - 1] = cpu_to_le16('A');
-#endif
        return len;
 }
 
@@ -585,8 +569,7 @@ generate_random_short_name(utf16lechar name[], struct generation_context *ctx)
        /*
         * Legal short names on Windows consist of 1 to 8 characters, optionally
         * followed by a dot then 1 to 3 more characters.  Only certain
-        * characters are allowed.  In addition, trailing spaces are not
-        * significant.
+        * characters are allowed.
         */
        int base_len = 1 + (rand32() % 8);
        int ext_len = rand32() % 4;