X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/blobdiff_plain/74790953a734d6e745c1e412cb9824743348ec3c..ffd835c11f5c4d7266fcc7ef57638f5e1a2a6c41:/config.c?ds=sidebyside diff --git a/config.c b/config.c index 73ed703f..638e3d8d 100644 --- a/config.c +++ b/config.c @@ -120,6 +120,7 @@ static void cipherlist_handler(union control *ctrl, void *dlg, { "Blowfish", CIPHER_BLOWFISH }, { "DES", CIPHER_DES }, { "AES (SSH-2 only)", CIPHER_AES }, + { "Arcfour (SSH-2 only)", CIPHER_ARCFOUR }, { "-- warn below here --", CIPHER_WARN } }; @@ -278,7 +279,7 @@ static void sshbug_handler(union control *ctrl, void *dlg, struct sessionsaver_data { union control *editbox, *listbox, *loadbutton, *savebutton, *delbutton; union control *okbutton, *cancelbutton; - struct sesslist *sesslist; + struct sesslist sesslist; int midsession; }; @@ -297,10 +298,10 @@ static int load_selected_session(struct sessionsaver_data *ssd, dlg_beep(dlg); return 0; } - isdef = !strcmp(ssd->sesslist->sessions[i], "Default Settings"); - load_settings(ssd->sesslist->sessions[i], !isdef, cfg); + isdef = !strcmp(ssd->sesslist.sessions[i], "Default Settings"); + load_settings(ssd->sesslist.sessions[i], !isdef, cfg); if (!isdef) { - strncpy(savedsession, ssd->sesslist->sessions[i], + strncpy(savedsession, ssd->sesslist.sessions[i], SAVEDSESSION_LEN); savedsession[SAVEDSESSION_LEN-1] = '\0'; } else { @@ -344,8 +345,8 @@ static void sessionsaver_handler(union control *ctrl, void *dlg, int i; dlg_update_start(ctrl, dlg); dlg_listbox_clear(ctrl, dlg); - for (i = 0; i < ssd->sesslist->nsessions; i++) - dlg_listbox_add(ctrl, dlg, ssd->sesslist->sessions[i]); + for (i = 0; i < ssd->sesslist.nsessions; i++) + dlg_listbox_add(ctrl, dlg, ssd->sesslist.sessions[i]); dlg_update_done(ctrl, dlg); } } else if (event == EVENT_VALCHANGE) { @@ -376,9 +377,9 @@ static void sessionsaver_handler(union control *ctrl, void *dlg, dlg_beep(dlg); return; } - isdef = !strcmp(ssd->sesslist->sessions[i], "Default Settings"); + isdef = !strcmp(ssd->sesslist.sessions[i], "Default Settings"); if (!isdef) { - strncpy(savedsession, ssd->sesslist->sessions[i], + strncpy(savedsession, ssd->sesslist.sessions[i], SAVEDSESSION_LEN); savedsession[SAVEDSESSION_LEN-1] = '\0'; } else { @@ -392,8 +393,8 @@ static void sessionsaver_handler(union control *ctrl, void *dlg, sfree(errmsg); } } - get_sesslist(ssd->sesslist, FALSE); - get_sesslist(ssd->sesslist, TRUE); + get_sesslist(&ssd->sesslist, FALSE); + get_sesslist(&ssd->sesslist, TRUE); dlg_refresh(ssd->editbox, dlg); dlg_refresh(ssd->listbox, dlg); } else if (!ssd->midsession && @@ -402,9 +403,9 @@ static void sessionsaver_handler(union control *ctrl, void *dlg, if (i <= 0) { dlg_beep(dlg); } else { - del_settings(ssd->sesslist->sessions[i]); - get_sesslist(ssd->sesslist, FALSE); - get_sesslist(ssd->sesslist, TRUE); + del_settings(ssd->sesslist.sessions[i]); + get_sesslist(&ssd->sesslist, FALSE); + get_sesslist(&ssd->sesslist, TRUE); dlg_refresh(ssd->listbox, dlg); } } else if (ctrl == ssd->okbutton) { @@ -819,8 +820,8 @@ static void portfwd_handler(union control *ctrl, void *dlg, } } -void setup_config_box(struct controlbox *b, struct sesslist *sesslist, - int midsession, int protocol, int protcfginfo) +void setup_config_box(struct controlbox *b, int midsession, + int protocol, int protcfginfo) { struct controlset *s; struct sessionsaver_data *ssd; @@ -904,7 +905,7 @@ void setup_config_box(struct controlbox *b, struct sesslist *sesslist, midsession ? "Save the current session settings" : "Load, save or delete a stored session"); ctrl_columns(s, 2, 75, 25); - ssd->sesslist = sesslist; + get_sesslist(&ssd->sesslist, TRUE); ssd->editbox = ctrl_editbox(s, "Saved Sessions", 'e', 100, HELPCTX(session_saved), sessionsaver_handler, P(ssd), P(NULL)); @@ -1242,7 +1243,7 @@ void setup_config_box(struct controlbox *b, struct sesslist *sesslist, s = ctrl_getset(b, "Window/Appearance", "border", "Adjust the window border"); - ctrl_editbox(s, "Gap between text and window edge:", NO_SHORTCUT, 20, + ctrl_editbox(s, "Gap between text and window edge:", 'e', 20, HELPCTX(appearance_border), dlg_stdeditbox_handler, I(offsetof(Config,window_border)), I(-1)); @@ -1423,9 +1424,9 @@ void setup_config_box(struct controlbox *b, struct sesslist *sesslist, HELPCTX(connection_ipversion), dlg_stdradiobutton_handler, I(offsetof(Config, addressfamily)), - "Auto", NO_SHORTCUT, I(ADDRTYPE_UNSPEC), - "IPv4", NO_SHORTCUT, I(ADDRTYPE_IPV4), - "IPv6", NO_SHORTCUT, I(ADDRTYPE_IPV6), + "Auto", 'u', I(ADDRTYPE_UNSPEC), + "IPv4", '4', I(ADDRTYPE_IPV4), + "IPv6", '6', I(ADDRTYPE_IPV6), NULL); #endif } @@ -1839,9 +1840,9 @@ void setup_config_box(struct controlbox *b, struct sesslist *sesslist, 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), - "IPv6", NO_SHORTCUT, I(ADDRTYPE_IPV6), + "Auto", 'u', I(ADDRTYPE_UNSPEC), + "IPv4", '4', I(ADDRTYPE_IPV4), + "IPv6", '6', I(ADDRTYPE_IPV6), NULL); #endif ctrl_tabdelay(s, pfd->addbutton);