GThreadedResolver incorrectly expands domain names in SRV records
The spec says of the Target
field:
The domain name of the target host. There MUST be one or more address records for this name, the name MUST NOT be an alias (in the sense of RFC 1034 or RFC 2181). Implementors are urged, but not required, to return the address record(s) in the Additional Data section. Unless and until permitted by future standards action, name compression is not to be used for this field.
I can’t find any future standards which apply to SRV
records, and therefore none which permit name compression.
However, GLib currently expands the domain in an SRV
record.
Am I missing something, or is GLib wrong here?
It’s not clear to me whether the target should be a simple length-prefixed string, or whether it can validly also be a sequence of labels. i.e. The <character-string>
or <domain-name>
productions from RFC 1035.
It seems we’re not the only ones to get this wrong. Possibly because an earlier version of RFC 2782, RFC 2052 (now obsolete) explicitly specified that name compression was to be used for targets.