Bug 1814968 Comment 0 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

It appears that Windows browsers typically write data regarding where files were downloaded from in an [alternate data stream](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-fscc/b134f29a-6278-4f3f-904f-5e58a713d2c5) associated with the downloaded file. Even Firefox writes this data, [here](https://searchfox.org/mozilla-central/rev/81fbf5597044b6811e6aa4a10f3d78e8c3080f8c/toolkit/components/downloads/DownloadIntegration.sys.mjs#522-557). We can use this feature to allow the installer to read where it was downloaded from and make that information available to the installation that it installs. This would be similar to how [existing Windows attribution](https://searchfox.org/mozilla-central/rev/81fbf5597044b6811e6aa4a10f3d78e8c3080f8c/toolkit/components/downloads/DownloadIntegration.sys.mjs#522-557) works.

Initially, we just want to see what kind of data is available, probably collecting this information:
 - Whether the file system supports Alternate Data Streams at all, and potentially the file system (e.g. NTFS, FAT, remote SMB/CIFS, other)
 - Whether :Zone.Identifier exists, and if so, what ZoneId is
 - Whether ReferrerURL exists
 - Whether HostURL exists
 - Whether “mozilla.org” and other known fragments/prefixes are in ReferrerURL and/or HostURL

If it looks like there is good data available, we will want to explore how we can safely retrieve data that could shed light on the unattributed funnel.
It appears that Windows browsers typically write data regarding where files were downloaded from in an [alternate data stream](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-fscc/b134f29a-6278-4f3f-904f-5e58a713d2c5) associated with the downloaded file. Even Firefox writes this data, [here](https://searchfox.org/mozilla-central/rev/81fbf5597044b6811e6aa4a10f3d78e8c3080f8c/toolkit/components/downloads/DownloadIntegration.sys.mjs#522-557). We can use this feature to allow the installer to read where it was downloaded from and make that information available to the installation that it installs. This would be similar to how [existing Windows attribution](https://searchfox.org/mozilla-central/rev/a7156afbfa575f12f60b1c8bf099d547c29bcadf/other-licenses/7zstub/src/CPP/7zip/Bundles/SFXSetup/SfxSetup.cpp#467-477) works.

Initially, we just want to see what kind of data is available, probably collecting this information:
 - Whether the file system supports Alternate Data Streams at all, and potentially the file system (e.g. NTFS, FAT, remote SMB/CIFS, other)
 - Whether :Zone.Identifier exists, and if so, what ZoneId is
 - Whether ReferrerURL exists
 - Whether HostURL exists
 - Whether “mozilla.org” and other known fragments/prefixes are in ReferrerURL and/or HostURL

If it looks like there is good data available, we will want to explore how we can safely retrieve data that could shed light on the unattributed funnel.

Back to Bug 1814968 Comment 0