mirror of
https://github.com/Yamato-Security/WELA.git
synced 2026-10-24 23:18:11 +02:00
Add typed native WEC runtime observations (#424)
* Observe typed native WEC subscription runtime status * Link typed WEC runtime changelog to PR 424 * Pass a native null source for subscription runtime queries * Ignore unused count storage for native null WEC variants * Keep unavailable WEC source inventories unknown and diagnose native XML reads * Read native WEC subscription XML with bounded explicit Unicode pipes * Use bounded Unicode subscription reads in runtime observations and cleanup * Decode native WEC XML BOMs without unsupported Unicode switch * Describe strict native WEC XML byte decoding * Reference System.Xml explicitly when compiling under Windows PowerShell * Regenerate website changelog snapshots with their proper headers
This commit is contained in:
1 parent
5ba53fbcfb
commit
913b1dfaee
19 files changed
+650
-5
No files matched your search
@@ -159,4 +159,17 @@ function Import-WelaWefConfig {
|
||||
[pscustomobject]@{ Config=$config; Path=$full; Subscriptions=$subscriptions }
|
||||
}
|
||||
|
||||
Export-ModuleMember -Function Read-WelaWefXml, Get-WelaWefXmlKey, ConvertFrom-WelaWefQuery, Get-WelaWefAuthorization, ConvertFrom-WelaWefSubscription, Import-WelaWefConfig
|
||||
function Read-WelaWecSubscriptionXml {
|
||||
param([Parameter(Mandatory)][string]$Id)
|
||||
if([Environment]::OSVersion.Platform -ne [PlatformID]::Win32NT -or -not [Environment]::Is64BitProcess){throw 'Native WEC XML reads require 64-bit Windows.'}
|
||||
$path=Join-Path $PSScriptRoot 'WecSubscriptionXml.cs';$hash=(Get-FileHash -LiteralPath $path -Algorithm SHA256 -ErrorAction Stop).Hash
|
||||
if(-not ('Wela.WecXml.Reader' -as [type])){
|
||||
$compile=@{Path=$path;ErrorAction='Stop'}
|
||||
if($PSVersionTable.PSEdition -eq 'Desktop'){$compile.ReferencedAssemblies=@('System.dll','System.Core.dll','System.Xml.dll')}
|
||||
Add-Type @compile;$script:WelaWecXmlSourceHash=$hash
|
||||
}
|
||||
if($script:WelaWecXmlSourceHash -cne $hash){throw 'Loaded native WEC XML reader differs from its source; start a fresh session.'}
|
||||
[Wela.WecXml.Reader]::ReadXml($Id)
|
||||
}
|
||||
|
||||
Export-ModuleMember -Function Read-WelaWecSubscriptionXml, Read-WelaWefXml, Get-WelaWefXmlKey, ConvertFrom-WelaWefQuery, Get-WelaWefAuthorization, ConvertFrom-WelaWefSubscription, Import-WelaWefConfig
|
||||
Reference in new issue
Block a user