From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 Date: Tue, 8 Jan 2013 15:57:24 +0200 Message-ID: From: Yaroslav To: 9fans@9fans.net Content-Type: multipart/alternative; boundary=20cf30780a7e4d828904d2c75308 Subject: [9fans] ape: getsockname: wrong byte order in sin_port Topicbox-Message-UUID: 03237a60-ead8-11e9-9d60-3106f5b1d025 --20cf30780a7e4d828904d2c75308 Content-Type: text/plain; charset=UTF-8 APE's getsockname() returns port with bytes swapped (on 386). Fix: /n/dump/2013/0108/sys/src/ape/lib/bsd/_sock_ingetaddr.c:35,41 - /sys/src/ape/lib/bsd/_sock_ingetaddr.c:35,41 if(p){ *p++ = 0; ip->sin_family = AF_INET; - ip->sin_port = atoi(p); + ip->sin_port = htons(atoi(p)); ip->sin_addr.s_addr = inet_addr(name); if(alen) *alen = sizeof(struct sockaddr_in); Python needs to be relinked. -- - Yaroslav --20cf30780a7e4d828904d2c75308 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
APE's getsockname() returns port with bytes= swapped (on 386).
Fix:

/n= /dump/2013/0108/sys/src/ape/lib/bsd/_sock_ingetaddr.c:35,41 - /sys/src/ape/= lib/bsd/_sock_ingetaddr.c:35,41
=C2=A0 if(p){
=C2=A0 *p++ = =3D 0;
=C2=A0 ip->sin_family =3D AF_INET;
- ip->sin_por= t =3D atoi(p);
+ <= /span>ip->sin_port =3D htons(atoi(p));
=C2=A0 ip->sin_addr.s_addr =3D inet_addr(= name);
=C2=A0 if(alen)<= /div>
=C2=A0 *al= en =3D sizeof(struct sockaddr_in);

Pyt= hon needs to be relinked.
--
- Yaroslav
--20cf30780a7e4d828904d2c75308--