-/* XXX We don't actually do anything with the ACL's yet besides being able to
- * print a few things. It seems it would be a lot of work to have comprehensive
- * support for all the weird flags and stuff, and Windows PE seems to be okay
- * running from a WIM file that doesn't have any security data at all... */
-
-static void print_acl(const u8 *p)
+static void print_acl(const u8 *p, const char *type)
printf(" Revision = %u\n", acl->revision);
printf(" ACL Size = %u\n", acl->acl_size);
printf(" ACE Count = %u\n", acl->ace_count);
printf(" Revision = %u\n", acl->revision);
printf(" ACL Size = %u\n", acl->acl_size);
printf(" ACE Count = %u\n", acl->ace_count);
printf(" Revision = %u\n", sid->revision);
printf(" Subauthority count = %u\n", sid->sub_authority_count);
printf(" Identifier authority = ");
printf(" Revision = %u\n", sid->revision);
printf(" Subauthority count = %u\n", sid->sub_authority_count);
printf(" Identifier authority = ");
putchar('\n');
for (uint i = 0; i < sid->sub_authority_count; i++)
printf(" Subauthority %u = %u\n", i, to_le32(sid->sub_authority[i]));
putchar('\n');
for (uint i = 0; i < sid->sub_authority_count; i++)
printf(" Subauthority %u = %u\n", i, to_le32(sid->sub_authority[i]));
TO_LE32(sd->sacl_offset);
TO_LE32(sd->dacl_offset);
printf("Revision = %u\n", sd->revision);
TO_LE32(sd->sacl_offset);
TO_LE32(sd->dacl_offset);
printf("Revision = %u\n", sd->revision);
printf("Owner offset = %u\n", sd->owner_offset);
printf("Group offset = %u\n", sd->group_offset);
printf("System ACL offset = %u\n", sd->sacl_offset);
printf("Discretionary ACL offset = %u\n", sd->dacl_offset);
if (sd->owner_offset != 0)
printf("Owner offset = %u\n", sd->owner_offset);
printf("Group offset = %u\n", sd->group_offset);
printf("System ACL offset = %u\n", sd->sacl_offset);
printf("Discretionary ACL offset = %u\n", sd->dacl_offset);
if (sd->owner_offset != 0)