+ if (panel == selectionpanelstart) {
+ /* The Selection panel. Accelerators used: [acgoh] df wxp est nr */
+ struct ctlpos cp;
+ ctlposinit(&cp, hwnd, 80, 3, 13);
+ bartitle(&cp, "Options controlling copy and paste",
+ IDC_TITLE_SELECTION);
+ beginbox(&cp, "Translation of pasted characters",
+ IDC_BOX_SELECTION1);
+ checkbox(&cp,
+ "&Don't translate line drawing chars into +, - and |",
+ IDC_RAWCNP);
+ checkbox(&cp,
+ "Paste to clipboard in RT&F as well as plain text",
+ IDC_RTFPASTE);
+ endbox(&cp);
+ beginbox(&cp, "Control which mouse button does which thing",
+ IDC_BOX_SELECTION2);
+ radiobig(&cp, "Action of mouse buttons:", IDC_MBSTATIC,
+ "&Windows (Right pastes, Middle extends)", IDC_MBWINDOWS,
+ "&xterm (Right extends, Middle pastes)", IDC_MBXTERM,
+ NULL);
+ checkbox(&cp,
+ "Shift overrides a&pplication's use of mouse",
+ IDC_MOUSEOVERRIDE);
+ radioline(&cp,
+ "Default selection mode (Alt+drag does the other one):",
+ IDC_SELTYPESTATIC, 2,
+ "&Normal", IDC_SELTYPELEX,
+ "&Rectangular block", IDC_SELTYPERECT, NULL);
+ endbox(&cp);
+ beginbox(&cp, "Control the select-one-word-at-a-time mode",
+ IDC_BOX_SELECTION3);
+ charclass(&cp, "Charact&er classes:", IDC_CCSTATIC, IDC_CCLIST,
+ "&Set", IDC_CCSET, IDC_CCEDIT,
+ "&to class", IDC_CCSTATIC2);
+ endbox(&cp);
+ }
+
+ if (panel == colourspanelstart) {
+ /* The Colours panel. Accelerators used: [acgoh] blum */
+ struct ctlpos cp;
+ ctlposinit(&cp, hwnd, 80, 3, 13);
+ bartitle(&cp, "Options controlling use of colours",
+ IDC_TITLE_COLOURS);
+ beginbox(&cp, "General options for colour usage",
+ IDC_BOX_COLOURS1);
+ checkbox(&cp, "&Bolded text is a different colour",
+ IDC_BOLDCOLOUR);
+ checkbox(&cp, "Attempt to use &logical palettes", IDC_PALETTE);
+ endbox(&cp);
+ beginbox(&cp, "Adjust the precise colours PuTTY displays",
+ IDC_BOX_COLOURS2);
+ colouredit(&cp, "Select a colo&ur and then click to modify it:",
+ IDC_COLOURSTATIC, IDC_COLOURLIST,
+ "&Modify...", IDC_CHANGE,
+ "Red:", IDC_RSTATIC, IDC_RVALUE,
+ "Green:", IDC_GSTATIC, IDC_GVALUE,
+ "Blue:", IDC_BSTATIC, IDC_BVALUE, NULL);
+ endbox(&cp);
+ }
+
+ if (panel == connectionpanelstart) {
+ /* The Connection panel. Accelerators used: [acgoh] tukn */
+ struct ctlpos cp;
+ ctlposinit(&cp, hwnd, 80, 3, 13);
+ bartitle(&cp, "Options controlling the connection",
+ IDC_TITLE_CONNECTION);
+ if (dlgtype == 0) {
+ beginbox(&cp, "Data to send to the server",
+ IDC_BOX_CONNECTION1);
+ staticedit(&cp, "Terminal-&type string", IDC_TTSTATIC,
+ IDC_TTEDIT, 50);
+ staticedit(&cp, "Auto-login &username", IDC_LOGSTATIC,
+ IDC_LOGEDIT, 50);
+ endbox(&cp);
+ } else {
+ 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_BOX_CONNECTION2);
+ staticedit(&cp, "Seconds between &keepalives (0 to turn off)",
+ IDC_PINGSTATIC, IDC_PINGEDIT, 20);
+ endbox(&cp);
+ if (dlgtype == 0) {
+ beginbox(&cp, "Low-level TCP connection options",
+ IDC_BOX_CONNECTION3);
+ checkbox(&cp, "Disable &Nagle's algorithm (TCP_NODELAY option)",
+ IDC_NODELAY);
+ endbox(&cp);
+ }
+ }
+
+ if (panel == proxypanelstart) {
+ /* The Proxy panel. Accelerators used: [acgoh] ntslypeuwmvxd */
+ struct ctlpos cp;
+ ctlposinit(&cp, hwnd, 80, 3, 13);
+ if (dlgtype == 0) {
+ bartitle(&cp, "Options controlling proxy usage",
+ IDC_TITLE_PROXY);
+ beginbox(&cp, "Proxy basics", IDC_BOX_PROXY1);
+ radioline(&cp, "Proxy type:", IDC_PROXYTYPESTATIC, 4,
+ "&None", IDC_PROXYTYPENONE,
+ "H&TTP", IDC_PROXYTYPEHTTP,
+ "&SOCKS", IDC_PROXYTYPESOCKS,
+ "Te&lnet", IDC_PROXYTYPETELNET, NULL);
+ multiedit(&cp,
+ "Prox&y Host", IDC_PROXYHOSTSTATIC, IDC_PROXYHOSTEDIT, 80,
+ "&Port", IDC_PROXYPORTSTATIC, IDC_PROXYPORTEDIT, 20, NULL);
+ 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,
+ IDC_PROXYPASSEDIT, 60);
+ endbox(&cp);
+ beginbox(&cp, "Misc. proxy settings", IDC_BOX_PROXY2);
+ multiedit(&cp,
+ "Telnet co&mmand", IDC_PROXYTELNETCMDSTATIC,
+ IDC_PROXYTELNETCMDEDIT, 100, NULL);
+ radioline(&cp, "SOCKS &Version", IDC_PROXYSOCKSVERSTATIC,
+ 2, "Version 5", IDC_PROXYSOCKSVER5, "Version 4",
+ IDC_PROXYSOCKSVER4, NULL);
+ endbox(&cp);
+ }
+ }
+
+ if (panel == telnetpanelstart) {
+ /* The Telnet panel. Accelerators used: [acgoh] svldr bftk */
+ struct ctlpos cp;
+ ctlposinit(&cp, hwnd, 80, 3, 13);
+ if (dlgtype == 0) {
+ bartitle(&cp, "Options controlling Telnet connections",
+ IDC_TITLE_TELNET);
+ beginbox(&cp, "Data to send to the server", IDC_BOX_TELNET1);
+ staticedit(&cp, "Terminal-&speed string", IDC_TSSTATIC,
+ IDC_TSEDIT, 50);
+ envsetter(&cp, "Environment variables:", IDC_ENVSTATIC,
+ "&Variable", IDC_VARSTATIC, IDC_VAREDIT, "Va&lue",
+ IDC_VALSTATIC, IDC_VALEDIT, IDC_ENVLIST, "A&dd",
+ IDC_ENVADD, "&Remove", IDC_ENVREMOVE);
+ endbox(&cp);
+ beginbox(&cp, "Telnet protocol adjustments", IDC_BOX_TELNET2);
+ radioline(&cp, "Handling of OLD_ENVIRON ambiguity:",
+ IDC_EMSTATIC, 2, "&BSD (commonplace)", IDC_EMBSD,
+ "R&FC 1408 (unusual)", IDC_EMRFC, NULL);
+ radioline(&cp, "&Telnet negotiation mode:", IDC_ACTSTATIC, 2,
+ "Passive", IDC_TPASSIVE, "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 == rloginpanelstart) {
+ /* The Rlogin panel. Accelerators used: [acgoh] sl */
+ struct ctlpos cp;
+ ctlposinit(&cp, hwnd, 80, 3, 13);
+ if (dlgtype == 0) {
+ bartitle(&cp, "Options controlling Rlogin connections",
+ IDC_TITLE_RLOGIN);
+ beginbox(&cp, "Data to send to the server", IDC_BOX_RLOGIN1);
+ staticedit(&cp, "Terminal-&speed string", IDC_R_TSSTATIC,
+ IDC_R_TSEDIT, 50);
+ staticedit(&cp, "&Local username:", IDC_RLLUSERSTATIC,
+ IDC_RLLUSEREDIT, 50);
+ endbox(&cp);
+ }
+ }
+
+ if (panel == sshpanelstart) {
+ /* The SSH panel. Accelerators used: [acgoh] r pe12ni sd */
+ struct ctlpos cp;
+ ctlposinit(&cp, hwnd, 80, 3, 13);
+ if (dlgtype == 0) {
+ bartitle(&cp, "Options controlling SSH connections",
+ IDC_TITLE_SSH);
+ beginbox(&cp, "Data to send to the server", IDC_BOX_SSH1);
+ multiedit(&cp,
+ "&Remote command:", IDC_CMDSTATIC, IDC_CMDEDIT, 100,
+ NULL);
+ endbox(&cp);
+ beginbox(&cp, "Protocol options", IDC_BOX_SSH2);
+ checkbox(&cp, "Don't allocate a &pseudo-terminal", IDC_NOPTY);
+ checkbox(&cp, "Enable compr&ession", IDC_COMPRESS);
+ radioline(&cp, "Preferred SSH protocol version:",
+ IDC_SSHPROTSTATIC, 4,
+ "1 on&ly", IDC_SSHPROT1ONLY,
+ "&1", IDC_SSHPROT1, "&2", IDC_SSHPROT2,
+ "2 o&nly", IDC_SSHPROT2ONLY, NULL);
+ endbox(&cp);
+ beginbox(&cp, "Encryption options", IDC_BOX_SSH3);
+ 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",
+ IDC_SSH2DES);
+ endbox(&cp);
+ }
+ }
+
+ if (panel == sshauthpanelstart) {
+ /* The SSH authentication panel. Accelerators used: [acgoh] m fkiuw */
+ struct ctlpos cp;
+ ctlposinit(&cp, hwnd, 80, 3, 13);
+ if (dlgtype == 0) {
+ bartitle(&cp, "Options controlling SSH authentication",
+ IDC_TITLE_SSHAUTH);
+ beginbox(&cp, "Authentication methods",
+ IDC_BOX_SSHAUTH1);
+ checkbox(&cp, "Atte&mpt TIS or CryptoCard authentication (SSH1)",
+ IDC_AUTHTIS);
+ checkbox(&cp, "Attempt \"keyboard-&interactive\" authentication"
+ " (SSH2)", IDC_AUTHKI);
+ endbox(&cp);
+ beginbox(&cp, "Authentication parameters",
+ IDC_BOX_SSHAUTH2);
+ checkbox(&cp, "Allow agent &forwarding", IDC_AGENTFWD);
+ checkbox(&cp, "Allow attempted changes of &username in SSH2",
+ IDC_CHANGEUSER);
+ editbutton(&cp, "Private &key file for authentication:",
+ IDC_PKSTATIC, IDC_PKEDIT, "Bro&wse...",
+ IDC_PKBUTTON);
+ endbox(&cp);
+ }
+ }
+
+ if (panel == sshbugspanelstart) {
+ /* The SSH bugs panel. Accelerators used: [acgoh] isrmep */
+ struct ctlpos cp;
+ ctlposinit(&cp, hwnd, 80, 3, 13);
+ if (dlgtype == 0) {
+ bartitle(&cp, "Workarounds for SSH server bugs",
+ IDC_TITLE_SSHBUGS);
+ beginbox(&cp, "Detection of known bugs in SSH servers",
+ IDC_BOX_SSHBUGS1);
+ staticddl(&cp, "Chokes on SSH1 &ignore messages",
+ IDC_BUGS_IGNORE1, IDC_BUGD_IGNORE1, 20);
+ staticddl(&cp, "Refuses all SSH1 pa&ssword camouflage",
+ IDC_BUGS_PLAINPW1, IDC_BUGD_PLAINPW1, 20);
+ staticddl(&cp, "Chokes on SSH1 &RSA authentication",
+ IDC_BUGS_RSA1, IDC_BUGD_RSA1, 20);
+ staticddl(&cp, "Miscomputes SSH2 H&MAC keys",
+ IDC_BUGS_HMAC2, IDC_BUGD_HMAC2, 20);
+ staticddl(&cp, "Miscomputes SSH2 &encryption keys",
+ IDC_BUGS_DERIVEKEY2, IDC_BUGD_DERIVEKEY2, 20);
+ staticddl(&cp, "Requires &padding on SSH2 RSA signatures",
+ IDC_BUGS_RSAPAD2, IDC_BUGD_RSAPAD2, 20);
+ staticddl(&cp, "Chokes on &Diffie-Hellman group exchange",
+ IDC_BUGS_DHGEX2, IDC_BUGD_DHGEX2, 20);
+ endbox(&cp);
+ }
+ }
+
+ if (panel == tunnelspanelstart) {
+ /* The Tunnels panel. Accelerators used: [acgoh] deilmrstxp */
+ struct ctlpos cp;
+ ctlposinit(&cp, hwnd, 80, 3, 13);
+ if (dlgtype == 0) {
+ bartitle(&cp, "Options controlling SSH tunnelling",
+ 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);
+ endbox(&cp);
+ beginbox(&cp, "Port forwarding", IDC_BOX_TUNNELS2);
+ checkbox(&cp, "Local ports accept connections from o&ther hosts",
+ IDC_LPORT_ALL);
+ checkbox(&cp, "Remote &ports do the same (SSH v2 only)",
+ IDC_RPORT_ALL);
+ staticbtn(&cp, "Forwarded ports:", IDC_PFWDSTATIC,
+ "&Remove", IDC_PFWDREMOVE);
+ fwdsetter(&cp, IDC_PFWDLIST,
+ "Add new forwarded port:", IDC_PFWDSTATIC2,
+ "&Source port", IDC_SPORTSTATIC, IDC_SPORTEDIT,
+ "Dest&ination", IDC_DPORTSTATIC, IDC_DPORTEDIT,
+ "A&dd", IDC_PFWDADD,
+ "&Local", IDC_PFWDLOCAL,
+ "Re&mote", IDC_PFWDREMOTE);
+ endbox(&cp);
+
+ }