Skip to content
Open
Show file tree
Hide file tree
Changes from 6 commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
2b0915e
Init URI validation
AmelBawa-msft Aug 2, 2024
e7ea781
Updated result
AmelBawa-msft Aug 2, 2024
80e3d07
empty space
AmelBawa-msft Aug 2, 2024
04be98c
Misc enhancements
AmelBawa-msft Aug 2, 2024
d108187
Updated admx/adml
AmelBawa-msft Aug 2, 2024
eb33c58
Validate untrusted zone
AmelBawa-msft Aug 5, 2024
e369739
Resolved conflicts
AmelBawa-msft Sep 30, 2024
7b48281
Move URI validation to a new file
AmelBawa-msft Oct 1, 2024
d393bf1
Addressing comments
AmelBawa-msft Oct 2, 2024
92b9076
remove pch
AmelBawa-msft Oct 4, 2024
d2c9af3
Add URI validation to download
AmelBawa-msft Oct 8, 2024
3aa8415
Resolved conflicts
AmelBawa-msft Oct 8, 2024
c07480e
Updated TPV
AmelBawa-msft Oct 9, 2024
1b90b32
Renaming
AmelBawa-msft Oct 10, 2024
7f25660
Include dir for diff plat
AmelBawa-msft Oct 11, 2024
29b0dc8
Update vcxproj
AmelBawa-msft Oct 11, 2024
b8e11fe
Resolved conflict
AmelBawa-msft Oct 11, 2024
8f04683
rm package reference
AmelBawa-msft Oct 11, 2024
caa13c2
Fix includes
AmelBawa-msft Oct 12, 2024
0ac0ab4
Create a task
AmelBawa-msft Oct 14, 2024
5ed92b6
String resource
AmelBawa-msft Oct 14, 2024
4b656d6
CE
AmelBawa-msft Oct 14, 2024
54b4e6b
Added GP
AmelBawa-msft Oct 16, 2024
1fb3c76
Added enum
AmelBawa-msft Oct 16, 2024
b5bdb1e
Added condition
AmelBawa-msft Oct 16, 2024
5f209d1
Added tests
AmelBawa-msft Oct 17, 2024
865cb0a
Resolved conflict
AmelBawa-msft Oct 17, 2024
3aa97f4
Fix UT
AmelBawa-msft Oct 17, 2024
227511a
Fix UT
AmelBawa-msft Oct 18, 2024
d84cf21
Terminate after validation
AmelBawa-msft Oct 21, 2024
ca649fe
Renaming
AmelBawa-msft Oct 31, 2024
1d6408c
Update comment
AmelBawa-msft Nov 1, 2024
70d600c
Resolve conflicts
AmelBawa-msft Nov 1, 2024
cad9fe3
Resolved conflicts
AmelBawa-msft Jan 30, 2025
b8614e1
Revert ARM in sln
AmelBawa-msft Jan 30, 2025
cd83bfe
Addressing comments
AmelBawa-msft Jan 30, 2025
c49b9d2
Update group policy behavior
AmelBawa-msft Feb 6, 2025
205c582
Added admin setting
AmelBawa-msft Feb 6, 2025
18a77f5
uri validation in source add flow
AmelBawa-msft Feb 27, 2025
e70a8d9
Updated group policy
AmelBawa-msft Mar 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 72 additions & 0 deletions doc/admx/DesktopAppInstaller.admx
Original file line number Diff line number Diff line change
Expand Up @@ -183,5 +183,77 @@
<text id="WindowsPackageManagerDefaultProxy" valueName="DefaultProxy" />
</elements>
</policy>
<policy name="EnableDSCAllowedZones" class="Machine" displayName="$(string.EnableDSCAllowedZones)" explainText="$(string.EnableDSCAllowedZonesExplanation)" presentation="$(presentation.DSCAllowedZones)" key="Software\Policies\Microsoft\Windows\AppInstaller" valueName="EnableDSCAllowedZones">
<parentCategory ref="AppInstaller" />
<supportedOn ref="windows:SUPPORTED_Windows_10_0_RS5" />
<enabledValue>
<decimal value="1" />
</enabledValue>
<disabledValue>
<decimal value="0" />
</disabledValue>
<elements>
<enum id="LocalMachine" key="Software\Policies\Microsoft\Windows\AppInstaller\DSCAllowedZones" valueName="LocalMachine" required="false">
<item displayName="$(string.ZoneBlocked)">
<value>
<decimal value="0" />
</value>
</item>
<item displayName="$(string.ZoneAllowed)">
<value>
<decimal value="1" />
</value>
</item>
</enum>
<enum id="Intranet" key="Software\Policies\Microsoft\Windows\AppInstaller\DSCAllowedZones" valueName="Intranet">
<item displayName="$(string.ZoneBlocked)">
<value>
<decimal value="0" />
</value>
</item>
<item displayName="$(string.ZoneAllowed)">
<value>
<decimal value="1" />
</value>
</item>
</enum>
<enum id="TrustedSites" key="Software\Policies\Microsoft\Windows\AppInstaller\DSCAllowedZones" valueName="TrustedSites">
<item displayName="$(string.ZoneBlocked)">
<value>
<decimal value="0" />
</value>
</item>
<item displayName="$(string.ZoneAllowed)">
<value>
<decimal value="1" />
</value>
</item>
</enum>
<enum id="Internet" key="Software\Policies\Microsoft\Windows\AppInstaller\DSCAllowedZones" valueName="Internet">
<item displayName="$(string.ZoneBlocked)">
<value>
<decimal value="0" />
</value>
</item>
<item displayName="$(string.ZoneAllowed)">
<value>
<decimal value="1" />
</value>
</item>
</enum>
<enum id="UntrustedSites" key="Software\Policies\Microsoft\Windows\AppInstaller\DSCAllowedZones" valueName="UntrustedSites">
<item displayName="$(string.ZoneBlocked)">
<value>
<decimal value="0" />
</value>
</item>
<item displayName="$(string.ZoneAllowed)">
<value>
<decimal value="1" />
</value>
</item>
</enum>
</elements>
</policy>
</policies>
</policyDefinitions>
11 changes: 11 additions & 0 deletions doc/admx/en-US/DesktopAppInstaller.adml
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,10 @@ If you disable this setting, users will not be able to use the Windows Package M
If you disable or do not configure this setting, no proxy will be used by default.

If you enable this setting, the specified proxy will be used by default.</string>
<string id="EnableDSCAllowedZones">Enable App Installer Allowed Zones for DSC</string>
<string id="EnableDSCAllowedZonesExplanation"></string>
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Waiting for PM input?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, but also, we're still thinking about the scope that this policy should cover (DSC only, or more ... )

<string id="ZoneAllowed">Allow</string>
<string id="ZoneBlocked">Block</string>
</stringTable>
<presentationTable>
<presentation id="SourceAutoUpdateInterval">
Expand All @@ -138,6 +142,13 @@ If you enable this setting, the specified proxy will be used by default.</string
<label>Default Proxy</label>
</textBox>
</presentation>
<presentation id="DSCAllowedZones">
<dropdownList refId="LocalMachine" noSort="true" defaultItem="1">Local Machine</dropdownList>
<dropdownList refId="Intranet" noSort="true" defaultItem="1">Intranet</dropdownList>
<dropdownList refId="TrustedSites" noSort="true" defaultItem="1">Trusted Sites</dropdownList>
<dropdownList refId="Internet" noSort="true" defaultItem="1">Internet</dropdownList>
<dropdownList refId="UntrustedSites" noSort="true" defaultItem="0">Untrusted Sites</dropdownList>
</presentation>
</presentationTable>
</resources>
</policyDefinitionResources>
45 changes: 45 additions & 0 deletions src/AppInstallerCLI.sln
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "VcpkgCustomTriplets", "Vcpk
VcpkgCustomTriplets\x86.cmake = VcpkgCustomTriplets\x86.cmake
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Internal", "Internal", "{A66FF147-BBB4-4A84-95A0-18413D973941}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UriValidation", "Internal\UriValidation\UriValidation.vcxproj", "{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -1421,6 +1425,46 @@ Global
{1B9077B3-8923-4ECD-8FC9-B3190FCBE4D4}.TestRelease|x64.Build.0 = Release|x64
{1B9077B3-8923-4ECD-8FC9-B3190FCBE4D4}.TestRelease|x86.ActiveCfg = Release|Win32
{1B9077B3-8923-4ECD-8FC9-B3190FCBE4D4}.TestRelease|x86.Build.0 = Release|Win32
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.Debug|Any CPU.ActiveCfg = Debug|x64
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.Debug|Any CPU.Build.0 = Debug|x64
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.Debug|ARM64.ActiveCfg = Debug|x64
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.Debug|ARM64.Build.0 = Debug|x64
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.Debug|x64.ActiveCfg = Debug|x64
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.Debug|x64.Build.0 = Debug|x64
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.Debug|x86.ActiveCfg = Debug|Win32
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.Debug|x86.Build.0 = Debug|Win32
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.Fuzzing|Any CPU.ActiveCfg = Debug|x64
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.Fuzzing|Any CPU.Build.0 = Debug|x64
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.Fuzzing|ARM64.ActiveCfg = Debug|x64
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.Fuzzing|ARM64.Build.0 = Debug|x64
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.Fuzzing|x64.ActiveCfg = Debug|x64
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.Fuzzing|x64.Build.0 = Debug|x64
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.Fuzzing|x86.ActiveCfg = Debug|Win32
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.Fuzzing|x86.Build.0 = Debug|Win32
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.PowerShell|Any CPU.ActiveCfg = Debug|x64
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.PowerShell|Any CPU.Build.0 = Debug|x64
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.PowerShell|ARM64.ActiveCfg = Debug|x64
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.PowerShell|ARM64.Build.0 = Debug|x64
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.PowerShell|x64.ActiveCfg = Debug|x64
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.PowerShell|x64.Build.0 = Debug|x64
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.PowerShell|x86.ActiveCfg = Debug|Win32
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.PowerShell|x86.Build.0 = Debug|Win32
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.Release|Any CPU.ActiveCfg = Release|x64
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.Release|Any CPU.Build.0 = Release|x64
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.Release|ARM64.ActiveCfg = Release|x64
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.Release|ARM64.Build.0 = Release|x64
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.Release|x64.ActiveCfg = Release|x64
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.Release|x64.Build.0 = Release|x64
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.Release|x86.ActiveCfg = Release|Win32
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.Release|x86.Build.0 = Release|Win32
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.TestRelease|Any CPU.ActiveCfg = Release|x64
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.TestRelease|Any CPU.Build.0 = Release|x64
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.TestRelease|ARM64.ActiveCfg = Release|x64
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.TestRelease|ARM64.Build.0 = Release|x64
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.TestRelease|x64.ActiveCfg = Release|x64
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.TestRelease|x64.Build.0 = Release|x64
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.TestRelease|x86.ActiveCfg = Release|Win32
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA}.TestRelease|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down Expand Up @@ -1453,6 +1497,7 @@ Global
{5A52D9FC-0059-4A4A-8196-427A7AA0D1C5} = {7C218A3E-9BC8-48FF-B91B-BCACD828C0C9}
{1B9077B3-8923-4ECD-8FC9-B3190FCBE4D4} = {60618CAC-2995-4DF9-9914-45C6FC02C995}
{76B26B2C-602A-4AD0-9736-4162D3FCA92A} = {1A5D7A7D-5CB2-47D5-B40D-4E61CAEDC798}
{98920AB6-27B0-4C0F-B336-FA49DE57A1BA} = {A66FF147-BBB4-4A84-95A0-18413D973941}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {B6FDB70C-A751-422C-ACD1-E35419495857}
Expand Down
6 changes: 3 additions & 3 deletions src/AppInstallerCLICore/AppInstallerCLICore.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,7 @@
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions);CLICOREDLLBUILD</PreprocessorDefinitions>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">$(ProjectDir);$(ProjectDir)..\AppInstallerRepositoryCore\Public;$(ProjectDir)..\AppInstallerCommonCore\Public;$(ProjectDir)..\AppInstallerSharedLib\Public;$(ProjectDir)..\JsonCppLib\json;$(ProjectDir)..\JsonCppLib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">$(ProjectDir);$(ProjectDir)..\AppInstallerRepositoryCore\Public;$(ProjectDir)..\AppInstallerCommonCore\Public;$(ProjectDir)..\AppInstallerSharedLib\Public;$(ProjectDir)..\JsonCppLib\json;$(ProjectDir)..\JsonCppLib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir);$(ProjectDir)..\AppInstallerRepositoryCore\Public;$(ProjectDir)..\AppInstallerCommonCore\Public;$(ProjectDir)..\AppInstallerSharedLib\Public;$(ProjectDir)..\JsonCppLib\json;$(ProjectDir)..\JsonCppLib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir);$(ProjectDir)..\AppInstallerRepositoryCore\Public;$(ProjectDir)..\AppInstallerCommonCore\Public;$(ProjectDir)..\AppInstallerSharedLib\Public;$(ProjectDir)..\JsonCppLib\json;$(ProjectDir)..\JsonCppLib;$(ProjectDir)..\Internal;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<TreatWarningAsError Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</TreatWarningAsError>
<TreatWarningAsError Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">true</TreatWarningAsError>
<TreatWarningAsError Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</TreatWarningAsError>
Expand Down Expand Up @@ -268,7 +268,7 @@
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">$(ProjectDir);$(ProjectDir)..\AppInstallerRepositoryCore\Public;$(ProjectDir)..\AppInstallerCommonCore\Public;$(ProjectDir)..\AppInstallerSharedLib\Public;$(ProjectDir)..\JsonCppLib\json;$(ProjectDir)..\JsonCppLib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">$(ProjectDir);$(ProjectDir)..\AppInstallerRepositoryCore\Public;$(ProjectDir)..\AppInstallerCommonCore\Public;$(ProjectDir)..\AppInstallerSharedLib\Public;$(ProjectDir)..\JsonCppLib\json;$(ProjectDir)..\JsonCppLib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir);$(ProjectDir)..\AppInstallerRepositoryCore\Public;$(ProjectDir)..\AppInstallerCommonCore\Public;$(ProjectDir)..\AppInstallerSharedLib\Public;$(ProjectDir)..\JsonCppLib\json;$(ProjectDir)..\JsonCppLib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir);$(ProjectDir)..\AppInstallerRepositoryCore\Public;$(ProjectDir)..\AppInstallerCommonCore\Public;$(ProjectDir)..\AppInstallerSharedLib\Public;$(ProjectDir)..\JsonCppLib\json;$(ProjectDir)..\JsonCppLib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir);$(ProjectDir)..\AppInstallerRepositoryCore\Public;$(ProjectDir)..\AppInstallerCommonCore\Public;$(ProjectDir)..\AppInstallerSharedLib\Public;$(ProjectDir)..\JsonCppLib\json;$(ProjectDir)..\JsonCppLib;$(ProjectDir)..\Internal;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<TreatWarningAsError Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</TreatWarningAsError>
<TreatWarningAsError Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">true</TreatWarningAsError>
<TreatWarningAsError Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</TreatWarningAsError>
Expand Down Expand Up @@ -305,7 +305,7 @@
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='ReleaseStatic|ARM'">$(ProjectDir);$(ProjectDir)..\AppInstallerRepositoryCore\Public;$(ProjectDir)..\AppInstallerCommonCore\Public;$(ProjectDir)..\AppInstallerSharedLib\Public;$(ProjectDir)..\JsonCppLib\json;$(ProjectDir)..\JsonCppLib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='ReleaseStatic|ARM64'">$(ProjectDir);$(ProjectDir)..\AppInstallerRepositoryCore\Public;$(ProjectDir)..\AppInstallerCommonCore\Public;$(ProjectDir)..\AppInstallerSharedLib\Public;$(ProjectDir)..\JsonCppLib\json;$(ProjectDir)..\JsonCppLib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='ReleaseStatic|Win32'">$(ProjectDir);$(ProjectDir)..\AppInstallerRepositoryCore\Public;$(ProjectDir)..\AppInstallerCommonCore\Public;$(ProjectDir)..\AppInstallerSharedLib\Public;$(ProjectDir)..\JsonCppLib\json;$(ProjectDir)..\JsonCppLib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='ReleaseStatic|x64'">$(ProjectDir);$(ProjectDir)..\AppInstallerRepositoryCore\Public;$(ProjectDir)..\AppInstallerCommonCore\Public;$(ProjectDir)..\AppInstallerSharedLib\Public;$(ProjectDir)..\JsonCppLib\json;$(ProjectDir)..\JsonCppLib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='ReleaseStatic|x64'">$(ProjectDir);$(ProjectDir)..\AppInstallerRepositoryCore\Public;$(ProjectDir)..\AppInstallerCommonCore\Public;$(ProjectDir)..\AppInstallerSharedLib\Public;$(ProjectDir)..\JsonCppLib\json;$(ProjectDir)..\JsonCppLib;$(ProjectDir)..\Internal;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<TreatWarningAsError Condition="'$(Configuration)|$(Platform)'=='ReleaseStatic|ARM'">true</TreatWarningAsError>
<TreatWarningAsError Condition="'$(Configuration)|$(Platform)'=='ReleaseStatic|ARM64'">true</TreatWarningAsError>
<TreatWarningAsError Condition="'$(Configuration)|$(Platform)'=='ReleaseStatic|Win32'">true</TreatWarningAsError>
Expand Down
Loading