[mrtg-developers] Re: URGENT !!! INET6-1.28 and Socket6-0.12
Lorenzo Colitti
lorenzo at colitti.com
Tue Aug 5 11:05:32 MEST 2003
Rafael Martinez Torres wrote:
> Lorenzo:
>
> Did you check MRTG with the new Socket6 and INET6 ?
Hi Rafael,
I did a quick test and it seemed to work, but I tested only on one
system, so I'm not sure. Unfortunately I didn't have time to do more
extensive tests, but it did work at least once, so it's better than
INET6 1.27. :)
> Maybe you were rigth by warning me in order not to apply getipnodeby*() ,
> but at least , as a user of Socket6, we provide the programmer with a
> optional "deprecated" API.
If you want to implement the deprecated API in Socket6, of course that
is your choice (and the Socket6 maintainer's, unless you want to fork
Socket6).
But as IPv6 support in Perl is still young and there are no legacy
programs to support, perhaps it would be a good idea not to support the
deprecated API at all, so all Perl programs must use the new API.
In this way:
1. you don't have to contact the Socket6 maintainer or fork Socket6
2. INET6 can keep on using Socket6 0.11
3. INET6 doesn't have to call a deprecated API that might be
removed in future Socket6 versions.
I think this would be better, but as you are the maintainer of INET6,
the choice is yours.
> The purpose for INET6 is to cover only AF_INET6 connections. I know you
> can get an "abstract IP protocol" class by using "getaddrinfo", but
> then, if you used your INET6 in such a way:
> [...]
> I think it is better to leave control to the caller, i.e, if you want IPv4
> , use INET, and if you want IPv6, to use INET...
I think this is due to historical reasons. The first INET6 was in
reality the Kame version of IO::Socket::INET with IPv6 support. Masahito
ported it to Debian, but as he replaced the stock IO::Socket::INET with
his version, it caused package conflicts. So he renamed it to INET6. So
the original code was protocol-independent.
I think it is a good idea for INET6 to be protocol-independent as it is
now. In this way, when IPv6 support is available, all that programmers
need to do is use INET6 and everything will just work according to the
DNS records. This might even allow INET6 to become the "default" INET
module for future versions of Perl.
If you are worried about failures for UDP applications, where the socket
is not connected immediately, you could perhaps add support for a syntax
such as INET6::new(AF=>AF_INET6).
But again, as you are the maintainer, it's your choice.
> After all, MRTG seems to run with Socket6-0.12 and INET6-1.28 ...The
> latter is at www.cpan.org available. Former is not still. trying to keep
> contact with mantainer....
If you can't contact the maintainer, perhaps you can change INET6 so it
uses the non-deprecated API? Then it would work with Socket6 0.11, right?
Ciao,
Lorenzo
--
Unsubscribe mailto:mrtg-developers-request at list.ee.ethz.ch?subject=unsubscribe
Help mailto:mrtg-developers-request at list.ee.ethz.ch?subject=help
Archive http://www.ee.ethz.ch/~slist/mrtg-developers
More information about the mrtg-developers
mailing list