static struct prefslist cipherlist;
+extern Config cfg; /* defined in window.c */
+
+struct sesslist sesslist; /* exported to window.c */
+
#define PRINTER_DISABLED_STRING "None (printing disabled)"
void force_normal(HWND hwnd)
IDC_PROXYPORTEDIT,
IDC_PROXYEXCLUDESTATIC,
IDC_PROXYEXCLUDEEDIT,
+ IDC_PROXYLOCALHOST,
+ IDC_PROXYDNSSTATIC,
+ IDC_PROXYDNSNO,
+ IDC_PROXYDNSAUTO,
+ IDC_PROXYDNSYES,
IDC_PROXYUSERSTATIC,
IDC_PROXYUSEREDIT,
IDC_PROXYPASSSTATIC,
IDC_X11_FORWARD,
IDC_X11_DISPSTATIC,
IDC_X11_DISPLAY,
+ IDC_X11AUTHSTATIC,
+ IDC_X11MIT,
+ IDC_X11XDM,
IDC_LPORT_ALL,
IDC_RPORT_ALL,
IDC_PFWDSTATIC,
return "JI(`',`proxy.main')";
case IDC_PROXYEXCLUDESTATIC:
case IDC_PROXYEXCLUDEEDIT:
+ case IDC_PROXYLOCALHOST:
return "JI(`',`proxy.exclude')";
+ case IDC_PROXYDNSSTATIC:
+ case IDC_PROXYDNSNO:
+ case IDC_PROXYDNSAUTO:
+ case IDC_PROXYDNSYES:
+ return "JI(`',`proxy.dns')";
case IDC_PROXYUSERSTATIC:
case IDC_PROXYUSEREDIT:
case IDC_PROXYPASSSTATIC:
case IDC_X11_DISPSTATIC:
case IDC_X11_DISPLAY:
return "JI(`',`ssh.tunnels.x11')";
+ case IDC_X11AUTHSTATIC:
+ case IDC_X11MIT:
+ case IDC_X11XDM:
+ return "JI(`',`ssh.tunnels.x11auth')";
case IDC_PFWDSTATIC:
case IDC_PFWDSTATIC2:
case IDC_PFWDREMOVE:
n = SendDlgItemMessage(hwnd, IDC_SESSLIST, LB_GETCOUNT, 0, 0);
for (i = n; i-- > 0;)
SendDlgItemMessage(hwnd, IDC_SESSLIST, LB_DELETESTRING, i, 0);
- for (i = 0; i < nsessions; i++)
+ for (i = 0; i < sesslist.nsessions; i++)
SendDlgItemMessage(hwnd, IDC_SESSLIST, LB_ADDSTRING,
- 0, (LPARAM) (sessions[i]));
+ 0, (LPARAM) (sesslist.sessions[i]));
}
SetDlgItemInt(hwnd, IDC_PORT, cfg.port, FALSE);
CheckRadioButton(hwnd, IDC_PROTRAW, IDC_PROTSSH,
CheckDlgButton(hwnd, IDC_TELNETKEY, cfg.telnet_keyboard);
CheckDlgButton(hwnd, IDC_TELNETRET, cfg.telnet_newline);
CheckRadioButton(hwnd, IDC_ECHOBACKEND, IDC_ECHONO,
- cfg.localecho == LD_BACKEND ? IDC_ECHOBACKEND :
- cfg.localecho == LD_YES ? IDC_ECHOYES : IDC_ECHONO);
+ cfg.localecho == AUTO ? IDC_ECHOBACKEND :
+ cfg.localecho == FORCE_ON ? IDC_ECHOYES : IDC_ECHONO);
CheckRadioButton(hwnd, IDC_EDITBACKEND, IDC_EDITNO,
- cfg.localedit == LD_BACKEND ? IDC_EDITBACKEND :
- cfg.localedit == LD_YES ? IDC_EDITYES : IDC_EDITNO);
+ cfg.localedit == AUTO ? IDC_EDITBACKEND :
+ cfg.localedit == FORCE_ON ? IDC_EDITYES : IDC_EDITNO);
SetDlgItemText(hwnd, IDC_ANSWEREDIT, cfg.answerback);
CheckDlgButton(hwnd, IDC_ALWAYSONTOP, cfg.alwaysontop);
CheckDlgButton(hwnd, IDC_FULLSCREENONALTENTER, cfg.fullscreenonaltenter);
CheckDlgButton(hwnd, IDC_BLINKTEXT, cfg.blinktext);
SetDlgItemText(hwnd, IDC_WINEDIT, cfg.wintitle);
- CheckDlgButton(hwnd, IDC_WINNAME, cfg.win_name_always);
+ CheckDlgButton(hwnd, IDC_WINNAME, !cfg.win_name_always);
CheckDlgButton(hwnd, IDC_HIDEMOUSE, cfg.hide_mouseptr);
CheckDlgButton(hwnd, IDC_SUNKENEDGE, cfg.sunken_edge);
SetDlgItemInt(hwnd, IDC_WINBEDIT, cfg.window_border, FALSE);
cfg.resize_action == RESIZE_EITHER ? IDC_RESIZEEITHER :
IDC_RESIZENONE);
CheckRadioButton(hwnd, IDC_COEALWAYS, IDC_COENORMAL,
- cfg.close_on_exit == COE_NORMAL ? IDC_COENORMAL :
+ cfg.close_on_exit == AUTO ? IDC_COENORMAL :
cfg.close_on_exit ==
- COE_NEVER ? IDC_COENEVER : IDC_COEALWAYS);
+ FORCE_OFF ? IDC_COENEVER : IDC_COEALWAYS);
CheckDlgButton(hwnd, IDC_CLOSEWARN, cfg.warn_on_close);
SetDlgItemText(hwnd, IDC_TTEDIT, cfg.termtype);
CheckDlgButton(hwnd, IDC_X11_FORWARD, cfg.x11_forward);
SetDlgItemText(hwnd, IDC_X11_DISPLAY, cfg.x11_display);
+ CheckRadioButton(hwnd, IDC_X11MIT, IDC_X11XDM,
+ cfg.x11_auth == X11_MIT ? IDC_X11MIT : IDC_X11XDM);
CheckDlgButton(hwnd, IDC_LPORT_ALL, cfg.lport_acceptall);
CheckDlgButton(hwnd, IDC_RPORT_ALL, cfg.rport_acceptall);
SetDlgItemText(hwnd, IDC_PROXYHOSTEDIT, cfg.proxy_host);
SetDlgItemInt(hwnd, IDC_PROXYPORTEDIT, cfg.proxy_port, FALSE);
SetDlgItemText(hwnd, IDC_PROXYEXCLUDEEDIT, cfg.proxy_exclude_list);
+ CheckDlgButton(hwnd, IDC_PROXYLOCALHOST, cfg.even_proxy_localhost);
+ CheckRadioButton(hwnd, IDC_PROXYDNSNO, IDC_PROXYDNSYES,
+ cfg.proxy_dns == FORCE_OFF ? IDC_PROXYDNSNO :
+ cfg.proxy_dns == FORCE_ON ? IDC_PROXYDNSYES :
+ IDC_PROXYDNSAUTO);
SetDlgItemText(hwnd, IDC_PROXYTELNETCMDEDIT, cfg.proxy_telnet_command);
SetDlgItemText(hwnd, IDC_PROXYUSEREDIT, cfg.proxy_username);
SetDlgItemText(hwnd, IDC_PROXYPASSEDIT, cfg.proxy_password);
SendDlgItemMessage(hwnd, IDC_BUGD_IGNORE1, CB_ADDSTRING, 0, (LPARAM)"Off");
SendDlgItemMessage(hwnd, IDC_BUGD_IGNORE1, CB_ADDSTRING, 0, (LPARAM)"On");
SendDlgItemMessage(hwnd, IDC_BUGD_IGNORE1, CB_SETCURSEL,
- cfg.sshbug_ignore1 == BUG_ON ? 2 :
- cfg.sshbug_ignore1 == BUG_OFF ? 1 : 0, 0);
+ cfg.sshbug_ignore1 == FORCE_ON ? 2 :
+ cfg.sshbug_ignore1 == FORCE_OFF ? 1 : 0, 0);
SendDlgItemMessage(hwnd, IDC_BUGD_PLAINPW1, CB_RESETCONTENT, 0, 0);
SendDlgItemMessage(hwnd, IDC_BUGD_PLAINPW1, CB_ADDSTRING, 0, (LPARAM)"Auto");
SendDlgItemMessage(hwnd, IDC_BUGD_PLAINPW1, CB_ADDSTRING, 0, (LPARAM)"Off");
SendDlgItemMessage(hwnd, IDC_BUGD_PLAINPW1, CB_ADDSTRING, 0, (LPARAM)"On");
SendDlgItemMessage(hwnd, IDC_BUGD_PLAINPW1, CB_SETCURSEL,
- cfg.sshbug_plainpw1 == BUG_ON ? 2 :
- cfg.sshbug_plainpw1 == BUG_OFF ? 1 : 0, 0);
+ cfg.sshbug_plainpw1 == FORCE_ON ? 2 :
+ cfg.sshbug_plainpw1 == FORCE_OFF ? 1 : 0, 0);
SendDlgItemMessage(hwnd, IDC_BUGD_RSA1, CB_RESETCONTENT, 0, 0);
SendDlgItemMessage(hwnd, IDC_BUGD_RSA1, CB_ADDSTRING, 0, (LPARAM)"Auto");
SendDlgItemMessage(hwnd, IDC_BUGD_RSA1, CB_ADDSTRING, 0, (LPARAM)"Off");
SendDlgItemMessage(hwnd, IDC_BUGD_RSA1, CB_ADDSTRING, 0, (LPARAM)"On");
SendDlgItemMessage(hwnd, IDC_BUGD_RSA1, CB_SETCURSEL,
- cfg.sshbug_rsa1 == BUG_ON ? 2 :
- cfg.sshbug_rsa1 == BUG_OFF ? 1 : 0, 0);
+ cfg.sshbug_rsa1 == FORCE_ON ? 2 :
+ cfg.sshbug_rsa1 == FORCE_OFF ? 1 : 0, 0);
SendDlgItemMessage(hwnd, IDC_BUGD_HMAC2, CB_RESETCONTENT, 0, 0);
SendDlgItemMessage(hwnd, IDC_BUGD_HMAC2, CB_ADDSTRING, 0, (LPARAM)"Auto");
SendDlgItemMessage(hwnd, IDC_BUGD_HMAC2, CB_ADDSTRING, 0, (LPARAM)"Off");
SendDlgItemMessage(hwnd, IDC_BUGD_HMAC2, CB_ADDSTRING, 0, (LPARAM)"On");
SendDlgItemMessage(hwnd, IDC_BUGD_HMAC2, CB_SETCURSEL,
- cfg.sshbug_hmac2 == BUG_ON ? 2 :
- cfg.sshbug_hmac2 == BUG_OFF ? 1 : 0, 0);
+ cfg.sshbug_hmac2 == FORCE_ON ? 2 :
+ cfg.sshbug_hmac2 == FORCE_OFF ? 1 : 0, 0);
SendDlgItemMessage(hwnd, IDC_BUGD_DERIVEKEY2, CB_RESETCONTENT, 0, 0);
SendDlgItemMessage(hwnd, IDC_BUGD_DERIVEKEY2, CB_ADDSTRING, 0, (LPARAM)"Auto");
SendDlgItemMessage(hwnd, IDC_BUGD_DERIVEKEY2, CB_ADDSTRING, 0, (LPARAM)"Off");
SendDlgItemMessage(hwnd, IDC_BUGD_DERIVEKEY2, CB_ADDSTRING, 0, (LPARAM)"On");
SendDlgItemMessage(hwnd, IDC_BUGD_DERIVEKEY2, CB_SETCURSEL,
- cfg.sshbug_derivekey2 == BUG_ON ? 2 :
- cfg.sshbug_derivekey2 == BUG_OFF ? 1 : 0, 0);
+ cfg.sshbug_derivekey2 == FORCE_ON ? 2 :
+ cfg.sshbug_derivekey2 == FORCE_OFF ? 1 : 0, 0);
SendDlgItemMessage(hwnd, IDC_BUGD_RSAPAD2, CB_RESETCONTENT, 0, 0);
SendDlgItemMessage(hwnd, IDC_BUGD_RSAPAD2, CB_ADDSTRING, 0, (LPARAM)"Auto");
SendDlgItemMessage(hwnd, IDC_BUGD_RSAPAD2, CB_ADDSTRING, 0, (LPARAM)"Off");
SendDlgItemMessage(hwnd, IDC_BUGD_RSAPAD2, CB_ADDSTRING, 0, (LPARAM)"On");
SendDlgItemMessage(hwnd, IDC_BUGD_RSAPAD2, CB_SETCURSEL,
- cfg.sshbug_rsapad2 == BUG_ON ? 2 :
- cfg.sshbug_rsapad2 == BUG_OFF ? 1 : 0, 0);
+ cfg.sshbug_rsapad2 == FORCE_ON ? 2 :
+ cfg.sshbug_rsapad2 == FORCE_OFF ? 1 : 0, 0);
SendDlgItemMessage(hwnd, IDC_BUGD_DHGEX2, CB_RESETCONTENT, 0, 0);
SendDlgItemMessage(hwnd, IDC_BUGD_DHGEX2, CB_ADDSTRING, 0, (LPARAM)"Auto");
SendDlgItemMessage(hwnd, IDC_BUGD_DHGEX2, CB_ADDSTRING, 0, (LPARAM)"Off");
SendDlgItemMessage(hwnd, IDC_BUGD_DHGEX2, CB_ADDSTRING, 0, (LPARAM)"On");
SendDlgItemMessage(hwnd, IDC_BUGD_DHGEX2, CB_SETCURSEL,
- cfg.sshbug_dhgex2 == BUG_ON ? 2 :
- cfg.sshbug_dhgex2 == BUG_OFF ? 1 : 0, 0);
+ cfg.sshbug_dhgex2 == FORCE_ON ? 2 :
+ cfg.sshbug_dhgex2 == FORCE_OFF ? 1 : 0, 0);
}
struct treeview_faff {
IDC_BOX_APPEARANCE3);
multiedit(&cp,
"Window &title:", IDC_WINTITLE, IDC_WINEDIT, 100, NULL);
- checkbox(&cp, "Avoid ever using &icon title", IDC_WINNAME);
+ checkbox(&cp, "Separate window and &icon titles", IDC_WINNAME);
endbox(&cp);
beginbox(&cp, "Adjust the use of the mouse pointer",
IDC_BOX_APPEARANCE4);
}
if (panel == proxypanelstart) {
- /* The Proxy panel. Accelerators used: [acgoh] ntslypeuwmv */
+ /* The Proxy panel. Accelerators used: [acgoh] ntslypeuwmvxd */
struct ctlpos cp;
ctlposinit(&cp, hwnd, 80, 3, 13);
if (dlgtype == 0) {
multiedit(&cp,
"&Exclude Hosts/IPs", IDC_PROXYEXCLUDESTATIC,
IDC_PROXYEXCLUDEEDIT, 100, NULL);
+ checkbox(&cp, "Consider pro&xying local host connections",
+ IDC_PROXYLOCALHOST);
+ radioline(&cp, "Do &DNS name lookup at proxy end:",
+ IDC_PROXYDNSSTATIC, 3,
+ "No", IDC_PROXYDNSNO,
+ "Auto", IDC_PROXYDNSAUTO,
+ "Yes", IDC_PROXYDNSYES, NULL);
staticedit(&cp, "&Username", IDC_PROXYUSERSTATIC,
IDC_PROXYUSEREDIT, 60);
staticpassedit(&cp, "Pass&word", IDC_PROXYPASSSTATIC,
}
if (panel == sshpanelstart) {
- /* The SSH panel. Accelerators used: [acgoh] r pe12ni sd */
+ /* The SSH panel. Accelerators used: [acgoh] r pel12n sud i */
struct ctlpos cp;
ctlposinit(&cp, hwnd, 80, 3, 13);
if (dlgtype == 0) {
"2 o&nly", IDC_SSHPROT2ONLY, NULL);
endbox(&cp);
beginbox(&cp, "Encryption options", IDC_BOX_SSH3);
+ /* Adds accelerators: ud */
prefslist(&cipherlist, &cp, "Encryption cipher &selection policy:",
IDC_CIPHERSTATIC2, IDC_CIPHERLIST, IDC_CIPHERUP,
IDC_CIPHERDN);
- checkbox(&cp, "Enable non-standard use of single-&DES in SSH 2",
+ checkbox(&cp, "Enable non-standard use of s&ingle-DES in SSH 2",
IDC_SSH2DES);
endbox(&cp);
}
}
if (panel == sshbugspanelstart) {
- /* The SSH bugs panel. Accelerators used: [acgoh] isrmep */
+ /* The SSH bugs panel. Accelerators used: [acgoh] isrmepd */
struct ctlpos cp;
ctlposinit(&cp, hwnd, 80, 3, 13);
if (dlgtype == 0) {
}
if (panel == tunnelspanelstart) {
- /* The Tunnels panel. Accelerators used: [acgoh] deilmrstxp */
+ /* The Tunnels panel. Accelerators used: [acgoh] exu tprsdilm */
struct ctlpos cp;
ctlposinit(&cp, hwnd, 80, 3, 13);
if (dlgtype == 0) {
IDC_TITLE_TUNNELS);
beginbox(&cp, "X11 forwarding", IDC_BOX_TUNNELS1);
checkbox(&cp, "&Enable X11 forwarding", IDC_X11_FORWARD);
- multiedit(&cp, "&X display location", IDC_X11_DISPSTATIC,
- IDC_X11_DISPLAY, 50, NULL);
+ staticedit(&cp, "&X display location", IDC_X11_DISPSTATIC,
+ IDC_X11_DISPLAY, 50);
+ radioline(&cp, "Remote X11 a&uthentication protocol",
+ IDC_X11AUTHSTATIC, 2,
+ "MIT-Magic-Cookie-1", IDC_X11MIT,
+ "XDM-Authorization-1", IDC_X11XDM, NULL);
endbox(&cp);
beginbox(&cp, "Port forwarding", IDC_BOX_TUNNELS2);
checkbox(&cp, "Local ports accept connections from o&ther hosts",
"Add new forwarded port:", IDC_PFWDSTATIC2,
"&Source port", IDC_SPORTSTATIC, IDC_SPORTEDIT,
"Dest&ination", IDC_DPORTSTATIC, IDC_DPORTEDIT,
- "A&dd", IDC_PFWDADD);
- bareradioline(&cp, 2,
- "&Local", IDC_PFWDLOCAL,
- "Re&mote", IDC_PFWDREMOTE, NULL);
+ "A&dd", IDC_PFWDADD,
+ "&Local", IDC_PFWDLOCAL,
+ "Re&mote", IDC_PFWDREMOTE);
endbox(&cp);
}
MessageBeep(0);
return 0;
}
- isdef = !strcmp(sessions[n], "Default Settings");
- load_settings(sessions[n], !isdef, &cfg);
+ isdef = !strcmp(sesslist.sessions[n], "Default Settings");
+ load_settings(sesslist.sessions[n], !isdef, &cfg);
init_dlg_ctrls(hwnd, TRUE);
if (!isdef)
- SetDlgItemText(hwnd, IDC_SESSEDIT, sessions[n]);
+ SetDlgItemText(hwnd, IDC_SESSEDIT, sesslist.sessions[n]);
else
SetDlgItemText(hwnd, IDC_SESSEDIT, "");
/* Restore the selection, which will have been clobbered by
MessageBeep(0);
break;
}
- strcpy(str, sessions[n]);
+ strcpy(str, sesslist.sessions[n]);
}
save_settings(str, !!strcmp(str, "Default Settings"),
&cfg);
- get_sesslist(FALSE);
- get_sesslist(TRUE);
+ get_sesslist(&sesslist, FALSE);
+ get_sesslist(&sesslist, TRUE);
SendDlgItemMessage(hwnd, IDC_SESSLIST, WM_SETREDRAW,
FALSE, 0);
SendDlgItemMessage(hwnd, IDC_SESSLIST, LB_RESETCONTENT,
0, 0);
- for (i = 0; i < nsessions; i++)
+ for (i = 0; i < sesslist.nsessions; i++)
SendDlgItemMessage(hwnd, IDC_SESSLIST,
LB_ADDSTRING, 0,
- (LPARAM) (sessions[i]));
+ (LPARAM) (sesslist.sessions[i]));
SendDlgItemMessage(hwnd, IDC_SESSLIST, LB_SETCURSEL,
(WPARAM) - 1, 0);
SendDlgItemMessage(hwnd, IDC_SESSLIST, WM_SETREDRAW,
MessageBeep(0);
break;
}
- del_settings(sessions[n]);
- get_sesslist(FALSE);
- get_sesslist(TRUE);
+ del_settings(sesslist.sessions[n]);
+ get_sesslist(&sesslist, FALSE);
+ get_sesslist(&sesslist, TRUE);
SendDlgItemMessage(hwnd, IDC_SESSLIST, WM_SETREDRAW,
FALSE, 0);
SendDlgItemMessage(hwnd, IDC_SESSLIST, LB_RESETCONTENT,
0, 0);
- for (i = 0; i < nsessions; i++)
+ for (i = 0; i < sesslist.nsessions; i++)
SendDlgItemMessage(hwnd, IDC_SESSLIST,
LB_ADDSTRING, 0,
- (LPARAM) (sessions[i]));
+ (LPARAM) (sesslist.sessions[i]));
SendDlgItemMessage(hwnd, IDC_SESSLIST, LB_SETCURSEL,
(WPARAM) - 1, 0);
SendDlgItemMessage(hwnd, IDC_SESSLIST, WM_SETREDRAW,
if (HIWORD(wParam) == BN_CLICKED ||
HIWORD(wParam) == BN_DOUBLECLICKED) {
if (LOWORD(wParam) == IDC_ECHOBACKEND)
- cfg.localecho = LD_BACKEND;
+ cfg.localecho = AUTO;
if (LOWORD(wParam) == IDC_ECHOYES)
- cfg.localecho = LD_YES;
+ cfg.localecho = FORCE_ON;
if (LOWORD(wParam) == IDC_ECHONO)
- cfg.localecho = LD_NO;
+ cfg.localecho = FORCE_OFF;
}
break;
case IDC_EDITBACKEND:
if (HIWORD(wParam) == BN_CLICKED ||
HIWORD(wParam) == BN_DOUBLECLICKED) {
if (LOWORD(wParam) == IDC_EDITBACKEND)
- cfg.localedit = LD_BACKEND;
+ cfg.localedit = AUTO;
if (LOWORD(wParam) == IDC_EDITYES)
- cfg.localedit = LD_YES;
+ cfg.localedit = FORCE_ON;
if (LOWORD(wParam) == IDC_EDITNO)
- cfg.localedit = LD_NO;
+ cfg.localedit = FORCE_OFF;
}
break;
case IDC_ANSWEREDIT:
if (HIWORD(wParam) == BN_CLICKED ||
HIWORD(wParam) == BN_DOUBLECLICKED)
cfg.win_name_always =
- IsDlgButtonChecked(hwnd, IDC_WINNAME);
+ !IsDlgButtonChecked(hwnd, IDC_WINNAME);
break;
case IDC_HIDEMOUSE:
if (HIWORD(wParam) == BN_CLICKED ||
HIWORD(wParam) == BN_DOUBLECLICKED) {
cfg.close_on_exit =
IsDlgButtonChecked(hwnd,
- IDC_COEALWAYS) ? COE_ALWAYS :
+ IDC_COEALWAYS) ? FORCE_ON :
IsDlgButtonChecked(hwnd,
- IDC_COENEVER) ? COE_NEVER :
- COE_NORMAL;
+ IDC_COENEVER) ? FORCE_OFF :
+ AUTO;
}
break;
case IDC_CLOSEWARN:
IsDlgButtonChecked(hwnd, IDC_PROXYSOCKSVER4) ? 4 : 5;
}
break;
+ case IDC_PROXYLOCALHOST:
+ if (HIWORD(wParam) == BN_CLICKED ||
+ HIWORD(wParam) == BN_DOUBLECLICKED)
+ cfg.even_proxy_localhost =
+ IsDlgButtonChecked(hwnd, IDC_PROXYLOCALHOST);
+ break;
+ case IDC_PROXYDNSNO:
+ case IDC_PROXYDNSAUTO:
+ case IDC_PROXYDNSYES:
+ if (HIWORD(wParam) == BN_CLICKED ||
+ HIWORD(wParam) == BN_DOUBLECLICKED) {
+ cfg.proxy_dns =
+ IsDlgButtonChecked(hwnd, IDC_PROXYDNSNO) ? FORCE_OFF :
+ IsDlgButtonChecked(hwnd, IDC_PROXYDNSYES) ? FORCE_ON :
+ AUTO;
+ }
+ break;
case IDC_PROXYTYPENONE:
case IDC_PROXYTYPEHTTP:
case IDC_PROXYTYPESOCKS:
of.lStructSize = sizeof(of);
#endif
of.hwndOwner = hwnd;
- of.lpstrFilter = "PuTTY Private Key Files\0*.PPK\0"
+ of.lpstrFilter = "PuTTY Private Key Files (*.ppk)\0*.PPK\0"
"AllFiles\0*\0\0\0";
of.lpstrCustomFilter = NULL;
of.nFilterIndex = 1;
GetDlgItemText(hwnd, IDC_X11_DISPLAY, cfg.x11_display,
sizeof(cfg.x11_display) - 1);
break;
+ case IDC_X11MIT:
+ case IDC_X11XDM:
+ if (HIWORD(wParam) == BN_CLICKED ||
+ HIWORD(wParam) == BN_DOUBLECLICKED) {
+ if (IsDlgButtonChecked(hwnd, IDC_X11MIT))
+ cfg.x11_auth = X11_MIT;
+ else if (IsDlgButtonChecked(hwnd, IDC_X11XDM))
+ cfg.x11_auth = X11_XDM;
+ }
+ break;
case IDC_PFWDADD:
if (HIWORD(wParam) == BN_CLICKED ||
HIWORD(wParam) == BN_DOUBLECLICKED) {
if (HIWORD(wParam) == CBN_SELCHANGE) {
int index = SendDlgItemMessage(hwnd, IDC_BUGD_IGNORE1,
CB_GETCURSEL, 0, 0);
- cfg.sshbug_ignore1 = (index == 0 ? BUG_AUTO :
- index == 1 ? BUG_OFF : BUG_ON);
+ cfg.sshbug_ignore1 = (index == 0 ? AUTO :
+ index == 1 ? FORCE_OFF : FORCE_ON);
}
break;
case IDC_BUGD_PLAINPW1:
if (HIWORD(wParam) == CBN_SELCHANGE) {
int index = SendDlgItemMessage(hwnd, IDC_BUGD_PLAINPW1,
CB_GETCURSEL, 0, 0);
- cfg.sshbug_plainpw1 = (index == 0 ? BUG_AUTO :
- index == 1 ? BUG_OFF : BUG_ON);
+ cfg.sshbug_plainpw1 = (index == 0 ? AUTO :
+ index == 1 ? FORCE_OFF : FORCE_ON);
}
break;
case IDC_BUGD_RSA1:
if (HIWORD(wParam) == CBN_SELCHANGE) {
int index = SendDlgItemMessage(hwnd, IDC_BUGD_RSA1,
CB_GETCURSEL, 0, 0);
- cfg.sshbug_rsa1 = (index == 0 ? BUG_AUTO :
- index == 1 ? BUG_OFF : BUG_ON);
+ cfg.sshbug_rsa1 = (index == 0 ? AUTO :
+ index == 1 ? FORCE_OFF : FORCE_ON);
}
break;
case IDC_BUGD_HMAC2:
if (HIWORD(wParam) == CBN_SELCHANGE) {
int index = SendDlgItemMessage(hwnd, IDC_BUGD_HMAC2,
CB_GETCURSEL, 0, 0);
- cfg.sshbug_hmac2 = (index == 0 ? BUG_AUTO :
- index == 1 ? BUG_OFF : BUG_ON);
+ cfg.sshbug_hmac2 = (index == 0 ? AUTO :
+ index == 1 ? FORCE_OFF : FORCE_ON);
}
break;
case IDC_BUGD_DERIVEKEY2:
if (HIWORD(wParam) == CBN_SELCHANGE) {
int index = SendDlgItemMessage(hwnd, IDC_BUGD_DERIVEKEY2,
CB_GETCURSEL, 0, 0);
- cfg.sshbug_derivekey2 = (index == 0 ? BUG_AUTO :
- index == 1 ? BUG_OFF : BUG_ON);
+ cfg.sshbug_derivekey2 = (index == 0 ? AUTO :
+ index == 1 ? FORCE_OFF:FORCE_ON);
}
break;
case IDC_BUGD_RSAPAD2:
if (HIWORD(wParam) == CBN_SELCHANGE) {
int index = SendDlgItemMessage(hwnd, IDC_BUGD_RSAPAD2,
CB_GETCURSEL, 0, 0);
- cfg.sshbug_rsapad2 = (index == 0 ? BUG_AUTO :
- index == 1 ? BUG_OFF : BUG_ON);
+ cfg.sshbug_rsapad2 = (index == 0 ? AUTO :
+ index == 1 ? FORCE_OFF : FORCE_ON);
}
break;
case IDC_BUGD_DHGEX2:
if (HIWORD(wParam) == CBN_SELCHANGE) {
int index = SendDlgItemMessage(hwnd, IDC_BUGD_DHGEX2,
CB_GETCURSEL, 0, 0);
- cfg.sshbug_dhgex2 = (index == 0 ? BUG_AUTO :
- index == 1 ? BUG_OFF : BUG_ON);
+ cfg.sshbug_dhgex2 = (index == 0 ? AUTO :
+ index == 1 ? FORCE_OFF : FORCE_ON);
}
break;
}
{
int ret;
- get_sesslist(TRUE);
+ get_sesslist(&sesslist, TRUE);
savedsession[0] = '\0';
ret =
DialogBox(hinst, MAKEINTRESOURCE(IDD_MAINBOX), NULL, MainDlgProc);
- get_sesslist(FALSE);
+ get_sesslist(&sesslist, FALSE);
return ret;
}
"or Cancel to disable logging.";
char message[sizeof(msgtemplate) + FILENAME_MAX];
int mbret;
- if (cfg.logxfovr != LGXF_ASK) {
- return ((cfg.logxfovr == LGXF_OVR) ? 2 : 1);
- }
+
sprintf(message, msgtemplate, FILENAME_MAX, filename);
mbret = MessageBox(NULL, message, mbtitle,