- Reenable RTL_QUERY_REGISTRY_DELETE: the "PendingFileRenameOperations(2)" and "AllowProtectedRenames" registry values are deleted after being parsed: we don't retry at every reboot to remove/rename files that were already deleted/renamed.
- Remove superfluous parentheses.
- Warn a FIXME if SFC-protected file renames are allowed and we are processing file renames (the "protected file renames" stuff is unimplemented atm.)

svn path=/trunk/; revision=70530
This commit is contained in:
Hermès Bélusca-Maïto 2016-01-07 19:03:35 +00:00
parent ae0b31a24a
commit 762e2a1af4

View file

@ -608,7 +608,7 @@ SmpRegistryConfigurationTable[] =
{
SmpConfigureAllowProtectedRenames,
0, //RTL_QUERY_REGISTRY_DELETE,
RTL_QUERY_REGISTRY_DELETE,
L"AllowProtectedRenames",
NULL,
REG_DWORD,
@ -648,7 +648,7 @@ SmpRegistryConfigurationTable[] =
{
SmpConfigureFileRenames,
0, //RTL_QUERY_REGISTRY_DELETE,
RTL_QUERY_REGISTRY_DELETE,
L"PendingFileRenameOperations",
&SmpFileRenameList,
REG_NONE,
@ -658,7 +658,7 @@ SmpRegistryConfigurationTable[] =
{
SmpConfigureFileRenames,
0, //RTL_QUERY_REGISTRY_DELETE,
RTL_QUERY_REGISTRY_DELETE,
L"PendingFileRenameOperations2",
&SmpFileRenameList,
REG_NONE,
@ -1989,6 +1989,10 @@ SmpProcessFileRenames(VOID)
Status = RtlAdjustPrivilege(SE_RESTORE_PRIVILEGE, TRUE, FALSE, &OldState);
if (NT_SUCCESS(Status)) HavePrivilege = TRUE;
// FIXME: Handle SFC-protected file renames!
if (SmpAllowProtectedRenames)
DPRINT1("SMSS: FIXME: Handle SFC-protected file renames!\n");
/* Process pending files to rename */
Head = &SmpFileRenameList;
while (!IsListEmpty(Head))
@ -2073,10 +2077,10 @@ SmpProcessFileRenames(VOID)
InformationClass);
/* Check if we seem to have failed because the file was readonly */
if ((!NT_SUCCESS(Status) &&
if (!NT_SUCCESS(Status) &&
(InformationClass == FileRenameInformation) &&
(Status == STATUS_OBJECT_NAME_COLLISION) &&
(Buffer->ReplaceIfExists)))
Buffer->ReplaceIfExists)
{
/* Open the file for write attribute access this time... */
DPRINT1("\nSMSS: '%wZ' => '%wZ' failed - Status == %x, Possible readonly target\n",