mirror of
https://github.com/systemd/systemd.git
synced 2026-08-13 17:08:14 +00:00
dns-rr: fix SOA JSON fields
Signed-off-by: dongshengyuan <dongshengyuan@uniontech.com> (cherry picked from commit34a2223344) (cherry picked from commitdd01b5bd60)
This commit is contained in:
committed by
Luca Boccassi
parent
015817dffa
commit
e4ed507d12
@@ -2222,6 +2222,30 @@ TEST(dns_resource_record_to_string_soa) {
|
||||
ASSERT_STREQ(str, "www.example.com IN SOA ns0.example.com ns0.example.com 1111111111 86400 7200 4000000 3600");
|
||||
}
|
||||
|
||||
TEST(dns_resource_record_to_json_soa) {
|
||||
_cleanup_(dns_resource_record_unrefp) DnsResourceRecord *rr = NULL;
|
||||
_cleanup_(sd_json_variant_unrefp) sd_json_variant *j = NULL;
|
||||
|
||||
rr = dns_resource_record_new_full(DNS_CLASS_IN, DNS_TYPE_SOA, "www.example.com");
|
||||
ASSERT_NOT_NULL(rr);
|
||||
rr->soa.mname = strdup("ns0.example.com");
|
||||
rr->soa.rname = strdup("hostmaster.example.com");
|
||||
rr->soa.serial = 1111111111;
|
||||
rr->soa.refresh = 86400;
|
||||
rr->soa.retry = 7200;
|
||||
rr->soa.expire = 4000000;
|
||||
rr->soa.minimum = 3600;
|
||||
|
||||
ASSERT_OK(dns_resource_record_to_json(rr, &j));
|
||||
ASSERT_STREQ(sd_json_variant_string(sd_json_variant_by_key(j, "mname")), "ns0.example.com");
|
||||
ASSERT_STREQ(sd_json_variant_string(sd_json_variant_by_key(j, "rname")), "hostmaster.example.com");
|
||||
ASSERT_EQ(sd_json_variant_unsigned(sd_json_variant_by_key(j, "serial")), UINT64_C(1111111111));
|
||||
ASSERT_EQ(sd_json_variant_unsigned(sd_json_variant_by_key(j, "refresh")), UINT64_C(86400));
|
||||
ASSERT_EQ(sd_json_variant_unsigned(sd_json_variant_by_key(j, "retry")), UINT64_C(7200));
|
||||
ASSERT_EQ(sd_json_variant_unsigned(sd_json_variant_by_key(j, "expire")), UINT64_C(4000000));
|
||||
ASSERT_EQ(sd_json_variant_unsigned(sd_json_variant_by_key(j, "minimum")), UINT64_C(3600));
|
||||
}
|
||||
|
||||
TEST(dns_resource_record_to_string_ptr) {
|
||||
_cleanup_(dns_resource_record_unrefp) DnsResourceRecord *rr = NULL;
|
||||
const char *str;
|
||||
|
||||
@@ -2375,7 +2375,8 @@ int dns_resource_record_to_json(DnsResourceRecord *rr, sd_json_variant **ret) {
|
||||
SD_JSON_BUILD_PAIR_STRING("rname", rr->soa.rname),
|
||||
SD_JSON_BUILD_PAIR_UNSIGNED("serial", rr->soa.serial),
|
||||
SD_JSON_BUILD_PAIR_UNSIGNED("refresh", rr->soa.refresh),
|
||||
SD_JSON_BUILD_PAIR_UNSIGNED("expire", rr->soa.retry),
|
||||
SD_JSON_BUILD_PAIR_UNSIGNED("retry", rr->soa.retry),
|
||||
SD_JSON_BUILD_PAIR_UNSIGNED("expire", rr->soa.expire),
|
||||
SD_JSON_BUILD_PAIR_UNSIGNED("minimum", rr->soa.minimum));
|
||||
|
||||
case DNS_TYPE_MX:
|
||||
|
||||
@@ -67,6 +67,7 @@ SD_VARLINK_DEFINE_STRUCT_TYPE(
|
||||
SD_VARLINK_DEFINE_FIELD(rname, SD_VARLINK_STRING, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_DEFINE_FIELD(serial, SD_VARLINK_INT, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_DEFINE_FIELD(refresh, SD_VARLINK_INT, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_DEFINE_FIELD(retry, SD_VARLINK_INT, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_DEFINE_FIELD(expire, SD_VARLINK_INT, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_DEFINE_FIELD(minimum, SD_VARLINK_INT, SD_VARLINK_NULLABLE),
|
||||
SD_VARLINK_DEFINE_FIELD(exchange, SD_VARLINK_STRING, SD_VARLINK_NULLABLE),
|
||||
|
||||
Reference in New Issue
Block a user