Justin Bradford's proxy support patch. Currently supports only HTTP
[u/mdw/putty] / settings.c
index 3ebcbb1..8764bb3 100644 (file)
@@ -148,6 +148,17 @@ void save_settings(char *section, int do_host, Config * cfg)
     write_setting_i(sesskey, "TCPNoDelay", cfg->tcp_nodelay);
     write_setting_s(sesskey, "TerminalType", cfg->termtype);
     write_setting_s(sesskey, "TerminalSpeed", cfg->termspeed);
+
+    /* proxy settings */
+    write_setting_s(sesskey, "ProxyExcludeList", cfg->proxy_exclude_list);
+    write_setting_i(sesskey, "ProxyType", cfg->proxy_type);
+    write_setting_s(sesskey, "ProxyHost", cfg->proxy_host);
+    write_setting_i(sesskey, "ProxyPort", cfg->proxy_port);
+    write_setting_s(sesskey, "ProxyUsername", cfg->proxy_username);
+    write_setting_s(sesskey, "ProxyPassword", cfg->proxy_password);
+    write_setting_s(sesskey, "ProxyTelnetCommand", cfg->proxy_telnet_command);
+    write_setting_i(sesskey, "ProxySOCKSVersion", cfg->proxy_socks_version);
+
     {
        char buf[2 * sizeof(cfg->environmt)], *p, *q;
        p = buf;
@@ -189,6 +200,12 @@ void save_settings(char *section, int do_host, Config * cfg)
     write_setting_i(sesskey, "LinuxFunctionKeys", cfg->funky_type);
     write_setting_i(sesskey, "NoApplicationKeys", cfg->no_applic_k);
     write_setting_i(sesskey, "NoApplicationCursors", cfg->no_applic_c);
+    write_setting_i(sesskey, "NoMouseReporting", cfg->no_mouse_rep);
+    write_setting_i(sesskey, "NoRemoteResize", cfg->no_remote_resize);
+    write_setting_i(sesskey, "NoAltScreen", cfg->no_alt_screen);
+    write_setting_i(sesskey, "NoRemoteWinTitle", cfg->no_remote_wintitle);
+    write_setting_i(sesskey, "NoDBackspace", cfg->no_dbackspace);
+    write_setting_i(sesskey, "NoRemoteCharset", cfg->no_remote_charset);
     write_setting_i(sesskey, "ApplicationCursorKeys", cfg->app_cursor);
     write_setting_i(sesskey, "ApplicationKeypad", cfg->app_keypad);
     write_setting_i(sesskey, "NetHackKeypad", cfg->nethack_keypad);
@@ -198,6 +215,7 @@ void save_settings(char *section, int do_host, Config * cfg)
     write_setting_i(sesskey, "ComposeKey", cfg->compose_key);
     write_setting_i(sesskey, "CtrlAltKeys", cfg->ctrlaltkeys);
     write_setting_i(sesskey, "TelnetKey", cfg->telnet_keyboard);
+    write_setting_i(sesskey, "TelnetRet", cfg->telnet_newline);
     write_setting_i(sesskey, "LocalEcho", cfg->localecho);
     write_setting_i(sesskey, "LocalEdit", cfg->localedit);
     write_setting_s(sesskey, "Answerback", cfg->answerback);
@@ -254,6 +272,7 @@ void save_settings(char *section, int do_host, Config * cfg)
        write_setting_s(sesskey, buf, buf2);
     }
     write_setting_s(sesskey, "LineCodePage", cfg->line_codepage);
+    write_setting_s(sesskey, "Printer", cfg->printer);
     write_setting_i(sesskey, "CapsLockCyr", cfg->xlat_capslockcyr);
     write_setting_i(sesskey, "ScrollBar", cfg->scrollbar);
     write_setting_i(sesskey, "ScrollBarFullScreen", cfg->scrollbar_in_fullscreen);
@@ -335,6 +354,22 @@ void load_settings(char *section, int do_host, Config * cfg)
         sizeof(cfg->termtype));
     gpps(sesskey, "TerminalSpeed", "38400,38400", cfg->termspeed,
         sizeof(cfg->termspeed));
+
+    /* proxy settings */
+    gpps(sesskey, "ProxyExcludeList", "", cfg->proxy_exclude_list,
+        sizeof(cfg->proxy_exclude_list));
+    gppi(sesskey, "ProxyType", PROXY_NONE, &cfg->proxy_type);
+    gpps(sesskey, "ProxyHost", "proxy", cfg->proxy_host,
+        sizeof(cfg->proxy_host));
+    gppi(sesskey, "ProxyPort", 80, &cfg->proxy_port);
+    gpps(sesskey, "ProxyUsername", "", cfg->proxy_username,
+        sizeof(cfg->proxy_username));
+    gpps(sesskey, "ProxyPassword", "", cfg->proxy_password,
+        sizeof(cfg->proxy_password));
+    gpps(sesskey, "ProxyTelnetCommand", "connect %host %port",
+        cfg->proxy_telnet_command, sizeof(cfg->proxy_telnet_command));
+    gppi(sesskey, "ProxySOCKSVersion", 5, &cfg->proxy_socks_version);
+
     {
        char buf[2 * sizeof(cfg->environmt)], *p, *q;
        gpps(sesskey, "Environment", "", buf, sizeof(buf));
@@ -379,6 +414,12 @@ void load_settings(char *section, int do_host, Config * cfg)
     gppi(sesskey, "LinuxFunctionKeys", 0, &cfg->funky_type);
     gppi(sesskey, "NoApplicationKeys", 0, &cfg->no_applic_k);
     gppi(sesskey, "NoApplicationCursors", 0, &cfg->no_applic_c);
+    gppi(sesskey, "NoMouseReporting", 0, &cfg->no_mouse_rep);
+    gppi(sesskey, "NoRemoteResize", 0, &cfg->no_remote_resize);
+    gppi(sesskey, "NoAltScreen", 0, &cfg->no_alt_screen);
+    gppi(sesskey, "NoRemoteWinTitle", 0, &cfg->no_remote_wintitle);
+    gppi(sesskey, "NoDBackspace", 0, &cfg->no_dbackspace);
+    gppi(sesskey, "NoRemoteCharset", 0, &cfg->no_remote_charset);
     gppi(sesskey, "ApplicationCursorKeys", 0, &cfg->app_cursor);
     gppi(sesskey, "ApplicationKeypad", 0, &cfg->app_keypad);
     gppi(sesskey, "NetHackKeypad", 0, &cfg->nethack_keypad);
@@ -388,6 +429,7 @@ void load_settings(char *section, int do_host, Config * cfg)
     gppi(sesskey, "ComposeKey", 0, &cfg->compose_key);
     gppi(sesskey, "CtrlAltKeys", 1, &cfg->ctrlaltkeys);
     gppi(sesskey, "TelnetKey", 0, &cfg->telnet_keyboard);
+    gppi(sesskey, "TelnetRet", 1, &cfg->telnet_newline);
     gppi(sesskey, "LocalEcho", LD_BACKEND, &cfg->localecho);
     gppi(sesskey, "LocalEdit", LD_BACKEND, &cfg->localedit);
     gpps(sesskey, "Answerback", "PuTTY", cfg->answerback,
@@ -489,6 +531,7 @@ void load_settings(char *section, int do_host, Config * cfg)
      */
     gpps(sesskey, "LineCodePage", "", cfg->line_codepage,
         sizeof(cfg->line_codepage));
+    gpps(sesskey, "Printer", "", cfg->printer, sizeof(cfg->printer));
     gppi (sesskey, "CapsLockCyr", 0, &cfg->xlat_capslockcyr);
     gppi(sesskey, "ScrollBar", 1, &cfg->scrollbar);
     gppi(sesskey, "ScrollBarFullScreen", 0, &cfg->scrollbar_in_fullscreen);