mirror of
https://github.com/systemd/systemd.git
synced 2025-03-31 14:50:15 +03:00
test-resolve-tables: verify that dns type/class length is within limits
DNS_TYPE_STRING_MAX causes a problem with the table autogeneration code, change to _DNS_TYPE_STRING_MAX.
This commit is contained in:
parent
202b76ae1a
commit
5259c0559c
@ -136,7 +136,7 @@ bool dns_type_is_obsolete(uint16_t type);
|
||||
bool dns_type_may_wildcard(uint16_t type);
|
||||
bool dns_type_apex_only(uint16_t type);
|
||||
bool dns_type_needs_authentication(uint16_t type);
|
||||
int dns_type_to_af(uint16_t t);
|
||||
int dns_type_to_af(uint16_t type);
|
||||
|
||||
bool dns_class_is_pseudo(uint16_t class);
|
||||
bool dns_class_is_valid_rr(uint16_t class);
|
||||
@ -145,7 +145,7 @@ bool dns_class_is_valid_rr(uint16_t class);
|
||||
const char *dns_type_to_string(int type);
|
||||
int dns_type_from_string(const char *s);
|
||||
|
||||
const char *dns_class_to_string(uint16_t type);
|
||||
const char *dns_class_to_string(uint16_t class);
|
||||
int dns_class_from_string(const char *name);
|
||||
|
||||
/* https://tools.ietf.org/html/draft-ietf-dane-protocol-23#section-7.2 */
|
||||
|
@ -21,7 +21,44 @@
|
||||
#include "test-tables.h"
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
uint16_t i;
|
||||
|
||||
test_table_sparse(dns_type, DNS_TYPE);
|
||||
|
||||
log_info("/* DNS_TYPE */");
|
||||
for (i = 0; i < _DNS_TYPE_MAX; i++) {
|
||||
const char *s;
|
||||
|
||||
s = dns_type_to_string(i);
|
||||
assert_se(s == NULL || strlen(s) < _DNS_TYPE_STRING_MAX);
|
||||
|
||||
if (s)
|
||||
log_info("%-*s %s%s%s%s%s%s%s%s%s",
|
||||
(int) _DNS_TYPE_STRING_MAX - 1, s,
|
||||
dns_type_is_pseudo(i) ? "pseudo " : "",
|
||||
dns_type_is_valid_query(i) ? "valid_query " : "",
|
||||
dns_type_is_valid_rr(i) ? "is_valid_rr " : "",
|
||||
dns_type_may_redirect(i) ? "may_redirect " : "",
|
||||
dns_type_is_dnssec(i) ? "dnssec " : "",
|
||||
dns_type_is_obsolete(i) ? "obsolete " : "",
|
||||
dns_type_may_wildcard(i) ? "wildcard " : "",
|
||||
dns_type_apex_only(i) ? "apex_only " : "",
|
||||
dns_type_needs_authentication(i) ? "needs_authentication" : "");
|
||||
}
|
||||
|
||||
log_info("/* DNS_CLASS */");
|
||||
for (i = 0; i < _DNS_CLASS_MAX; i++) {
|
||||
const char *s;
|
||||
|
||||
s = dns_class_to_string(i);
|
||||
assert_se(s == NULL || strlen(s) < _DNS_CLASS_STRING_MAX);
|
||||
|
||||
if (s)
|
||||
log_info("%-*s %s%s",
|
||||
(int) _DNS_CLASS_STRING_MAX - 1, s,
|
||||
dns_class_is_pseudo(i) ? "is_pseudo " : "",
|
||||
dns_class_is_valid_rr(i) ? "is_valid_rr " : "");
|
||||
}
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user