Tidy up the host key alerts a little, and swap the Just Once and Cancel
[u/mdw/putty] / portfwd.c
index e6934d4..3b77259 100644 (file)
--- a/portfwd.c
+++ b/portfwd.c
@@ -86,6 +86,12 @@ struct PFwdPrivate {
     int buflen;
 };
 
+static void pfd_log(Plug plug, int type, SockAddr addr, int port,
+                   const char *error_msg, int error_code)
+{
+    /* we have to dump these since we have no interface to logging.c */
+}
+
 static int pfd_closing(Plug plug, const char *error_msg, int error_code,
                       int calling_back)
 {
@@ -354,9 +360,10 @@ static void pfd_sent(Plug plug, int bufsize)
  * Called when receiving a PORT OPEN from the server
  */
 const char *pfd_newconnect(Socket *s, char *hostname, int port,
-                          void *c, const Config *cfg)
+                          void *c, const Config *cfg, int addressfamily)
 {
     static const struct plug_function_table fn_table = {
+       pfd_log,
        pfd_closing,
        pfd_receive,
        pfd_sent,
@@ -371,7 +378,7 @@ const char *pfd_newconnect(Socket *s, char *hostname, int port,
     /*
      * Try to find host.
      */
-    addr = name_lookup(hostname, port, &dummy_realhost, cfg);
+    addr = name_lookup(hostname, port, &dummy_realhost, cfg, addressfamily);
     if ((err = sk_addr_error(addr)) != NULL) {
        sk_addr_free(addr);
        return err;
@@ -407,6 +414,7 @@ const char *pfd_newconnect(Socket *s, char *hostname, int port,
 static int pfd_accepting(Plug p, OSSocket sock)
 {
     static const struct plug_function_table fn_table = {
+       pfd_log,
        pfd_closing,
        pfd_receive,
        pfd_sent,
@@ -463,9 +471,10 @@ static int pfd_accepting(Plug p, OSSocket sock)
  */
 const char *pfd_addforward(char *desthost, int destport, char *srcaddr,
                           int port, void *backhandle, const Config *cfg,
-                          void **sockdata)
+                          void **sockdata, int address_family)
 {
     static const struct plug_function_table fn_table = {
+       pfd_log,
        pfd_closing,
        pfd_receive,                   /* should not happen... */
        pfd_sent,                      /* also should not happen */
@@ -494,7 +503,7 @@ const char *pfd_addforward(char *desthost, int destport, char *srcaddr,
     pr->backhandle = backhandle;
 
     pr->s = s = new_listener(srcaddr, port, (Plug) pr,
-                            !cfg->lport_acceptall, cfg);
+                            !cfg->lport_acceptall, cfg, address_family);
     if ((err = sk_socket_error(s)) != NULL) {
        sfree(pr);
        return err;