BIND 10 #2497: introduce wrapper version of "from lexer" rdata factory
BIND 10 Development
do-not-reply at isc.org
Mon Dec 3 23:30:59 UTC 2012
#2497: introduce wrapper version of "from lexer" rdata factory
-------------------------------------+-------------------------------------
Reporter: jinmei | Owner:
Type: task | jinmei
Priority: medium | Status:
Component: libdns++ | reviewing
Keywords: | Milestone:
Sensitive: 0 | Sprint-20121204
Sub-Project: DNS | Resolution:
Estimated Difficulty: 0 | CVSS Scoring:
Total Hours: 0 | Defect Severity: N/A
| Feature Depending on Ticket:
| loadzone-ng
| Add Hours to Ticket: 0
| Internal?: 0
-------------------------------------+-------------------------------------
Changes (by muks):
* owner: muks => jinmei
Comment:
Hi Jinmei
Replying to [comment:21 jinmei]:
> Replying to [comment:20 muks]:
>
> > > - I suspect this is not a good example of bad input:
> > > {{{
> > > + // Exceptions cause NULL to be returned.
> > > + EXPECT_FALSE(test::createRdataUsingLexer(RRType::HINFO(),
RRClass::IN(),
> > > +
"\"Pentium\"\"Linux\""));
> > > }}}
> > > With the generic lexer it would become valid (and BIND 9 would
> > > accept it too)
> >
> > I don't follow this. I can't think of another way to get an invalid
HINFO without similar syntax.
>
> This is a valid textual representation:
>
> {{{
> example.com. IN HINFO "Pentium""Linux"
> }}}
> Our std::string based parser incorrectly rejects it, but we shouldn't,
> and the generic lexer version will correctly accept it.
>
> But this is absolutely invalid:
>
> {{{
> example.com. IN HINFO "Pentium""Linux""garbage"
> }}}
>
> or for that matter
>
> {{{
> example.com. IN HINFO "Pentium" "Linux" "garbage"
> }}}
The HINFO string parsing has been updated for these cases. Tests have also
been updated/added.
--
Ticket URL: <http://bind10.isc.org/ticket/2497#comment:25>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list