r11755: added names for all of the SMB2 qfs info levels (they all map exactly
authorAndrew Tridgell <tridge@samba.org>
Thu, 17 Nov 2005 04:03:31 +0000 (04:03 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:46:23 +0000 (13:46 -0500)
to equivalent SMB qfs levels)
(This used to be commit 4ce48d02aa12d6fa699bf8b250b14851870f0096)

source4/libcli/smb2/getinfo.c
source4/libcli/smb2/smb2_calls.h
source4/torture/smb2/getinfo.c
source4/torture/smb2/util.c

index 1594b8c1b40883cc6c602ded82becad92206a0c3..fe27cc711b3083917f1f14b529e39c4b7a4f6117 100644 (file)
@@ -178,6 +178,7 @@ NTSTATUS smb2_getinfo_parse(TALLOC_CTX *mem_ctx,
                io->all_info.write_time     = smbcli_pull_nttime(blob.data, 0x10);
                io->all_info.change_time    = smbcli_pull_nttime(blob.data, 0x18);
                io->all_info.file_attr      = IVAL(blob.data, 0x20);
+               io->all_info.unknown1       = IVAL(blob.data, 0x24);
                io->all_info.alloc_size     = BVAL(blob.data, 0x28);
                io->all_info.size           = BVAL(blob.data, 0x30);
                io->all_info.nlink          = IVAL(blob.data, 0x38);
index d0a1cb89054471ae80421312d554addf89dcd708..872e20f156c439af8e7d94f49faa266d212be0af 100644 (file)
@@ -191,13 +191,13 @@ struct smb2_close {
 };
 
 /* fs information levels */
-#define SMB2_GETINFO_FS_01              0x0102
-#define SMB2_GETINFO_FS_03              0x0302
-#define SMB2_GETINFO_FS_04              0x0402
-#define SMB2_GETINFO_FS_ATTRIB_INFO     0x0502
-#define SMB2_GETINFO_FS_06              0x0602
-#define SMB2_GETINFO_FS_07              0x0702
-#define SMB2_GETINFO_FS_08              0x0802
+#define SMB2_GETINFO_FS_VOLUME_INFO     0x0102
+#define SMB2_GETINFO_FS_SIZE_INFO       0x0302
+#define SMB2_GETINFO_FS_DEVICE_INFO     0x0402
+#define SMB2_GETINFO_FS_ATTRIBUTE_INFO  0x0502
+#define SMB2_GETINFO_FS_QUOTA_INFO      0x0602
+#define SMB2_GETINFO_FS_FULL_SIZE_INFO  0x0702
+#define SMB2_GETINFO_FS_OBJECTID_INFO   0x0802
 
 /* class 3 levels */
 #define SMB2_GETINFO_SECURITY           0x0003
@@ -295,7 +295,7 @@ union smb2_fileinfo {
                NTTIME   write_time;
                NTTIME   change_time;
                uint32_t file_attr;
-               /* uint32_t _pad; */
+               uint32_t unknown1;
                uint64_t alloc_size;
                uint64_t size;
                uint32_t nlink;
index 843ef5b5d0d88495abb77497a46d4b217c02c4fe..f175b19f893811f011e9b1fd5b3a41be975ca620 100644 (file)
@@ -33,13 +33,13 @@ static struct {
        union smb2_fileinfo dinfo;
 } levels[] = {
 #define LEVEL(x) #x, x
-       { LEVEL(SMB2_GETINFO_FS_01) },
-       { LEVEL(SMB2_GETINFO_FS_03) },
-       { LEVEL(SMB2_GETINFO_FS_04) },
-       { LEVEL(SMB2_GETINFO_FS_ATTRIB_INFO) },
-       { LEVEL(SMB2_GETINFO_FS_06) },
-       { LEVEL(SMB2_GETINFO_FS_07) },
-       { LEVEL(SMB2_GETINFO_FS_08) },
+       { LEVEL(SMB2_GETINFO_FS_VOLUME_INFO) },
+       { LEVEL(SMB2_GETINFO_FS_SIZE_INFO) },
+       { LEVEL(SMB2_GETINFO_FS_DEVICE_INFO) },
+       { LEVEL(SMB2_GETINFO_FS_ATTRIBUTE_INFO) },
+       { LEVEL(SMB2_GETINFO_FS_QUOTA_INFO) },
+       { LEVEL(SMB2_GETINFO_FS_FULL_SIZE_INFO) },
+       { LEVEL(SMB2_GETINFO_FS_OBJECTID_INFO) },
        { LEVEL(SMB2_GETINFO_SECURITY) },
        { LEVEL(SMB2_GETINFO_FILE_BASIC_INFO) },
        { LEVEL(SMB2_GETINFO_FILE_SIZE_INFO) },
index 2c3965831aa1f1041d892b8cd9c09f8020c3315a..6cbc2306303c95435bc11734a894c74ddab57296 100644 (file)
@@ -48,6 +48,7 @@ void torture_smb2_all_info(struct smb2_tree *tree, struct smb2_handle handle)
        d_printf("\twrite_time:     %s\n", nt_time_string(tmp_ctx, io.all_info.write_time));
        d_printf("\tchange_time:    %s\n", nt_time_string(tmp_ctx, io.all_info.change_time));
        d_printf("\tattrib:         0x%x\n", io.all_info.file_attr);
+       d_printf("\tunknown1:       0x%x\n", io.all_info.unknown1);
        d_printf("\talloc_size:     %llu\n", (uint64_t)io.all_info.alloc_size);
        d_printf("\tsize:           %llu\n", (uint64_t)io.all_info.size);
        d_printf("\tnlink:          %u\n", io.all_info.nlink);
@@ -60,6 +61,13 @@ void torture_smb2_all_info(struct smb2_tree *tree, struct smb2_handle handle)
        d_printf("\tunknown6:       0x%llx\n", io.all_info.unknown6);
        d_printf("\tfname:          '%s'\n", io.all_info.fname);
 
+       /* short name, if any */
+       status = smb2_getinfo_level(tree, tmp_ctx, handle, 
+                                   SMB2_GETINFO_FILE_SHORT_INFO, &io);
+       if (NT_STATUS_IS_OK(status)) {
+               d_printf("\tshort name:     '%s'\n", io.short_info.short_name);
+       }
+
        /* the EAs, if any */
        status = smb2_getinfo_level(tree, tmp_ctx, handle, 
                                    SMB2_GETINFO_FILE_ALL_EAS, &io);