Net::DNS 1.03 breaks compatibility with SpamAssassin:
DNS lookups no longer work, and warnings like the following pop up:

On 2015-11-13 19:22, Quanah Gibson-Mount wrote:
Well, IO::Socket::IP support is new in Net::DNS 1.03, but it is only
used if IO::Socket::INET6 is not present.  I would assume you can use
it as long as you have IO::Socket::INET6 installed, but I haven't
tested that assumption.

They changed the object class that their bgsend() returns,
and bgread() expects such object in its argument.

SpamAssassin provides it's own bgsend (for multiple historical reasons,
mainly to do with deficiencies or bugs in older versions of Net::DNS)
and gives an object of class IO::Socket to bgread(), which is fine
according to what the 1.02 documentation specifies:

$ man Net::DNS::Resolver :
  bgread
    Reads the answer from a background query (see "bgsend").
    The argument is an "IO::Socket" object returned by "bgsend".

This is no longer so in 1.03, as the Net::DNS bgsend() now provides
an IO::Select object and bgread expects a IO::Select object,
no longer happy with an IO::Socket object that SpamAssassin provides.

The new 1.03 docs say:
   bgread
     Reads the answer from a background query (see "bgsend").
     The argument is an "IO::Socket" object returned by "bgsend".

To me, this is an incompatible documented change - not something
one would expect in an 1.02 -> 1.03 update.

  Mark

Reply via email to