diff options
Diffstat (limited to 'net-irc/xchat/files/xc208-fixsocks5.diff')
-rw-r--r-- | net-irc/xchat/files/xc208-fixsocks5.diff | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/net-irc/xchat/files/xc208-fixsocks5.diff b/net-irc/xchat/files/xc208-fixsocks5.diff new file mode 100644 index 000000000000..816801477075 --- /dev/null +++ b/net-irc/xchat/files/xc208-fixsocks5.diff @@ -0,0 +1,22 @@ +# Fix broken Socks5 traversal in xchat <= 2.0.8 +diff -ru xchat-2.0.8/src/common/server.c xchat-2.0.9/src/common/server.c +--- xchat-2.0.8/src/common/server.c 2004-03-16 15:33:47.000000000 +1100 ++++ xchat-2.0.8p1/src/common/server.c 2004-04-05 15:33:15.000000000 +1000 +@@ -1054,7 +1054,7 @@ + struct sock5_connect1 sc1; + unsigned char *sc2; + unsigned int packetlen, addrlen; +- unsigned char buf[10]; ++ unsigned char buf[260]; + + sc1.version = 5; + sc1.nmethods = 1; +@@ -1095,7 +1095,7 @@ + { + if (recv (sok, buf, 1, 0) != 1) + return 1; +- packetlen = buf[0] + 2; ++ packetlen = buf[0] + 2; /* can't exceed 260 */ + if (recv (sok, buf, packetlen, 0) != packetlen) + return 1; + } |