diff --git a/CHANGES b/CHANGES index 1285c61..9dc33cb 100644 --- a/CHANGES +++ b/CHANGES @@ -8,6 +8,10 @@ corrections: complete" when the peer performed a renegotiation. Thanks to Benjamin Delpy for reporting this bug. + 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) + porting: building socat on systems that predefined the CFLAGS environment to contain -Wall failed (esp.RedHat). Thanks to Paul Wouters for reporting diff --git a/VERSION b/VERSION index f94138c..7612391 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -"1.7.1.1+64bit+userlate+reneg" +"1.7.1.1+64bit+userlate+reneg+sockshtons" diff --git a/xio-socks.c b/xio-socks.c index 3c7a73a..9912a89 100644 --- a/xio-socks.c +++ b/xio-socks.c @@ -1,5 +1,5 @@ /* 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 */ /* 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 */ sockhead->version = 4; 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 ((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", destdomname?"a":"", - sockhead->version, sockhead->action, sockhead->port, + sockhead->version, sockhead->action, ntohs(sockhead->port), ((unsigned char *)&sockhead->dest)[0], ((unsigned char *)&sockhead->dest)[1], ((unsigned char *)&sockhead->dest)[2],