From 8405ffd089999b8c5289a80c09419327100dcf5d Mon Sep 17 00:00:00 2001 From: Carlos Matos Date: Wed, 4 Feb 2026 11:00:53 -0500 Subject: [PATCH] fix(sensors): upgrade sensor download APIs to v3 for LTS support Update all sensor download API endpoints from v1/v2 to v3 to enable access to Long-Term Support (LTS) sensor installers. The v1/v2 endpoints cannot retrieve LTS installers, which is required for enterprise deployments using LTS versions. Closes #479 --- bash/install/falcon-linux-install.sh | 4 ++-- bash/migrate/falcon-linux-migrate.sh | 4 ++-- powershell/install/falcon_windows_install.ps1 | 4 ++-- powershell/migrate/falcon_windows_migrate.ps1 | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/bash/install/falcon-linux-install.sh b/bash/install/falcon-linux-install.sh index 58eda9a..83dd127 100755 --- a/bash/install/falcon-linux-install.sh +++ b/bash/install/falcon-linux-install.sh @@ -343,7 +343,7 @@ cs_sensor_download() { fi existing_installers=$( - curl_command -G "https://$(cs_cloud)/sensors/combined/installers/v2?sort=version|desc" \ + curl_command -G "https://$(cs_cloud)/sensors/combined/installers/v3?sort=version|desc" \ --data-urlencode "filter=os:\"$cs_os_name\"+os_version:\"*$cs_os_version*\"$cs_api_version_filter$cs_os_arch_filter" ) @@ -372,7 +372,7 @@ cs_sensor_download() { installer="${destination_dir}/falcon-sensor.${file_type}" - curl_command "https://$(cs_cloud)/sensors/entities/download-installer/v1?id=$sha" -o "${installer}" + curl_command "https://$(cs_cloud)/sensors/entities/download-installer/v3?id=$sha" -o "${installer}" handle_curl_error $? diff --git a/bash/migrate/falcon-linux-migrate.sh b/bash/migrate/falcon-linux-migrate.sh index 79fb869..ad9aae0 100755 --- a/bash/migrate/falcon-linux-migrate.sh +++ b/bash/migrate/falcon-linux-migrate.sh @@ -603,7 +603,7 @@ cs_sensor_download() { fi existing_installers=$( - curl_command -G "https://$(cs_cloud)/sensors/combined/installers/v2?sort=version|desc" \ + curl_command -G "https://$(cs_cloud)/sensors/combined/installers/v3?sort=version|desc" \ --data-urlencode "filter=os:\"$cs_os_name\"+os_version:\"*$cs_os_version*\"$cs_api_version_filter$cs_os_arch_filter" ) @@ -632,7 +632,7 @@ cs_sensor_download() { installer="${destination_dir}/falcon-sensor.${file_type}" - curl_command "https://$(cs_cloud)/sensors/entities/download-installer/v1?id=$sha" -o "${installer}" + curl_command "https://$(cs_cloud)/sensors/entities/download-installer/v3?id=$sha" -o "${installer}" handle_curl_error $? diff --git a/powershell/install/falcon_windows_install.ps1 b/powershell/install/falcon_windows_install.ps1 index 2d5b89a..8a78e4d 100755 --- a/powershell/install/falcon_windows_install.ps1 +++ b/powershell/install/falcon_windows_install.ps1 @@ -528,7 +528,7 @@ process { $message = "Retrieving installer details for sensor version: '$($version)'" Write-FalconLog 'GetInstaller' $message $encodedFilter = [System.Web.HttpUtility]::UrlEncode("platform:'windows'+version:'$($version)'") - $url = "${BaseUrl}/sensors/combined/installers/v1?filter=${encodedFilter}" + $url = "${BaseUrl}/sensors/combined/installers/v3?filter=${encodedFilter}" $installer_scope = @{ 'Sensor Download' = @('Read') } @@ -549,7 +549,7 @@ process { # Download the installer $localFile = Join-Path -Path $WinTemp -ChildPath $cloudFile Write-FalconLog 'DownloadFile' "Downloading installer to: '$localFile'" - $url = "${BaseUrl}/sensors/entities/download-installer/v1?id=$cloudHash" + $url = "${BaseUrl}/sensors/entities/download-installer/v3?id=$cloudHash" Invoke-FalconDownload -WebRequestParams $WebRequestParams -url $url -Outfile $localFile if (Test-Path $localFile) { diff --git a/powershell/migrate/falcon_windows_migrate.ps1 b/powershell/migrate/falcon_windows_migrate.ps1 index 7c330e1..15c0b1a 100644 --- a/powershell/migrate/falcon_windows_migrate.ps1 +++ b/powershell/migrate/falcon_windows_migrate.ps1 @@ -511,7 +511,7 @@ function Invoke-FalconInstall ([hashtable] $WebRequestParams, [string] $InstallP $message = "Retrieving installer details for sensor version: '$($version)'" Write-FalconLog -Source 'Invoke-FalconInstall' -Message $message $encodedFilter = [System.Web.HttpUtility]::UrlEncode("platform:'windows'+version:'$($version)'") - $url = "${newBaseUrl}/sensors/combined/installers/v1?filter=${encodedFilter}" + $url = "${newBaseUrl}/sensors/combined/installers/v3?filter=${encodedFilter}" $installer_scope = @{ 'Sensor Download' = @('Read') } @@ -532,7 +532,7 @@ function Invoke-FalconInstall ([hashtable] $WebRequestParams, [string] $InstallP # Download the installer $localFile = Join-Path -Path $WinTemp -ChildPath $cloudFile Write-FalconLog -Source 'Invoke-FalconInstall' -Message "Downloading installer to: '$localFile'" - $url = "${newBaseUrl}/sensors/entities/download-installer/v1?id=$cloudHash" + $url = "${newBaseUrl}/sensors/entities/download-installer/v3?id=$cloudHash" Invoke-FalconDownload -WebRequestParams $WebRequestParams -url $url -Outfile $localFile -Headers $newCloudHeaders if (Test-Path $localFile) {