[Pdns-users] max record length workaround

Jonathan Reed jreed777 at gmail.com
Wed Mar 20 19:37:59 UTC 2019


>
> TXT records are limited to strings of 255 characters or less, but can have
> multiple strings, They'll be concatenated in order by the DKIM validator -
> I'm guessing that's what you're thinking of.

Yes, indeed.

My pub key is 400 chars long, and inserting the long string as a set into
records.content fails as expected.
mysql> UPDATE records set content = '"v=DKIM1; k=rsa; p=190_char_string"
"200_more_chars"' where id = 1234;
ERROR 1406 (22001): Data too long for column 'content' at row 1

Alternatively, adding a second row with the same records.name (same
selector) makes sense.
mysql> UPDATE records set content = '"200_more_chars"' where id = *1235*;

However this fails also the checker, as it cannot determine that the second
row is a continuation of the pub key with the row proceeding it. I'm still
struggling with appending the pubkey to the previous record.

On Wed, Mar 20, 2019 at 2:14 PM Steve Atkins <steve at blighty.com> wrote:

>
>
> > On Mar 20, 2019, at 5:49 PM, Jonathan Reed <jreed777 at gmail.com> wrote:
> >
> > Hi,
> >
> > I'm running an old version of pdns where my backend record length for "
> records.name" is still varchar(255). I've read it's been extended to 64k.
> However I'm trying to insert a 400 character dkim value in it by adding
> multiple records for the dkim to simulate a continuation of the key string.
> Short of altering the table to allow for the longer lengths, have any of
> you had experience with the syntax for making long strings like this?
> > I've used the conventional escape char \ and tried enclosing the entire
> string in a paren () but no luck. Perhaps someone else out there has had to
> do this in the past?
>
> records.name holds the name of the record, e.g. "whatever._
> domainkey.example.com", not the content, so 255 characters should be just
> about enough. records.content is where the content lives.
>
> TXT records are limited to strings of 255 characters or less, but can have
> multiple strings, They'll be concatenated in order by the DKIM validator -
> I'm guessing that's what you're thinking of.
>
> The syntax for that data in records.content is wrapping each string in the
> record in double quotes and separating those (two) strings with spaces - so
> something like '"v=DKIM1\; p=...base64 goop..." "...more base64 goop..."'
>
> I'm not sure whether / why the semicolon needs to be backslash escaped. An
> homage to bind file format, I guess.
>
> Cheers,
>   Steve
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.powerdns.com/pipermail/pdns-users/attachments/20190320/3c76eaf4/attachment.html>


More information about the Pdns-users mailing list