Skip to content

fix: allow plain HTTP to DNS hosts for database connections (#1316)#1317

Merged
datlechin merged 1 commit into
mainfrom
fix/1316-ats-clickhouse
May 18, 2026
Merged

fix: allow plain HTTP to DNS hosts for database connections (#1316)#1317
datlechin merged 1 commit into
mainfrom
fix/1316-ats-clickhouse

Conversation

@datlechin

Copy link
Copy Markdown
Member

Summary

Fixes #1316. ClickHouse (and any HTTP-based driver) could not connect to plain-HTTP servers addressed by a DNS hostname (e.g. `xxx.example.com:8123`). App Transport Security blocked the request because only IP-addressed plain HTTP is exempt by default. Workaround was using the raw IP.

Root cause

No `NSAppTransportSecurity` key in Info.plist meant TablePro relied on Apple's defaults, which allow plain HTTP only to numeric IPs. DNS-addressed HTTP gets blocked at the URLSession layer.

Fix

Add to both macOS and iOS Info.plist:

```xml
NSAppTransportSecurity

NSAllowsArbitraryLoads


```

Standard approach for developer tools that connect to user-specified servers (TablePlus, Postman, Beekeeper, Sequel Ace, DBeaver all do the same).

Affected drivers

  • ClickHouse HTTP (8123)
  • Any future HTTP-based plugin

Native socket drivers (MySQL, PostgreSQL native protocol, Redis RESP, MongoDB wire protocol) bypass URLSession entirely and were never affected.

Test plan

  • ClickHouse on remote host, plain HTTP, DNS hostname: connects
  • ClickHouse on remote host, HTTPS, DNS hostname: still connects
  • ClickHouse on raw IP: still works (regression check)
  • MySQL / PostgreSQL / Redis (native socket): unaffected

Notes

The PR diff includes an unrelated `Localizable.xcstrings` cleanup (2 empty SSL string entries removed, 1 percent-format entry auto-removed). These got auto-generated by Xcode in a prior session and re-pruned. Safe to merge.

@datlechin datlechin merged commit ebf96d4 into main May 18, 2026
1 of 2 checks passed
@datlechin datlechin deleted the fix/1316-ats-clickhouse branch May 18, 2026 08:02
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.

AppTransportSecurity blocks Clickhouse connections

1 participant