mirror of https://github.com/raandree/NTFSSecurity
Browse Source
Equals of FileSystemAccessRule2, FileSystemAuditRule2, and FileSystemSecurity2 cast its argument to the .NET type, which throws for the wrapper types themselves: -eq and -contains, and in PowerShell 7 also Select-Object -Unique and Compare-Object, stopped with an InvalidCastException. GetHashCode of FileSystemSecurity2 read a field that is never set and threw a NullReferenceException. Two objects are now equal when they hold the same entry or descriptor, like the .NET types. InheritedFrom: Win32.GetInheritedFrom returned the sources of the SACL whenever the descriptor had one, also for the access entries, and the callers gave the filtered entries of -ExcludeExplicit the sources of the first entries of the ACL. Get-NTFSAccess -SecurityDescriptor stopped with an ArgumentOutOfRangeException for a descriptor with audit entries, as Get-NTFSSecurityDescriptor reads them in an elevated session. The method now takes the ACL of the entries, and the callers map the sources before they filter. The coverage report of rc6 pointed at both; each test fails without its fix. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: AI Assistant <ai@example.com>ai/release-5.0.0-rc6
13 changed files with 194 additions and 50 deletions
Loading…
Reference in new issue