Skip to content

DNSSD based queries fail to provide TTL #39

@gmilos

Description

@gmilos

On macOS (where DNSSD is being used by default), queries such as:

let resolver = try AsyncDNSResolver()
let out = try await resolver.queryAAAA(name: "iadsdk.apple.com.akadns.net")
print("\(out)")

fail to provide the TTL:

[AAAARecord(address=2a02:26f0:5d00:f91::12c5, ttl=), AAAARecord(address=2a02:26f0:5d00:f9b::12c5, ttl=)]

Despite the fact TTL is certainly available:

$ dig AAAA iadsdk.apple.com.akadns.net
...
e4805.dsca.akamaiedge.net. 3	IN	AAAA	2a02:26f0:5d00:f9b::12c5
                           ↑
                          TTL
...

The TTL is available, if the c-ares underlying implementation is used:

let resolver = try AsyncDNSResolver(CAresDNSResolver())
let out = try await resolver.queryAAAA(name: "e4805.dsca.akamaiedge.net")
print("\(out)") 

results in:

[AAAARecord(address=2a02:26f0:5d00:f91::12c5, ttl=13), AAAARecord(address=2a02:26f0:5d00:f9b::12c5, ttl=13)]

Tested on: https://github.com/apple/swift-async-dns-resolver/releases/tag/0.4.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions