Compare commits

..

8 Commits

Author SHA1 Message Date
6059c81d84 add libressl conf 2022-09-19 16:42:47 +02:00
59ca960f7c fix libressl path 2022-09-19 16:36:14 +02:00
ae1c3d8a83 update lfs attribs 2022-09-19 16:35:58 +02:00
86b58e41ff update libressl to v3.5.3 2022-09-19 16:35:45 +02:00
4e53d8afb3 fix path value 2022-09-16 09:56:37 +02:00
534688da73 fix path value 2022-09-16 09:53:55 +02:00
19c3686947 fix path value 2022-09-16 09:47:52 +02:00
4476037308 add missing vendor Path 2022-09-16 09:43:05 +02:00
20 changed files with 160 additions and 174 deletions

View File

@ -120,7 +120,7 @@ steps:
Install-Module -Name 'DroneHelper' -Repository 'PSGallery' -ErrorAction 'Stop' -AllowPrerelease -Force;
Import-Module -Name 'DroneHelper' -ErrorAction 'Stop';
Install-ModuleDependency;
New-BuildPackage -Verbose
New-BuildPackage -Verbose -AdditionalPath @('./src/Vendor', './src/openssl.conf')
}"
- name: GiteaRelease

1
.gitattributes vendored
View File

@ -21,4 +21,5 @@
# Vendor resources config
src/Vendor/libressl255/* filter=lfs diff=lfs merge=lfs -text
src/Vendor/libressl/* filter=lfs diff=lfs merge=lfs -text
*.pfx filter=lfs diff=lfs merge=lfs -text

View File

@ -66,7 +66,7 @@ function New-CSCertificate {
($PSVersionTable.PSEdition -eq 'Desktop' -and $PSVersionTable.PSVersion.Major -lt 6) -or
($IsWindows -eq $true)
) {
$openssl = Join-Path -Path $ModuleBase -ChildPath '/Vendor/libressl255/openssl.exe'
$openssl = Join-Path -Path $ModuleBase -ChildPath '/Vendor/libressl/openssl.exe'
}
$Env:OPENSSL_CONF = Join-Path $ModuleBase -ChildPath '/openssl.conf'

View File

@ -10,7 +10,7 @@ function Connect-To {
Specify the host, for which you would like to change the credentials.
.PARAMETER Identifier
Defaults to ''. Specify a string, which separates two CredentialStoreItems for the
Defaults to "". Specify a string, which separates two CredentialStoreItems for the
same hostname.
.PARAMETER Type
@ -18,13 +18,13 @@ function Connect-To {
- CiscoUcs
- CiscoUcsCentral
- CisServer
- ExchangeHTTP
- ExchangeHTTPS
- FTP
- NetAppFAS
- SCP
- VMware
- VMwareCisServer
.PARAMETER Credentials
Use this parameter to bypass the stored credentials. Without this parameter Connect-To tries to read the
@ -48,38 +48,36 @@ function Connect-To {
[None]
.EXAMPLE
Connect-To -RemoteHost 'ucs.myside.local' -Type CiscoUcs
Connect-To -RemoteHost "ucs.myside.local" -Type CiscoUcs
.EXAMPLE
Connect-To -RemoteHost 'ucscentral.myside.local' -Type 'CiscoUcsCentral'
Connect-To -RemoteHost "ucscentral.myside.local" -Type 'CiscoUcsCentral'
.EXAMPLE
Connect-To -RemoteHost 'ftp.myside.local' -Type FTP
Connect-To -RemoteHost "ftp.myside.local" -Type FTP
.EXAMPLE
Connect-To -RemoteHost 'fas.myside.local' -Type NetAppFAS
Connect-To -RemoteHost "fas.myside.local" -Type NetAppFAS
.EXAMPLE
Connect-To -RemoteHost 'esx01.myside.local' -Type VMware
Connect-To -RemoteHost "esx01.myside.local" -Type VMware
.EXAMPLE
Connect-To -RemoteHost 'vCenter.myside.local' -Type CisServer
Connect-To -RemoteHost "vCenter.myside.local" -Type CisServer
.EXAMPLE
Connect-To -RemoteHost 'exchange01.myside.local' -Type ExchangeHTTP
Connect-To -RemoteHost "exchange01.myside.local" -Type ExchangeHTTP
.EXAMPLE
Connect-To -RemoteHost 'exchange01.myside.local' -Type ExchangeHTTPS
Connect-To -RemoteHost "exchange01.myside.local" -Type ExchangeHTTPS
#>
[CmdletBinding(DefaultParameterSetName = 'Private')]
[Diagnostics.CodeAnalysis.SuppressMessageAttribute(
'PSAvoidGlobalVars',
'',
Justification = 'Wrapping existing var from WinSCP module.'
)]
param (
[Parameter(Mandatory = $true, ParameterSetName = 'Shared')]
[Parameter(Mandatory = $true, ParameterSetName = 'Private')]
@ -94,13 +92,13 @@ function Connect-To {
[ValidateSet(
'CiscoUcs',
'CiscoUcsCentral',
'ExchangeHTTP',
'ExchangeHTTPS',
'FTP',
'NetAppFAS',
'SCP',
'VMware',
'VMwareCisServer'
'CisServer',
'ExchangeHTTP',
'ExchangeHTTPS',
'SCP'
)]
[string]$Type,
@ -122,7 +120,7 @@ function Connect-To {
begin {
# Set the CredentialStore for private, shared or custom mode.
Write-Debug ('ParameterSetName: {0}' -f $PSCmdlet.ParameterSetName)
Write-Debug ("ParameterSetName: {0}" -f $PSCmdlet.ParameterSetName)
if ($PSCmdlet.ParameterSetName -eq 'Private') {
$Path = Get-DefaultCredentialStorePath
}
@ -133,7 +131,7 @@ function Connect-To {
}
switch ($Type) {
'VMware' {
"VMware" {
# Disable the yellow certificate warning, since we haven't replaced the SSL certs for vCenter/ESXi
$null = Set-PowerCLIConfiguration -Scope Session -InvalidCertificateAction Ignore -Confirm:$false
@ -141,11 +139,6 @@ function Connect-To {
$null = Set-PowerCLIConfiguration -Scope Session -ProxyPolicy NoProxy -Confirm:$false
}
}
# Set sane defaults for Progress, ErrorAction and InformationPreference
$ProgressPreference = 'SilentlyContinue'
$ErrorActionPreference = 'Stop'
$InformationPreference = 'Continue'
}
process {
@ -156,8 +149,8 @@ function Connect-To {
# Check if $Identifier has been defined, in which case we need to use different name for
# the lookup of the CredentialStoreItem.
try {
if ($Identifier -ne '') {
$RemoteHostIdentifier = '{0}/{1}' -f $Identifier, $RemoteHost
if ($Identifier -ne "") {
$RemoteHostIdentifier = "{0}/{1}" -f $Identifier, $RemoteHost
$creds = Get-CredentialStoreItem -Shared -RemoteHost $RemoteHostIdentifier -Path $Path
}
else {
@ -168,8 +161,8 @@ function Connect-To {
catch {
$MessageParams = @{
Message = (
'Unable to look up credential store item for RemoteHost ' +
('{0}/Identifier {1}!' -f $RemoteHost, $Identifier)
"Unable to look up credential store item for RemoteHost " +
("{0}/Identifier {1}!" -f $RemoteHost, $Identifier)
)
ErrorAction = 'Stop'
}
@ -180,66 +173,44 @@ function Connect-To {
$creds = $Credentials
}
if ($creds.UserName -eq '' -or $creds.Password.GetType().Name -ne 'SecureString') {
if ($creds.UserName -eq "" -or $creds.Password.GetType().Name -ne 'SecureString') {
$MessageParams = @{
Message = 'Please provide valid credentials for RemoteHost {0}!' -f $RemoteHost
Message = "Please provide valid credentials for RemoteHost {0}!" -f $RemoteHost
ErrorAction = 'Stop'
}
Write-Error @MessageParams
}
else {
switch ($Type) {
'CiscoUcs' {
"CiscoUcs" {
try {
$handle = Connect-Ucs -Name $RemoteHost -Credential $creds -NotDefault
$handle = Connect-Ucs -Name $RemoteHost -Credential $creds -ErrorAction 'Stop' -NotDefault
$ExecutionContext.SessionState.PSVariable.Set('DefaultUcs', $handle)
}
catch {
Write-Error -Message ('Unable to connect to {0} using Type {1}.' -f $RemoteHost, $Type)
$MessageParams = @{
Message = "Unable to connect to {0} using Type {1}." -f $RemoteHost, $Type
ErrorAction = 'Stop'
}
Write-Error @MessageParams
}
}
'CiscoUcsCentral' {
"CiscoUcsCentral" {
try {
$handle = Connect-UcsCentral -Name $RemoteHost -Credential $creds -NotDefault
$ExecutionContext.SessionState.PSVariable.Set('DefaultUcsCentral', $handle)
}
catch {
Write-Error -Message ('Unable to connect to {0} using {1}' -f $RemoteHost, $Type)
$MessageParams = @{
Message = ('Unable to connect to {0} using {1}' -f $RemoteHost, $Type)
ErrorAction = 'Stop'
}
Write-Error @MessageParams
}
}
'ExchangeHTTP' {
try {
$ConnectionParams = @{
ConnectionURI = 'http://{0}/powershell' -f $RemoteHost
ConfigurationName = 'Microsoft.Exchange'
Credential = $creds
}
$global:PSExchangeRemote = New-PSSession @ConnectionParams
# ScriptAnalyzer issue (unused var) workaround.
$null = $global:PSExchangeRemote
}
catch {
# Write a error message to the log.
Write-Error -Message ('Unable to connect to {0} using Type {1}.' -f $RemoteHost, $Type)
}
}
'ExchangeHTTPS' {
try {
$ConnectionParams = @{
ConnectionURI = 'https://{0}/powershell' -f $RemoteHost
ConfigurationName = 'Microsoft.Exchange'
Credential = $creds
}
$global:PSExchangeRemote = New-PSSession @ConnectionParams
}
catch {
# Write a error message to the log.
Write-Error -Message ('Unable to connect to {0} using Type {1}.' -f $RemoteHost, $Type)
}
}
'FTP' {
"FTP" {
# First establish the FTP session
$WinSCPConParams = @{
Credential = $creds
@ -249,48 +220,113 @@ function Connect-To {
}
try {
$FTPSessionOption = New-WinSCPSessionOption @WinSCPConParams
$global:WinSCPSession = New-WinSCPSession -SessionOption $FTPSessionOption
$Global:WinSCPSession = New-WinSCPSession -SessionOption $FTPSessionOption
}
catch {
Write-Error -Message ('Could not connect to {0} using {1} protocol!' -f $RemoteHost, $Type)
throw "Could not connect to {0} using {1} protocol!" -f $RemoteHost, $Type
}
# Check the Connection State
if (-not $WinSCPSession.Opened) {
if (!($WinSCPSession.Opened)) {
# Check the connection state and find out if the session is still open.
$m = 'Connection to {0} using Type {1} was established. ' -f $RemoteHost, $Type
$m += 'But now it seems to be lost!'
Write-Error -Message $m
$MessageParams = @{
Message = (
("Connection to {0} using Type {1} " -f $RemoteHost, $Type) +
"was established. But now it seems to be lost!"
)
ErrorAction = 'Stop'
}
Write-Error @MessageParams
}
}
'NetAppFAS' {
# Construct the splatting for Connect-NcController
$params = @{
Name = $RemoteHost
Credential = $creds
HTTPS = $true
}
# Check if -PassThru was passed. If so, a) do not set the default variable and b) return the
# session object to the caller.
if ($PSBoundParameters.ContainsKey('PassThru')) {
$params.Add('Transient', $true)
}
"NetAppFAS" {
try {
$handle = Connect-NcController @params
$null = Connect-NcController -Name $RemoteHost -Credential $creds -ErrorAction Stop -HTTPS
}
catch {
# Write a error message to the log.
Write-Error -Message ('Unable to connect to {0} using Type {1}.' -f $RemoteHost, $Type)
$MessageParams = @{
Message = "Unable to connect to {0} using Type {1}." -f $RemoteHost, $Type
ErrorAction = 'Stop'
}
Write-Error @MessageParams
}
}
"VMware" {
try {
Connect-VIServer -Server $RemoteHost -Credential $creds -ErrorAction Stop | Out-Null
}
if ($PSBoundParameters.ContainsKey('PassThru')) {
return $handle
catch {
# Write a error message to the log.
$MessageParams = @{
Message = "Unable to connect to {0} using Type {1}." -f $RemoteHost, $Type
ErrorAction = 'Stop'
}
Write-Error @MessageParams
}
}
'SCP' {
"CisServer" {
try {
if ($PassThru.IsPresent) {
Connect-CisServer -Server $RemoteHost -Credential $creds -ErrorAction Stop
}
else {
Connect-CisServer -Server $RemoteHost -Credential $creds -ErrorAction Stop | Out-Null
}
}
catch {
# Write a error message to the log.
$MessageParams = @{
Message = "Unable to connect to {0} using Type {1}." -f $RemoteHost, $Type
ErrorAction = 'Stop'
}
Write-Error @MessageParams
}
}
"ExchangeHTTP" {
try {
$ConnectionParams = @{
ConnectionURI = "http://{0}/powershell" -f $RemoteHost
ConfigurationName = 'Microsoft.Exchange'
Credential = $creds
ErrorAction = 'Stop'
}
$Global:PSExchangeRemote = New-PSSession @ConnectionParams
# ScriptAnalyzer issue (unused var) workaround.
$null = $Global:PSExchangeRemote
}
catch {
# Write a error message to the log.
$MessageParams = @{
Message = "Unable to connect to {0} using Type {1}." -f $RemoteHost, $Type
ErrorAction = 'Stop'
}
Write-Error @MessageParams
}
}
"ExchangeHTTPS" {
try {
$ConnectionParams = @{
ConnectionURI = "https://{0}/powershell" -f $RemoteHost
ConfigurationName = 'Microsoft.Exchange'
Credential = $creds
ErrorAction = 'Stop'
}
$Global:PSExchangeRemote = New-PSSession @ConnectionParams
}
catch {
# Write a error message to the log.
$MessageParams = @{
Message = "Unable to connect to {0} using Type {1}." -f $RemoteHost, $Type
ErrorAction = 'Stop'
}
Write-Error @MessageParams
}
}
"SCP" {
$WinSCPSessionParams = @{
Credential = $creds
Hostname = $RemoteHost
@ -299,51 +335,39 @@ function Connect-To {
}
try {
$SessionOption = New-WinSCPSessionOption @WinSCPSessionParams
$global:WinSCPSession = New-WinSCPSession -SessionOption $SessionOption
$Global:WinSCPSession = New-WinSCPSession -SessionOption $SessionOption
Write-Verbose -Message (
'SCP Connection established with {0}' -f $global:WinSCPSession.Hostname
"SCP Connection established with {0}" -f $Global:WinSCPSession.Hostname
)
}
catch {
# Write a error message to the log.
Write-Error -Message ('Unable to connect to {0} using Type {1}.' -f $RemoteHost, $Type)
$MessageParams = @{
Message = "Unable to connect to {0} using Type {1}." -f $RemoteHost, $Type
ErrorAction = 'Stop'
}
Write-Error @MessageParams
}
# Check the Connection State
if (!($WinSCPSession.Opened)) {
# Check the connection state and find out if the session is still open.
$m = 'Connection to {0} using Type {1} was established. ' -f $RemoteHost, $Type
$m += 'But now it seems to be lost!'
Write-Error -Message $m
$MessageParams = @{
Message = (
("Connection to {0} using Type {1} was established. " -f $RemoteHost, $Type) +
"But now it seems to be lost!"
)
ErrorAction = 'Stop'
}
}
'VMware' {
try {
Connect-VIServer -Server $RemoteHost -Credential $creds -ErrorAction Stop | Out-Null
}
catch {
# Write a error message to the log.
Write-Error -Message ('Unable to connect to {0} using Type {1}.' -f $RemoteHost, $Type)
}
}
'VMwareCisServer' {
try {
if ($PassThru.IsPresent) {
Connect-CisServer -Server $RemoteHost -Credential $creds
}
else {
$null = Connect-CisServer -Server $RemoteHost -Credential $creds
}
}
catch {
# Write a error message to the log.
Write-Error -Message ('Unable to connect to {0} using Type {1}.' -f $RemoteHost, $Type)
Write-Error @MessageParams
}
}
default {
# Write a error message to the log.
Write-Error -Message ('Unable to connect to {0} using Type {1}.' -f $RemoteHost, $Type)
$MessageParams = @{
Message = "Unable to connect to {0} using Type {1}." -f $RemoteHost, $Type
ErrorAction = 'Stop'
}
Write-Error @MessageParams
}
}
}

BIN
src/Vendor/libressl/openssl.exe (Stored with Git LFS) vendored Normal file

Binary file not shown.

BIN
src/Vendor/libressl255/libcrypto-41.dll (Stored with Git LFS) vendored

Binary file not shown.

BIN
src/Vendor/libressl255/libcrypto-41.exp (Stored with Git LFS) vendored

Binary file not shown.

BIN
src/Vendor/libressl255/libcrypto-41.lib (Stored with Git LFS) vendored

Binary file not shown.

BIN
src/Vendor/libressl255/libcrypto-41.pdb (Stored with Git LFS) vendored

Binary file not shown.

BIN
src/Vendor/libressl255/libssl-43.dll (Stored with Git LFS) vendored

Binary file not shown.

BIN
src/Vendor/libressl255/libssl-43.exp (Stored with Git LFS) vendored

Binary file not shown.

BIN
src/Vendor/libressl255/libssl-43.lib (Stored with Git LFS) vendored

Binary file not shown.

BIN
src/Vendor/libressl255/libssl-43.pdb (Stored with Git LFS) vendored

Binary file not shown.

BIN
src/Vendor/libressl255/libtls-15.dll (Stored with Git LFS) vendored

Binary file not shown.

BIN
src/Vendor/libressl255/libtls-15.exp (Stored with Git LFS) vendored

Binary file not shown.

BIN
src/Vendor/libressl255/libtls-15.lib (Stored with Git LFS) vendored

Binary file not shown.

BIN
src/Vendor/libressl255/libtls-15.pdb (Stored with Git LFS) vendored

Binary file not shown.

BIN
src/Vendor/libressl255/ocspcheck.exe (Stored with Git LFS) vendored

Binary file not shown.

BIN
src/Vendor/libressl255/openssl.exe (Stored with Git LFS) vendored

Binary file not shown.