summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--irc/xchat-gnome/files/patch-socks522
-rw-r--r--irc/xchat2/files/patch-socks522
2 files changed, 44 insertions, 0 deletions
diff --git a/irc/xchat-gnome/files/patch-socks5 b/irc/xchat-gnome/files/patch-socks5
new file mode 100644
index 000000000000..5aa617cc3f82
--- /dev/null
+++ b/irc/xchat-gnome/files/patch-socks5
@@ -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
+--- src/common/server.c 2004-03-16 15:33:47.000000000 +1100
++++ 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;
+ }
diff --git a/irc/xchat2/files/patch-socks5 b/irc/xchat2/files/patch-socks5
new file mode 100644
index 000000000000..5aa617cc3f82
--- /dev/null
+++ b/irc/xchat2/files/patch-socks5
@@ -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
+--- src/common/server.c 2004-03-16 15:33:47.000000000 +1100
++++ 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;
+ }