IDC_LSTATOFF,
IDC_LSTATASCII,
IDC_LSTATRAW,
+ IDC_LSTATPACKET,
IDC_LGFSTATIC,
IDC_LGFEDIT,
IDC_LGFBUTTON,
IDC_TPASSIVE,
IDC_TACTIVE,
IDC_TELNETKEY,
+ IDC_TELNETRET,
telnetpanelend,
rloginpanelstart,
IDC_X11_DISPSTATIC,
IDC_X11_DISPLAY,
IDC_LPORT_ALL,
+ IDC_RPORT_ALL,
IDC_PFWDSTATIC,
IDC_PFWDSTATIC2,
IDC_PFWDREMOVE,
case IDC_LSTATOFF:
case IDC_LSTATASCII:
case IDC_LSTATRAW:
+ case IDC_LSTATPACKET:
return "JI(`',`logging.main')";
case IDC_LGFSTATIC:
case IDC_LGFEDIT:
return "JI(`',`telnet.passive')";
case IDC_TELNETKEY:
return "JI(`',`telnet.specialkeys')";
+ case IDC_TELNETRET:
+ return "JI(`',`telnet.newline')";
case IDC_R_TSSTATIC:
case IDC_R_TSEDIT:
case IDC_X11_DISPSTATIC:
case IDC_X11_DISPLAY:
return "JI(`',`ssh.tunnels.x11')";
- case IDC_LPORT_ALL:
case IDC_PFWDSTATIC:
case IDC_PFWDSTATIC2:
case IDC_PFWDREMOVE:
case IDC_PFWDLOCAL:
case IDC_PFWDREMOTE:
return "JI(`',`ssh.tunnels.portfwd')";
+ case IDC_LPORT_ALL:
+ case IDC_RPORT_ALL:
+ return "JI(`',`ssh.tunnels.portfwd.localhost')";
default:
return NULL;
CheckDlgButton(hwnd, IDC_COMPOSEKEY, cfg.compose_key);
CheckDlgButton(hwnd, IDC_CTRLALTKEYS, cfg.ctrlaltkeys);
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);
SetDlgItemText(hwnd, IDC_RLLUSEREDIT, cfg.localusername);
SetDlgItemText(hwnd, IDC_LOGEDIT, cfg.username);
SetDlgItemText(hwnd, IDC_LGFEDIT, cfg.logfilename);
- CheckRadioButton(hwnd, IDC_LSTATOFF, IDC_LSTATRAW,
- cfg.logtype == 0 ? IDC_LSTATOFF :
- cfg.logtype == 1 ? IDC_LSTATASCII : IDC_LSTATRAW);
+ CheckRadioButton(hwnd, IDC_LSTATOFF, IDC_LSTATPACKET,
+ cfg.logtype == LGTYP_NONE ? IDC_LSTATOFF :
+ cfg.logtype == LGTYP_ASCII ? IDC_LSTATASCII :
+ cfg.logtype == LGTYP_DEBUG ? IDC_LSTATRAW :
+ IDC_LSTATPACKET);
CheckRadioButton(hwnd, IDC_LSTATXOVR, IDC_LSTATXASK,
cfg.logxfovr == LGXF_OVR ? IDC_LSTATXOVR :
cfg.logxfovr == LGXF_ASK ? IDC_LSTATXASK :
SetDlgItemText(hwnd, IDC_X11_DISPLAY, cfg.x11_display);
CheckDlgButton(hwnd, IDC_LPORT_ALL, cfg.lport_acceptall);
+ CheckDlgButton(hwnd, IDC_RPORT_ALL, cfg.rport_acceptall);
CheckRadioButton(hwnd, IDC_PFWDLOCAL, IDC_PFWDREMOTE, IDC_PFWDLOCAL);
}
}
if (panel == loggingpanelstart) {
- /* The Logging panel. Accelerators used: [acgo] tplfwe */
+ /* The Logging panel. Accelerators used: [acgo] tplsfwe */
struct ctlpos cp;
ctlposinit(&cp, hwnd, 80, 3, 13);
bartitle(&cp, "Options controlling session logging",
"Session logging:", IDC_LSTATSTATIC,
"Logging &turned off completely", IDC_LSTATOFF,
"Log &printable output only", IDC_LSTATASCII,
- "&Log all session output", IDC_LSTATRAW, NULL);
+ "&Log all session output", IDC_LSTATRAW,
+ "Log &SSH packet data", IDC_LSTATPACKET,
+ NULL);
editbutton(&cp, "Log &file name:",
IDC_LGFSTATIC, IDC_LGFEDIT, "Bro&wse...",
IDC_LGFBUTTON);
beginbox(&cp, "Adjust telnet session.", IDC_BOX_CONNECTION1);
checkbox(&cp, "Keyboard sends telnet Backspace and Interrupt",
IDC_TELNETKEY);
+ checkbox(&cp, "Return key sends telnet New Line instead of ^M",
+ IDC_TELNETRET);
endbox(&cp);
}
beginbox(&cp, "Sending of null packets to keep session active",
IDC_TACTIVE, NULL);
checkbox(&cp, "&Keyboard sends telnet Backspace and Interrupt",
IDC_TELNETKEY);
+ checkbox(&cp, "Return key sends telnet New Line instead of ^M",
+ IDC_TELNETRET);
endbox(&cp);
}
}
}
if (panel == tunnelspanelstart) {
- /* The Tunnels panel. Accelerators used: [acgo] deilmrstx */
+ /* The Tunnels panel. Accelerators used: [acgo] deilmrsthx */
struct ctlpos cp;
ctlposinit(&cp, hwnd, 80, 3, 13);
if (dlgtype == 0) {
IDC_X11_DISPLAY, 50, NULL);
endbox(&cp);
beginbox(&cp, "Port forwarding", IDC_BOX_TUNNELS2);
- checkbox(&cp, "Local ports accept connections from o&ther hosts", IDC_LPORT_ALL);
+ checkbox(&cp, "Local ports accept connections from o&ther hosts",
+ IDC_LPORT_ALL);
+ checkbox(&cp, "Remote ports do t&he same (SSH v2 only)",
+ IDC_RPORT_ALL);
staticbtn(&cp, "Forwarded ports:", IDC_PFWDSTATIC,
"&Remove", IDC_PFWDREMOVE);
fwdsetter(&cp, IDC_PFWDLIST,
"Dest&ination", IDC_DPORTSTATIC, IDC_DPORTEDIT,
"A&dd", IDC_PFWDADD);
bareradioline(&cp, 2,
- "&Local", IDC_PFWDLOCAL, "Re&mote", IDC_PFWDREMOTE, NULL);
+ "&Local", IDC_PFWDLOCAL,
+ "Re&mote", IDC_PFWDREMOTE, NULL);
endbox(&cp);
}
cfg.telnet_keyboard =
IsDlgButtonChecked(hwnd, IDC_TELNETKEY);
break;
+ case IDC_TELNETRET:
+ if (HIWORD(wParam) == BN_CLICKED ||
+ HIWORD(wParam) == BN_DOUBLECLICKED)
+ cfg.telnet_newline =
+ IsDlgButtonChecked(hwnd, IDC_TELNETRET);
+ break;
case IDC_WRAPMODE:
if (HIWORD(wParam) == BN_CLICKED ||
HIWORD(wParam) == BN_DOUBLECLICKED)
case IDC_LSTATOFF:
case IDC_LSTATASCII:
case IDC_LSTATRAW:
+ case IDC_LSTATPACKET:
if (HIWORD(wParam) == BN_CLICKED ||
HIWORD(wParam) == BN_DOUBLECLICKED) {
if (IsDlgButtonChecked(hwnd, IDC_LSTATOFF))
- cfg.logtype = 0;
+ cfg.logtype = LGTYP_NONE;
if (IsDlgButtonChecked(hwnd, IDC_LSTATASCII))
- cfg.logtype = 1;
+ cfg.logtype = LGTYP_ASCII;
if (IsDlgButtonChecked(hwnd, IDC_LSTATRAW))
- cfg.logtype = 2;
+ cfg.logtype = LGTYP_DEBUG;
+ if (IsDlgButtonChecked(hwnd, IDC_LSTATPACKET))
+ cfg.logtype = LGTYP_PACKETS;
}
break;
case IDC_LSTATXASK:
case IDC_X11_FORWARD:
if (HIWORD(wParam) == BN_CLICKED ||
HIWORD(wParam) == BN_DOUBLECLICKED)
- cfg.x11_forward =
- IsDlgButtonChecked(hwnd, IDC_X11_FORWARD);
+ cfg.x11_forward =
+ IsDlgButtonChecked(hwnd, IDC_X11_FORWARD);
break;
case IDC_LPORT_ALL:
if (HIWORD(wParam) == BN_CLICKED ||
HIWORD(wParam) == BN_DOUBLECLICKED)
- cfg.lport_acceptall =
- IsDlgButtonChecked(hwnd, IDC_LPORT_ALL);
+ cfg.lport_acceptall =
+ IsDlgButtonChecked(hwnd, IDC_LPORT_ALL);
+ break;
+ case IDC_RPORT_ALL:
+ if (HIWORD(wParam) == BN_CLICKED ||
+ HIWORD(wParam) == BN_DOUBLECLICKED)
+ cfg.rport_acceptall =
+ IsDlgButtonChecked(hwnd, IDC_RPORT_ALL);
break;
case IDC_X11_DISPLAY:
if (HIWORD(wParam) == EN_CHANGE)