Skip to content

policy: normalize input.git.host - #4171

Open
Eshan05 wants to merge 1 commit into
docker:masterfrom
Eshan05:fix/policy-normalize-git-host
Open

Eshan05 wants to merge 1 commit into
docker:masterfrom
Eshan05:fix/policy-normalize-git-host

Conversation

@Eshan05

@Eshan05 Eshan05 commented Oct 25, 2026

Copy link
Copy Markdown

fixes #4165

Buildx set input.git.host from the git URL exactly as written, so a policy that denies input.git.host == "github.com" didn't match GitHub.com, github.com. or github.com:443 and let the source through.

The git host now goes through the same normalization as input.http.host. Buildx lowercases it, IDNA-encodes non-ASCII names, strips a trailing dot, and drops the default port for the remote's scheme: 443 for https, 80 for http, 22 for ssh and 9418 for git. This applies to the host from the source identifier and to the one from the full remote URL attribute. input.git.remote and input.git.fullURL keep the original URL.

Policies that matched a mixed-case host or an explicit default port need to use the normalized host. An invalid git host or port is now an error, same as for HTTP sources.

Buildx set input.git.host from the git URL exactly as written, so a
policy that denies input.git.host == "github.com" didn't match
GitHub.com, github.com. or github.com:443 and let the source through.

Normalize the git host the same way as input.http.host. Lowercase it,
IDNA-encode non-ASCII names, strip a trailing dot, and drop the default
port for the remote's scheme: http, https, ssh or git. Do this for the
host from the source identifier and for the one from the full remote
URL attribute. input.git.remote and input.git.fullURL keep the
original URL.

Fixes docker#4165

Signed-off-by: Eshan05 <nahareshan05@gmail.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

policy: normalize input.git.host

1 participant