42 #ifndef _DWMDNSRRDATANSEC3_HH_ 43 #define _DWMDNSRRDATANSEC3_HH_ 64 static const uint16_t k_rrtype = 50;
76 RRDataNSEC3(uint8_t hashAlgorithm, uint8_t flags, uint16_t iterations,
77 const std::string & salt,
78 const std::string & hashedOwnerName,
79 const std::vector<NSECBitmap> & bitmaps);
99 uint8_t
Flags()
const;
104 uint8_t
Flags(uint8_t flags);
119 const std::string &
Salt()
const;
124 const std::string &
Salt(
const std::string & salt);
134 const std::string &
HashedOwnerName(
const std::string & hashedOwnerName);
139 const std::vector<NSECBitmap> &
Bitmaps()
const;
144 const std::vector<NSECBitmap> &
145 Bitmaps(
const std::vector<NSECBitmap> & bitmaps);
154 uint8_t *
Encode(uint8_t *pkt, uint8_t *ptr, uint16_t pktlen,
164 const uint8_t *
Decode(
const uint8_t *pkt,
const uint8_t *ptr,
165 uint16_t pktlen, uint16_t rdlen);
171 friend std::ostream &
operator << (std::ostream & os,
175 uint8_t _hashAlgorithm;
177 uint16_t _iterations;
179 std::string _hashedOwnerName;
180 std::vector<NSECBitmap> _bitmaps;
187 #endif // _DWMDNSRRDATANSEC3_HH_ const uint8_t * Decode(const uint8_t *pkt, const uint8_t *ptr, uint16_t pktlen, uint16_t rdlen)
Decodes the NSEC3 resource record data from buffer pkt of length pktlen, starting at ptr...
uint16_t Iterations() const
Returns the contained iterations.
Encapsulates NSEC3 resource record data.
Definition: DwmDnsRRDataNSEC3.hh:60
const std::vector< NSECBitmap > & Bitmaps() const
Returns the contained bitmaps.
RRDataNSEC3()
Construct with empty salt, empty hashed owner name and empty bitmaps.
uint8_t HashAlgorithm() const
Returns the contained hash algorithm.
Dwm::Dns::NSECBitmap class definition.
uint8_t Flags() const
Returns the contained flags.
Definition: DwmDnsEtcHosts.hh:60
Dwm::Dns::RRData class definition.
const std::string & Salt() const
Returns the contained salt.
A helper class used when performing label sequence compression.
Definition: DwmDnsLabelPositions.hh:57
friend std::ostream & operator<<(std::ostream &os, const RRDataNSEC3 &nsec3)
Print the NSEC3 resource record data to an ostream in human readable form.
const std::string & HashedOwnerName() const
Returns the contained hashed owner name.
Abstract (pure virtual) base for resource record data classes.
Definition: DwmDnsRRData.hh:71
bool operator==(const RRDataNSEC3 &nsec3) const
Equal-to operator, mostly for unit testing.
uint8_t * Encode(uint8_t *pkt, uint8_t *ptr, uint16_t pktlen, LabelPositions &lps) const
Encodes the NSEC3 resource record data into buffer @ pkt of length pktlen, starting at ptr...