improve case presevation

(cherry picked from commit 0fc1b1bffa)
This commit is contained in:
Mark Andrews
2018-10-02 15:21:22 +10:00
parent 75193660a0
commit 90fdf40bda
6 changed files with 19 additions and 20 deletions
+2 -2
View File
@@ -478,7 +478,7 @@ dns_diff_load(dns_diff_t *diff, dns_addrdatasetfunc_t addfunc,
dns_name_t *name;
name = &t->name;
while (t != NULL && dns_name_equal(&t->name, name)) {
while (t != NULL && dns_name_caseequal(&t->name, name)) {
dns_rdatatype_t type, covers;
dns_diffop_t op;
dns_rdatalist_t rdl;
@@ -494,7 +494,7 @@ dns_diff_load(dns_diff_t *diff, dns_addrdatasetfunc_t addfunc,
rdl.rdclass = t->rdata.rdclass;
rdl.ttl = t->ttl;
while (t != NULL && dns_name_equal(&t->name, name) &&
while (t != NULL && dns_name_caseequal(&t->name, name) &&
t->op == op && t->rdata.type == type &&
rdata_covers(&t->rdata) == covers)
{
+5 -4
View File
@@ -1458,7 +1458,7 @@ load_text(dns_loadctx_t *lctx) {
* state. Linked lists are undone by commit().
*/
if (ictx->glue != NULL &&
dns_name_compare(ictx->glue, new_name) != 0) {
!dns_name_caseequal(ictx->glue, new_name)) {
result = commit(callbacks, lctx, &glue_list,
ictx->glue, source,
ictx->glue_line);
@@ -1484,7 +1484,7 @@ load_text(dns_loadctx_t *lctx) {
* have.
*/
if ((ictx->glue == NULL) && (ictx->current == NULL ||
dns_name_compare(ictx->current, new_name) != 0)) {
!dns_name_caseequal(ictx->current, new_name))) {
if (current_has_delegation &&
is_glue(&current_list, new_name)) {
rdcount_save = rdcount;
@@ -1855,7 +1855,7 @@ load_text(dns_loadctx_t *lctx) {
if (type == dns_rdatatype_soa &&
(lctx->options & DNS_MASTER_ZONE) != 0 &&
dns_name_compare(ictx->current, lctx->top) != 0) {
!dns_name_equal(ictx->current, lctx->top)) {
char namebuf[DNS_NAME_FORMATSIZE];
dns_name_format(ictx->current, namebuf,
sizeof(namebuf));
@@ -3190,8 +3190,9 @@ is_glue(rdatalist_head_t *head, dns_name_t *owner) {
dns_name_init(&name, NULL);
dns_rdata_toregion(rdata, &region);
dns_name_fromregion(&name, &region);
if (dns_name_compare(&name, owner) == 0)
if (dns_name_equal(&name, owner)) {
return (true);
}
rdata = ISC_LIST_NEXT(rdata, link);
}
return (false);
+7 -1
View File
@@ -1193,13 +1193,17 @@ dump_rdataset_raw(isc_mem_t *mctx, const dns_name_t *name,
}
static isc_result_t
dump_rdatasets_raw(isc_mem_t *mctx, const dns_name_t *name,
dump_rdatasets_raw(isc_mem_t *mctx, const dns_name_t *owner_name,
dns_rdatasetiter_t *rdsiter, dns_totext_ctx_t *ctx,
isc_buffer_t *buffer, FILE *f)
{
isc_result_t result;
dns_rdataset_t rdataset;
dns_fixedname_t fixed;
dns_name_t *name;
name = dns_fixedname_initname(&fixed);
dns_name_copy(owner_name, name, NULL);
for (result = dns_rdatasetiter_first(rdsiter);
result == ISC_R_SUCCESS;
result = dns_rdatasetiter_next(rdsiter)) {
@@ -1207,6 +1211,8 @@ dump_rdatasets_raw(isc_mem_t *mctx, const dns_name_t *name,
dns_rdataset_init(&rdataset);
dns_rdatasetiter_current(rdsiter, &rdataset);
dns_rdataset_getownercase(&rdataset, name);
if (((rdataset.attributes & DNS_RDATASETATTR_NEGATIVE) != 0) &&
(ctx->style.flags & DNS_STYLEFLAG_NCACHE) == 0) {
/* Omit negative cache entries */