X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=config.c;h=60724cefd1b3663144696cee90acad15352bde1c;hb=8316deb3399fe1d0c406132cf2e795a76de26b64;hp=8e67a542af1b1a20343fb0721ed8657c214fae77;hpb=dd33f123b2162c57e90066bf957e894d4294dcbe;p=PuTTY.git diff --git a/config.c b/config.c index 8e67a542..60724cef 100644 --- a/config.c +++ b/config.c @@ -402,7 +402,7 @@ static void sessionsaver_handler(union control *ctrl, void *dlg, /* If at this point we have a valid session, go! */ if (*cfg2.host) { *cfg = cfg2; /* structure copy */ - cfg->remote_cmd_ptr = cfg->remote_cmd; /* nasty */ + cfg->remote_cmd_ptr = NULL; dlg_end(dlg, 1); } else dlg_beep(dlg); @@ -718,7 +718,7 @@ static void portfwd_handler(union control *ctrl, void *dlg, str[i++] = type; dlg_editbox_get(pfd->sourcebox, dlg, str+i, sizeof(str) - i); - if (!str[2]) { + if (!str[i]) { dlg_error_msg(dlg, "You need to specify a source port number"); return; } @@ -726,7 +726,7 @@ static void portfwd_handler(union control *ctrl, void *dlg, if (type != 'D') { *p++ = '\t'; dlg_editbox_get(pfd->destbox, dlg, p, - sizeof(str)-1 - (p - str)); + sizeof(str) - (p - str)); if (!*p || !strchr(p, ':')) { dlg_error_msg(dlg, "You need to specify a destination address\n" @@ -741,7 +741,7 @@ static void portfwd_handler(union control *ctrl, void *dlg, p++; p++; } - if ((p - cfg->portfwd) + strlen(str) + 2 < + if ((p - cfg->portfwd) + strlen(str) + 2 <= sizeof(cfg->portfwd)) { strcpy(p, str); p[strlen(str) + 1] = '\0'; @@ -1378,23 +1378,18 @@ void setup_config_box(struct controlbox *b, struct sesslist *sesslist, 'p', HELPCTX(connection_tcpkeepalive), dlg_stdcheckbox_handler, I(offsetof(Config,tcp_keepalives))); +#ifndef NO_IPV6 s = ctrl_getset(b, "Connection", "ipversion", "Internet protocol version"); - ctrl_radiobuttons(s, NULL, NO_SHORTCUT, -#ifndef NO_IPV6 - 3, -#else - 2, -#endif + ctrl_radiobuttons(s, NULL, NO_SHORTCUT, 3, HELPCTX(connection_ipversion), dlg_stdradiobutton_handler, I(offsetof(Config, addressfamily)), "Auto", NO_SHORTCUT, I(ADDRTYPE_UNSPEC), "IPv4", NO_SHORTCUT, I(ADDRTYPE_IPV4), -#ifndef NO_IPV6 "IPv6", NO_SHORTCUT, I(ADDRTYPE_IPV6), -#endif NULL); +#endif } /* @@ -1801,21 +1796,16 @@ void setup_config_box(struct controlbox *b, struct sesslist *sesslist, "Remote", 'm', P(NULL), "Dynamic", 'y', P(NULL), NULL); - pfd->addressfamily = - ctrl_radiobuttons(s, NULL, NO_SHORTCUT, #ifndef NO_IPV6 - 3, -#else - 2, -#endif + pfd->addressfamily = + ctrl_radiobuttons(s, NULL, NO_SHORTCUT, 3, HELPCTX(ssh_tunnels_portfwd_ipversion), portfwd_handler, P(pfd), "Auto", NO_SHORTCUT, I(ADDRTYPE_UNSPEC), "IPv4", NO_SHORTCUT, I(ADDRTYPE_IPV4), -#ifndef NO_IPV6 "IPv6", NO_SHORTCUT, I(ADDRTYPE_IPV6), -#endif NULL); +#endif ctrl_tabdelay(s, pfd->addbutton); ctrl_columns(s, 1, 100); @@ -1849,6 +1839,9 @@ void setup_config_box(struct controlbox *b, struct sesslist *sesslist, ctrl_droplist(s, "Misuses the session ID in PK auth", 'n', 20, HELPCTX(ssh_bugs_pksessid2), sshbug_handler, I(offsetof(Config,sshbug_pksessid2))); + ctrl_droplist(s, "Handles key re-exchange badly", 'k', 20, + HELPCTX(ssh_bugs_rekey2), + sshbug_handler, I(offsetof(Config,sshbug_rekey2))); } } }