]> asedeno.scripts.mit.edu Git - PuTTY.git/commitdiff
There's no real need for portfwd.c to reference `cfg' directly, when
authorSimon Tatham <anakin@pobox.com>
Sun, 12 Jan 2003 14:56:19 +0000 (14:56 +0000)
committerSimon Tatham <anakin@pobox.com>
Sun, 12 Jan 2003 14:56:19 +0000 (14:56 +0000)
it only needs one item from it and that can easily be passed in from
the call site in ssh.c.

[originally from svn r2564]

portfwd.c
ssh.c
ssh.h

index 94aec6e153a78aa62fdfcaf45b45db9232d0a0b5..010838ea63d4479bc159dba2f8cb38b499a727dc 100644 (file)
--- a/portfwd.c
+++ b/portfwd.c
@@ -204,7 +204,7 @@ static int pfd_accepting(Plug p, void *sock)
  sets up a listener on the local machine on (srcaddr:)port
  */
 char *pfd_addforward(char *desthost, int destport, char *srcaddr, int port,
-                    void *backhandle)
+                    void *backhandle, int acceptall)
 {
     static struct plug_function_table fn_table = {
        pfd_closing,
@@ -230,7 +230,7 @@ char *pfd_addforward(char *desthost, int destport, char *srcaddr, int port,
     pr->waiting = NULL;
     pr->backhandle = backhandle;
 
-    pr->s = s = new_listener(srcaddr, port, (Plug) pr, !cfg.lport_acceptall);
+    pr->s = s = new_listener(srcaddr, port, (Plug) pr, !acceptall);
     if ((err = sk_socket_error(s)) != NULL) {
        sfree(pr);
        return err;
diff --git a/ssh.c b/ssh.c
index 70f3a069d8c0bdb7c437c3d9990a945ec6e374b2..dde5bfabbfe67c233357c22f8629eca8ed681957 100644 (file)
--- a/ssh.c
+++ b/ssh.c
@@ -3121,7 +3121,7 @@ static void ssh1_protocol(Ssh ssh, unsigned char *in, int inlen, int ispkt)
            if (sport && dport) {
                if (type == 'L') {
                    pfd_addforward(host, dport, *saddr ? saddr : NULL,
-                                  sport, ssh);
+                                  sport, ssh, ssh->cfg.lport_acceptall);
                    logeventf(ssh, "Local port %.*s%.*s%.*s%.*s%d%.*s"
                              " forwarding to %s:%.*s%.*s%d%.*s",
                              (int)(*saddr?strlen(saddr):0), *saddr?saddr:NULL,
@@ -5185,7 +5185,7 @@ static void do_ssh2_authconn(Ssh ssh, unsigned char *in, int inlen, int ispkt)
            if (sport && dport) {
                if (type == 'L') {
                    pfd_addforward(host, dport, *saddr ? saddr : NULL,
-                                  sport, ssh);
+                                  sport, ssh, ssh->cfg.lport_acceptall);
                    logeventf(ssh, "Local port %.*s%.*s%.*s%.*s%d%.*s"
                              " forwarding to %s:%.*s%.*s%d%.*s",
                              (int)(*saddr?strlen(saddr):0), *saddr?saddr:NULL,
diff --git a/ssh.h b/ssh.h
index 640a7f12f1dfd7a39c42ecb2c3e548bcd9bd0f6d..56f9f2612c167409fc4cc79424540b50a35beb9a 100644 (file)
--- a/ssh.h
+++ b/ssh.h
@@ -258,7 +258,7 @@ void ssh_send_port_open(void *channel, char *hostname, int port, char *org);
 /* Exports from portfwd.c */
 extern char *pfd_newconnect(Socket * s, char *hostname, int port, void *c);
 extern char *pfd_addforward(char *desthost, int destport, char *srcaddr,
-                           int port, void *backhandle);
+                           int port, void *backhandle, int acceptall);
 extern void pfd_close(Socket s);
 extern int pfd_send(Socket s, char *data, int len);
 extern void pfd_confirm(Socket s);