IPv4->6 application shim library

Flavio Villanustre lists@geminis.myip.org
Tue, 4 Dec 2001 08:41:44 -0300 (ART)


Nick,

I don't fully understand you idea...

On Mon, 3 Dec 2001, Nick Sayer wrote:

> The only problem with this schema is that all of your applications have 
> to be aware of IPv4.

Why should your IPv6 ready applications be aware of IPv4 if you translate 
contents in a proxy (close to the gateway of your network)? They just 
should, let's say, deliver an email using SMTP over IPv6 to your proxy 
which speaks both IPv4 and IPv6 and it, in turn delivers it to real 
destination using IPv4. Same for web browsing or even for interactive 
applications like SSH or telnet. Your IPv6 applications don't need to be 
aware of IPv4...

> 
> My idea is an LD_PRELOAD shim that will transparently "massage" IPv4 apps.
> 
> It replaces gethostbyname() and gethostbyaddr(). It looks for IPv6 
> addresses for the names presented and keeps a list in memory. It returns 
> a phony IPv4 address that can be used later to find the IPv6 host 
> desired. socket also gets intercepted and changes AF_INET to AF_?INET6, 
> and connect changes the ersatz IPv4 sockaddr into the real IPv6 one 
> before calling the real connect.
> 


Regards,

Flavio.