change casting, SOA type start, sang/micahel code review fixes

pull/58/head
Ryan Tharp 6 years ago
parent 638692f48a
commit 730fff7438

@ -11,16 +11,16 @@ namespace llarp
{
struct record
{
virtual ~record(){};
virtual ~record() = 0;
record()
{
}
virtual bool
parse(std::vector< byte_t > bytes);
parse(std::vector< byte_t > bytes) = 0;
virtual std::vector< byte_t >
to_bytes();
to_bytes() = 0;
};
struct type_1a : public record
@ -31,10 +31,10 @@ namespace llarp
type_1a();
bool
parse(std::vector< byte_t > bytes);
parse(std::vector< byte_t > bytes) override;
std::vector< byte_t >
to_bytes();
to_bytes() override;
};
struct type_2ns : public record
@ -45,10 +45,30 @@ namespace llarp
type_2ns();
bool
parse(std::vector< byte_t > bytes);
parse(std::vector< byte_t > bytes) override;
std::vector< byte_t >
to_bytes();
to_bytes() override;
};
struct type_6soa : public record
{
std::string mname;
std::string rname;
uint32_t serial;
uint32_t refresh;
uint32_t retry;
uint32_t expire;
uint32_t minimum;
virtual ~type_6soa(){};
type_6soa();
bool
parse(std::vector< byte_t > bytes) override;
std::vector< byte_t >
to_bytes() override;
};
struct type_5cname : public record
@ -59,10 +79,10 @@ namespace llarp
type_5cname();
bool
parse(std::vector< byte_t > bytes);
parse(std::vector< byte_t > bytes) override;
std::vector< byte_t >
to_bytes();
to_bytes() override;
};
struct type_12ptr : public record
@ -73,10 +93,10 @@ namespace llarp
type_12ptr();
bool
parse(std::vector< byte_t > bytes);
parse(std::vector< byte_t > bytes) override;
std::vector< byte_t >
to_bytes();
to_bytes() override;
};
struct type_15mx : public record
@ -88,10 +108,10 @@ namespace llarp
type_15mx();
bool
parse(std::vector< byte_t > bytes);
parse(std::vector< byte_t > bytes) override;
std::vector< byte_t >
to_bytes();
to_bytes() override;
};
struct type_16txt : public record
@ -102,10 +122,10 @@ namespace llarp
type_16txt();
bool
parse(std::vector< byte_t > bytes);
parse(std::vector< byte_t > bytes) override;
std::vector< byte_t >
to_bytes();
to_bytes() override;
};
} // namespace dns

@ -5,6 +5,10 @@ namespace llarp
{
namespace dns
{
record::~record() {
};
bool
record::parse(std::vector< byte_t > bytes)
{
@ -60,7 +64,7 @@ namespace llarp
type_2ns::parse(std::vector< byte_t > bytes)
{
// trim last 2 bytes... probably the size
this->ns = std::string((char *)bytes.data(), bytes.size() - 2);
this->ns = std::string(reinterpret_cast<char *>(bytes.data()), bytes.size() - 2);
return true;
};
@ -82,7 +86,7 @@ namespace llarp
type_5cname::parse(std::vector< byte_t > bytes)
{
// trim last 2 bytes... probably the size
this->cname = std::string((char *)bytes.data(), bytes.size());
this->cname = std::string(reinterpret_cast<char *>(bytes.data()), bytes.size());
// LogDebug("type5 parsed ", this->cname);
return true;
};
@ -111,7 +115,7 @@ namespace llarp
type_6soa::parse(std::vector< byte_t > bytes)
{
// FIXME: implmement me
//this->cname = std::string((char *)bytes.data(), bytes.size());
//this->cname = std::string(reinterpret_cast<char *>(bytes.data()), bytes.size());
return bytes.size()?true:false;
};
@ -139,7 +143,7 @@ namespace llarp
bool
type_12ptr::parse(std::vector< byte_t > bytes)
{
this->revname = std::string((char *)bytes.data(), bytes.size());
this->revname = std::string(reinterpret_cast<char *>(bytes.data()), bytes.size());
return bytes.size() ? true : false;
};
@ -165,7 +169,7 @@ namespace llarp
bool
type_15mx::parse(std::vector< byte_t > bytes)
{
this->mx = std::string((char *)bytes.data(), bytes.size());
this->mx = std::string(reinterpret_cast<char *>(bytes.data()), bytes.size());
// LogInfo("parsed ", this->mx);
return true;
};
@ -188,7 +192,7 @@ namespace llarp
bool
type_16txt::parse(std::vector< byte_t > bytes)
{
this->txt = std::string((char *)bytes.data(), bytes.size() - 1);
this->txt = std::string(reinterpret_cast<char *>(bytes.data()), bytes.size() - 1);
return true;
};

Loading…
Cancel
Save