]> asedeno.scripts.mit.edu Git - PuTTY.git/commitdiff
ssh_setup_portfwd() should usually be looking at the new cfg, not the old
authorJacob Nevins <jacobn@chiark.greenend.org.uk>
Thu, 10 Feb 2005 01:03:08 +0000 (01:03 +0000)
committerJacob Nevins <jacobn@chiark.greenend.org.uk>
Thu, 10 Feb 2005 01:03:08 +0000 (01:03 +0000)
one, so that changes to port visibility are honoured in new forwardings.

[originally from svn r5282]

ssh.c

diff --git a/ssh.c b/ssh.c
index 2f759332e73c500a0bb528e06cf009f0efabaa05..25c236ecd0c7146fc5b78e9c5d375a822fc7d2ee 100644 (file)
--- a/ssh.c
+++ b/ssh.c
@@ -3903,6 +3903,9 @@ static void ssh_setup_portfwd(Ssh ssh, const Config *cfg)
                    if (epf->saddr) {
                        ssh2_pkt_addstring(pktout, epf->saddr);
                    } else if (ssh->cfg.rport_acceptall) {
+                       /* XXX: ssh->cfg.rport_acceptall may not represent
+                        * what was used to open the original connection,
+                        * since it's reconfigurable. */
                        ssh2_pkt_addstring(pktout, "0.0.0.0");
                    } else {
                        ssh2_pkt_addstring(pktout, "127.0.0.1");
@@ -3949,7 +3952,7 @@ static void ssh_setup_portfwd(Ssh ssh, const Config *cfg)
            if (epf->type == 'L') {
                const char *err = pfd_addforward(epf->daddr, epf->dport,
                                                 epf->saddr, epf->sport,
-                                                ssh, &ssh->cfg,
+                                                ssh, cfg,
                                                 &epf->local,
                                                 epf->addressfamily);
 
@@ -3961,7 +3964,7 @@ static void ssh_setup_portfwd(Ssh ssh, const Config *cfg)
            } else if (epf->type == 'D') {
                const char *err = pfd_addforward(NULL, -1,
                                                 epf->saddr, epf->sport,
-                                                ssh, &ssh->cfg,
+                                                ssh, cfg,
                                                 &epf->local,
                                                 epf->addressfamily);
 
@@ -4017,7 +4020,7 @@ static void ssh_setup_portfwd(Ssh ssh, const Config *cfg)
                        ssh2_pkt_addbool(pktout, 1);/* want reply */
                        if (epf->saddr) {
                            ssh2_pkt_addstring(pktout, epf->saddr);
-                       } else if (ssh->cfg.rport_acceptall) {
+                       } else if (cfg->rport_acceptall) {
                            ssh2_pkt_addstring(pktout, "0.0.0.0");
                        } else {
                            ssh2_pkt_addstring(pktout, "127.0.0.1");