I believe that if you put in multiple TXT records for the same FQDN
(example.com as above), then *all* of those TXT records are sent
back in a single UDP reply packet, so the 512 (more like 420) byte
UDP packet restriction applies to THE AGGREGATE SIZE of ALL text
records for a single FQDN.
Yes, that's correct. If a response includes multiple records, which
it will if the query is a TXT query and there are multiple TXT records
for the name, they're all sent in one response packet, which will have
well known problems if they don't fit in a 512 byte UDP response
packet, and less well known but more serious problems if they don't
fit in a single TCP packet.
One of the reasons that the DNS has multiple record types is so that a
query can specify the type it wants and just get the relevant records,
keeping responses small. Overloading TXT breaks that.
I believe that the working group made no objection to sub-domaining
records (publishing TXT in _marid.example.com)
The problem with _marid subdomains is that they break wildcards, since
DNS wildcards don't permit _marid.*.foo.com. Some of us have per-user
subdomains implemented with wildcards, and there's no good workaround.
We could publish the TXT records for *.foo.com and let the clients
throw out the ones they don't understand, but then we're back to
stuffing all the TXT records into the same packet.
The only band-aid I can see is to hack up our servers to special case
_marid.*.foo.com, which we weenies can do but I wouldn't wish on the
net in general.
John Levine, johnl(_at_)taugh(_dot_)com, Taughannock Networks, Trumansburg NY