cm/regfile.c, ldr/init.c, ldr/loader.c: OBJ_CASE_INSENSITIVE patch I proposed
authorArt Yerkes <art.yerkes@gmail.com>
Sat, 25 Sep 2004 06:41:16 +0000 (06:41 +0000)
committerArt Yerkes <art.yerkes@gmail.com>
Sat, 25 Sep 2004 06:41:16 +0000 (06:41 +0000)
commit0089446cc64358ac1c52419a566664b2f6139e30
tree6ff6c108a162ca3c2f4f63d617bc6d077a38ac80
parent906e734ab48f47a1bfab08dc98c17e7448c0bbdf
cm/regfile.c, ldr/init.c, ldr/loader.c: OBJ_CASE_INSENSITIVE patch I proposed
on the list.  This makes the registry, and dll loading case insensitive when
we are on a case preserving filesystem.

ntoskrnl/ex/power.c: My own contributions to the poweroff message list.

ntoskrnl/mm/npool.c: Fixed bit-rot in whole page alloc.  That's how i found
the bug below.

se/semgr.c, lib/rtl/sd.c:
semgr, when creating a SECURITY_DESCRIPTOR, anded the PRESENT and DEFAULT
flags rather than oring them for group, dacl, and sacl, leading to
RtlLengthSecurityDescriptor giving the wrong length to sdcache.  When
sdcache would copy the security descriptor, it would be too short, and
the bound check from the whole-page allocator would go off.  I fixed this
and made rtl/sd.c use the ROUND_UP macro and RtlLengthSid.  This is cleaner.
It may not be completely correct yet but it no-longer truncates security
descriptors into the cache, which means that the Owner, Group and etc
SIDs should now actually work right when coming from the cache, no matter
what happens in the heap.  They probably seemed to work before simply
because they trashed the ends of their blocks and never moved in the
cache.

svn path=/trunk/; revision=11040
reactos/lib/rtl/sd.c
reactos/ntoskrnl/cm/regfile.c
reactos/ntoskrnl/ex/power.c
reactos/ntoskrnl/ldr/init.c
reactos/ntoskrnl/ldr/loader.c
reactos/ntoskrnl/mm/npool.c
reactos/ntoskrnl/se/semgr.c