[net-dns-users] IXFR methods

Chris Buxton clists at buxtonfamily.us
Wed Dec 19 17:20:33 UTC 2012


On Dec 19, 2012, at 7:14 AM, Dick Franks wrote:

> On 18 December 2012 21:42, Wessels, Duane <dwessels at verisign.com> wrote:
>> 
>> Looks good, but I don't understand why you're discarding the DNSSEC types?  Isn't it
>> possible that the caller would want those records?
> 
> I agree, to be useful it should provide everything that AXFR would provide.

I did this because my specific use case did not need these records. But for a more general solution, I should not do that. I'll fix it, and then update the code that calls it to ignore DNSSEC and TSIG records.

>> On Dec 18, 2012, at 12:22 PM, Chris Buxton wrote:
> 
>>> Has anyone else created an IXFR method for Net::DNS::Resolver?
> [snip]
> 
> Is this intended as an idea to be integrated into Net::DNS itself?

That would be great, once the code is better.

>>> Here's my code -- requires perl 5.10 or later:
> 
> Why 5.10?

Because I use that as a base version for most of my code. In this case, it uses given/when and ~~, neither of which are available in 5.8. Again, this can be fixed.

> If it is to be part of Net::DNS, it will need to be portable to all
> revisions back to 5.6.1.
> (note that 0.69 and 0.70 tickled Perl bugs in 5.8.5 .. 5.8.8, and
> quite possibly 5.8.3 and 5.8.4 also)

I don't have any idea what changed between 5.6.1 and 5.8. Are there any other parts of the method that would need to be fixed to work with 5.6.1?

> If not, then it *must* be renamed to something which does not conflict
> with Net::DNS namespace.
> 
> As a general principle, user code should only use the methods as
> described in the documentation, and refrain from direct access to any
> internal data structures or defining additional methods.
> That said, creative solutions to real problems are always welcomed,
> and may result in an extension of the API and/or revised
> documentation.

I disagree. Splicing the method onto the Net::DNS::Resolver class, for my own use, gives me much cleaner code elsewhere.

I started this discussion with the hope that the code could be improved and eventually accepted as an addition to the Net::DNS::Resolver class, or else replaced by something better that does the same thing.

Chris



More information about the net-dns-users mailing list