+
+ {
+ int i, nprinters;
+ printer_enum *pe;
+ pe = printer_start_enum(&nprinters);
+ SendDlgItemMessage(hwnd, IDC_PRINTER, CB_RESETCONTENT, 0, 0);
+ SendDlgItemMessage(hwnd, IDC_PRINTER, CB_ADDSTRING,
+ 0, (LPARAM) PRINTER_DISABLED_STRING);
+ for (i = 0; i < nprinters; i++) {
+ char *printer_name = printer_get_name(pe, i);
+ SendDlgItemMessage(hwnd, IDC_PRINTER, CB_ADDSTRING,
+ 0, (LPARAM) printer_name);
+ }
+ printer_finish_enum(pe);
+ SetDlgItemText(hwnd, IDC_PRINTER,
+ *cfg.printer ? cfg.printer : PRINTER_DISABLED_STRING);
+ }
+
+ CheckRadioButton(hwnd, IDC_VTXWINDOWS, IDC_VTUNICODE,
+ cfg.vtmode == VT_XWINDOWS ? IDC_VTXWINDOWS :
+ cfg.vtmode == VT_OEMANSI ? IDC_VTOEMANSI :
+ cfg.vtmode == VT_OEMONLY ? IDC_VTOEMONLY :
+ cfg.vtmode == VT_UNICODE ? IDC_VTUNICODE :
+ IDC_VTPOORMAN);
+
+ 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);
+ CheckRadioButton(hwnd, IDC_PFWDLOCAL, IDC_PFWDREMOTE, IDC_PFWDLOCAL);
+
+ /* proxy config */
+ CheckRadioButton(hwnd, IDC_PROXYTYPENONE, IDC_PROXYTYPETELNET,
+ cfg.proxy_type == PROXY_HTTP ? IDC_PROXYTYPEHTTP :
+ cfg.proxy_type == PROXY_SOCKS ? IDC_PROXYTYPESOCKS :
+ cfg.proxy_type == PROXY_TELNET ? IDC_PROXYTYPETELNET : IDC_PROXYTYPENONE);
+ 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);
+ CheckRadioButton(hwnd, IDC_PROXYSOCKSVER5, IDC_PROXYSOCKSVER4,
+ cfg.proxy_socks_version == 4 ? IDC_PROXYSOCKSVER4 : IDC_PROXYSOCKSVER5);
+
+ /* SSH bugs config */
+ SendDlgItemMessage(hwnd, IDC_BUGD_IGNORE1, CB_RESETCONTENT, 0, 0);
+ SendDlgItemMessage(hwnd, IDC_BUGD_IGNORE1, CB_ADDSTRING, 0, (LPARAM)"Auto");
+ 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 == 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 == 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 == 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 == 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 == 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 == 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 == FORCE_ON ? 2 :
+ cfg.sshbug_dhgex2 == FORCE_OFF ? 1 : 0, 0);
+ SendDlgItemMessage(hwnd, IDC_BUGD_PKSESSID2, CB_RESETCONTENT, 0, 0);
+ SendDlgItemMessage(hwnd, IDC_BUGD_PKSESSID2, CB_ADDSTRING, 0, (LPARAM)"Auto");
+ SendDlgItemMessage(hwnd, IDC_BUGD_PKSESSID2, CB_ADDSTRING, 0, (LPARAM)"Off");
+ SendDlgItemMessage(hwnd, IDC_BUGD_PKSESSID2, CB_ADDSTRING, 0, (LPARAM)"On");
+ SendDlgItemMessage(hwnd, IDC_BUGD_PKSESSID2, CB_SETCURSEL,
+ cfg.sshbug_pksessid2 == FORCE_ON ? 2 :
+ cfg.sshbug_pksessid2 == FORCE_OFF ? 1 : 0, 0);