Native code for PowerShell has been moved to repository PowerShell/PowerShell-Native.
Hence, removing all the native code and related build components.
setdate.cpp was incorrectly assigning an int to a struct, fixed to initialize struct zero'd
update the typegen project in the bash script
added some help text at top of script for someone trying to build it
updated runtime to linux-musl-x64 instead of linux-x64 as Alpine distro uses the musl libc libraries instead of glibc which is used by most distros.
Based on standard practices, we need to have a copyright and license notice at the top of each source file. Removed existing copyrights and updated/added copyright notices for .h, .cpp, .cs, .ps1, and .psm1 files.
Updated module manifests for consistency to have Author = "PowerShell" and Company = "Microsoft Corporation". Removed multiple line breaks.
Separate PR coming to update contribution document for new source files: #6140
Manually reviewed each change.
Fix#6073
* Add compiler switches replace the dangerous function with safer ones.
* Add -02 and make linker flags per platform
* add -O2 for arm and add -z,now
* remove windows linker flags
* Enable strong stack protection
Enable address space layout randomization (ASLR) or PIE
* Enable strong stack protection
Enable address space layout randomization (ASLR) or PIE
Add the dynamic parameter `-FollowSymlink` to `Get-ChildItem`.
Add a mechanism for tracking visited directories.
Add native code to get device/inode information on Unix/Windows.
Add warning when refusing to enter an already-visited directory.
* Fix SSH process creation on Linux platforms
* Fixed typos
* Added UNIX managed code StartProcess
* Fixed compile errors
* Changed process create to return pid
* Now resolve full SSH command file path for all platforms
* Removed data reader error handling because it conflicts with SSH errors in the error stream
* Clean up work
* Fix for file line endings
* More clean up
* Change to Linux platform SSH process creation to create process in new session
* Added third party license text for DotNet Core
* Removed process creation in new session and added suppress SIGINT
* Removed unneeded code for creating SSH process
* Fixed Unix compile errors
* Changes for code review
* Response to more code review comments
* Removed unneeded using statements
Rather than relying on case-insensitive string compares of source and destination paths, use operating system calls to determine whether two paths refer to the same file. This solves not only the case-insensitivity issue but also allows the cmdlet to operate properly if the destination is a hard or symbolic link to the source.
The Windows side is implemented in C#. The Unix side is implemented partially in native code.
This is verified to work "correctly" on Linux in that it gets the
`perror` for the last set value of errno in native code.
No extra mapping or handling needs to be done on our part.
Keeping the strerror_r implementation in the history for the valuable
implementation of config.h.in in the library.
ASSERT_TRUE("a"=="b") only reports that the strings do not match, hiding
their values.
ASSERT_STREQ("a","b") is a functionally equivalent test, but reports
back the values of the failing strings for easier troubleshooting.
I think this logic was originally added with the assumption that any
hostname with a dot in it was an FQDN. I believe this is incorrect. The
hostname is the hostname regardless of included dots, and getting the
FQDN amounts to always querying for the canonical name.
* spelling: comments in src/Microsoft.Management.Infrastructure.CimCmdlets
* spelling: comments in src/Microsoft.PackageManagement.ArchiverProviders
* spelling: comments in src/Microsoft.PackageManagement.CoreProviders
* spelling: comments in src/Microsoft.PackageManagement.MetaProvider.PowerShell
* spelling: comments in src/Microsoft.PackageManagement.MsiProvider
* spelling: comments in src/Microsoft.PackageManagement.MsuProvider
* spelling: comments in src/Microsoft.PackageManagement.NuGetProvider
* spelling: comments in src/Microsoft.PackageManagement.PackageSourceListProvider
* spelling: comments in src/Microsoft.PackageManagement
* spelling: comments in src/Microsoft.PowerShell.Activities
* spelling: comments in src/Microsoft.PowerShell.Commands.Diagnostics
* spelling: comments in src/Microsoft.PowerShell.Commands.Management
* spelling: comments in src/Microsoft.PowerShell.Commands.Utility
* spelling: comments in src/Microsoft.PowerShell.ConsoleHost
* spelling: comments in src/Microsoft.PowerShell.Core.Activities
* spelling: comments in src/Microsoft.PowerShell.CoreCLR.AssemblyLoadContext
* spelling: comments in src/Microsoft.PowerShell.CoreCLR.Eventing
* spelling: comments in src/Microsoft.PowerShell.Diagnostics.Activities
* spelling: comments in src/Microsoft.PowerShell.GraphicalHost
* spelling: comments in src/Microsoft.PowerShell.LocalAccounts
* spelling: comments in src/Microsoft.PowerShell.Management.Activities
* spelling: comments in src/Microsoft.PowerShell.PSReadLine
* spelling: comments in src/Microsoft.PowerShell.PackageManagement
* spelling: comments in src/Microsoft.PowerShell.ScheduledJob
* spelling: comments in src/Microsoft.PowerShell.Security.Activities
* spelling: comments in src/Microsoft.PowerShell.Security
* spelling: comments in src/Microsoft.PowerShell.Utility.Activities
* spelling: comments in src/Microsoft.PowerShell.Workflow.ServiceCore
* spelling: comments in src/Microsoft.WSMan.Management.Activities
* spelling: comments in src/Modules
* spelling: comments in src/Schemas
* spelling: comments in src/libpsl-native
* spelling: comments in src/powershell-native
* spelling: comments in build.psm1
* spelling: comments in src/System.Management.Automation/CoreCLR
* spelling: comments in src/System.Management.Automation/DscSupport
* spelling: comments in src/System.Management.Automation/cimSupport
* spelling: comments in src/System.Management.Automation/commands
* spelling: comments in src/System.Management.Automation/engine/Modules
faccessat() does not support AT_SYMLINK_NOFOLLOW on OS X, so instead,
we use the success of lstat() to determine if the file (not following
symbolic links) exists. Also allowed for some refactoring.