From fab893b6cac31863187aed38740cb302a3c42193 Mon Sep 17 00:00:00 2001 From: simon Date: Wed, 9 Apr 2003 09:09:57 +0000 Subject: [PATCH] Chas Honton's patch to dynamic port forwarding: should allow longer host names in SOCKS 4A, up to 255 characters (which is apparently the DNS limit anyway). git-svn-id: svn://svn.tartarus.org/sgt/putty@3080 cda61777-01e9-0310-a592-d414129be87e --- portfwd.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/portfwd.c b/portfwd.c index 03cbd67c..8ef1761b 100644 --- a/portfwd.c +++ b/portfwd.c @@ -74,7 +74,7 @@ struct PFwdPrivate { * we can also use them as a buffer and pointer for reading * data from the SOCKS client. */ - char hostname[256]; + char hostname[256+8]; int port; /* * When doing dynamic port forwarding, we can receive @@ -159,15 +159,15 @@ static int pfd_receive(Plug plug, int urgent, char *data, int len) int len; if (pr->dynamic == 0x4000) { pr->dynamic = 0x4001; + pr->port = 8; /* reset buffer to overwrite name */ continue; } pr->hostname[0] = 0; /* reply version code */ pr->hostname[1] = 90; /* request granted */ sk_write(pr->s, pr->hostname, 8); + len= pr->port; pr->port = GET_16BIT_MSB_FIRST(pr->hostname+2); - len = strlen(pr->hostname+8); - memmove(pr->hostname, pr->hostname + 8 + len + 1, - lenof(pr->hostname) - (8 + len + 1)); + memmove(pr->hostname, pr->hostname + 8, len); goto connect; } else { /* -- 2.11.0