/* * Master list of configuration options living in the Conf data * structure. * * Each CONF_OPTION directive defines a single CONF_foo primary key in * Conf, and can be equipped with the following properties: * * - VALUE_TYPE: the type of data associated with that key * - SUBKEY_TYPE: if the primary key goes with a subkey (that is, the * primary key identifies some mapping from subkeys to values), the * data type of the subkey * - DEFAULT_INT, DEFAULT_STR, DEFAULT_BOOL: the default value for * the key, if no save data is available. Must match VALUE_TYPE, if * the key has no subkey. Otherwise, no default is permitted, and * the default value of the mapping is assumed to be empty (and if * not, then LOAD_CUSTOM code must override that). * - SAVE_KEYWORD: the keyword used for the option in the Windows * registry or ~/.putty/sessions save files. * - STORAGE_ENUM: for int-typed settings with no subkeys, this * identifies an enumeration in conf-enums.h which maps internal * values of the setting in the Conf to values in the saved data. * - LOAD_CUSTOM, SAVE_CUSTOM: suppress automated loading or saving * (respectively) of this setting, in favour of manual code in * settings.c load_open_settings() or save_open_settings() * respectively. * - NOT_SAVED: indicate that this setting is not part of saved * session data at all. */ CONF_OPTION(host, NONE, STR, (int)"", false, false, false, "HostName", NULL) /* default value depends on the value of CONF_protocol */ CONF_OPTION(port, NONE, INT, 0, false, true, false, "PortNumber", NULL) /* PROT_SSH, PROT_TELNET etc */ /* * Notionally SAVE_KEYWORD("Protocol"), but saving/loading is handled by * custom code because the stored value is a string representation * of the protocol name. */ CONF_OPTION(protocol, NONE, INT, 0, true, true, false, NULL, NULL) CONF_OPTION(addressfamily, NONE, INT, ADDRTYPE_UNSPEC, false, false, false, "AddressFamily", &conf_enum_addressfamily) CONF_OPTION(close_on_exit, NONE, INT, AUTO, false, false, false, "CloseOnExit", &conf_enum_off_auto_on) CONF_OPTION(warn_on_close, NONE, BOOL, (int)true, false, false, false, "WarnOnClose", NULL) /* in seconds */ /* * Saving/loading is handled by custom code because for historical * reasons this value corresponds to two save keywords, * "PingInterval" (measured in minutes) and "PingIntervalSecs" * (measured in seconds), which are added together on loading. * Rationale: the value was once measured in minutes, and the * seconds field was added later. */ CONF_OPTION(ping_interval, NONE, INT, 0, true, true, false, NULL, NULL) CONF_OPTION(tcp_nodelay, NONE, BOOL, (int)true, false, false, false, "TCPNoDelay", NULL) CONF_OPTION(tcp_keepalives, NONE, BOOL, (int)false, false, false, false, "TCPKeepalives", NULL) /* logical host being contacted, for host key check */ CONF_OPTION(loghost, NONE, STR, (int)"", false, false, false, "LogHost", NULL) /* Proxy options */ CONF_OPTION(proxy_exclude_list, NONE, STR, (int)"", false, false, false, "ProxyExcludeList", NULL) CONF_OPTION(proxy_dns, NONE, INT, AUTO, false, false, false, "ProxyDNS", &conf_enum_off_auto_on) CONF_OPTION(even_proxy_localhost, NONE, BOOL, (int)false, false, false, false, "ProxyLocalhost", NULL) /* PROXY_NONE, PROXY_SOCKS4, ... */ /* * Custom load code: there was an earlier keyword "ProxyType" * using a different enumeration, in which SOCKS4 and SOCKS5 * shared a value, and a second keyword "ProxySOCKSVersion" * disambiguated. */ CONF_OPTION(proxy_type, NONE, INT, 0, false, true, false, "ProxyMethod", &conf_enum_proxy_type) CONF_OPTION(proxy_host, NONE, STR, (int)"proxy", false, false, false, "ProxyHost", NULL) CONF_OPTION(proxy_port, NONE, INT, 80, false, false, false, "ProxyPort", NULL) CONF_OPTION(proxy_username, NONE, STR, (int)"", false, false, false, "ProxyUsername", NULL) CONF_OPTION(proxy_password, NONE, STR, (int)"", false, false, false, "ProxyPassword", NULL) CONF_OPTION(proxy_telnet_command, NONE, STR, (int)"connect %host %port\\n", false, false, false, "ProxyTelnetCommand", NULL) CONF_OPTION(proxy_log_to_term, NONE, INT, FORCE_OFF, false, false, false, "ProxyLogToTerm", &conf_enum_on_off_auto) /* SSH options */ CONF_OPTION(remote_cmd, NONE, STR_AMBI, (int)"", false, false, false, "RemoteCommand", NULL) /* * Fallback command to try to run if remote_cmd fails. Only set * internally by PSCP and PSFTP (so that they can try multiple * methods of running an SFTP server at the remote end); never set * by user configuration, or loaded or saved. */ CONF_OPTION(remote_cmd2, NONE, STR_AMBI, (int)"", false, false, true, NULL, NULL) CONF_OPTION(nopty, NONE, BOOL, (int)false, false, false, false, "NoPTY", NULL) CONF_OPTION(compression, NONE, BOOL, (int)false, false, false, false, "Compression", NULL) /* indices in preference order: 0,...,KEX_MAX-1 * (lower is more preferred) */ /* KEX_* enum values */ /* necessary for preference lists */ CONF_OPTION(ssh_kexlist, INT, INT, 0, true, true, false, NULL, NULL) /* indices in preference order: 0,...,HK_MAX-1 * (lower is more preferred) */ /* HK_* enum values */ /* necessary for preference lists */ CONF_OPTION(ssh_hklist, INT, INT, 0, true, true, false, NULL, NULL) CONF_OPTION(ssh_prefer_known_hostkeys, NONE, BOOL, (int)true, false, false, false, "PreferKnownHostKeys", NULL) /* in minutes */ CONF_OPTION(ssh_rekey_time, NONE, INT, 60, false, false, false, "RekeyTime", NULL) /* string encoding e.g. "100K", "2M", "1G" */ CONF_OPTION(ssh_rekey_data, NONE, STR, (int)"1G", false, false, false, "RekeyBytes", NULL) CONF_OPTION(tryagent, NONE, BOOL, (int)true, false, false, false, "TryAgent", NULL) CONF_OPTION(agentfwd, NONE, BOOL, (int)false, false, false, false, "AgentFwd", NULL) /* allow username switching in SSH-2 */ CONF_OPTION(change_username, NONE, BOOL, (int)false, false, false, false, "ChangeUsername", NULL) /* indices in preference order: 0,...,CIPHER_MAX-1 * (lower is more preferred) */ /* CIPHER_* enum values */ /* necessary for preference lists */ CONF_OPTION(ssh_cipherlist, INT, INT, 0, true, true, false, NULL, NULL) CONF_OPTION(keyfile, NONE, FILENAME, 0, false, false, false, "PublicKeyFile", NULL) CONF_OPTION(detached_cert, NONE, FILENAME, 0, false, false, false, "DetachedCertificate", NULL) CONF_OPTION(auth_plugin, NONE, STR, (int)"", false, false, false, "AuthPlugin", NULL) /* * Which SSH protocol to use. * * For historical reasons, the current legal values for CONF_sshprot * are: * 0 = SSH-1 only * 3 = SSH-2 only * * We used to also support * 1 = SSH-1 with fallback to SSH-2 * 2 = SSH-2 with fallback to SSH-1 * * and we continue to use 0/3 in storage formats rather than the more * obvious 1/2 to avoid surprises if someone saves a session and later * downgrades PuTTY. So it's easier to use these numbers internally too. */ CONF_OPTION(sshprot, NONE, INT, 3, false, false, false, "SshProt", &conf_enum_ssh_protocol) /* * This means that we promise never to open any channel other * than the main one, which means it can safely use a very large * window in SSH-2. * * Only ever set internally by file transfer tools; never set by * user configuration, or loaded or saved. */ CONF_OPTION(ssh_simple, NONE, BOOL, (int)false, false, false, true, NULL, NULL) CONF_OPTION(ssh_connection_sharing, NONE, BOOL, (int)false, false, false, false, "ConnectionSharing", NULL) CONF_OPTION(ssh_connection_sharing_upstream, NONE, BOOL, (int)true, false, false, false, "ConnectionSharingUpstream", NULL) CONF_OPTION(ssh_connection_sharing_downstream, NONE, BOOL, (int)true, false, false, false, "ConnectionSharingDownstream", NULL) /* * Manually configured host keys to accept regardless of the state * of the host key cache. * * This is conceptually a set rather than a dictionary: every * value in this map is the empty string, and the set of subkeys * that exist is the important data. */ /* necessary for mappings */ CONF_OPTION(ssh_manual_hostkeys, STR, STR, 0, true, true, false, NULL, NULL) /* "des-cbc" unrecommended SSH-2 cipher */ CONF_OPTION(ssh2_des_cbc, NONE, BOOL, (int)false, false, false, false, "SSH2DES", NULL) /* bypass "ssh-userauth" (SSH-2 only) */ CONF_OPTION(ssh_no_userauth, NONE, BOOL, (int)false, false, false, false, "SshNoAuth", NULL) /* disable trivial types of auth */ CONF_OPTION(ssh_no_trivial_userauth, NONE, BOOL, (int)false, false, false, false, "SshNoTrivialAuth", NULL) /* show USERAUTH_BANNERs (SSH-2 only) */ CONF_OPTION(ssh_show_banner, NONE, BOOL, (int)true, false, false, false, "SshBanner", NULL) CONF_OPTION(try_tis_auth, NONE, BOOL, (int)false, false, false, false, "AuthTIS", NULL) CONF_OPTION(try_ki_auth, NONE, BOOL, (int)true, false, false, false, "AuthKI", NULL) /* attempt gssapi via ssh userauth */ /* under #ifndef NO_GSSAPI */ CONF_OPTION(try_gssapi_auth, NONE, BOOL, 0, true, true, false, NULL, NULL) /* attempt gssapi via ssh kex */ /* under #ifndef NO_GSSAPI */ CONF_OPTION(try_gssapi_kex, NONE, BOOL, 0, true, true, false, NULL, NULL) /* forward tgt via gss */ /* under #ifndef NO_GSSAPI */ CONF_OPTION(gssapifwd, NONE, BOOL, 0, true, true, false, NULL, NULL) /* KEXGSS refresh interval (mins) */ /* under #ifndef NO_GSSAPI */ CONF_OPTION(gssapirekey, NONE, INT, 0, true, true, false, NULL, NULL) /* indices in preference order: 0,...,ngsslibs * (lower is more preferred; ngsslibs is a platform- * dependent value) */ /* indices of GSSAPI lib types (platform-dependent) */ /* necessary for preference lists, also this * setting is under #ifndef NO_GSSAPI */ CONF_OPTION(ssh_gsslist, INT, INT, 0, true, true, false, NULL, NULL) /* under #ifndef NO_GSSAPI */ CONF_OPTION(ssh_gss_custom, NONE, FILENAME, 0, true, true, false, NULL, NULL) /* run a subsystem rather than a command */ /* * Only set internally by PSCP and PSFTP; never set by user * configuration, or loaded or saved. */ CONF_OPTION(ssh_subsys, NONE, BOOL, (int)false, false, false, true, NULL, NULL) /* fallback to go with remote_cmd2 */ /* * Only set internally by PSCP and PSFTP; never set by user * configuration, or loaded or saved. */ CONF_OPTION(ssh_subsys2, NONE, BOOL, (int)false, false, false, true, NULL, NULL) /* avoid running a shell */ CONF_OPTION(ssh_no_shell, NONE, BOOL, (int)false, false, false, false, "SshNoShell", NULL) /* host to connect to in `nc' mode */ /* * Only set by the '-nc' command-line option and by the SSH proxy * code. There's no GUI config option for this, and therefore it's * also never loaded or saved. */ CONF_OPTION(ssh_nc_host, NONE, STR, (int)"", false, false, true, NULL, NULL) /* port to connect to in `nc' mode */ /* * Only set by the '-nc' command-line option and by the SSH proxy * code. There's no GUI config option for this, and therefore it's * also never loaded or saved. */ CONF_OPTION(ssh_nc_port, NONE, INT, 0, false, false, true, NULL, NULL) /* Telnet options */ CONF_OPTION(termtype, NONE, STR, (int)"xterm", false, false, false, "TerminalType", NULL) CONF_OPTION(termspeed, NONE, STR, (int)"38400,38400", false, false, false, "TerminalSpeed", NULL) /* * The full set of permitted subkeys is listed in * ssh/ttymode-list.h, as the first parameter of each TTYMODE_CHAR * or TTYMODE_FLAG macro. * * The permitted value strings are: * * - "N" means do not include a record for this mode at all in * the terminal mode data in the "pty-req" channel request. * Corresponds to setting the mode to 'Nothing' in the GUI. * - "A" means use PuTTY's automatic default, matching the * settings for GUI PuTTY's terminal window or Unix Plink's * controlling tty. Corresponds to setting 'Auto' in the GUI. * - "V" followed by further string data means send a custom * value to the SSH server. Values are as documented in the * manual. */ /* necessary for mappings */ CONF_OPTION(ttymodes, STR, STR, 0, true, true, false, NULL, NULL) /* environment variable name */ /* environment variable value */ /* necessary for mappings */ CONF_OPTION(environmt, STR, STR, 0, true, true, false, NULL, NULL) CONF_OPTION(username, NONE, STR_AMBI, (int)"", false, false, false, "UserName", NULL) CONF_OPTION(username_from_env, NONE, BOOL, (int)false, false, false, false, "UserNameFromEnvironment", NULL) CONF_OPTION(localusername, NONE, STR, (int)"", false, false, false, "LocalUserName", NULL) CONF_OPTION(rfc_environ, NONE, BOOL, (int)false, false, false, false, "RFCEnviron", NULL) CONF_OPTION(passive_telnet, NONE, BOOL, (int)false, false, false, false, "PassiveTelnet", NULL) /* Serial port options */ CONF_OPTION(serline, NONE, STR, (int)"", false, false, false, "SerialLine", NULL) CONF_OPTION(serspeed, NONE, INT, 9600, false, false, false, "SerialSpeed", NULL) CONF_OPTION(serdatabits, NONE, INT, 8, false, false, false, "SerialDataBits", NULL) CONF_OPTION(serstopbits, NONE, INT, 2, false, false, false, "SerialStopHalfbits", NULL) CONF_OPTION(serparity, NONE, INT, SER_PAR_NONE, false, false, false, "SerialParity", &conf_enum_serparity) CONF_OPTION(serflow, NONE, INT, SER_FLOW_XONXOFF, false, false, false, "SerialFlowControl", &conf_enum_serflow) /* SUPDUP options */ CONF_OPTION(supdup_location, NONE, STR, (int)"The Internet", false, false, false, "SUPDUPLocation", NULL) CONF_OPTION(supdup_ascii_set, NONE, INT, SUPDUP_CHARSET_ASCII, false, false, false, "SUPDUPCharset", &conf_enum_supdup_charset) CONF_OPTION(supdup_more, NONE, BOOL, (int)false, false, false, false, "SUPDUPMoreProcessing", NULL) CONF_OPTION(supdup_scroll, NONE, BOOL, (int)false, false, false, false, "SUPDUPScrolling", NULL) /* Keyboard options */ CONF_OPTION(bksp_is_delete, NONE, BOOL, (int)true, false, false, false, "BackspaceIsDelete", NULL) CONF_OPTION(rxvt_homeend, NONE, BOOL, (int)false, false, false, false, "RXVTHomeEnd", NULL) CONF_OPTION(funky_type, NONE, INT, FUNKY_TILDE, false, false, false, "LinuxFunctionKeys", &conf_enum_funky_type) CONF_OPTION(sharrow_type, NONE, INT, SHARROW_APPLICATION, false, false, false, "ShiftedArrowKeys", &conf_enum_sharrow_type) /* totally disable app cursor keys */ CONF_OPTION(no_applic_c, NONE, BOOL, (int)false, false, false, false, "NoApplicationCursors", NULL) /* totally disable app keypad */ CONF_OPTION(no_applic_k, NONE, BOOL, (int)false, false, false, false, "NoApplicationKeys", NULL) /* totally disable mouse reporting */ CONF_OPTION(no_mouse_rep, NONE, BOOL, (int)false, false, false, false, "NoMouseReporting", NULL) /* disable remote resizing */ CONF_OPTION(no_remote_resize, NONE, BOOL, (int)false, false, false, false, "NoRemoteResize", NULL) /* disable alternate screen */ CONF_OPTION(no_alt_screen, NONE, BOOL, (int)false, false, false, false, "NoAltScreen", NULL) /* disable remote retitling */ CONF_OPTION(no_remote_wintitle, NONE, BOOL, (int)false, false, false, false, "NoRemoteWinTitle", NULL) /* disable ESC[3J */ CONF_OPTION(no_remote_clearscroll, NONE, BOOL, (int)false, false, false, false, "NoRemoteClearScroll", NULL) /* disable destructive backspace */ CONF_OPTION(no_dbackspace, NONE, BOOL, (int)false, false, false, false, "NoDBackspace", NULL) /* disable remote charset config */ CONF_OPTION(no_remote_charset, NONE, BOOL, (int)false, false, false, false, "NoRemoteCharset", NULL) /* handling of remote window title queries */ /* older versions had a boolean "NoRemoteQTitle" * before we ended up with three options */ CONF_OPTION(remote_qtitle_action, NONE, INT, 0, false, true, false, "RemoteQTitleAction", &conf_enum_remote_qtitle_action) CONF_OPTION(app_cursor, NONE, BOOL, (int)false, false, false, false, "ApplicationCursorKeys", NULL) CONF_OPTION(app_keypad, NONE, BOOL, (int)false, false, false, false, "ApplicationKeypad", NULL) CONF_OPTION(nethack_keypad, NONE, BOOL, (int)false, false, false, false, "NetHackKeypad", NULL) CONF_OPTION(telnet_keyboard, NONE, BOOL, (int)false, false, false, false, "TelnetKey", NULL) CONF_OPTION(telnet_newline, NONE, BOOL, (int)true, false, false, false, "TelnetRet", NULL) /* is it special? */ CONF_OPTION(alt_f4, NONE, BOOL, (int)true, false, false, false, "AltF4", NULL) /* is it special? */ CONF_OPTION(alt_space, NONE, BOOL, (int)false, false, false, false, "AltSpace", NULL) /* is it special? */ CONF_OPTION(alt_only, NONE, BOOL, (int)false, false, false, false, "AltOnly", NULL) CONF_OPTION(localecho, NONE, INT, AUTO, false, false, false, "LocalEcho", &conf_enum_on_off_auto) CONF_OPTION(localedit, NONE, INT, AUTO, false, false, false, "LocalEdit", &conf_enum_on_off_auto) CONF_OPTION(alwaysontop, NONE, BOOL, (int)false, false, false, false, "AlwaysOnTop", NULL) CONF_OPTION(fullscreenonaltenter, NONE, BOOL, (int)false, false, false, false, "FullScreenOnAltEnter", NULL) CONF_OPTION(scroll_on_key, NONE, BOOL, (int)false, false, false, false, "ScrollOnKey", NULL) CONF_OPTION(scroll_on_disp, NONE, BOOL, (int)true, false, false, false, "ScrollOnDisp", NULL) CONF_OPTION(erase_to_scrollback, NONE, BOOL, (int)true, false, false, false, "EraseToScrollback", NULL) CONF_OPTION(compose_key, NONE, BOOL, (int)false, false, false, false, "ComposeKey", NULL) CONF_OPTION(ctrlaltkeys, NONE, BOOL, (int)true, false, false, false, "CtrlAltKeys", NULL) /* under #ifdef OSX_META_KEY_CONFIG */ CONF_OPTION(osx_option_meta, NONE, BOOL, 0, true, true, false, NULL, NULL) /* under #ifdef OSX_META_KEY_CONFIG */ CONF_OPTION(osx_command_meta, NONE, BOOL, 0, true, true, false, NULL, NULL) /* initial window title */ CONF_OPTION(wintitle, NONE, STR, (int)"", false, false, false, "WinTitle", NULL) /* Terminal options */ CONF_OPTION(savelines, NONE, INT, 2000, false, false, false, "ScrollbackLines", NULL) CONF_OPTION(dec_om, NONE, BOOL, (int)false, false, false, false, "DECOriginMode", NULL) CONF_OPTION(wrap_mode, NONE, BOOL, (int)true, false, false, false, "AutoWrapMode", NULL) CONF_OPTION(lfhascr, NONE, BOOL, (int)false, false, false, false, "LFImpliesCR", NULL) CONF_OPTION(cursor_type, NONE, INT, 0, false, false, false, "CurType", &conf_enum_cursor_type) CONF_OPTION(blink_cur, NONE, BOOL, (int)false, false, false, false, "BlinkCur", NULL) CONF_OPTION(beep, NONE, INT, BELL_DEFAULT, false, false, false, "Beep", &conf_enum_beep) CONF_OPTION(beep_ind, NONE, INT, B_IND_DISABLED, false, false, false, "BeepInd", &conf_enum_beep_indication) /* bell overload protection active? */ CONF_OPTION(bellovl, NONE, BOOL, (int)true, false, false, false, "BellOverload", NULL) /* number of bells to cause overload */ CONF_OPTION(bellovl_n, NONE, INT, 5, false, false, false, "BellOverloadN", NULL) /* time interval for overload (ticks) */ /* * Loading and saving is done in custom code because the format is * platform-dependent for historical reasons: on Unix, the stored * value is multiplied by 1000. (And since TICKSPERSEC=1000 on * that platform, it means the stored value is interpreted in * microseconds.) */ CONF_OPTION(bellovl_t, NONE, INT, 0, true, true, false, NULL, NULL) /* period of silence to re-enable bell (s) */ /* * Loading and saving is done in custom code because the format is * platform-dependent for historical reasons: on Unix, the stored * value is multiplied by 1000. (And since TICKSPERSEC=1000 on * that platform, it means the stored value is interpreted in * microseconds.) */ CONF_OPTION(bellovl_s, NONE, INT, 0, true, true, false, NULL, NULL) CONF_OPTION(bell_wavefile, NONE, FILENAME, 0, false, false, false, "BellWaveFile", NULL) CONF_OPTION(scrollbar, NONE, BOOL, (int)true, false, false, false, "ScrollBar", NULL) CONF_OPTION(scrollbar_in_fullscreen, NONE, BOOL, (int)false, false, false, false, "ScrollBarFullScreen", NULL) CONF_OPTION(resize_action, NONE, INT, RESIZE_TERM, false, false, false, "LockSize", &conf_enum_resize_effect) CONF_OPTION(bce, NONE, BOOL, (int)true, false, false, false, "BCE", NULL) CONF_OPTION(blinktext, NONE, BOOL, (int)false, false, false, false, "BlinkText", NULL) CONF_OPTION(win_name_always, NONE, BOOL, (int)true, false, false, false, "WinNameAlways", NULL) CONF_OPTION(width, NONE, INT, 80, false, false, false, "TermWidth", NULL) CONF_OPTION(height, NONE, INT, 24, false, false, false, "TermHeight", NULL) CONF_OPTION(font, NONE, FONT, 0, false, false, false, "Font", NULL) CONF_OPTION(font_quality, NONE, INT, FQ_DEFAULT, false, false, false, "FontQuality", &conf_enum_font_quality) CONF_OPTION(logfilename, NONE, FILENAME, 0, false, false, false, "LogFileName", NULL) CONF_OPTION(logtype, NONE, INT, LGTYP_NONE, false, false, false, "LogType", &conf_enum_log_type) CONF_OPTION(logxfovr, NONE, INT, LGXF_ASK, false, false, false, "LogFileClash", &conf_enum_log_to_existing_file) CONF_OPTION(logflush, NONE, BOOL, (int)true, false, false, false, "LogFlush", NULL) CONF_OPTION(logheader, NONE, BOOL, (int)true, false, false, false, "LogHeader", NULL) CONF_OPTION(logomitpass, NONE, BOOL, (int)true, false, false, false, "SSHLogOmitPasswords", NULL) CONF_OPTION(logomitdata, NONE, BOOL, (int)false, false, false, false, "SSHLogOmitData", NULL) CONF_OPTION(hide_mouseptr, NONE, BOOL, (int)false, false, false, false, "HideMousePtr", NULL) CONF_OPTION(sunken_edge, NONE, BOOL, (int)false, false, false, false, "SunkenEdge", NULL) /* in pixels */ CONF_OPTION(window_border, NONE, INT, 1, false, false, false, "WindowBorder", NULL) CONF_OPTION(answerback, NONE, STR, (int)"PuTTY", false, false, false, "Answerback", NULL) CONF_OPTION(printer, NONE, STR, (int)"", false, false, false, "Printer", NULL) CONF_OPTION(no_arabicshaping, NONE, BOOL, (int)false, false, false, false, "DisableArabicShaping", NULL) CONF_OPTION(no_bidi, NONE, BOOL, (int)false, false, false, false, "DisableBidi", NULL) CONF_OPTION(no_bracketed_paste, NONE, BOOL, (int)false, false, false, false, "DisableBracketedPaste", NULL) /* Colour options */ CONF_OPTION(ansi_colour, NONE, BOOL, (int)true, false, false, false, "ANSIColour", NULL) CONF_OPTION(xterm_256_colour, NONE, BOOL, (int)true, false, false, false, "Xterm256Colour", NULL) CONF_OPTION(true_colour, NONE, BOOL, (int)true, false, false, false, "TrueColour", NULL) CONF_OPTION(system_colour, NONE, BOOL, (int)false, false, false, false, "UseSystemColours", NULL) CONF_OPTION(try_palette, NONE, BOOL, (int)false, false, false, false, "TryPalette", NULL) CONF_OPTION(bold_style, NONE, INT, 2, false, false, false, "BoldAsColour", &conf_enum_bold_style) /* * Subkeys in this setting are indexed based on the CONF_COLOUR_* * enum values in putty.h. But each subkey identifies just one * component of the RGB value. Subkey 3*a+b identifies colour #a, * channel #b, where channels 0,1,2 mean R,G,B respectively. * * Values are 8-bit integers. */ /* necessary for mappings */ CONF_OPTION(colours, INT, INT, 0, true, true, false, NULL, NULL) /* Selection options */ CONF_OPTION(mouse_is_xterm, NONE, INT, 0, false, false, false, "MouseIsXterm", &conf_enum_mouse_buttons) CONF_OPTION(rect_select, NONE, BOOL, (int)false, false, false, false, "RectSelect", NULL) CONF_OPTION(paste_controls, NONE, BOOL, (int)false, false, false, false, "PasteControls", NULL) CONF_OPTION(rawcnp, NONE, BOOL, (int)false, false, false, false, "RawCNP", NULL) CONF_OPTION(utf8linedraw, NONE, BOOL, (int)false, false, false, false, "UTF8linedraw", NULL) CONF_OPTION(rtf_paste, NONE, BOOL, (int)false, false, false, false, "PasteRTF", NULL) CONF_OPTION(mouse_override, NONE, BOOL, (int)true, false, false, false, "MouseOverride", NULL) /* ASCII character codes (literally, just 00-7F) */ /* arbitrary equivalence-class value for that char */ /* necessary for mappings */ CONF_OPTION(wordness, INT, INT, 0, true, true, false, NULL, NULL) /* * What clipboard (if any) to copy text to as soon as it's * selected with the mouse. */ /* platform-dependent bool-valued * macro */ CONF_OPTION(mouseautocopy, NONE, BOOL, (int)CLIPUI_DEFAULT_AUTOCOPY, false, false, false, "MouseAutocopy", NULL) /* clipboard used by one-mouse-click paste actions */ /* * SAVE_KEYWORD("MousePaste"), but loading and saving is done by * custom code, because the saved value is a string, and also sets * CONF_mousepaste_custom */ CONF_OPTION(mousepaste, NONE, INT, 0, true, true, false, NULL, NULL) /* clipboard used by Ctrl+Ins and Shift+Ins */ /* * SAVE_KEYWORD("CtrlShiftIns"), but loading and saving is done by * custom code, because the saved value is a string, and also sets * CONF_ctrlshiftins_custom */ CONF_OPTION(ctrlshiftins, NONE, INT, 0, true, true, false, NULL, NULL) /* clipboard used by Ctrl+Shift+C and Ctrl+Shift+V */ /* * SAVE_KEYWORD("CtrlShiftCV"), but loading and saving is done by * custom code, because the saved value is a string, and also sets * CONF_ctrlshiftcv_custom */ CONF_OPTION(ctrlshiftcv, NONE, INT, 0, true, true, false, NULL, NULL) /* Custom clipboard name if CONF_mousepaste is set to CLIPUI_CUSTOM */ /* * Loading and saving is handled by custom code in conjunction * with CONF_mousepaste */ CONF_OPTION(mousepaste_custom, NONE, STR, 0, true, true, false, NULL, NULL) /* Custom clipboard name if CONF_ctrlshiftins is set to CLIPUI_CUSTOM */ /* * Loading and saving is handled by custom code in conjunction * with CONF_ctrlshiftins */ CONF_OPTION(ctrlshiftins_custom, NONE, STR, 0, true, true, false, NULL, NULL) /* Custom clipboard name if CONF_ctrlshiftcv is set to CLIPUI_CUSTOM */ /* * Loading and saving is handled by custom code in conjunction * with CONF_ctrlshiftcv */ CONF_OPTION(ctrlshiftcv_custom, NONE, STR, 0, true, true, false, NULL, NULL) /* Character-set translation */ CONF_OPTION(vtmode, NONE, INT, VT_UNICODE, false, false, false, "FontVTMode", &conf_enum_line_drawing) CONF_OPTION(line_codepage, NONE, STR, (int)"", false, false, false, "LineCodePage", NULL) CONF_OPTION(cjk_ambig_wide, NONE, BOOL, (int)false, false, false, false, "CJKAmbigWide", NULL) CONF_OPTION(utf8_override, NONE, BOOL, (int)true, false, false, false, "UTF8Override", NULL) CONF_OPTION(xlat_capslockcyr, NONE, BOOL, (int)false, false, false, false, "CapsLockCyr", NULL) /* X11 forwarding */ CONF_OPTION(x11_forward, NONE, BOOL, (int)false, false, false, false, "X11Forward", NULL) CONF_OPTION(x11_display, NONE, STR, (int)"", false, false, false, "X11Display", NULL) CONF_OPTION(x11_auth, NONE, INT, X11_MIT, false, false, false, "X11AuthType", &conf_enum_x11_auth) CONF_OPTION(xauthfile, NONE, FILENAME, 0, false, false, false, "X11AuthFile", NULL) /* Port forwarding */ /* accept conns from hosts other than localhost */ CONF_OPTION(lport_acceptall, NONE, BOOL, (int)false, false, false, false, "LocalPortAcceptAll", NULL) /* same for remote forwarded ports */ CONF_OPTION(rport_acceptall, NONE, BOOL, (int)false, false, false, false, "RemotePortAcceptAll", NULL) /* * Subkeys for 'portfwd' can have the following forms: * * [LR]localport * [LR]localaddr:localport * * Dynamic forwardings are indicated by an 'L' key, and the * special value "D". For all other forwardings, the value should * be of the form 'host:port'. */ /* necessary for mappings */ CONF_OPTION(portfwd, STR, STR, 0, true, true, false, NULL, NULL) /* SSH bug compatibility modes. All FORCE_ON/FORCE_OFF/AUTO */ CONF_OPTION(sshbug_ignore1, NONE, INT, AUTO, false, false, false, "BugIgnore1", &conf_enum_auto_off_on) CONF_OPTION(sshbug_plainpw1, NONE, INT, AUTO, false, false, false, "BugPlainPW1", &conf_enum_auto_off_on) CONF_OPTION(sshbug_rsa1, NONE, INT, AUTO, false, false, false, "BugRSA1", &conf_enum_auto_off_on) CONF_OPTION(sshbug_ignore2, NONE, INT, AUTO, false, false, false, "BugIgnore2", &conf_enum_auto_off_on) CONF_OPTION(sshbug_derivekey2, NONE, INT, AUTO, false, false, false, "BugDeriveKey2", &conf_enum_auto_off_on) CONF_OPTION(sshbug_rsapad2, NONE, INT, AUTO, false, false, false, "BugRSAPad2", &conf_enum_auto_off_on) CONF_OPTION(sshbug_pksessid2, NONE, INT, AUTO, false, false, false, "BugPKSessID2", &conf_enum_auto_off_on) CONF_OPTION(sshbug_rekey2, NONE, INT, AUTO, false, false, false, "BugRekey2", &conf_enum_auto_off_on) CONF_OPTION(sshbug_maxpkt2, NONE, INT, AUTO, false, false, false, "BugMaxPkt2", &conf_enum_auto_off_on) CONF_OPTION(sshbug_oldgex2, NONE, INT, AUTO, false, false, false, "BugOldGex2", &conf_enum_auto_off_on) CONF_OPTION(sshbug_winadj, NONE, INT, AUTO, false, false, false, "BugWinadj", &conf_enum_auto_off_on) CONF_OPTION(sshbug_chanreq, NONE, INT, AUTO, false, false, false, "BugChanReq", &conf_enum_auto_off_on) CONF_OPTION(sshbug_dropstart, NONE, INT, FORCE_OFF, false, false, false, "BugDropStart", &conf_enum_off1_on2) CONF_OPTION(sshbug_filter_kexinit, NONE, INT, FORCE_OFF, false, false, false, "BugFilterKexinit", &conf_enum_off1_on2) CONF_OPTION(sshbug_rsa_sha2_cert_userauth, NONE, INT, AUTO, false, false, false, "BugRSASHA2CertUserauth", &conf_enum_auto_off_on) /* there was an earlier keyword called "BuggyMAC" */ CONF_OPTION(sshbug_hmac2, NONE, INT, AUTO, false, true, false, "BugHMAC2", &conf_enum_auto_off_on) /* Options for Unix. Should split out into platform-dependent part. */ /* used by Unix pterm */ CONF_OPTION(stamp_utmp, NONE, BOOL, (int)true, false, false, false, "StampUtmp", NULL) /* used by Unix pterm */ CONF_OPTION(login_shell, NONE, BOOL, (int)true, false, false, false, "LoginShell", NULL) CONF_OPTION(scrollbar_on_left, NONE, BOOL, (int)false, false, false, false, "ScrollbarOnLeft", NULL) CONF_OPTION(shadowbold, NONE, BOOL, (int)false, false, false, false, "ShadowBold", NULL) CONF_OPTION(boldfont, NONE, FONT, 0, false, false, false, "BoldFont", NULL) CONF_OPTION(widefont, NONE, FONT, 0, false, false, false, "WideFont", NULL) CONF_OPTION(wideboldfont, NONE, FONT, 0, false, false, false, "WideBoldFont", NULL) /* in pixels */ CONF_OPTION(shadowboldoffset, NONE, INT, 1, false, false, false, "ShadowBoldOffset", NULL) CONF_OPTION(crhaslf, NONE, BOOL, (int)false, false, false, false, "CRImpliesLF", NULL) CONF_OPTION(winclass, NONE, STR, (int)"", false, false, false, "WindowClass", NULL) /* WINSCP BEGIN */ CONF_OPTION(connect_timeout, NONE, INT, 0, false, false, true, NULL, NULL) CONF_OPTION(sndbuf, NONE, INT, 0, false, false, true, NULL, NULL) CONF_OPTION(srcaddr, NONE, STR, (int)"", false, false, true, NULL, NULL) CONF_OPTION(force_remote_cmd2, NONE, BOOL, (int)false, false, false, true, NULL, NULL) CONF_OPTION(change_password, NONE, BOOL, (int)false, false, false, true, NULL, NULL) /* WINSCP END */