Coverage Report

Created: 2025-12-31 06:16

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/pdns/pdns/dnsrecords.hh
Line
Count
Source
1
/*
2
 * This file is part of PowerDNS or dnsdist.
3
 * Copyright -- PowerDNS.COM B.V. and its contributors
4
 *
5
 * This program is free software; you can redistribute it and/or modify
6
 * it under the terms of version 2 of the GNU General Public License as
7
 * published by the Free Software Foundation.
8
 *
9
 * In addition, for the avoidance of any doubt, permission is granted to
10
 * link this program with OpenSSL and to (re)distribute the binaries
11
 * produced as the result of such linking.
12
 *
13
 * This program is distributed in the hope that it will be useful,
14
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
 * GNU General Public License for more details.
17
 *
18
 * You should have received a copy of the GNU General Public License
19
 * along with this program; if not, write to the Free Software
20
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
21
 */
22
#pragma once
23
#ifdef HAVE_CONFIG_H
24
#include "config.h"
25
#endif
26
27
#include "dnsparser.hh"
28
#include "dnswriter.hh"
29
#include "lock.hh"
30
#include "rcpgenerator.hh"
31
#include <set>
32
#include <bitset>
33
#include <utility>
34
#include "namespaces.hh"
35
#include "iputils.hh"
36
#include "svc-records.hh"
37
38
struct ReportIsOnlyCallableByReportAllTypes;
39
40
#define includeboilerplate(RNAME)                                                       \
41
  RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr);                          \
42
  RNAME##RecordContent(const string& zoneData);                                         \
43
  static void report(const ReportIsOnlyCallableByReportAllTypes& guard);                \
44
  static std::shared_ptr<DNSRecordContent> make(const DNSRecord& dr, PacketReader& pr); \
45
  static std::shared_ptr<DNSRecordContent> make(const string& zonedata);                \
46
  string getZoneRepresentation(bool noDot = false) const override;                      \
47
  void toPacket(DNSPacketWriter& pw) const override;                                    \
48
0
  uint16_t getType() const override { return QType::RNAME; }                            \
Unexecuted instantiation: ARecordContent::getType() const
Unexecuted instantiation: AAAARecordContent::getType() const
Unexecuted instantiation: MXRecordContent::getType() const
Unexecuted instantiation: NSRecordContent::getType() const
Unexecuted instantiation: PTRRecordContent::getType() const
Unexecuted instantiation: CNAMERecordContent::getType() const
Unexecuted instantiation: DNAMERecordContent::getType() const
Unexecuted instantiation: DSRecordContent::getType() const
Unexecuted instantiation: ALIASRecordContent::getType() const
Unexecuted instantiation: MBRecordContent::getType() const
Unexecuted instantiation: MGRecordContent::getType() const
Unexecuted instantiation: MRRecordContent::getType() const
Unexecuted instantiation: MINFORecordContent::getType() const
Unexecuted instantiation: TXTRecordContent::getType() const
Unexecuted instantiation: ENTRecordContent::getType() const
Unexecuted instantiation: SPFRecordContent::getType() const
Unexecuted instantiation: HINFORecordContent::getType() const
Unexecuted instantiation: RPRecordContent::getType() const
Unexecuted instantiation: OPTRecordContent::getType() const
Unexecuted instantiation: TSIGRecordContent::getType() const
Unexecuted instantiation: KXRecordContent::getType() const
Unexecuted instantiation: IPSECKEYRecordContent::getType() const
Unexecuted instantiation: DHCIDRecordContent::getType() const
Unexecuted instantiation: AFSDBRecordContent::getType() const
Unexecuted instantiation: NAPTRRecordContent::getType() const
Unexecuted instantiation: SRVRecordContent::getType() const
Unexecuted instantiation: SOARecordContent::getType() const
Unexecuted instantiation: KEYRecordContent::getType() const
Unexecuted instantiation: ZONEMDRecordContent::getType() const
Unexecuted instantiation: CERTRecordContent::getType() const
Unexecuted instantiation: TLSARecordContent::getType() const
Unexecuted instantiation: OPENPGPKEYRecordContent::getType() const
Unexecuted instantiation: SVCBRecordContent::getType() const
Unexecuted instantiation: HTTPSRecordContent::getType() const
Unexecuted instantiation: DNSKEYRecordContent::getType() const
Unexecuted instantiation: HHITRecordContent::getType() const
Unexecuted instantiation: BRIDRecordContent::getType() const
Unexecuted instantiation: SMIMEARecordContent::getType() const
Unexecuted instantiation: CDSRecordContent::getType() const
Unexecuted instantiation: DLVRecordContent::getType() const
Unexecuted instantiation: SSHFPRecordContent::getType() const
Unexecuted instantiation: RRSIGRecordContent::getType() const
Unexecuted instantiation: CDNSKEYRecordContent::getType() const
Unexecuted instantiation: RKEYRecordContent::getType() const
Unexecuted instantiation: NIDRecordContent::getType() const
Unexecuted instantiation: L32RecordContent::getType() const
Unexecuted instantiation: L64RecordContent::getType() const
Unexecuted instantiation: LPRecordContent::getType() const
Unexecuted instantiation: APLRecordContent::getType() const
Unexecuted instantiation: TKEYRecordContent::getType() const
Unexecuted instantiation: URIRecordContent::getType() const
Unexecuted instantiation: CAARecordContent::getType() const
49
  template <class Convertor>                                                            \
50
  void xfrPacket(Convertor& conv, bool noDot = false) const;                            \
51
  template <class Convertor>                                                            \
52
  void xfrPacket(Convertor& conv, bool noDot = false);
53
54
class NAPTRRecordContent : public DNSRecordContent
55
{
56
public:
57
  NAPTRRecordContent(uint16_t order, uint16_t preference, string flags, string services, string regexp, DNSName replacement);
58
59
  includeboilerplate(NAPTR)
60
  template<class Convertor> void xfrRecordContent(Convertor& conv);
61
  const string& getFlags() const
62
0
  {
63
0
    return d_flags;
64
0
  }
65
  const DNSName& getReplacement() const
66
0
  {
67
0
    return d_replacement;
68
0
  }
69
  [[nodiscard]] size_t sizeEstimate() const override
70
0
  {
71
0
    return sizeof(*this) + d_replacement.sizeEstimate() + d_flags.size() + d_services.size() + d_regexp.size();
72
0
  }
73
private:
74
  uint16_t d_order, d_preference;
75
  string d_flags, d_services, d_regexp;
76
  DNSName d_replacement;
77
};
78
79
80
class ARecordContent : public DNSRecordContent
81
{
82
public:
83
  explicit ARecordContent(const ComboAddress& ca);
84
  explicit ARecordContent(uint32_t ip);
85
  includeboilerplate(A)
86
  void doRecordCheck(const DNSRecord& dr);
87
  ComboAddress getCA(int port=0) const;
88
  bool operator==(const DNSRecordContent& rhs) const override
89
0
  {
90
0
    if(typeid(*this) != typeid(rhs))
91
0
      return false;
92
0
    return d_ip == dynamic_cast<const ARecordContent&>(rhs).d_ip;
93
0
  }
94
  [[nodiscard]] size_t sizeEstimate() const override
95
0
  {
96
0
    return sizeof(*this);
97
0
  }
98
private:
99
  uint32_t d_ip;
100
};
101
102
class AAAARecordContent : public DNSRecordContent
103
{
104
public:
105
  AAAARecordContent(std::string &val);
106
  explicit AAAARecordContent(const ComboAddress& ca);
107
  includeboilerplate(AAAA)
108
  ComboAddress getCA(int port=0) const;
109
  bool operator==(const DNSRecordContent& rhs) const override
110
0
  {
111
0
    if(typeid(*this) != typeid(rhs))
112
0
      return false;
113
0
    return d_ip6 == dynamic_cast<const decltype(this)>(&rhs)->d_ip6;
114
0
  }
115
  [[nodiscard]] size_t sizeEstimate() const override
116
0
  {
117
0
    return sizeof(*this) + d_ip6.size();
118
0
  }
119
private:
120
  string d_ip6; // why??
121
};
122
123
class MXRecordContent : public DNSRecordContent
124
{
125
public:
126
  MXRecordContent(uint16_t preference, DNSName  mxname);
127
128
  includeboilerplate(MX)
129
130
  uint16_t d_preference;
131
  DNSName d_mxname;
132
133
  bool operator==(const DNSRecordContent& rhs) const override
134
0
  {
135
0
    if(typeid(*this) != typeid(rhs))
136
0
      return false;
137
0
    auto rrhs =dynamic_cast<const decltype(this)>(&rhs);
138
0
    return std::tie(d_preference, d_mxname) == std::tie(rrhs->d_preference, rrhs->d_mxname);
139
0
  }
140
  [[nodiscard]] size_t sizeEstimate() const override
141
0
  {
142
0
    return sizeof(*this) + d_mxname.sizeEstimate();
143
0
  }
144
};
145
146
class KXRecordContent : public DNSRecordContent
147
{
148
public:
149
  KXRecordContent(uint16_t preference, const DNSName& exchanger);
150
151
  includeboilerplate(KX)
152
153
  [[nodiscard]] size_t sizeEstimate() const override
154
0
  {
155
0
    return sizeof(*this) + d_exchanger.sizeEstimate();
156
0
  }
157
private:
158
  uint16_t d_preference;
159
  DNSName d_exchanger;
160
};
161
162
class IPSECKEYRecordContent : public DNSRecordContent
163
{
164
public:
165
  IPSECKEYRecordContent(uint16_t preference, uint8_t gatewaytype, uint8_t algo, const DNSName& gateway, const string& publickey);
166
167
  includeboilerplate(IPSECKEY)
168
169
  [[nodiscard]] size_t sizeEstimate() const override
170
0
  {
171
0
    return sizeof(*this) + d_gateway.sizeEstimate() + d_publickey.size() + d_ip6.size();
172
0
  }
173
private:
174
  uint32_t d_ip4;
175
  DNSName d_gateway;
176
  string d_publickey;
177
  string d_ip6;
178
  uint8_t d_preference, d_gatewaytype, d_algorithm;
179
};
180
181
class DHCIDRecordContent : public DNSRecordContent
182
{
183
public:
184
  includeboilerplate(DHCID)
185
  [[nodiscard]] size_t sizeEstimate() const override
186
0
  {
187
0
    return sizeof(*this) + d_content.size();
188
0
  }
189
190
private:
191
  string d_content;
192
};
193
194
195
class SRVRecordContent : public DNSRecordContent
196
{
197
public:
198
  SRVRecordContent(uint16_t preference, uint16_t weight, uint16_t port, DNSName  target);
199
200
  includeboilerplate(SRV)
201
  [[nodiscard]] size_t sizeEstimate() const override
202
0
  {
203
0
    return sizeof(*this) + d_target.sizeEstimate();
204
0
  }
205
206
  uint16_t d_weight, d_port;
207
  DNSName d_target;
208
  uint16_t d_preference;
209
};
210
211
class TSIGRecordContent : public DNSRecordContent
212
{
213
public:
214
  includeboilerplate(TSIG)
215
  TSIGRecordContent() = default;
216
  [[nodiscard]] size_t sizeEstimate() const override
217
0
  {
218
0
    return sizeof(*this) + d_algoName.sizeEstimate() + d_mac.size() + d_otherData.size();
219
0
  }
220
221
  uint16_t d_origID{0};
222
  uint16_t d_fudge{0};
223
224
  DNSName d_algoName;
225
  string d_mac;
226
  string d_otherData;
227
  uint64_t d_time{0};
228
  //  uint16_t d_macSize;
229
  uint16_t d_eRcode{0};
230
  // uint16_t d_otherLen
231
};
232
233
234
class TXTRecordContent : public DNSRecordContent
235
{
236
public:
237
  includeboilerplate(TXT)
238
239
  [[nodiscard]] size_t sizeEstimate() const override
240
0
  {
241
0
    return sizeof(*this) + d_text.size();
242
0
  }
243
244
  string d_text;
245
};
246
247
#ifdef HAVE_LUA_RECORDS
248
class LUARecordContent : public DNSRecordContent
249
{
250
public:
251
  includeboilerplate(LUA)
252
  [[nodiscard]] size_t sizeEstimate() const override
253
  {
254
    return sizeof(*this) + getCode().size();
255
  }
256
  string getCode() const;
257
  uint16_t d_type;
258
  string d_code;
259
};
260
#endif
261
262
class ENTRecordContent : public DNSRecordContent
263
{
264
public:
265
  includeboilerplate(ENT)
266
  [[nodiscard]] size_t sizeEstimate() const override
267
0
  {
268
0
    return sizeof(*this);
269
0
  }
270
};
271
272
class SPFRecordContent : public DNSRecordContent
273
{
274
public:
275
  includeboilerplate(SPF)
276
  const std::string& getText() const
277
0
  {
278
0
    return d_text;
279
0
  }
280
  [[nodiscard]] size_t sizeEstimate() const override
281
0
  {
282
0
    return sizeof(*this) + d_text.size();
283
0
  }
284
285
private:
286
  string d_text;
287
};
288
289
290
class NSRecordContent : public DNSRecordContent
291
{
292
public:
293
  includeboilerplate(NS) explicit NSRecordContent(DNSName content) :
294
0
    d_content(std::move(content)) {}
295
0
  const DNSName& getNS() const { return d_content; }
296
  bool operator==(const DNSRecordContent& rhs) const override
297
0
  {
298
0
    if(typeid(*this) != typeid(rhs))
299
0
      return false;
300
0
    auto rrhs =dynamic_cast<const decltype(this)>(&rhs);
301
0
    return d_content == rrhs->d_content;
302
0
  }
303
  [[nodiscard]] size_t sizeEstimate() const override
304
0
  {
305
0
    return sizeof(*this) + d_content.sizeEstimate();
306
0
  }
307
private:
308
  DNSName d_content;
309
};
310
311
class PTRRecordContent : public DNSRecordContent
312
{
313
public:
314
  includeboilerplate(PTR) explicit PTRRecordContent(DNSName content) :
315
0
    d_content(std::move(content)) {}
316
0
  const DNSName& getContent() const { return d_content; }
317
  [[nodiscard]] size_t sizeEstimate() const override
318
0
  {
319
0
    return sizeof(*this) + d_content.sizeEstimate();
320
0
  }
321
private:
322
  DNSName d_content;
323
};
324
325
class CNAMERecordContent : public DNSRecordContent
326
{
327
public:
328
  includeboilerplate(CNAME)
329
    CNAMERecordContent(DNSName content) :
330
0
    d_content(std::move(content)) {}
331
0
  DNSName getTarget() const { return d_content; }
332
  [[nodiscard]] size_t sizeEstimate() const override
333
0
  {
334
0
    return sizeof(*this) + d_content.sizeEstimate();
335
0
  }
336
private:
337
  DNSName d_content;
338
};
339
340
#if !defined(RECURSOR)
341
class ALIASRecordContent : public DNSRecordContent
342
{
343
public:
344
  includeboilerplate(ALIAS)
345
346
  [[nodiscard]] const DNSName& getContent() const
347
0
  {
348
0
    return d_content;
349
0
  }
350
  [[nodiscard]] size_t sizeEstimate() const override
351
0
  {
352
0
    return sizeof(*this) + d_content.sizeEstimate();
353
0
  }
354
private:
355
  DNSName d_content;
356
};
357
#endif
358
359
class DNAMERecordContent : public DNSRecordContent
360
{
361
public:
362
  includeboilerplate(DNAME)
363
    DNAMERecordContent(DNSName content) :
364
0
    d_content(std::move(content)) {}
365
0
  const DNSName& getTarget() const { return d_content; }
366
  [[nodiscard]] size_t sizeEstimate() const override
367
0
  {
368
0
    return sizeof(*this) + d_content.sizeEstimate();
369
0
  }
370
private:
371
  DNSName d_content;
372
};
373
374
375
class MBRecordContent : public DNSRecordContent
376
{
377
public:
378
  includeboilerplate(MB)
379
  [[nodiscard]] size_t sizeEstimate() const override
380
0
  {
381
0
    return sizeof(*this) + d_madname.sizeEstimate();
382
0
  }
383
384
private:
385
  DNSName d_madname;
386
};
387
388
class MGRecordContent : public DNSRecordContent
389
{
390
public:
391
  includeboilerplate(MG)
392
  [[nodiscard]] size_t sizeEstimate() const override
393
0
  {
394
0
    return sizeof(*this) + d_mgmname.sizeEstimate();
395
0
  }
396
397
private:
398
  DNSName d_mgmname;
399
};
400
401
class MRRecordContent : public DNSRecordContent
402
{
403
public:
404
  includeboilerplate(MR)
405
  [[nodiscard]] size_t sizeEstimate() const override
406
0
  {
407
0
    return sizeof(*this) + d_alias.sizeEstimate();
408
0
  }
409
410
private:
411
  DNSName d_alias;
412
};
413
414
class MINFORecordContent : public DNSRecordContent
415
{
416
public:
417
  includeboilerplate(MINFO)
418
  [[nodiscard]] size_t sizeEstimate() const override
419
0
  {
420
0
    return sizeof(*this) + d_rmailbx.sizeEstimate() + d_emailbx.sizeEstimate();
421
0
  }
422
423
private:
424
  DNSName d_rmailbx;
425
  DNSName d_emailbx;
426
};
427
428
class OPTRecordContent : public DNSRecordContent
429
{
430
public:
431
  OPTRecordContent() = default;
432
  includeboilerplate(OPT)
433
  void getData(vector<pair<uint16_t, string> > &opts) const;
434
  [[nodiscard]] size_t sizeEstimate() const override
435
0
  {
436
0
    return sizeof(*this) + d_data.size();
437
0
  }
438
private:
439
  string d_data;
440
};
441
442
443
class HINFORecordContent : public DNSRecordContent
444
{
445
public:
446
  includeboilerplate(HINFO)
447
  [[nodiscard]] size_t sizeEstimate() const override
448
0
  {
449
0
    return sizeof(*this) + d_cpu.size() + d_host.size();
450
0
  }
451
452
private:
453
  string d_cpu, d_host;
454
};
455
456
class RPRecordContent : public DNSRecordContent
457
{
458
public:
459
  includeboilerplate(RP)
460
  [[nodiscard]] size_t sizeEstimate() const override
461
0
  {
462
0
    return sizeof(*this) + d_mbox.sizeEstimate() + d_info.sizeEstimate();
463
0
  }
464
private:
465
  DNSName d_mbox, d_info;
466
};
467
468
469
class DNSKEYRecordContent : public DNSRecordContent
470
{
471
public:
472
  DNSKEYRecordContent();
473
  includeboilerplate(DNSKEY)
474
  uint16_t getTag() const;
475
476
  uint16_t d_flags{0};
477
  uint8_t d_protocol{0};
478
  uint8_t d_algorithm{0};
479
  string d_key;
480
  bool operator<(const DNSKEYRecordContent& rhs) const
481
0
  {
482
0
    return std::tie(d_flags, d_protocol, d_algorithm, d_key) <
483
0
      std::tie(rhs.d_flags, rhs.d_protocol, rhs.d_algorithm, rhs.d_key);
484
0
  }
485
  [[nodiscard]] size_t sizeEstimate() const override
486
0
  {
487
0
    return sizeof(*this) + d_key.size();
488
0
  }
489
};
490
491
class CDNSKEYRecordContent : public DNSRecordContent
492
{
493
public:
494
  CDNSKEYRecordContent();
495
  includeboilerplate(CDNSKEY)
496
  uint16_t getTag();
497
  [[nodiscard]] size_t sizeEstimate() const override
498
0
  {
499
0
    return sizeof(*this) + d_key.size();
500
0
  }
501
502
  uint16_t d_flags{0};
503
  uint8_t d_protocol{0};
504
  uint8_t d_algorithm{0};
505
  string d_key;
506
};
507
508
class DSRecordContent : public DNSRecordContent
509
{
510
public:
511
  DSRecordContent();
512
  bool operator==(const DNSRecordContent& rhs) const override
513
0
  {
514
0
    if(typeid(*this) != typeid(rhs))
515
0
      return false;
516
0
    auto rrhs =dynamic_cast<const decltype(this)>(&rhs);
517
0
    return std::tie(d_tag, d_algorithm, d_digesttype, d_digest) ==
518
0
      std::tie(rrhs->d_tag, rrhs->d_algorithm, rrhs->d_digesttype, rrhs->d_digest);
519
0
  }
520
  bool operator<(const DSRecordContent& rhs) const
521
0
  {
522
0
    return std::tie(d_tag, d_algorithm, d_digesttype, d_digest) <
523
0
      std::tie(rhs.d_tag, rhs.d_algorithm, rhs.d_digesttype, rhs.d_digest);
524
0
  }
525
526
  includeboilerplate(DS)
527
  [[nodiscard]] size_t sizeEstimate() const override
528
0
  {
529
0
    return sizeof(*this) + d_digest.size();
530
0
  }
531
532
  uint16_t d_tag{0};
533
  uint8_t d_algorithm{0}, d_digesttype{0};
534
  string d_digest;
535
};
536
537
class CDSRecordContent : public DNSRecordContent
538
{
539
public:
540
  CDSRecordContent();
541
  includeboilerplate(CDS)
542
  [[nodiscard]] size_t sizeEstimate() const override
543
0
  {
544
0
    return sizeof(*this) + d_digest.size();
545
0
  }
546
547
  uint16_t d_tag{0};
548
  uint8_t d_algorithm{0}, d_digesttype{0};
549
  string d_digest;
550
};
551
552
class DLVRecordContent : public DNSRecordContent
553
{
554
public:
555
  DLVRecordContent();
556
  includeboilerplate(DLV)
557
  [[nodiscard]] size_t sizeEstimate() const override
558
0
  {
559
0
    return sizeof(*this) + d_digest.size();
560
0
  }
561
562
  uint16_t d_tag{0};
563
  uint8_t d_algorithm{0}, d_digesttype{0};
564
  string d_digest;
565
};
566
567
568
class SSHFPRecordContent : public DNSRecordContent
569
{
570
public:
571
  includeboilerplate(SSHFP)
572
  [[nodiscard]] size_t sizeEstimate() const override
573
0
  {
574
0
    return sizeof(*this) + d_fingerprint.size();
575
0
  }
576
577
private:
578
  uint8_t d_algorithm, d_fptype;
579
  string d_fingerprint;
580
};
581
582
class KEYRecordContent : public DNSRecordContent
583
{
584
public:
585
  includeboilerplate(KEY)
586
  [[nodiscard]] size_t sizeEstimate() const override
587
0
  {
588
0
    return sizeof(*this) + d_certificate.size();
589
0
  }
590
591
private:
592
  uint16_t d_flags;
593
  uint8_t d_protocol, d_algorithm;
594
  string d_certificate;
595
};
596
597
class AFSDBRecordContent : public DNSRecordContent
598
{
599
public:
600
  includeboilerplate(AFSDB)
601
  [[nodiscard]] size_t sizeEstimate() const override
602
0
  {
603
0
    return sizeof(*this) + d_hostname.sizeEstimate();
604
0
  }
605
606
private:
607
  uint16_t d_subtype;
608
  DNSName d_hostname;
609
};
610
611
612
#ifdef CERT
613
#error likely openssl/ssl2.h is included, defining CERT, avoid that or undef CERT before including dnsrecords.hh
614
#endif
615
616
class CERTRecordContent : public DNSRecordContent
617
{
618
public:
619
  includeboilerplate(CERT)
620
  [[nodiscard]] size_t sizeEstimate() const override
621
0
  {
622
0
    return sizeof(*this) + d_certificate.size();
623
0
  }
624
625
private:
626
  uint16_t d_type, d_tag;
627
  string d_certificate;
628
  uint8_t d_algorithm;
629
};
630
631
class TLSARecordContent : public DNSRecordContent
632
{
633
public:
634
  includeboilerplate(TLSA)
635
  [[nodiscard]] size_t sizeEstimate() const override
636
0
  {
637
0
    return sizeof(*this) + d_cert.size();
638
0
  }
639
640
private:
641
  uint8_t d_certusage, d_selector, d_matchtype;
642
  string d_cert;
643
};
644
645
class SMIMEARecordContent : public DNSRecordContent
646
{
647
public:
648
  includeboilerplate(SMIMEA)
649
  [[nodiscard]] size_t sizeEstimate() const override
650
0
  {
651
0
    return sizeof(*this) + d_cert.size();
652
0
  }
653
654
private:
655
  uint8_t d_certusage, d_selector, d_matchtype;
656
  string d_cert;
657
};
658
659
class OPENPGPKEYRecordContent : public DNSRecordContent
660
{
661
public:
662
  includeboilerplate(OPENPGPKEY)
663
  [[nodiscard]] size_t sizeEstimate() const override
664
0
  {
665
0
    return sizeof(*this) + d_keyring.size();
666
0
  }
667
668
private:
669
  string d_keyring;
670
};
671
672
class SVCBBaseRecordContent : public DNSRecordContent
673
{
674
  public:
675
0
    const DNSName& getTarget() const {return d_target;}
676
0
    uint16_t getPriority() const {return d_priority;}
677
    // Returns true if a value for |key| was set to 'auto'
678
    bool autoHint(const SvcParam::SvcParamKey &key) const;
679
    // Sets the |addresses| to the existing hints for |key|
680
    void setHints(const SvcParam::SvcParamKey &key, const std::vector<ComboAddress> &addresses);
681
    // Removes the parameter for |key| from d_params
682
    void removeParam(const SvcParam::SvcParamKey &key);
683
    // Whether or not there are any parameter
684
    bool hasParams() const;
685
    // Whether or not the param of |key| exists
686
    bool hasParam(const SvcParam::SvcParamKey &key) const;
687
    // Get the parameter with |key|, will throw out_of_range if param isn't there
688
    SvcParam getParam(const SvcParam::SvcParamKey &key) const;
689
    virtual std::shared_ptr<SVCBBaseRecordContent> clone() const = 0;
690
691
  [[nodiscard]] size_t sizeEstimate() const override
692
0
  {
693
0
    return sizeof(*this) + d_params.size() * sizeof(SvcParam) + d_target.sizeEstimate();
694
0
  }
695
696
  protected:
697
    std::set<SvcParam> d_params;
698
    DNSName d_target;
699
    uint16_t d_priority;
700
701
    // Get the iterator to parameter with |key|, return value can be d_params::end
702
  std::set<SvcParam>::const_iterator getParamIt(const SvcParam::SvcParamKey &key) const;
703
};
704
705
class SVCBRecordContent : public SVCBBaseRecordContent
706
{
707
public:
708
  includeboilerplate(SVCB)
709
  std::shared_ptr<SVCBBaseRecordContent> clone() const override;
710
};
711
712
class HTTPSRecordContent : public SVCBBaseRecordContent
713
{
714
public:
715
  includeboilerplate(HTTPS)
716
  std::shared_ptr<SVCBBaseRecordContent> clone() const override;
717
};
718
719
class DRIPBaseRecordContent : public DNSKEYRecordContent
720
{
721
public:
722
  [[nodiscard]] size_t sizeEstimate() const override
723
0
  {
724
0
    return sizeof(*this) + d_data.size();
725
0
  }
726
  virtual std::shared_ptr<DRIPBaseRecordContent> clone() const = 0;
727
protected:
728
  string d_data;
729
};
730
731
class HHITRecordContent : public DRIPBaseRecordContent {
732
public:
733
  includeboilerplate(HHIT);
734
  std::shared_ptr<DRIPBaseRecordContent> clone() const override;
735
};
736
737
class BRIDRecordContent : public DRIPBaseRecordContent {
738
public:
739
  includeboilerplate(BRID);
740
  std::shared_ptr<DRIPBaseRecordContent> clone() const override;
741
};
742
743
class RRSIGRecordContent : public DNSRecordContent
744
{
745
public:
746
  RRSIGRecordContent();
747
  includeboilerplate(RRSIG)
748
749
  [[nodiscard]] size_t sizeEstimate() const override
750
0
  {
751
0
    return sizeof(*this) + d_signer.sizeEstimate() + d_signature.size();
752
0
  }
753
  uint16_t d_type{0};
754
  uint16_t d_tag{0};
755
  DNSName d_signer;
756
  string d_signature;
757
  uint32_t d_originalttl{0}, d_sigexpire{0}, d_siginception{0};
758
  uint8_t d_algorithm{0}, d_labels{0};
759
};
760
761
//namespace {
762
  struct soatimes
763
  {
764
    uint32_t serial;
765
    uint32_t refresh;
766
    uint32_t retry;
767
    uint32_t expire;
768
    uint32_t minimum;
769
  };
770
//}
771
772
class RKEYRecordContent : public DNSRecordContent
773
{
774
public:
775
  RKEYRecordContent();
776
  includeboilerplate(RKEY)
777
  [[nodiscard]] size_t sizeEstimate() const override
778
0
  {
779
0
    return sizeof(*this) + d_key.size();
780
0
  }
781
  uint16_t d_flags{0};
782
  uint8_t d_protocol{0}, d_algorithm{0};
783
  string d_key;
784
};
785
786
class SOARecordContent : public DNSRecordContent
787
{
788
public:
789
  includeboilerplate(SOA)
790
  SOARecordContent(DNSName  mname, DNSName  rname, const struct soatimes& st);
791
792
  [[nodiscard]] size_t sizeEstimate() const override
793
0
  {
794
0
    return sizeof(*this) + d_mname.sizeEstimate() + d_rname.sizeEstimate();
795
0
  }
796
  DNSName d_mname;
797
  DNSName d_rname;
798
  struct soatimes d_st;
799
};
800
801
class ZONEMDRecordContent : public DNSRecordContent
802
{
803
public:
804
  includeboilerplate(ZONEMD)
805
  //ZONEMDRecordContent(uint32_t serial, uint8_t scheme, uint8_t hashalgo, string digest);
806
807
  [[nodiscard]] size_t sizeEstimate() const override
808
0
  {
809
0
    return sizeof(*this) + d_digest.size();
810
0
  }
811
  uint32_t d_serial;
812
  uint8_t d_scheme;
813
  uint8_t d_hashalgo;
814
  string d_digest;
815
};
816
817
class NSECBitmap
818
{
819
public:
820
6.93k
  NSECBitmap(): d_bitset(nullptr)
821
6.93k
  {
822
6.93k
  }
823
  NSECBitmap(const NSECBitmap& rhs): d_set(rhs.d_set)
824
0
  {
825
0
    if (rhs.d_bitset) {
826
0
      d_bitset = std::make_unique<std::bitset<nbTypes>>(*(rhs.d_bitset));
827
0
    }
828
0
  }
829
  NSECBitmap& operator=(const NSECBitmap& rhs)
830
0
  {
831
0
    d_set = rhs.d_set;
832
0
833
0
    if (rhs.d_bitset) {
834
0
      d_bitset = std::make_unique<std::bitset<nbTypes>>(*(rhs.d_bitset));
835
0
    }
836
0
837
0
    return *this;
838
0
  }
839
  NSECBitmap(NSECBitmap&& rhs) noexcept :
840
    d_bitset(std::move(rhs.d_bitset)), d_set(std::move(rhs.d_set))
841
0
  {
842
0
  }
843
  bool isSet(uint16_t type) const
844
0
  {
845
0
    if (d_bitset) {
846
0
      return d_bitset->test(type);
847
0
    }
848
0
    return d_set.count(type);
849
0
  }
850
  void set(uint16_t type)
851
456k
  {
852
456k
    if (!d_bitset) {
853
421k
      if (d_set.size() >= 200) {
854
1.80k
        migrateToBitSet();
855
1.80k
      }
856
421k
    }
857
456k
    if (d_bitset) {
858
37.2k
      d_bitset->set(type);
859
37.2k
    }
860
419k
    else {
861
419k
      d_set.insert(type);
862
419k
    }
863
456k
  }
864
  size_t count() const
865
0
  {
866
0
    if (d_bitset) {
867
0
      return d_bitset->count();
868
0
    }
869
0
    else {
870
0
      return d_set.size();
871
0
    }
872
0
  }
873
874
  void fromPacket(PacketReader& pr);
875
  void toPacket(DNSPacketWriter& pw) const;
876
  std::string getZoneRepresentation() const;
877
878
  static constexpr size_t const nbTypes = 65536;
879
880
  [[nodiscard]] size_t sizeEstimate() const
881
0
  {
882
    // for tree: size() nodes of roughly the size of the head node (very rough estimate as tree
883
    // implementations can vary wildly on how they represent nodes of the tree, but we cannot access
884
    // that private info)
885
0
    return d_bitset ? nbTypes / 8 : d_set.size() * sizeof(std::set<uint16_t>);
886
0
  }
887
888
private:
889
890
  void migrateToBitSet()
891
1.80k
  {
892
1.80k
    d_bitset = std::make_unique<std::bitset<nbTypes>>();
893
360k
    for (const auto& type : d_set) {
894
360k
      d_bitset->set(type);
895
360k
    }
896
1.80k
    d_set.clear();
897
1.80k
  }
898
  /* using a dynamic set is very efficient for a small number of
899
     types covered (~200), but uses a lot of memory (up to 3MB)
900
     when there are a lot of them.
901
     So we start with the set, but allocate and switch to a bitset
902
     if the number of covered types increases a lot */
903
  std::unique_ptr<std::bitset<nbTypes>> d_bitset;
904
  std::set<uint16_t> d_set;
905
};
906
907
class NSECRecordContent : public DNSRecordContent
908
{
909
public:
910
  static void report(const ReportIsOnlyCallableByReportAllTypes& guard);
911
3.77k
  NSECRecordContent() = default;
912
  NSECRecordContent(const string& content, const ZoneName& zone=ZoneName());
913
914
  static std::shared_ptr<DNSRecordContent> make(const DNSRecord &dr, PacketReader& pr);
915
  static std::shared_ptr<DNSRecordContent> make(const string& content);
916
  string getZoneRepresentation(bool noDot=false) const override;
917
  void toPacket(DNSPacketWriter& pw) const override;
918
  uint16_t getType() const override
919
0
  {
920
0
    return QType::NSEC;
921
0
  }
922
  bool isSet(uint16_t type) const
923
0
  {
924
0
    return d_bitmap.isSet(type);
925
0
  }
926
  void set(uint16_t type)
927
0
  {
928
0
    d_bitmap.set(type);
929
0
  }
930
  void set(const NSECBitmap& bitmap)
931
0
  {
932
0
    d_bitmap = bitmap;
933
0
  }
934
  size_t numberOfTypesSet() const
935
0
  {
936
0
    return d_bitmap.count();
937
0
  }
938
939
  [[nodiscard]] size_t sizeEstimate() const override
940
0
  {
941
0
    return sizeof(*this) + d_next.sizeEstimate() + d_bitmap.sizeEstimate();
942
0
  }
943
  DNSName d_next;
944
private:
945
  NSECBitmap d_bitmap;
946
};
947
948
class NSEC3RecordContent : public DNSRecordContent
949
{
950
public:
951
  static void report(const ReportIsOnlyCallableByReportAllTypes& guard);
952
2.29k
  NSEC3RecordContent() = default;
953
  NSEC3RecordContent(const string& content, const ZoneName& zone=ZoneName());
954
955
  static std::shared_ptr<DNSRecordContent> make(const DNSRecord &dr, PacketReader& pr);
956
  static std::shared_ptr<DNSRecordContent> make(const string& content);
957
  string getZoneRepresentation(bool noDot=false) const override;
958
  void toPacket(DNSPacketWriter& pw) const override;
959
960
  uint8_t d_algorithm{0}, d_flags{0};
961
  uint16_t d_iterations{0};
962
  string d_salt;
963
  string d_nexthash;
964
965
  uint16_t getType() const override
966
0
  {
967
0
    return QType::NSEC3;
968
0
  }
969
  bool isSet(uint16_t type) const
970
0
  {
971
0
    return d_bitmap.isSet(type);
972
0
  }
973
  void set(uint16_t type)
974
0
  {
975
0
    d_bitmap.set(type);
976
0
  }
977
  void set(const NSECBitmap& bitmap)
978
0
  {
979
0
    d_bitmap = bitmap;
980
0
  }
981
  size_t numberOfTypesSet() const
982
0
  {
983
0
    return d_bitmap.count();
984
0
  }
985
  bool isOptOut() const
986
0
  {
987
0
    return d_flags & 1;
988
0
  }
989
990
  [[nodiscard]] size_t sizeEstimate() const override
991
0
  {
992
0
    return sizeof(*this) + d_salt.size() + d_nexthash.size() + d_bitmap.sizeEstimate();
993
0
  }
994
private:
995
  NSECBitmap d_bitmap;
996
};
997
998
class CSYNCRecordContent : public DNSRecordContent
999
{
1000
public:
1001
  static void report(const ReportIsOnlyCallableByReportAllTypes& guard);
1002
869
  CSYNCRecordContent() = default;
1003
  CSYNCRecordContent(const string& content, const ZoneName& zone=ZoneName());
1004
1005
  static std::shared_ptr<DNSRecordContent> make(const DNSRecord &dr, PacketReader& pr);
1006
  static std::shared_ptr<DNSRecordContent> make(const string& content);
1007
  string getZoneRepresentation(bool noDot=false) const override;
1008
  void toPacket(DNSPacketWriter& pw) const override;
1009
1010
  uint16_t getType() const override
1011
0
  {
1012
0
    return QType::CSYNC;
1013
0
  }
1014
1015
  void set(uint16_t type)
1016
0
  {
1017
0
    d_bitmap.set(type);
1018
0
  }
1019
1020
  [[nodiscard]] size_t sizeEstimate() const override
1021
0
  {
1022
0
    return sizeof(*this) + d_bitmap.sizeEstimate();
1023
0
  }
1024
1025
private:
1026
  uint32_t d_serial{0};
1027
  uint16_t d_flags{0};
1028
  NSECBitmap d_bitmap;
1029
};
1030
1031
class NSEC3PARAMRecordContent : public DNSRecordContent
1032
{
1033
public:
1034
  static void report(const ReportIsOnlyCallableByReportAllTypes& guard);
1035
1.03k
  NSEC3PARAMRecordContent() = default;
1036
  NSEC3PARAMRecordContent(const string& content, const ZoneName& zone=ZoneName());
1037
1038
  static std::shared_ptr<DNSRecordContent> make(const DNSRecord &dr, PacketReader& pr);
1039
  static std::shared_ptr<DNSRecordContent> make(const string& content);
1040
  string getZoneRepresentation(bool noDot=false) const override;
1041
  void toPacket(DNSPacketWriter& pw) const override;
1042
1043
  uint16_t getType() const override
1044
0
  {
1045
0
    return QType::NSEC3PARAM;
1046
0
  }
1047
1048
  [[nodiscard]] size_t sizeEstimate() const override
1049
0
  {
1050
0
    return sizeof(*this) + d_salt.size();
1051
0
  }
1052
1053
  uint8_t d_algorithm{0}, d_flags{0};
1054
  uint16_t d_iterations{0};
1055
  string d_salt;
1056
};
1057
1058
1059
class LOCRecordContent : public DNSRecordContent
1060
{
1061
public:
1062
  static void report(const ReportIsOnlyCallableByReportAllTypes& guard);
1063
1.47k
  LOCRecordContent() = default;
1064
  LOCRecordContent(const string& content, const string& zone="");
1065
1066
  static std::shared_ptr<DNSRecordContent> make(const DNSRecord &dr, PacketReader& pr);
1067
  static std::shared_ptr<DNSRecordContent> make(const string& content);
1068
  string getZoneRepresentation(bool noDot=false) const override;
1069
  void toPacket(DNSPacketWriter& pw) const override;
1070
1071
  uint8_t d_version{0}, d_size{0}, d_horizpre{0}, d_vertpre{0};
1072
  uint32_t d_latitude{0}, d_longitude{0}, d_altitude{0};
1073
  uint16_t getType() const override
1074
0
  {
1075
0
    return QType::LOC;
1076
0
  }
1077
1078
  [[nodiscard]] size_t sizeEstimate() const override
1079
0
  {
1080
0
    return sizeof(*this);
1081
0
  }
1082
private:
1083
};
1084
1085
1086
class NIDRecordContent : public DNSRecordContent
1087
{
1088
public:
1089
  includeboilerplate(NID);
1090
  [[nodiscard]] size_t sizeEstimate() const override
1091
0
  {
1092
0
    return sizeof(*this);
1093
0
  }
1094
1095
private:
1096
  uint16_t d_preference;
1097
  NodeOrLocatorID d_node_id;
1098
};
1099
1100
class L32RecordContent : public DNSRecordContent
1101
{
1102
public:
1103
  includeboilerplate(L32);
1104
  [[nodiscard]] size_t sizeEstimate() const override
1105
0
  {
1106
0
    return sizeof(*this);
1107
0
  }
1108
1109
private:
1110
  uint16_t d_preference;
1111
  uint32_t d_locator;
1112
};
1113
1114
class L64RecordContent : public DNSRecordContent
1115
{
1116
public:
1117
  includeboilerplate(L64);
1118
  [[nodiscard]] size_t sizeEstimate() const override
1119
0
  {
1120
0
    return sizeof(*this);
1121
0
  }
1122
1123
private:
1124
  uint16_t d_preference;
1125
  NodeOrLocatorID d_locator;
1126
};
1127
1128
class LPRecordContent : public DNSRecordContent
1129
{
1130
public:
1131
  includeboilerplate(LP);
1132
  [[nodiscard]] size_t sizeEstimate() const override
1133
0
  {
1134
0
    return sizeof(*this) + d_fqdn.sizeEstimate();
1135
0
  }
1136
1137
private:
1138
  uint16_t d_preference;
1139
  DNSName d_fqdn;
1140
};
1141
1142
class EUI48RecordContent : public DNSRecordContent
1143
{
1144
public:
1145
395
  EUI48RecordContent() = default;
1146
  static void report(const ReportIsOnlyCallableByReportAllTypes& guard);
1147
  static std::shared_ptr<DNSRecordContent> make(const DNSRecord &dr, PacketReader& pr);
1148
  static std::shared_ptr<DNSRecordContent> make(const string& zone); // FIXME400: DNSName& zone?
1149
  string getZoneRepresentation(bool noDot=false) const override;
1150
  void toPacket(DNSPacketWriter& pw) const override;
1151
0
  uint16_t getType() const override { return QType::EUI48; }
1152
  [[nodiscard]] size_t sizeEstimate() const override
1153
0
  {
1154
0
    return sizeof(*this);
1155
0
  }
1156
private:
1157
 // storage for the bytes
1158
 uint8_t d_eui48[6];
1159
};
1160
1161
class EUI64RecordContent : public DNSRecordContent
1162
{
1163
public:
1164
899
  EUI64RecordContent() = default;
1165
  static void report(const ReportIsOnlyCallableByReportAllTypes& guard);
1166
  static std::shared_ptr<DNSRecordContent> make(const DNSRecord &dr, PacketReader& pr);
1167
  static std::shared_ptr<DNSRecordContent> make(const string& zone); // FIXME400: DNSName& zone?
1168
  string getZoneRepresentation(bool noDot=false) const override;
1169
  void toPacket(DNSPacketWriter& pw) const override;
1170
0
  uint16_t getType() const override { return QType::EUI64; }
1171
  [[nodiscard]] size_t sizeEstimate() const override
1172
0
  {
1173
0
    return sizeof(*this);
1174
0
  }
1175
private:
1176
 // storage for the bytes
1177
 uint8_t d_eui64[8];
1178
};
1179
1180
10.5k
#define APL_FAMILY_IPV4 1
1181
9.39k
#define APL_FAMILY_IPV6 2
1182
typedef struct s_APLRDataElement {
1183
  uint16_t d_family;
1184
  uint8_t d_prefix;
1185
  bool d_n : 1;
1186
  unsigned int d_afdlength : 7;
1187
  union u_d_ip {
1188
      uint8_t d_ip4[4];
1189
      uint8_t d_ip6[16];
1190
  } d_ip;
1191
} APLRDataElement;
1192
class APLRecordContent : public DNSRecordContent
1193
{
1194
public:
1195
1.02k
  APLRecordContent() = default;
1196
  includeboilerplate(APL)
1197
  [[nodiscard]] size_t sizeEstimate() const override
1198
0
  {
1199
0
    return sizeof(*this) + aplrdata.size() * sizeof(APLRDataElement);
1200
0
  }
1201
private:
1202
  std::vector<APLRDataElement> aplrdata;
1203
  APLRDataElement parseAPLElement(const string &element);
1204
};
1205
1206
1207
class TKEYRecordContent : public DNSRecordContent
1208
{
1209
public:
1210
  TKEYRecordContent();
1211
  includeboilerplate(TKEY)
1212
  [[nodiscard]] size_t sizeEstimate() const override
1213
0
  {
1214
0
    return sizeof(*this) + d_algo.sizeEstimate() + d_key.size() + d_other.size();
1215
0
  }
1216
1217
  // storage for the bytes
1218
  uint16_t d_othersize{0};
1219
  uint16_t d_mode{0};
1220
  uint32_t d_inception{0};
1221
  uint32_t d_expiration{0};
1222
1223
  DNSName d_algo;
1224
  string d_key;
1225
  string d_other;
1226
1227
  uint16_t d_error{0};
1228
  uint16_t d_keysize{0};
1229
private:
1230
};
1231
1232
class URIRecordContent : public DNSRecordContent {
1233
  public:
1234
    includeboilerplate(URI)
1235
  [[nodiscard]] size_t sizeEstimate() const override
1236
0
  {
1237
0
    return sizeof(*this) + d_target.size();
1238
0
  }
1239
  private:
1240
    uint16_t d_priority, d_weight;
1241
    string d_target;
1242
};
1243
1244
class CAARecordContent : public DNSRecordContent {
1245
public:
1246
  includeboilerplate(CAA)
1247
  [[nodiscard]] size_t sizeEstimate() const override
1248
0
  {
1249
0
    return sizeof(*this) + d_tag.size() + d_value.size();
1250
0
  }
1251
private:
1252
    uint8_t d_flags;
1253
    string d_tag, d_value;
1254
};
1255
1256
#define boilerplate(RNAME)                                                                         \
1257
63.3k
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
63.3k
{                                                                                                  \
1259
63.3k
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
63.3k
}                                                                                                  \
ARecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
562
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
562
{                                                                                                  \
1259
562
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
562
}                                                                                                  \
AAAARecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
951
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
951
{                                                                                                  \
1259
951
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
951
}                                                                                                  \
NSRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
810
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
810
{                                                                                                  \
1259
810
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
810
}                                                                                                  \
PTRRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
887
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
887
{                                                                                                  \
1259
887
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
887
}                                                                                                  \
CNAMERecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
1.38k
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
1.38k
{                                                                                                  \
1259
1.38k
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
1.38k
}                                                                                                  \
ALIASRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
617
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
617
{                                                                                                  \
1259
617
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
617
}                                                                                                  \
DNAMERecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
844
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
844
{                                                                                                  \
1259
844
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
844
}                                                                                                  \
MBRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
1.35k
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
1.35k
{                                                                                                  \
1259
1.35k
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
1.35k
}                                                                                                  \
MGRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
1.20k
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
1.20k
{                                                                                                  \
1259
1.20k
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
1.20k
}                                                                                                  \
MRRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
1.37k
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
1.37k
{                                                                                                  \
1259
1.37k
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
1.37k
}                                                                                                  \
MINFORecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
1.20k
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
1.20k
{                                                                                                  \
1259
1.20k
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
1.20k
}                                                                                                  \
TXTRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
1.10k
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
1.10k
{                                                                                                  \
1259
1.10k
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
1.10k
}                                                                                                  \
ENTRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
723
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
723
{                                                                                                  \
1259
723
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
723
}                                                                                                  \
SPFRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
502
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
502
{                                                                                                  \
1259
502
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
502
}                                                                                                  \
HINFORecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
1.09k
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
1.09k
{                                                                                                  \
1259
1.09k
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
1.09k
}                                                                                                  \
RPRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
1.70k
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
1.70k
{                                                                                                  \
1259
1.70k
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
1.70k
}                                                                                                  \
OPTRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
1.49k
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
1.49k
{                                                                                                  \
1259
1.49k
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
1.49k
}                                                                                                  \
TSIGRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
526
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
526
{                                                                                                  \
1259
526
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
526
}                                                                                                  \
MXRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
993
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
993
{                                                                                                  \
1259
993
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
993
}                                                                                                  \
KXRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
598
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
598
{                                                                                                  \
1259
598
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
598
}                                                                                                  \
IPSECKEYRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
1.94k
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
1.94k
{                                                                                                  \
1259
1.94k
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
1.94k
}                                                                                                  \
DHCIDRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
1.06k
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
1.06k
{                                                                                                  \
1259
1.06k
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
1.06k
}                                                                                                  \
AFSDBRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
1.37k
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
1.37k
{                                                                                                  \
1259
1.37k
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
1.37k
}                                                                                                  \
NAPTRRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
1.07k
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
1.07k
{                                                                                                  \
1259
1.07k
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
1.07k
}                                                                                                  \
SRVRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
1.00k
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
1.00k
{                                                                                                  \
1259
1.00k
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
1.00k
}                                                                                                  \
SOARecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
2.40k
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
2.40k
{                                                                                                  \
1259
2.40k
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
2.40k
}                                                                                                  \
KEYRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
1.44k
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
1.44k
{                                                                                                  \
1259
1.44k
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
1.44k
}                                                                                                  \
ZONEMDRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
1.57k
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
1.57k
{                                                                                                  \
1259
1.57k
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
1.57k
}                                                                                                  \
CERTRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
1.42k
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
1.42k
{                                                                                                  \
1259
1.42k
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
1.42k
}                                                                                                  \
TLSARecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
1.57k
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
1.57k
{                                                                                                  \
1259
1.57k
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
1.57k
}                                                                                                  \
OPENPGPKEYRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
656
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
656
{                                                                                                  \
1259
656
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
656
}                                                                                                  \
SVCBRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
2.86k
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
2.86k
{                                                                                                  \
1259
2.86k
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
2.86k
}                                                                                                  \
HTTPSRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
2.20k
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
2.20k
{                                                                                                  \
1259
2.20k
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
2.20k
}                                                                                                  \
HHITRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
494
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
494
{                                                                                                  \
1259
494
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
494
}                                                                                                  \
BRIDRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
731
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
731
{                                                                                                  \
1259
731
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
731
}                                                                                                  \
SMIMEARecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
672
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
672
{                                                                                                  \
1259
672
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
672
}                                                                                                  \
DSRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
958
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
958
{                                                                                                  \
1259
958
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
958
}                                                                                                  \
CDSRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
2.13k
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
2.13k
{                                                                                                  \
1259
2.13k
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
2.13k
}                                                                                                  \
DLVRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
827
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
827
{                                                                                                  \
1259
827
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
827
}                                                                                                  \
SSHFPRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
1.25k
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
1.25k
{                                                                                                  \
1259
1.25k
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
1.25k
}                                                                                                  \
RRSIGRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
1.97k
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
1.97k
{                                                                                                  \
1259
1.97k
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
1.97k
}                                                                                                  \
DNSKEYRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
1.23k
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
1.23k
{                                                                                                  \
1259
1.23k
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
1.23k
}                                                                                                  \
CDNSKEYRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
1.46k
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
1.46k
{                                                                                                  \
1259
1.46k
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
1.46k
}                                                                                                  \
RKEYRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
1.33k
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
1.33k
{                                                                                                  \
1259
1.33k
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
1.33k
}                                                                                                  \
NIDRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
1.03k
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
1.03k
{                                                                                                  \
1259
1.03k
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
1.03k
}                                                                                                  \
L32RecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
747
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
747
{                                                                                                  \
1259
747
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
747
}                                                                                                  \
L64RecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
1.05k
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
1.05k
{                                                                                                  \
1259
1.05k
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
1.05k
}                                                                                                  \
LPRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
616
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
616
{                                                                                                  \
1259
616
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
616
}                                                                                                  \
TKEYRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
2.01k
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
2.01k
{                                                                                                  \
1259
2.01k
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
2.01k
}                                                                                                  \
URIRecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
1.43k
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
1.43k
{                                                                                                  \
1259
1.43k
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
1.43k
}                                                                                                  \
CAARecordContent::make(DNSRecord const&, PacketReader&)
Line
Count
Source
1257
2.79k
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
1258
2.79k
{                                                                                                  \
1259
2.79k
  return std::make_shared<RNAME##RecordContent>(dr, pr);                                           \
1260
2.79k
}                                                                                                  \
1261
                                                                                                   \
1262
63.3k
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
63.3k
{                                                                                                  \
1264
63.3k
  doRecordCheck(dr);                                                                               \
1265
63.3k
  xfrPacket(pr);                                                                                   \
1266
63.3k
}                                                                                                  \
ARecordContent::ARecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
562
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
562
{                                                                                                  \
1264
562
  doRecordCheck(dr);                                                                               \
1265
562
  xfrPacket(pr);                                                                                   \
1266
562
}                                                                                                  \
AAAARecordContent::AAAARecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
951
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
951
{                                                                                                  \
1264
951
  doRecordCheck(dr);                                                                               \
1265
951
  xfrPacket(pr);                                                                                   \
1266
951
}                                                                                                  \
NSRecordContent::NSRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
810
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
810
{                                                                                                  \
1264
810
  doRecordCheck(dr);                                                                               \
1265
810
  xfrPacket(pr);                                                                                   \
1266
810
}                                                                                                  \
PTRRecordContent::PTRRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
887
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
887
{                                                                                                  \
1264
887
  doRecordCheck(dr);                                                                               \
1265
887
  xfrPacket(pr);                                                                                   \
1266
887
}                                                                                                  \
CNAMERecordContent::CNAMERecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
1.38k
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
1.38k
{                                                                                                  \
1264
1.38k
  doRecordCheck(dr);                                                                               \
1265
1.38k
  xfrPacket(pr);                                                                                   \
1266
1.38k
}                                                                                                  \
ALIASRecordContent::ALIASRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
617
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
617
{                                                                                                  \
1264
617
  doRecordCheck(dr);                                                                               \
1265
617
  xfrPacket(pr);                                                                                   \
1266
617
}                                                                                                  \
DNAMERecordContent::DNAMERecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
844
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
844
{                                                                                                  \
1264
844
  doRecordCheck(dr);                                                                               \
1265
844
  xfrPacket(pr);                                                                                   \
1266
844
}                                                                                                  \
MBRecordContent::MBRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
1.35k
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
1.35k
{                                                                                                  \
1264
1.35k
  doRecordCheck(dr);                                                                               \
1265
1.35k
  xfrPacket(pr);                                                                                   \
1266
1.35k
}                                                                                                  \
MGRecordContent::MGRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
1.20k
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
1.20k
{                                                                                                  \
1264
1.20k
  doRecordCheck(dr);                                                                               \
1265
1.20k
  xfrPacket(pr);                                                                                   \
1266
1.20k
}                                                                                                  \
MRRecordContent::MRRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
1.37k
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
1.37k
{                                                                                                  \
1264
1.37k
  doRecordCheck(dr);                                                                               \
1265
1.37k
  xfrPacket(pr);                                                                                   \
1266
1.37k
}                                                                                                  \
MINFORecordContent::MINFORecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
1.20k
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
1.20k
{                                                                                                  \
1264
1.20k
  doRecordCheck(dr);                                                                               \
1265
1.20k
  xfrPacket(pr);                                                                                   \
1266
1.20k
}                                                                                                  \
TXTRecordContent::TXTRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
1.10k
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
1.10k
{                                                                                                  \
1264
1.10k
  doRecordCheck(dr);                                                                               \
1265
1.10k
  xfrPacket(pr);                                                                                   \
1266
1.10k
}                                                                                                  \
ENTRecordContent::ENTRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
723
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
723
{                                                                                                  \
1264
723
  doRecordCheck(dr);                                                                               \
1265
723
  xfrPacket(pr);                                                                                   \
1266
723
}                                                                                                  \
SPFRecordContent::SPFRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
502
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
502
{                                                                                                  \
1264
502
  doRecordCheck(dr);                                                                               \
1265
502
  xfrPacket(pr);                                                                                   \
1266
502
}                                                                                                  \
HINFORecordContent::HINFORecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
1.09k
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
1.09k
{                                                                                                  \
1264
1.09k
  doRecordCheck(dr);                                                                               \
1265
1.09k
  xfrPacket(pr);                                                                                   \
1266
1.09k
}                                                                                                  \
RPRecordContent::RPRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
1.70k
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
1.70k
{                                                                                                  \
1264
1.70k
  doRecordCheck(dr);                                                                               \
1265
1.70k
  xfrPacket(pr);                                                                                   \
1266
1.70k
}                                                                                                  \
OPTRecordContent::OPTRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
1.49k
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
1.49k
{                                                                                                  \
1264
1.49k
  doRecordCheck(dr);                                                                               \
1265
1.49k
  xfrPacket(pr);                                                                                   \
1266
1.49k
}                                                                                                  \
TSIGRecordContent::TSIGRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
526
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
526
{                                                                                                  \
1264
526
  doRecordCheck(dr);                                                                               \
1265
526
  xfrPacket(pr);                                                                                   \
1266
526
}                                                                                                  \
MXRecordContent::MXRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
993
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
993
{                                                                                                  \
1264
993
  doRecordCheck(dr);                                                                               \
1265
993
  xfrPacket(pr);                                                                                   \
1266
993
}                                                                                                  \
KXRecordContent::KXRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
598
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
598
{                                                                                                  \
1264
598
  doRecordCheck(dr);                                                                               \
1265
598
  xfrPacket(pr);                                                                                   \
1266
598
}                                                                                                  \
IPSECKEYRecordContent::IPSECKEYRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
1.94k
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
1.94k
{                                                                                                  \
1264
1.94k
  doRecordCheck(dr);                                                                               \
1265
1.94k
  xfrPacket(pr);                                                                                   \
1266
1.94k
}                                                                                                  \
DHCIDRecordContent::DHCIDRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
1.06k
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
1.06k
{                                                                                                  \
1264
1.06k
  doRecordCheck(dr);                                                                               \
1265
1.06k
  xfrPacket(pr);                                                                                   \
1266
1.06k
}                                                                                                  \
AFSDBRecordContent::AFSDBRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
1.37k
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
1.37k
{                                                                                                  \
1264
1.37k
  doRecordCheck(dr);                                                                               \
1265
1.37k
  xfrPacket(pr);                                                                                   \
1266
1.37k
}                                                                                                  \
NAPTRRecordContent::NAPTRRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
1.07k
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
1.07k
{                                                                                                  \
1264
1.07k
  doRecordCheck(dr);                                                                               \
1265
1.07k
  xfrPacket(pr);                                                                                   \
1266
1.07k
}                                                                                                  \
SRVRecordContent::SRVRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
1.00k
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
1.00k
{                                                                                                  \
1264
1.00k
  doRecordCheck(dr);                                                                               \
1265
1.00k
  xfrPacket(pr);                                                                                   \
1266
1.00k
}                                                                                                  \
SOARecordContent::SOARecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
2.40k
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
2.40k
{                                                                                                  \
1264
2.40k
  doRecordCheck(dr);                                                                               \
1265
2.40k
  xfrPacket(pr);                                                                                   \
1266
2.40k
}                                                                                                  \
KEYRecordContent::KEYRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
1.44k
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
1.44k
{                                                                                                  \
1264
1.44k
  doRecordCheck(dr);                                                                               \
1265
1.44k
  xfrPacket(pr);                                                                                   \
1266
1.44k
}                                                                                                  \
ZONEMDRecordContent::ZONEMDRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
1.57k
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
1.57k
{                                                                                                  \
1264
1.57k
  doRecordCheck(dr);                                                                               \
1265
1.57k
  xfrPacket(pr);                                                                                   \
1266
1.57k
}                                                                                                  \
CERTRecordContent::CERTRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
1.42k
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
1.42k
{                                                                                                  \
1264
1.42k
  doRecordCheck(dr);                                                                               \
1265
1.42k
  xfrPacket(pr);                                                                                   \
1266
1.42k
}                                                                                                  \
TLSARecordContent::TLSARecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
1.57k
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
1.57k
{                                                                                                  \
1264
1.57k
  doRecordCheck(dr);                                                                               \
1265
1.57k
  xfrPacket(pr);                                                                                   \
1266
1.57k
}                                                                                                  \
OPENPGPKEYRecordContent::OPENPGPKEYRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
656
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
656
{                                                                                                  \
1264
656
  doRecordCheck(dr);                                                                               \
1265
656
  xfrPacket(pr);                                                                                   \
1266
656
}                                                                                                  \
SVCBRecordContent::SVCBRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
2.86k
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
2.86k
{                                                                                                  \
1264
2.86k
  doRecordCheck(dr);                                                                               \
1265
2.86k
  xfrPacket(pr);                                                                                   \
1266
2.86k
}                                                                                                  \
HTTPSRecordContent::HTTPSRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
2.20k
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
2.20k
{                                                                                                  \
1264
2.20k
  doRecordCheck(dr);                                                                               \
1265
2.20k
  xfrPacket(pr);                                                                                   \
1266
2.20k
}                                                                                                  \
HHITRecordContent::HHITRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
494
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
494
{                                                                                                  \
1264
494
  doRecordCheck(dr);                                                                               \
1265
494
  xfrPacket(pr);                                                                                   \
1266
494
}                                                                                                  \
BRIDRecordContent::BRIDRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
731
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
731
{                                                                                                  \
1264
731
  doRecordCheck(dr);                                                                               \
1265
731
  xfrPacket(pr);                                                                                   \
1266
731
}                                                                                                  \
SMIMEARecordContent::SMIMEARecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
672
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
672
{                                                                                                  \
1264
672
  doRecordCheck(dr);                                                                               \
1265
672
  xfrPacket(pr);                                                                                   \
1266
672
}                                                                                                  \
DSRecordContent::DSRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
958
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
958
{                                                                                                  \
1264
958
  doRecordCheck(dr);                                                                               \
1265
958
  xfrPacket(pr);                                                                                   \
1266
958
}                                                                                                  \
CDSRecordContent::CDSRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
2.13k
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
2.13k
{                                                                                                  \
1264
2.13k
  doRecordCheck(dr);                                                                               \
1265
2.13k
  xfrPacket(pr);                                                                                   \
1266
2.13k
}                                                                                                  \
DLVRecordContent::DLVRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
827
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
827
{                                                                                                  \
1264
827
  doRecordCheck(dr);                                                                               \
1265
827
  xfrPacket(pr);                                                                                   \
1266
827
}                                                                                                  \
SSHFPRecordContent::SSHFPRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
1.25k
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
1.25k
{                                                                                                  \
1264
1.25k
  doRecordCheck(dr);                                                                               \
1265
1.25k
  xfrPacket(pr);                                                                                   \
1266
1.25k
}                                                                                                  \
RRSIGRecordContent::RRSIGRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
1.97k
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
1.97k
{                                                                                                  \
1264
1.97k
  doRecordCheck(dr);                                                                               \
1265
1.97k
  xfrPacket(pr);                                                                                   \
1266
1.97k
}                                                                                                  \
DNSKEYRecordContent::DNSKEYRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
1.23k
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
1.23k
{                                                                                                  \
1264
1.23k
  doRecordCheck(dr);                                                                               \
1265
1.23k
  xfrPacket(pr);                                                                                   \
1266
1.23k
}                                                                                                  \
CDNSKEYRecordContent::CDNSKEYRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
1.46k
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
1.46k
{                                                                                                  \
1264
1.46k
  doRecordCheck(dr);                                                                               \
1265
1.46k
  xfrPacket(pr);                                                                                   \
1266
1.46k
}                                                                                                  \
RKEYRecordContent::RKEYRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
1.33k
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
1.33k
{                                                                                                  \
1264
1.33k
  doRecordCheck(dr);                                                                               \
1265
1.33k
  xfrPacket(pr);                                                                                   \
1266
1.33k
}                                                                                                  \
NIDRecordContent::NIDRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
1.03k
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
1.03k
{                                                                                                  \
1264
1.03k
  doRecordCheck(dr);                                                                               \
1265
1.03k
  xfrPacket(pr);                                                                                   \
1266
1.03k
}                                                                                                  \
L32RecordContent::L32RecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
747
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
747
{                                                                                                  \
1264
747
  doRecordCheck(dr);                                                                               \
1265
747
  xfrPacket(pr);                                                                                   \
1266
747
}                                                                                                  \
L64RecordContent::L64RecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
1.05k
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
1.05k
{                                                                                                  \
1264
1.05k
  doRecordCheck(dr);                                                                               \
1265
1.05k
  xfrPacket(pr);                                                                                   \
1266
1.05k
}                                                                                                  \
LPRecordContent::LPRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
616
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
616
{                                                                                                  \
1264
616
  doRecordCheck(dr);                                                                               \
1265
616
  xfrPacket(pr);                                                                                   \
1266
616
}                                                                                                  \
TKEYRecordContent::TKEYRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
2.01k
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
2.01k
{                                                                                                  \
1264
2.01k
  doRecordCheck(dr);                                                                               \
1265
2.01k
  xfrPacket(pr);                                                                                   \
1266
2.01k
}                                                                                                  \
URIRecordContent::URIRecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
1.43k
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
1.43k
{                                                                                                  \
1264
1.43k
  doRecordCheck(dr);                                                                               \
1265
1.43k
  xfrPacket(pr);                                                                                   \
1266
1.43k
}                                                                                                  \
CAARecordContent::CAARecordContent(DNSRecord const&, PacketReader&)
Line
Count
Source
1262
2.79k
RNAME##RecordContent::RNAME##RecordContent(const DNSRecord& dr, PacketReader& pr)                  \
1263
2.79k
{                                                                                                  \
1264
2.79k
  doRecordCheck(dr);                                                                               \
1265
2.79k
  xfrPacket(pr);                                                                                   \
1266
2.79k
}                                                                                                  \
1267
                                                                                                   \
1268
0
std::shared_ptr<RNAME##RecordContent::DNSRecordContent> RNAME##RecordContent::make(const string& zonedata)         \
1269
0
{                                                                                                  \
1270
0
  return std::make_shared<RNAME##RecordContent>(zonedata);                                         \
1271
0
}                                                                                                  \
Unexecuted instantiation: ARecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: AAAARecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: NSRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: PTRRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: CNAMERecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: ALIASRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: DNAMERecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: MBRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: MGRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: MRRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: MINFORecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: TXTRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: ENTRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: SPFRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: HINFORecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: RPRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: OPTRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: TSIGRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: MXRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: KXRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: IPSECKEYRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: DHCIDRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: AFSDBRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: NAPTRRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: SRVRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: SOARecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: KEYRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: ZONEMDRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: CERTRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: TLSARecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: OPENPGPKEYRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: SVCBRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: HTTPSRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: HHITRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: BRIDRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: SMIMEARecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: DSRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: CDSRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: DLVRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: SSHFPRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: RRSIGRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: DNSKEYRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: CDNSKEYRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: RKEYRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: NIDRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: L32RecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: L64RecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: LPRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: TKEYRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: URIRecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: CAARecordContent::make(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
1272
                                                                                                   \
1273
0
void RNAME##RecordContent::toPacket(DNSPacketWriter& pw) const                                     \
1274
0
{                                                                                                  \
1275
0
  this->xfrPacket(pw);                                                                             \
1276
0
}                                                                                                  \
Unexecuted instantiation: ARecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: AAAARecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: NSRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: PTRRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: CNAMERecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: ALIASRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: DNAMERecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: MBRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: MGRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: MRRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: MINFORecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: TXTRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: ENTRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: SPFRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: HINFORecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: RPRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: OPTRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: TSIGRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: MXRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: KXRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: IPSECKEYRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: DHCIDRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: AFSDBRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: NAPTRRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: SRVRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: SOARecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: KEYRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: ZONEMDRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: CERTRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: TLSARecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: OPENPGPKEYRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: SVCBRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: HTTPSRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: HHITRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: BRIDRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: SMIMEARecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: DSRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: CDSRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: DLVRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: SSHFPRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: RRSIGRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: DNSKEYRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: CDNSKEYRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: RKEYRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: NIDRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: L32RecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: L64RecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: LPRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: TKEYRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: URIRecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
Unexecuted instantiation: CAARecordContent::toPacket(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&) const
1277
                                                                                                   \
1278
98
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
98
{                                                                                                  \
1280
98
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
98
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
98
}                                                                                                  \
ARecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
AAAARecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
NSRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
PTRRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
CNAMERecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
ALIASRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
DNAMERecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
MBRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
MGRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
MRRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
MINFORecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
TXTRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
ENTRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
SPFRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
HINFORecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
RPRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
OPTRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
Unexecuted instantiation: TSIGRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
MXRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
KXRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
IPSECKEYRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
DHCIDRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
AFSDBRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
NAPTRRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
SRVRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
SOARecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
KEYRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
ZONEMDRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
CERTRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
TLSARecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
OPENPGPKEYRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
SVCBRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
HTTPSRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
HHITRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
BRIDRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
SMIMEARecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
DSRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
CDSRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
DLVRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
SSHFPRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
RRSIGRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
DNSKEYRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
CDNSKEYRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
RKEYRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
NIDRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
L32RecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
L64RecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
LPRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
Unexecuted instantiation: TKEYRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
URIRecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
CAARecordContent::report(ReportIsOnlyCallableByReportAllTypes const&)
Line
Count
Source
1278
2
void RNAME##RecordContent::report(const ReportIsOnlyCallableByReportAllTypes& /* unused */)        \
1279
2
{                                                                                                  \
1280
2
  regist(1, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);       \
1281
2
  regist(254, QType::RNAME, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);     \
1282
2
}                                                                                                  \
1283
                                                                                                   \
1284
0
RNAME##RecordContent::RNAME##RecordContent(const string& zoneData)                                 \
1285
0
{                                                                                                  \
1286
0
  try {                                                                                            \
1287
0
    RecordTextReader rtr(zoneData);                                                                \
1288
0
    xfrPacket(rtr);                                                                                \
1289
0
  }                                                                                                \
1290
0
  catch(RecordTextException& rte) {                                                                \
1291
0
    throw MOADNSException("Parsing record content (try 'pdnsutil zone check'): "+string(rte.what()));  \
1292
0
  }                                                                                                \
1293
0
}                                                                                                  \
Unexecuted instantiation: ARecordContent::ARecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: AAAARecordContent::AAAARecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: NSRecordContent::NSRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: PTRRecordContent::PTRRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: CNAMERecordContent::CNAMERecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: ALIASRecordContent::ALIASRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: DNAMERecordContent::DNAMERecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: MBRecordContent::MBRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: MGRecordContent::MGRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: MRRecordContent::MRRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: MINFORecordContent::MINFORecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: TXTRecordContent::TXTRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: ENTRecordContent::ENTRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: SPFRecordContent::SPFRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: HINFORecordContent::HINFORecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: RPRecordContent::RPRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: OPTRecordContent::OPTRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: TSIGRecordContent::TSIGRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: MXRecordContent::MXRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: KXRecordContent::KXRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: IPSECKEYRecordContent::IPSECKEYRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: DHCIDRecordContent::DHCIDRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: AFSDBRecordContent::AFSDBRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: NAPTRRecordContent::NAPTRRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: SRVRecordContent::SRVRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: SOARecordContent::SOARecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: KEYRecordContent::KEYRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: ZONEMDRecordContent::ZONEMDRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: CERTRecordContent::CERTRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: TLSARecordContent::TLSARecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: OPENPGPKEYRecordContent::OPENPGPKEYRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: SVCBRecordContent::SVCBRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: HTTPSRecordContent::HTTPSRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: HHITRecordContent::HHITRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: BRIDRecordContent::BRIDRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: SMIMEARecordContent::SMIMEARecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: DSRecordContent::DSRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: CDSRecordContent::CDSRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: DLVRecordContent::DLVRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: SSHFPRecordContent::SSHFPRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: RRSIGRecordContent::RRSIGRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: DNSKEYRecordContent::DNSKEYRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: CDNSKEYRecordContent::CDNSKEYRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: RKEYRecordContent::RKEYRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: NIDRecordContent::NIDRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: L32RecordContent::L32RecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: L64RecordContent::L64RecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: LPRecordContent::LPRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: TKEYRecordContent::TKEYRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: URIRecordContent::URIRecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: CAARecordContent::CAARecordContent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
1294
                                                                                                   \
1295
0
string RNAME##RecordContent::getZoneRepresentation(bool noDot) const                               \
1296
0
{                                                                                                  \
1297
0
  string ret;                                                                                      \
1298
0
  RecordTextWriter rtw(ret, noDot);                                                                       \
1299
0
  const_cast<RNAME##RecordContent*>(this)->xfrPacket(rtw);                                         \
1300
0
  return ret;                                                                                      \
1301
0
}
Unexecuted instantiation: ARecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: AAAARecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: NSRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: PTRRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: CNAMERecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: ALIASRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: DNAMERecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: MBRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: MGRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: MRRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: MINFORecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: TXTRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: ENTRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: SPFRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: HINFORecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: RPRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: OPTRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: TSIGRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: MXRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: KXRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: IPSECKEYRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: DHCIDRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: AFSDBRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: NAPTRRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: SRVRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: SOARecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: KEYRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: ZONEMDRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: CERTRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: TLSARecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: OPENPGPKEYRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: SVCBRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: HTTPSRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: HHITRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: BRIDRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: SMIMEARecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: DSRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: CDSRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: DLVRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: SSHFPRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: RRSIGRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: DNSKEYRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: CDNSKEYRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: RKEYRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: NIDRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: L32RecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: L64RecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: LPRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: TKEYRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: URIRecordContent::getZoneRepresentation(bool) const
Unexecuted instantiation: CAARecordContent::getZoneRepresentation(bool) const
1302
1303
1304
#define boilerplate_conv(RNAME, CONV)                                   \
1305
boilerplate(RNAME)                                                      \
1306
template<class Convertor>                                               \
1307
63.3k
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
63.3k
{                                                                       \
1309
63.3k
  CONV;                                                                 \
1310
63.2k
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
1.89k
}                                                                       \
void ARecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
541
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
541
{                                                                       \
1309
541
  CONV;                                                                 \
1310
541
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
541
}                                                                       \
Unexecuted instantiation: void ARecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void ARecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void AAAARecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
951
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
951
{                                                                       \
1309
951
  CONV;                                                                 \
1310
951
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
951
}                                                                       \
Unexecuted instantiation: void AAAARecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void AAAARecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void NSRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
810
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
810
{                                                                       \
1309
810
  CONV;                                                                 \
1310
810
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
810
}                                                                       \
Unexecuted instantiation: void NSRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void NSRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void PTRRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
887
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
887
{                                                                       \
1309
887
  CONV;                                                                 \
1310
887
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
887
}                                                                       \
Unexecuted instantiation: void PTRRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void PTRRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void CNAMERecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
1.38k
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
1.38k
{                                                                       \
1309
1.38k
  CONV;                                                                 \
1310
1.38k
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
1.38k
}                                                                       \
Unexecuted instantiation: void CNAMERecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void CNAMERecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void ALIASRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
617
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
617
{                                                                       \
1309
617
  CONV;                                                                 \
1310
617
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
617
}                                                                       \
Unexecuted instantiation: void ALIASRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void ALIASRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void DNAMERecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
844
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
844
{                                                                       \
1309
844
  CONV;                                                                 \
1310
844
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
844
}                                                                       \
Unexecuted instantiation: void DNAMERecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void DNAMERecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void MBRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
1.35k
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
1.35k
{                                                                       \
1309
1.35k
  CONV;                                                                 \
1310
1.35k
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
1.35k
}                                                                       \
Unexecuted instantiation: void MBRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void MBRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void MGRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
1.20k
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
1.20k
{                                                                       \
1309
1.20k
  CONV;                                                                 \
1310
1.20k
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
1.20k
}                                                                       \
Unexecuted instantiation: void MGRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void MGRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void MRRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
1.37k
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
1.37k
{                                                                       \
1309
1.37k
  CONV;                                                                 \
1310
1.37k
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
1.37k
}                                                                       \
Unexecuted instantiation: void MRRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void MRRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void MINFORecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
1.20k
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
1.20k
{                                                                       \
1309
1.20k
  CONV;                                                                 \
1310
1.20k
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
1.20k
}                                                                       \
Unexecuted instantiation: void MINFORecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void MINFORecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void TXTRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
1.10k
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
1.10k
{                                                                       \
1309
1.10k
  CONV;                                                                 \
1310
1.10k
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
1.10k
}                                                                       \
Unexecuted instantiation: void TXTRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void TXTRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void ENTRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
723
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
723
{                                                                       \
1309
723
  CONV;                                                                 \
1310
723
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
723
}                                                                       \
Unexecuted instantiation: void ENTRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void ENTRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void SPFRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
502
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
502
{                                                                       \
1309
502
  CONV;                                                                 \
1310
502
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
502
}                                                                       \
Unexecuted instantiation: void SPFRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void SPFRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void HINFORecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
1.09k
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
1.09k
{                                                                       \
1309
1.09k
  CONV;                                                                 \
1310
1.09k
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
1.09k
}                                                                       \
Unexecuted instantiation: void HINFORecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void HINFORecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void RPRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
1.70k
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
1.70k
{                                                                       \
1309
1.70k
  CONV;                                                                 \
1310
1.70k
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
1.70k
}                                                                       \
Unexecuted instantiation: void RPRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void RPRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void OPTRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
1.49k
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
1.49k
{                                                                       \
1309
1.49k
  CONV;                                                                 \
1310
1.49k
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
1.49k
}                                                                       \
Unexecuted instantiation: void OPTRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void OPTRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void TSIGRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
526
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
526
{                                                                       \
1309
1.31k
  CONV;                                                                 \
1310
526
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
526
}                                                                       \
Unexecuted instantiation: void TSIGRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void TSIGRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void MXRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
993
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
993
{                                                                       \
1309
993
  CONV;                                                                 \
1310
993
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
993
}                                                                       \
Unexecuted instantiation: void MXRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void MXRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void KXRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
598
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
598
{                                                                       \
1309
598
  CONV;                                                                 \
1310
598
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
598
}                                                                       \
Unexecuted instantiation: void KXRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void KXRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void IPSECKEYRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
1.94k
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
1.94k
{                                                                       \
1309
2.59k
  CONV;                                                                 \
1310
1.89k
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
1.89k
}                                                                       \
Unexecuted instantiation: void IPSECKEYRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void IPSECKEYRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void DHCIDRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
1.06k
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
1.06k
{                                                                       \
1309
1.06k
  CONV;                                                                 \
1310
1.06k
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
1.06k
}                                                                       \
Unexecuted instantiation: void DHCIDRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void DHCIDRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void AFSDBRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
1.37k
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
1.37k
{                                                                       \
1309
1.37k
  CONV;                                                                 \
1310
1.37k
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
1.37k
}                                                                       \
Unexecuted instantiation: void AFSDBRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void AFSDBRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void NAPTRRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
1.07k
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
1.07k
{                                                                       \
1309
1.07k
  CONV;                                                                 \
1310
1.07k
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
1.07k
}                                                                       \
Unexecuted instantiation: void NAPTRRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void NAPTRRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void SRVRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
1.00k
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
1.00k
{                                                                       \
1309
1.00k
  CONV;                                                                 \
1310
1.00k
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
1.00k
}                                                                       \
Unexecuted instantiation: void SRVRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void SRVRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void SOARecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
2.40k
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
2.40k
{                                                                       \
1309
2.40k
  CONV;                                                                 \
1310
2.40k
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
2.40k
}                                                                       \
Unexecuted instantiation: void SOARecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void SOARecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void KEYRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
1.44k
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
1.44k
{                                                                       \
1309
1.44k
  CONV;                                                                 \
1310
1.44k
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
1.44k
}                                                                       \
Unexecuted instantiation: void KEYRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void KEYRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void ZONEMDRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
1.57k
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
1.57k
{                                                                       \
1309
1.57k
  CONV;                                                                 \
1310
1.57k
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
1.57k
}                                                                       \
Unexecuted instantiation: void ZONEMDRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void ZONEMDRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void CERTRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
1.42k
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
1.42k
{                                                                       \
1309
1.42k
  CONV;                                                                 \
1310
1.41k
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
1.41k
}                                                                       \
Unexecuted instantiation: void CERTRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void CERTRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void TLSARecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
1.57k
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
1.57k
{                                                                       \
1309
1.57k
  CONV;                                                                 \
1310
1.57k
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
1.57k
}                                                                       \
Unexecuted instantiation: void TLSARecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void TLSARecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void OPENPGPKEYRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
656
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
656
{                                                                       \
1309
656
  CONV;                                                                 \
1310
656
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
656
}                                                                       \
Unexecuted instantiation: void OPENPGPKEYRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void OPENPGPKEYRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void SVCBRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
2.86k
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
2.86k
{                                                                       \
1309
5.12k
  CONV;                                                                 \
1310
2.86k
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
2.86k
}                                                                       \
Unexecuted instantiation: void SVCBRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void SVCBRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void HTTPSRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
2.20k
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
2.20k
{                                                                       \
1309
3.53k
  CONV;                                                                 \
1310
2.20k
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
2.20k
}                                                                       \
Unexecuted instantiation: void HTTPSRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void HTTPSRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void HHITRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
494
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
494
{                                                                       \
1309
494
  CONV;                                                                 \
1310
494
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
494
}                                                                       \
Unexecuted instantiation: void HHITRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void HHITRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void BRIDRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
731
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
731
{                                                                       \
1309
731
  CONV;                                                                 \
1310
731
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
731
}                                                                       \
Unexecuted instantiation: void BRIDRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void BRIDRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void SMIMEARecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
672
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
672
{                                                                       \
1309
672
  CONV;                                                                 \
1310
672
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
672
}                                                                       \
Unexecuted instantiation: void SMIMEARecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void SMIMEARecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void DSRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
958
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
958
{                                                                       \
1309
958
  CONV;                                                                 \
1310
958
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
958
}                                                                       \
Unexecuted instantiation: void DSRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void DSRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void CDSRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
2.13k
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
2.13k
{                                                                       \
1309
2.13k
  CONV;                                                                 \
1310
2.13k
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
2.13k
}                                                                       \
Unexecuted instantiation: void CDSRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void CDSRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void DLVRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
827
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
827
{                                                                       \
1309
827
  CONV;                                                                 \
1310
827
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
827
}                                                                       \
Unexecuted instantiation: void DLVRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void DLVRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void SSHFPRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
1.25k
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
1.25k
{                                                                       \
1309
1.25k
  CONV;                                                                 \
1310
1.25k
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
1.25k
}                                                                       \
Unexecuted instantiation: void SSHFPRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void SSHFPRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void RRSIGRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
1.97k
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
1.97k
{                                                                       \
1309
1.97k
  CONV;                                                                 \
1310
1.97k
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
1.97k
}                                                                       \
Unexecuted instantiation: void RRSIGRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void RRSIGRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void DNSKEYRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
1.23k
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
1.23k
{                                                                       \
1309
1.23k
  CONV;                                                                 \
1310
1.23k
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
1.23k
}                                                                       \
Unexecuted instantiation: void DNSKEYRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void DNSKEYRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void CDNSKEYRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
1.46k
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
1.46k
{                                                                       \
1309
1.46k
  CONV;                                                                 \
1310
1.46k
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
1.46k
}                                                                       \
Unexecuted instantiation: void CDNSKEYRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void CDNSKEYRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void RKEYRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
1.33k
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
1.33k
{                                                                       \
1309
1.33k
  CONV;                                                                 \
1310
1.33k
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
1.33k
}                                                                       \
Unexecuted instantiation: void RKEYRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void RKEYRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void NIDRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
1.03k
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
1.03k
{                                                                       \
1309
1.03k
  CONV;                                                                 \
1310
1.03k
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
1.03k
}                                                                       \
Unexecuted instantiation: void NIDRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void NIDRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void L32RecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
747
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
747
{                                                                       \
1309
747
  CONV;                                                                 \
1310
747
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
747
}                                                                       \
Unexecuted instantiation: void L32RecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void L32RecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void L64RecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
1.05k
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
1.05k
{                                                                       \
1309
1.05k
  CONV;                                                                 \
1310
1.05k
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
1.05k
}                                                                       \
Unexecuted instantiation: void L64RecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void L64RecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void LPRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
616
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
616
{                                                                       \
1309
616
  CONV;                                                                 \
1310
616
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
616
}                                                                       \
Unexecuted instantiation: void LPRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void LPRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void TKEYRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
2.01k
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
2.01k
{                                                                       \
1309
5.90k
  CONV;                                                                 \
1310
2.01k
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
2.01k
}                                                                       \
Unexecuted instantiation: void TKEYRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void TKEYRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void URIRecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
1.43k
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
1.43k
{                                                                       \
1309
1.43k
  CONV;                                                                 \
1310
1.43k
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
1.43k
}                                                                       \
Unexecuted instantiation: void URIRecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void URIRecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
void CAARecordContent::xfrPacket<PacketReader>(PacketReader&, bool)
Line
Count
Source
1307
2.79k
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) \
1308
2.79k
{                                                                       \
1309
2.79k
  CONV;                                                                 \
1310
2.79k
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1311
2.79k
}                                                                       \
Unexecuted instantiation: void CAARecordContent::xfrPacket<RecordTextReader>(RecordTextReader&, bool)
Unexecuted instantiation: void CAARecordContent::xfrPacket<RecordTextWriter>(RecordTextWriter&, bool)
1312
template<class Convertor>                                               \
1313
0
void RNAME##RecordContent::xfrPacket(Convertor& conv, bool /* noDot */) const \
1314
0
{                                                                       \
1315
0
  CONV;                                                                 \
1316
0
  if (conv.eof() == false) throw MOADNSException("When parsing " #RNAME " trailing data was not parsed: '" + conv.getRemaining() + "'"); \
1317
0
}                                                                       \
Unexecuted instantiation: void ARecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void AAAARecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void NSRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void PTRRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void CNAMERecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void ALIASRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void DNAMERecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void MBRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void MGRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void MRRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void MINFORecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void TXTRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void ENTRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void SPFRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void HINFORecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void RPRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void OPTRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void TSIGRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void MXRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void KXRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void IPSECKEYRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void DHCIDRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void AFSDBRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void NAPTRRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void SRVRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void SOARecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void KEYRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void ZONEMDRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void CERTRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void TLSARecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void OPENPGPKEYRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void SVCBRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void HTTPSRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void HHITRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void BRIDRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void SMIMEARecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void DSRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void CDSRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void DLVRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void SSHFPRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void RRSIGRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void DNSKEYRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void CDNSKEYRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void RKEYRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void NIDRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void L32RecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void L64RecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void LPRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void TKEYRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void URIRecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
Unexecuted instantiation: void CAARecordContent::xfrPacket<GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >(GenericDNSPacketWriter<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >&, bool) const
1318
1319
struct EDNSOpts
1320
{
1321
  enum zFlags { DNSSECOK=32768 };
1322
  vector<pair<uint16_t, string> > d_options;
1323
  uint16_t d_packetsize{0};
1324
  uint16_t d_extFlags{0};
1325
  uint8_t d_extRCode, d_version;
1326
1327
  [[nodiscard]] vector<pair<uint16_t, string>>::const_iterator getFirstOption(uint16_t optionCode) const;
1328
  [[nodiscard]] uint16_t getCombinedERCode(uint8_t rcode) const
1329
0
  {
1330
0
    return (static_cast<uint16_t>(d_extRCode) << 4) | rcode;
1331
0
  }
1332
};
1333
//! Convenience function that fills out EDNS0 options, and returns true if there are any
1334
1335
class MOADNSParser;
1336
bool getEDNSOpts(const MOADNSParser& mdp, EDNSOpts* eo);
1337
void reportAllTypes();
1338
ComboAddress getAddr(const DNSRecord& dr, uint16_t defport=0);
1339
void checkHostnameCorrectness(const DNSResourceRecord& rr, bool allowUnderscore = false);