[Patches] [ python-Patches-658327 ] Add inet_pton and inet_ntop to socket
noreply@sourceforge.net
noreply@sourceforge.net
Tue, 31 Dec 2002 05:17:55 -0800
Patches item #658327, was opened at 2002-12-24 22:00
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=305470&aid=658327&group_id=5470
Category: Core (C code)
Group: Python 2.3
Status: Open
Resolution: None
Priority: 5
Submitted By: Jp Calderone (kuran)
>Assigned to: Neal Norwitz (nnorwitz)
Summary: Add inet_pton and inet_ntop to socket
Initial Comment:
Patch is against current CVS and adds two socket module
functions, inet_pton and inet_ntop. Both of these
should be available on all platforms (because of other
dependancies in the code) so I don't think portability
is a problem. inet_ntop converts a packed IP address
to a human-readable '.' or ':' separated string
representation of the IP. inet_pton performs the
reverse operation.
(Potential) problems: inet_pton sets errno to ENOSPC,
which may lead to a confusing error message.
----------------------------------------------------------------------
>Comment By: Martin v. Löwis (loewis)
Date: 2002-12-31 14:17
Message:
Logged In: YES
user_id=21627
I agree that such a change should be added. Neal, you have
given this patch more attention than I did - please check it
in when you consider it complete. I just like to point out
that it is missing documentation changes (libsocket.tex), a
NEWS entry, and a test case. kuran, please provide those as
a single patch file.
----------------------------------------------------------------------
Comment By: Neal Norwitz (nnorwitz)
Date: 2002-12-31 01:11
Message:
Logged In: YES
user_id=33168
ISTM that in socket_inet_ntop() you need to verify the size
of the packed value passed in. If the user passes an empty
string, inet_ntop() could read beyond the buffer passed in,
potentially causing a core dump.
The checks could be something like this:
if (af == AF_INET && len != sizeof(struct in_addr))
else if (af == AF_INET6 && len != sizeof(struct in6_addr))
Do this make sense?
----------------------------------------------------------------------
Comment By: Jp Calderone (kuran)
Date: 2002-12-27 16:39
Message:
Logged In: YES
user_id=366566
The use case I have for it at the moment is a DNS server
(Twisted.names). inet_pton allows me to handle IPv6
addresses, so it allows me to support AAAA and A6 records.
I believe an IPv6 capable socks proxy would find this useful
as well. Basically, low level network stuff.
----------------------------------------------------------------------
Comment By: Martin v. Löwis (loewis)
Date: 2002-12-27 11:23
Message:
Logged In: YES
user_id=21627
What is the rationale for providing this functionality?
----------------------------------------------------------------------
Comment By: Jp Calderone (kuran)
Date: 2002-12-26 19:32
Message:
Logged In: YES
user_id=366566
Ooops, I made two, and uploaded the wrong one >:O Sorry.
Dunno if it's still helpful, but here's the unified diff.
----------------------------------------------------------------------
Comment By: Neal Norwitz (nnorwitz)
Date: 2002-12-26 19:10
Message:
Logged In: YES
user_id=33168
Next time, please use context or unified diff. -c or -u
option to cvs diff: cvs diff -c ...
----------------------------------------------------------------------
Comment By: Jp Calderone (kuran)
Date: 2002-12-24 22:05
Message:
Logged In: YES
user_id=366566
Sourceforge decided not to attach the file the first time...
Here it is.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=305470&aid=658327&group_id=5470