Skip to content

Allowlist maven-pub.edna.ru for Swift binaryTargets - #355

Open
denis-egaluev wants to merge 1 commit into
dependabot:mainfrom
denis-egaluev:allowlist-maven-pub-edna-ru
Open

denis-egaluev wants to merge 1 commit into
dependabot:mainfrom
denis-egaluev:allowlist-maven-pub-edna-ru

Conversation

@denis-egaluev

Copy link
Copy Markdown

What are you trying to accomplish?

Hosted Dependabot swift version updates fail for any repository depending on the edna ChatCenterUI SDK (edna-ru/chatcenterui-ios) since proxy-egress-enforce was enabled. The SDK declares its ChatCenterUI binaryTarget on https://maven-pub.edna.ru/... (Package.swift @ 5.13.0), and the allowlist 403s that host:

GET https://maven-pub.edna.ru:443/repository/maven-releases/edna/chatcenter/ui/ios/5.12.0.zip
* egress not allowlisted maven-pub.edna.ru
403 https://maven-pub.edna.ru:443/repository/maven-releases/edna/chatcenter/ui/ios/5.12.0.zip
error: failed downloading 'https://maven-pub.edna.ru/repository/maven-releases/edna/chatcenter/ui/ios/5.12.0.zip' which is required by binary target 'ChatCenterUI': badResponseStatusCode(403)

SwiftPM resolves the whole package graph during manifest parsing, so the job dies in Dependabot::Swift::FileParser and no Swift PRs are opened at all; ignoring the dependency in dependabot.yml doesn't help.

maven-pub.edna.ru is the vendor's public Sonatype Nexus (edna, edna.ru), referenced from the vendor's own public Package.swift, and serves the artifact anonymously, so there is no credential to declare under registries:. The host is needed by every repository that consumes the SDK, which is the case Resolve a blocked host describes for the defaults.

This adds maven-pub.edna.ru as an exact host to ecosystem_default_domains.swift.

Anything you want to highlight for special attention from reviewers?

How will you know you've accomplished your goal?

  • TestEgressAllowlist_PublicVendorRegistriesAllowed now allows the 5.13.0.zip artifact URL and keeps evil.maven-pub.edna.ru, attacker.edna.ru and edna.ru blocked.
  • After release, the proxy log of a swift job that depends on the SDK shows 200 for maven-pub.edna.ru instead of egress not allowlisted.

Checklist

  • I have run the complete test suite to ensure all tests and linters pass.
  • I have thoroughly tested my code changes to ensure they work as expected, including adding additional tests for new functionality.
  • I have written clear and descriptive commit messages.
  • I have provided a detailed description of the changes in the pull request, including the problem it addresses, how it fixes the problem, and any relevant details about the implementation.
  • I have ensured that the code is well-documented and easy to understand.

@denis-egaluev
denis-egaluev requested a review from a team as a code owner November 4, 2026 21:13
@github-actions github-actions Bot added the allowlist Changes the default egress allowlist label Nov 4, 2026
The edna ChatCenterUI SDK (edna-ru/chatcenterui-ios) declares its
ChatCenterUI binaryTarget on maven-pub.edna.ru, the vendor's public
Sonatype Nexus. SwiftPM fails with a 403 from the egress proxy, so the
whole Swift update job errors out.

Exact host only; *.edna.ru is a wildcard cert that also fronts the
vendor's product, docs and API hosts.
@denis-egaluev
denis-egaluev force-pushed the allowlist-maven-pub-edna-ru branch from d9d3e8e to b3f5886 Compare November 4, 2026 21:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

allowlist Changes the default egress allowlist

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant