This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: socketmodule.c: inet_pton() expects 4-byte packed_addr
Type: Stage:
Components: Library (Lib) Versions: Python 2.2
process
Status: closed Resolution: wont fix
Dependencies: Superseder:
Assigned To: Nosy List: facundobatista, john_marshall, nnorwitz
Priority: normal Keywords:

Created on 2003-04-30 15:00 by john_marshall, last changed 2022-04-10 16:08 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
sock.diff nnorwitz, 2003-05-22 03:32
Messages (6)
msg15774 - (view) Author: John Marshall (john_marshall) Date: 2003-04-30 15:00
In the Modules/socketmodule.c file, the inet_pton function 
implicitly treats "long packed_addr" as a 4-byte object or 
expects that the required 4-bytes is at 
&packed_addr[0]-[3]. This is not true under 
SUPER-UX/SX. In order to get this working right, I 
changed the data type from "long" to "int". This now 
works properly. 
 
-----Modules/socketmodule.c: #3825  
 /* 042303; JM; this routine really expects a 4-byte  
packed_addr  
 * not a long; long on SX is 8-bytes! */  
#if SX  
        int packed_addr;  
#else  
        long packed_addr;  
#endif 
... 
         if (packed_addr == INADDR_NONE) 
            return 0; 
        memcpy(dst, &packed_addr, 4); 
----- 
msg15775 - (view) Author: Neal Norwitz (nnorwitz) * (Python committer) Date: 2003-05-22 03:32
Logged In: YES 
user_id=33168

Attached is a patch which should fix the problem.  There was
one other place that needed to be changed.  This change is
more generic.  Let me know if it works for you.
msg15776 - (view) Author: Facundo Batista (facundobatista) * (Python committer) Date: 2005-01-15 18:04
Logged In: YES 
user_id=752496

Please, could you verify if this problem persists in Python 2.3.4
or 2.4?

If yes, in which version? Can you provide a test case?

If the problem is solved, from which version?

Note that if you fail to answer in one month, I'll close this bug
as "Won't fix".

Thank you! 

.    Facundo
msg15777 - (view) Author: Facundo Batista (facundobatista) * (Python committer) Date: 2005-01-15 18:04
Logged In: YES 
user_id=752496

This patch is no applied, the bug persists?
msg15778 - (view) Author: John Marshall (john_marshall) Date: 2005-01-17 15:52
Logged In: YES 
user_id=768577

I no longer have access to SUPER-UX/SX systems, but
the problem must still exist since nothing has changed
in the source (I just checked that "long packed_addr"
is still used -- SUPER-UX/SX systems support 8-byte
longs).

The more general patch supplied by nnorwitz should
do the trick, though.

Thanks,
John
msg15779 - (view) Author: Facundo Batista (facundobatista) * (Python committer) Date: 2005-05-30 18:57
Logged In: YES 
user_id=752496

Deprecated. Reopen only if still happens in 2.3 or newer. 

.    Facundo
History
Date User Action Args
2022-04-10 16:08:28adminsetgithub: 38406
2003-04-30 15:00:18john_marshallcreate