Хотя почерк DNS-сообщений с нуля, я могу отправлять TXT-записи до 255 символов с этим псевдо C кодом:
char use_this[1024];
memset(use_this, 0, 1024);
use_this[0] = len;
for (int i = 0; i < len; i++){
use_this[i + 1] = txt_record[i];
}
Выходит, провод в порядке.Однако, когда дело доходит до строк TXT или SPF с> 255 символами, я теряюсь и нуждаюсь в помощи!
|###[ DNS Resource Record ]###
| rrname = 'bbc.com.'
| type = SPF
| rclass = IN
| ttl = 748
| rdlen = 334
| rdata = '\xdav=spf1 ip4:212.58.224.0/19 ip4:132.185.0.0/16 ip4:78.136.53.80/28 ip4:78.136.14.192/27 ip4:78.136.19.8/29 ip4:89.234.10.72/29 ip4:74.112.66.33 ip4:208.251.80.51 ip4:89.202.185.0/24 ip4:207.159.133.98 ip4:207.159.133.99r include:msgfocus.com include:cmail1.com include:mktomail.com include:servers.mcsv.net include:redsnapper.net ?all'
ns = None
Для длинной строки в 336 символов это должно быть: [255][chars0:255] + [81][255:]
или [336][chars<>]
,или что-то еще очевидно что я пропустил?
Мы можем иметь записи TXT / SPF размером более 255 символов, но не более 255 символов в одной строке.Ищите указатели на то, как написать длинную запись (из нескольких строк), чтобы я мог отправить ее через базовый сокет.Спасибо!