"CAA tag field is too large: " << tag.size());
}
+ MasterToken::StringRegion region;
+ region.beg = &value[0]; // note std ensures this works even if str is empty
+ region.len = value.size();
+
detail::CharStringData value_vec;
- value_vec.reserve(value.size());
- value_vec.insert(value_vec.end(), value.begin(), value.end());
+ detail::stringToCharStringData(region, value_vec);
impl_ = new CAAImpl(flags, tag, value_vec);
}
const generic::CAA rdata_caa2(0, "issue", "ca.example.net");
EXPECT_EQ(0, rdata_caa2.compare(rdata_caa));
+ const generic::CAA rdata_caa4(0, "issue", "ca.e\\xample.net");
+ EXPECT_EQ(0, rdata_caa4.compare(rdata_caa));
+
+ const generic::CAA rdata_caa5(0, "issue", "ca.e\\120ample.net");
+ EXPECT_EQ(0, rdata_caa5.compare(rdata_caa));
+
// Tag is empty
EXPECT_THROW(const generic::CAA rdata_caa3(0, "", "ca.example.net"),
isc::InvalidParameter);