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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions