Subject: Re: RPC and ipv6
To: None <itojun@iijlab.net>
From: Jason Thorpe <thorpej@nas.nasa.gov>
List: tech-net
Date: 12/07/1999 19:02:25
On Wed, 08 Dec 1999 11:34:26 +0900 
 itojun@iijlab.net wrote:

 > >	b) Only use struct sockaddr_storage inside SVCXPRT (and use
 > >	   versioning there too), but do not change the sockaddr_in *
 > >	   paramemeters. Rely on the application to check for address
 > >	   family and do the right thing.

Actually, I think this one is better.  We should follow the Sun example,
considering how Sun RPC is really their thing...

Looks like you can get away *WITHOUT* versioning if you change the
sockaddr_in to sockaddr_storage in SVCXPRT ... that handle is supposed
to be opaque to applications, and the macros in svc.h that peek at its
guts are quite careful to only peek up to the sockaddr itself.

That leaves libc, which will be okay ... and all SVCXPRTs are dynamically
allocated...

You can avoid overrunning inside libc if you're careful... and return
failure as appropriate, instead of dumping core :-)

        -- Jason R. Thorpe <thorpej@nas.nasa.gov>