Fixed bundle identifier for privileges pkg (#33517)

**Related issue:** Resolves #32083

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files)
for more information.
- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)

## Testing

- [x] Added/updated automated tests
- [x] Where appropriate, [automated tests simulate multiple hosts and
test for host
isolation](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/reference/patterns-backend.md#unit-testing)
(updates to one hosts's records do not affect another)

- [x] QA'd all new/changed functionality manually

## Database migrations

- [x] Checked table schema to confirm autoupdate
- [x] Checked schema for all modified table for columns that will
auto-update timestamps during migration.
- [x] Confirmed that updating the timestamps is acceptable, and will not
cause unwanted side effects.
This commit is contained in:
Konstantin Sykulev
2025-09-26 14:31:31 -05:00
committed by GitHub
parent cfbc9d8829
commit c9f693a77c
7 changed files with 321 additions and 2 deletions
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<installer-gui-script authoringTool="Packages" authoringToolVersion="1.2.10" authoringToolBuild="732" minSpecVersion="1.0">
<options hostArchitectures="x86_64,arm64"/>
<!--+==========================+
| Presentation |
+==========================+-->
<title>DISTRIBUTION_TITLE</title>
<background file="background" uti="public.png" scaling="proportional" alignment="bottomleft"/>
<background-darkAqua file="background" uti="public.png" scaling="proportional" alignment="bottomleft"/>
<!--+==========================+
| Installer |
+==========================+-->
<choices-outline>
<line choice="installer_choice_1"/>
</choices-outline>
<choice id="installer_choice_1" title="Privileges" description="">
<pkg-ref id="corp.sap.privileges.pkg"/>
</choice>
<!--+==========================+
| Package References |
+==========================+-->
<pkg-ref id="corp.sap.privileges.pkg" version="2.4.0" auth="Root" installKBytes="3905">#Privileges.pkg</pkg-ref>
</installer-gui-script>
+2
View File
@@ -329,6 +329,8 @@ var knownBadNames = map[string]struct{}{
var idTranslations = map[string]string{
"com.sentinelone.sentinel-agent": "com.sentinelone.SentinelAgent",
// This is present in Privileges.pkg/PackageInfo, however, current logic doesn't parse PackageInfo files if Distribution file is present
"corp.sap.privileges.pkg": "corp.sap.privileges",
}
// getDistributionInfo gets the name, bundle identifier and version of a PKG distribution file
+7
View File
@@ -224,6 +224,13 @@ func TestParseRealDistributionFiles(t *testing.T) {
"com.getcoldturkey.blocker-firefox-ext", "com.getcoldturkey.coldturkeyblocker",
},
},
{
file: "distribution-privileges.xml",
expectedName: "Privileges",
expectedVersion: "2.4.0",
expectedBundleID: "corp.sap.privileges",
expectedPackageIDs: []string{"corp.sap.privileges.pkg"},
},
}
for _, tt := range tests {