Revision history for Perl extension Win32::Security ?.?? FUTURE Development Goals - Add support for Unicode characters in Win32::Security::NamedObject and Win32::Security::Recursor, and trustees (usernames/groups). - Improve test suite coverage for DENY vs ALLOW ACEs - Expand test suite to explicitly cover: - Win32::Security::ACL - Win32::Security::NamedObject - Win32::Security::SID - Significantly expanded testing for PermChg.pl - PermChg.pl -f is not really trustworthy or fully defined 0.60 Fri Sep 20 2024 - First release in 20.5 years! - Fixes to test scripts to support updates in Windows since 2004! - Added support for Strawberry Perl 5.40 x64 Perl while retaining x86 support at least as far back as ActivePerl 5.16! - Fixed inheritance validation bug related to DENY and ALLOW ACEs being treated as identical ACEs for permission occlusion. - Significant changes/bug fixes to AdjustTokenPrivileges and use thereof. - Attempt privilege escalation to enable reading/manipulating security information when elevated privileges are available - Bug fix for setting ownerTrustee/SID on recent versions of Windows. - Bug fix for remote registry access (thanks nobull67@gmail.com) - Added support for -file option to PermDump.pl. - Extensive changes to NamedObject and Recursor to improve performance, especially when dumping both owner and dacl information. - Significant performance improvements were made to Data::BitMask, which are available in Data::BitMask 1.00. PermDump.pl saw a ~20% speed up. - Adding support for x64 (while retaining x86 support) required extensive changes in Raw.pm, along with some in NamedObject.pm. - Added test suite for Win32::Security::Raw. - Fixes in t/scripts.t to support newer versions of cacls.exe that return "(ID)" (Inherited from Directory) for inherited permissions. - Added version numbers to all module files (and updated copyright dates) - Enabled extended tests (computers got faster over the past 20 years). 0.50 Sat Mar 20 2004 - Moved to using Build.PL (i.e. Module::Build). - Moved utility scripts into script dir so they will install to Perl/bin - Used subclassing in Build.PL to avoid turning them into BAT files - Added package lines to (ACE|ACL|NamedObject|Recursor).pm to get them to show up in META.yml - Changed .t files to PC line endings - Added support to ACTION_distdir in Build.PL to turn off extended tests - Overrode make_tarball in Build.PL to avoid Archive::Tar (which is broken) and use tar and gzip from the command line. I will remove this when a default install of Archive::Tar and Module::Build under ActivePerl does not result in a flat tar file! - Fixes to error_.* calls in W::S::Recursor::SE_FILE_OBJECT::PermDump - Added PPM support to Build.PL - Removed dacl_noprop from PermChg.pl because of an obscure bug involving inheritance blocking preventing a subsequent dacl update from rippling the updates. - Added test for and fixed bug involving standalone -b passed to PermChg.pl 0.28 Sat Mar 13 2004 - Fixed owner code in Win32::Security::Recursor::SE_FILE_OBJECT::PermDump - Looked over PermFix.pl and tidied up some typos in the docs - Added CI, OI, IO, etc. flag aliases to Win32::Security::ACE - Got PermChg.pl working (albeit without owner support) - Developed the first real test suites - extended.t and scripts.t - Tore up and rewrote huge chunks of the inheritance checking code as a result of the above. The black box that implements permission inheritance is a wiley adversary to understand. - Decided to release with PermFix.pl and PermChg.pl in beta. 0.27 Mon Jan 19 2004 - Flattened Recursor into a queue based loop - no more proper recursion - Updated PermDump.pl to function. - Decided to release without PermChg.pl and PermFix.pl, which are both still under development and in testing. - Moved Win32 into lib directory and updated MANIFEST and Makefile.PL 0.26 ??? Dec ?? 2003 - Delayed due to flood in downstairs of house. Highly recommend that people check and replace their washing machine hoses on a regular basis. Stainless steel braid jacketed ones are worth it. - Another Recursor refactoring 0.25 ??? Nov ?? 2003 - I really need to spend the time on this and release it - aclRevision is now largely gone (replaced by routines that DWIW) - Recursor refactoring 0.24 ??? Oct ?? 2003 - Implementation of mutable objects via proper flyweight pattern - Addition of SE_REGISTRY_KEY support - Clean-up of mutability support 0.23 ??? Sep 20 2003 - Fifth almost:) CPANed release - Implementation of multiple-inheritance via C::P 0.22 ??? Sep 10 2003 - Fourth almost:) CPANed release - Recursor.pm becomes a reality 0.21 Wed Sep 3 2003 - Third almost:) CPANed release - ACEs are now subclassed on AceType and fake subclassed on objectType - DACL.pm becomes ACL.pm 0.20 Sat Aug 30 2003 - second almost:) CPANed release - ACEs are now first-class objects - Lots of bug fixes resulting from that 0.10 Tue Aug 26 2003 - first almost:) CPANed release