Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#646 closed defect (fixed)

b10-auth can miss necessary glue

Reported by: jinmei Owned by: jinmei
Priority: medium Milestone: A-Team-Sprint-20110316
Component: b10-auth Version:
Keywords: Cc:
CVSS Scoring: Parent Tickets:
Sensitive: no Defect Severity:
Sub-Project: Feature Depending on Ticket:
Estimated Difficulty: 3.0 Add Hours to Ticket: 0
Total Hours: 0 Internal?: no

Description

While trying to use some BIND 9 tests, I found a strange behavior of
b10-auth.

Consider b10-auth (with sqlite3 data source) configured as serving
both root and net.

In the root zone it has the following delegation (+glue):

example.			172800	IN	NS	ns.example.
example.			172800	IN	NS	ns1.example.net.
ns.example.			172800	IN	A	192.0.2.1
ns1.example.net.		172800	IN	A	192.0.2.3

In the net zone, it has the following:

example.net.			NS	ns1.example.info.
example.net.			NS	ns2.example.info.

With this setup, if we query for foo.example, b10-auth returns a
response with an empty additional section.

BIND 9 returns both of the two A RRs.

b10-auth should also return at least the flue for ns.example.

For reference, I'm attaching the test zone files and sqlite3 DB
generated from them that I used for the test.

Subtickets

Attachments (3)

fakeroot.zone (377 bytes) - added by jinmei 9 years ago.
fakenet.zone (330 bytes) - added by jinmei 9 years ago.
bind10_zones.sqlite3 (11.0 KB) - added by jinmei 9 years ago.

Download all attachments as: .zip

Change History (14)

Changed 9 years ago by jinmei

Changed 9 years ago by jinmei

Changed 9 years ago by jinmei

comment:1 Changed 9 years ago by jreed

  • Priority changed from major to critical

comment:2 Changed 9 years ago by stephen

  • Milestone changed from A-Team-Task-Backlog to A-Team-Sprint-20110316

comment:3 Changed 9 years ago by jreed

  • Priority changed from critical to major

I misunderstood and tested wrong (using my own datasets). So I am lowering priority back.

comment:4 Changed 9 years ago by jinmei

  • Owner set to jinmei
  • Status changed from new to accepted

comment:5 Changed 9 years ago by jinmei

Branch trac646 is ready for review (it's small).

The cause of bug was that updating the additional section is pending
until the processing of all additional RRs is completed, and when
there's one missing glue all intermediate results were dropped. The
patch fixed this bug by simply ignoring the missing glue case.

This would relatively be a rare situation (in that it only happens for
a broken configuration), but I can imagine there's a "workable" broken
configuration of this type in real world deployment. And since the
fix is small I suggest we get it reviewed and merged quickly so that
we can include the fix in the release.

The proposed changelog is as follows:

  201.?	[bug]		jinmei
	b10-auth, src/lib/datasrc: fixed a bug where b10-auth could return
	an empty additional section for delegation even if some glue is
	crucial when it fails to find some other glue records in its data
	source.
	(Trac #646, git TBD)

comment:6 Changed 9 years ago by jinmei

  • Owner changed from jinmei to UnAssigned
  • Status changed from accepted to reviewing

comment:7 Changed 9 years ago by vorner

  • Owner changed from UnAssigned to vorner

comment:8 follow-up: Changed 9 years ago by vorner

  • Owner changed from vorner to jinmei

Hello

It seems simple and short. OK, go ahead and merge.

Thanks

comment:9 in reply to: ↑ 8 Changed 9 years ago by jinmei

Replying to vorner:

It seems simple and short. OK, go ahead and merge.

Thanks for the review, merged, closing ticket.

comment:10 Changed 9 years ago by jinmei

  • Resolution set to fixed
  • Status changed from reviewing to closed

comment:11 Changed 9 years ago by jinmei

  • Estimated Difficulty changed from 0.0 to 3.0
Note: See TracTickets for help on using tickets.