mirror of
https://github.com/NLnetLabs/unbound.git
synced 2025-12-24 00:29:58 -05:00
- #4103: Fix that auth-zone does not insist on SOA record first in
file for url downloads. git-svn-id: file:///svn/unbound/trunk@4729 be551aaa-1e26-0410-a405-d3ace91eadb9
This commit is contained in:
parent
00a0cabf7f
commit
12251022ec
2 changed files with 7 additions and 18 deletions
|
|
@ -1,3 +1,7 @@
|
||||||
|
14 June 2018: Wouter
|
||||||
|
- #4103: Fix that auth-zone does not insist on SOA record first in
|
||||||
|
file for url downloads.
|
||||||
|
|
||||||
12 June 2018: Ralph
|
12 June 2018: Ralph
|
||||||
- Don't count CNAME response types received during qname minimisation as
|
- Don't count CNAME response types received during qname minimisation as
|
||||||
query restart.
|
query restart.
|
||||||
|
|
|
||||||
|
|
@ -4164,8 +4164,8 @@ chunkline_non_comment_RR(struct auth_chunk** chunk, size_t* chunk_pos,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** check syntax of chunklist zonefile, parse SOA RR, return false on
|
/** check syntax of chunklist zonefile, parse first RR, return false on
|
||||||
* failure and return a string in the scratch buffer (SOA RR string)
|
* failure and return a string in the scratch buffer (first RR string)
|
||||||
* on failure. */
|
* on failure. */
|
||||||
static int
|
static int
|
||||||
http_zonefile_syntax_check(struct auth_xfer* xfr, sldns_buffer* buf)
|
http_zonefile_syntax_check(struct auth_xfer* xfr, sldns_buffer* buf)
|
||||||
|
|
@ -4193,26 +4193,11 @@ http_zonefile_syntax_check(struct auth_xfer* xfr, sldns_buffer* buf)
|
||||||
pstate.origin_len?pstate.origin:NULL, pstate.origin_len,
|
pstate.origin_len?pstate.origin:NULL, pstate.origin_len,
|
||||||
pstate.prev_rr_len?pstate.prev_rr:NULL, pstate.prev_rr_len);
|
pstate.prev_rr_len?pstate.prev_rr:NULL, pstate.prev_rr_len);
|
||||||
if(e != 0) {
|
if(e != 0) {
|
||||||
log_err("parse failure on SOA RR[%d]: %s",
|
log_err("parse failure on first RR[%d]: %s",
|
||||||
LDNS_WIREPARSE_OFFSET(e),
|
LDNS_WIREPARSE_OFFSET(e),
|
||||||
sldns_get_errorstr_parse(LDNS_WIREPARSE_ERROR(e)));
|
sldns_get_errorstr_parse(LDNS_WIREPARSE_ERROR(e)));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
/* check that name is correct */
|
|
||||||
if(query_dname_compare(rr, xfr->name) != 0) {
|
|
||||||
char nm[255+1], zname[255+1];
|
|
||||||
dname_str(rr, nm);
|
|
||||||
dname_str(xfr->name, zname);
|
|
||||||
log_err("parse failure for %s, SOA RR for %s found instead",
|
|
||||||
zname, nm);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
/* check that type is SOA */
|
|
||||||
if(sldns_wirerr_get_type(rr, rr_len, dname_len) != LDNS_RR_TYPE_SOA) {
|
|
||||||
log_err("parse failure: first record in downloaded zonefile "
|
|
||||||
"not of type SOA");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
/* check that class is correct */
|
/* check that class is correct */
|
||||||
if(sldns_wirerr_get_class(rr, rr_len, dname_len) != xfr->dclass) {
|
if(sldns_wirerr_get_class(rr, rr_len, dname_len) != xfr->dclass) {
|
||||||
log_err("parse failure: first record in downloaded zonefile "
|
log_err("parse failure: first record in downloaded zonefile "
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue