Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Oct 24, 2025

The robustness integration test was timing out because the workflow didn't pre-pull the awf Docker images before running tests, causing 30s+ pull delays during test execution.

Changes

Workflow Fix

  • Add ghcr.io/githubnext/gh-aw-firewall/squid:latest and ghcr.io/githubnext/gh-aw-firewall/copilot:latest to image pre-pull step in .github/workflows/test-firewall-robustness.yml

DNS Configuration

  • Configure Squid container with explicit DNS servers (8.8.8.8, 8.8.4.4) and dns_search: [] to bypass Docker's embedded DNS
  • Update squid.conf to use external DNS servers directly
  • Add CAP_NET_RAW capability to Squid container

Known Issue

After fixing the timeout, Squid's internal DNS client fails with "Operation not permitted" when sending UDP queries. System tools (nslookup) work fine in the same container, suggesting this is specific to Squid's DNS resolver implementation interacting with Docker networking. Investigation ongoing.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Mossaka and others added 5 commits October 22, 2025 21:47
Signed-off-by: Jiaxiao (mossaka) Zhou <duibao55328@gmail.com>
Signed-off-by: Jiaxiao (mossaka) Zhou <duibao55328@gmail.com>
… CLI, Docker manager, and host iptables

Signed-off-by: Jiaxiao (mossaka) Zhou <duibao55328@gmail.com>
…ions workflow

Signed-off-by: Jiaxiao (mossaka) Zhou <duibao55328@gmail.com>
Copilot AI and others added 2 commits October 24, 2025 21:32
…kflow

- Add squid:latest and copilot:latest images to pre-pull step in test-firewall-robustness.yml
- Configure Squid container to use external DNS servers (8.8.8.8, 8.8.4.4) instead of Docker's embedded DNS
- Add DNS configuration to Squid service in docker-compose.yml
- Configure squid.conf to use external DNS servers directly
- Add security_opt to Squid container to allow UDP DNS queries

This addresses timeout issues in the robustness test where containers couldn't be pulled in time
and Squid DNS resolution failures.

Co-authored-by: Mossaka <5447827+Mossaka@users.noreply.github.com>
- Add CAP_NET_RAW capability to Squid container to potentially allow UDP DNS operations
- This is an experimental fix for "Operation not permitted" errors when Squid tries to send UDP DNS queries

Note: This issue appears to be specific to Squid's internal DNS client in Docker containers.
Standard tools like nslookup work fine in the same container, suggesting a Squid-specific limitation.

Co-authored-by: Mossaka <5447827+Mossaka@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Oct 24, 2025

Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • 127.0.0.11
  • 8.8.4.4
  • 8.8.8.8
  • httpbin.org
    • Triggering command: curl -v REDACTED (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI changed the title [WIP] Add integration test for firewall robustness fix: add missing Docker image pulls to robustness test workflow Oct 24, 2025
Copilot AI requested a review from Mossaka October 24, 2025 21:36
Base automatically changed from mossaka/test to main October 27, 2025 18:06
@Mossaka Mossaka closed this Oct 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants