info message during socks connect showed bad port number on little endian systems

This commit is contained in:
Gerhard Rieger 2009-12-31 10:16:15 +01:00
parent 30a3ec3baa
commit 5bfd245d13
3 changed files with 10 additions and 4 deletions

View file

@ -1,4 +1,9 @@
corrections:
info message during socks connect showed bad port number on little
endian systems due to wrong byte order (thanks to Peter M. Galbavy for
bug report and patch)
####################### V 1.7.1.1: ####################### V 1.7.1.1:
corrections: corrections:

View file

@ -1 +1 @@
"1.7.1.1" "1.7.1.1+sockshtons"

View file

@ -1,5 +1,5 @@
/* source: xio-socks.c */ /* source: xio-socks.c */
/* Copyright Gerhard Rieger 2001-2008 */ /* Copyright Gerhard Rieger 2001-2009 */
/* Published under the GNU General Public License V.2, see file COPYING */ /* Published under the GNU General Public License V.2, see file COPYING */
/* this file contains the source for opening addresses of socks4 type */ /* this file contains the source for opening addresses of socks4 type */
@ -211,7 +211,8 @@ int _xioopen_socks4_prepare(const char *targetport, struct opt *opts, char **soc
/* generate socks header - points to final target */ /* generate socks header - points to final target */
sockhead->version = 4; sockhead->version = 4;
sockhead->action = 1; sockhead->action = 1;
sockhead->port = parseport(targetport, IPPROTO_TCP); sockhead->port = parseport(targetport, IPPROTO_TCP); /* network byte
order */
if (retropt_string(opts, OPT_SOCKSPORT, socksport) < 0) { if (retropt_string(opts, OPT_SOCKSPORT, socksport) < 0) {
if ((se = getservbyname("socks", "tcp")) != NULL) { if ((se = getservbyname("socks", "tcp")) != NULL) {
@ -309,7 +310,7 @@ int _xioopen_socks4_connect(struct single *xfd,
} }
Info11("sending socks4%s request VN=%d DC=%d DSTPORT=%d DSTIP=%d.%d.%d.%d USERID=%s%s%s", Info11("sending socks4%s request VN=%d DC=%d DSTPORT=%d DSTIP=%d.%d.%d.%d USERID=%s%s%s",
destdomname?"a":"", destdomname?"a":"",
sockhead->version, sockhead->action, sockhead->port, sockhead->version, sockhead->action, ntohs(sockhead->port),
((unsigned char *)&sockhead->dest)[0], ((unsigned char *)&sockhead->dest)[0],
((unsigned char *)&sockhead->dest)[1], ((unsigned char *)&sockhead->dest)[1],
((unsigned char *)&sockhead->dest)[2], ((unsigned char *)&sockhead->dest)[2],