Skip to content

[codex] Normalize IDN proxy hosts#340

Draft
ifer47 wants to merge 1 commit into
zero-peak:masterfrom
ifer47:codex/normalize-idn-proxy-hosts
Draft

[codex] Normalize IDN proxy hosts#340
ifer47 wants to merge 1 commit into
zero-peak:masterfrom
ifer47:codex/normalize-idn-proxy-hosts

Conversation

@ifer47

@ifer47 ifer47 commented Jun 30, 2026

Copy link
Copy Markdown

What changed

Fixes #316.

This normalizes internationalized proxy hostnames to ASCII/Punycode at the browser/proxy output boundary while keeping the user's saved profile values unchanged.

Covered paths:

  • PAC result generation in omega-pac
  • Chrome fixed_servers proxy rules
  • Firefox/listener ProxyInfo objects
  • WebExtension proxy script object returns
  • proxy authentication lookup keys

Why

Chrome and Firefox proxy APIs expect proxy server hostnames in an ASCII-compatible form. When a user configures an IDN proxy hostname such as \u30b7.\u30b7, passing the Unicode form through can cause Chrome to fail the mandatory proxy configuration and Firefox to delay/fail proxy resolution. Converting only at the output boundary preserves the UI/configuration while making the emitted proxy configuration compatible with browser APIs.

Validation

  • coffeelint.cmd src/profiles.coffee test/profiles.coffee from omega-pac
  • coffeelint.cmd src/module/proxy/proxy_impl_settings.coffee src/module/proxy/proxy_impl_listener.coffee src/module/proxy/proxy_impl_firefox.coffee src/module/proxy/proxy_auth.coffee test/proxy_hosts.coffee from omega-target-chromium-extension
  • omega-pac profile tests via Mocha with FORCEFIXEXPORTSCRIPTFORSOCKS=true: 34 passing
  • omega-target-chromium-extension/test/proxy_hosts.coffee: 3 passing

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.

Setting IDN domains for proxy servers leads to error in chrome and strange behaviour in firefox

1 participant