diff --git a/Parser/OperatingSystem.php b/Parser/OperatingSystem.php index 29579231a7..70c78f3265 100644 --- a/Parser/OperatingSystem.php +++ b/Parser/OperatingSystem.php @@ -732,7 +732,7 @@ protected function parsePlatform(): string return 'SPARC64'; } - if ($this->matchUserAgent('64-?bit|WOW64|(?:Intel)?x64|WINDOWS_64|win64|.*amd64|x86_?64')) { + if ($this->matchUserAgent('64-?bit|WOW64|(?:Intel)?x64|WINDOWS_64|win64|.*amd64|.*x86_?64')) { return 'x64'; } diff --git a/Tests/Parser/Client/fixtures/library.yml b/Tests/Parser/Client/fixtures/library.yml index 6bd7012f91..87ae3a0edb 100644 --- a/Tests/Parser/Client/fixtures/library.yml +++ b/Tests/Parser/Client/fixtures/library.yml @@ -719,3 +719,15 @@ type: library name: PhantomJS version: 2.1.1 +- + user_agent: Cygwin-Setup/2.932 (Windows NT 10.0.20348;x86_64;0409;SymLinkPriv) + client: + type: library + name: Cygwin + version: "2.932" +- + user_agent: azsdk-python-storage-blob/12.23.0 Python/3.12.5 (Windows-2022Server-10.0.20348-SP0) + client: + type: library + name: Azure Blob Storage + version: 12.23.0 diff --git a/Tests/Parser/fixtures/oss.yml b/Tests/Parser/fixtures/oss.yml index 9f6d3e46bc..7e74c6023f 100644 --- a/Tests/Parser/fixtures/oss.yml +++ b/Tests/Parser/fixtures/oss.yml @@ -5733,3 +5733,75 @@ version: "24" platform: "" family: Other Mobile +- + user_agent: azsdk-python-storage-blob/12.23.1 Python/3.12.6 (Windows-11-10.0.22631-SP0) + os: + name: Windows + short_name: WIN + version: "11" + platform: "" + family: Windows +- + user_agent: AZURECLI/2.65.0 (MSI) azsdk-python-storage-blob/12.16.0 Python/3.11.8 (Windows-10-10.0.20348-SP0) VSTS_bbc9b9e6-59b6-4cd2-a1a6-91f2e5eb8d58_build_58_0 + os: + name: Windows + short_name: WIN + version: "10" + platform: "" + family: Windows +- + user_agent: azsdk-python-storage-blob/12.23.1 Python/3.13.0 (Windows-2025Server-10.0.26100-SP0) + os: + name: Windows + short_name: WIN + version: Server 2025 + platform: "" + family: Windows +- + user_agent: azsdk-python-storage-blob/12.23.0 Python/3.12.5 (Windows-2022Server-10.0.20348-SP0) + os: + name: Windows + short_name: WIN + version: Server 2022 + platform: "" + family: Windows +- + user_agent: azsdk-python-storage-blob/12.23.1 Python/3.13.0 (Windows-2019Server-10.0.17763-SP0) + os: + name: Windows + short_name: WIN + version: Server 2019 + platform: "" + family: Windows +- + user_agent: azsdk-python-storage-blob/12.23.0 Python/3.12.5 (Windows-2016Server-10.0.14393-SP0) + os: + name: Windows + short_name: WIN + version: Server 2016 + platform: "" + family: Windows +- + user_agent: azsdk-python-storage-blob/12.17.0 Python/3.12.4 (macOS-14.7-arm64-arm-64bit) + os: + name: Mac + short_name: MAC + version: "14.7" + platform: ARM + family: Mac +- + user_agent: azsdk-python-storage-blob/12.23.1 Python/3.9.20 (Linux-6.5.0-1025-azure-x86_64-with-glibc2.31) + os: + name: Azure Linux + short_name: AZU + version: "" + platform: x64 + family: GNU/Linux +- + user_agent: azsdk-python-storage-blob/12.17.0 Python/3.11.10 (Linux-5.15.164.1-1.cm2-x86_64-with-glibc2.31) + os: + name: Azure Linux + short_name: AZU + version: "2" + platform: x64 + family: GNU/Linux diff --git a/regexes/client/libraries.yml b/regexes/client/libraries.yml index 292f264fa8..150bf4260c 100644 --- a/regexes/client/libraries.yml +++ b/regexes/client/libraries.yml @@ -643,3 +643,13 @@ name: 'ICAP Client' version: '$1' url: 'https://github.com/Peoplecantfly/icapserver' + +- regex: 'Cygwin-Setup(?:/(\d+[.\d]+))?' + name: 'Cygwin' + version: '$1' + url: 'https://www.cygwin.com/' + +- regex: 'azsdk-python-storage-blob(?:/(\d+[.\d]+))?' + name: 'Azure Blob Storage' + version: '$1' + url: 'https://learn.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-python' diff --git a/regexes/oss.yml b/regexes/oss.yml index cf93ed43f6..89ecf76453 100644 --- a/regexes/oss.yml +++ b/regexes/oss.yml @@ -29,7 +29,11 @@ ########## # Azure Linux (https://github.com/microsoft/azurelinux) ########## -- regex: 'Linux/.+-Microsoft' +- regex: '.+.cm(\d).x86_64' + name: 'Azure Linux' + version: '$1' + +- regex: 'Linux[/-].+-(azure|Microsoft)' name: 'Azure Linux' version: '' @@ -1149,6 +1153,10 @@ name: 'Windows' version: '$1' +- regex: 'Windows-(1[01])-' + name: 'Windows' + version: '$1' + - regex: 'CYGWIN_NT-10\.0|Win(?:dows )?NT 10\.0|Windows[ /]10' name: 'Windows' version: '10' @@ -1157,6 +1165,10 @@ name: 'Windows' version: '10' +- regex: 'Windows[/-](2016|2019|2022|2025)Server' + name: 'Windows' + version: 'Server $1' + - regex: 'Windows/2012ServerR2' name: 'Windows' version: 'Server 2012 R2' @@ -1764,7 +1776,7 @@ name: 'Mac' version: '$1' -- regex: '(?:macOS(?:\(Catalyst\))?[ /,]|Mac-)(\d+[.\d]+)' +- regex: '(?:macOS(?:\(Catalyst\))?[ /,]|Mac(?:os)?-)(\d+[.\d]+)' name: 'Mac' version: '$1'