#include <windows.h>
#include <commctrl.h>
#include <commdlg.h>
+#ifndef AUTO_WINSOCK
+#ifdef WINSOCK_TWO
+#include <winsock2.h>
+#else
#include <winsock.h>
+#endif
+#endif
#include <stdio.h>
#include <stdlib.h>
}
wpps (sesskey, "UserName", cfg.username);
wppi (sesskey, "NoPTY", cfg.nopty);
+ wppi (sesskey, "AgentFwd", cfg.agentfwd);
wpps (sesskey, "RemoteCmd", cfg.remote_cmd);
wpps (sesskey, "Cipher", cfg.cipher == CIPHER_BLOWFISH ? "blowfish" :
cfg.cipher == CIPHER_DES ? "des" : "3des");
}
gpps (sesskey, "UserName", "", cfg.username, sizeof(cfg.username));
gppi (sesskey, "NoPTY", 0, &cfg.nopty);
+ gppi (sesskey, "AgentFwd", 0, &cfg.agentfwd);
gpps (sesskey, "RemoteCmd", "", cfg.remote_cmd, sizeof(cfg.remote_cmd));
{
char cipher[10];
DialogBox (hinst, MAKEINTRESOURCE(IDD_LICENCEBOX),
NULL, LicenceProc);
EnableWindow(hwnd, 1);
+ SetActiveWindow(hwnd);
return 0;
}
return 0;
return 0;
}
+static char savedsession[2048];
+
static int CALLBACK ConnectionProc (HWND hwnd, UINT msg,
WPARAM wParam, LPARAM lParam) {
int i;
switch (msg) {
case WM_INITDIALOG:
SetDlgItemText (hwnd, IDC0_HOST, cfg.host);
+ SetDlgItemText (hwnd, IDC0_SESSEDIT, savedsession);
SetDlgItemInt (hwnd, IDC0_PORT, cfg.port, FALSE);
for (i = 0; i < nsessions; i++)
SendDlgItemMessage (hwnd, IDC0_SESSLIST, LB_ADDSTRING,
cfg.warn_on_close = IsDlgButtonChecked (hwnd, IDC0_CLOSEWARN);
break;
case IDC0_SESSEDIT:
- if (HIWORD(wParam) == EN_CHANGE)
+ if (HIWORD(wParam) == EN_CHANGE) {
SendDlgItemMessage (hwnd, IDC0_SESSLIST, LB_SETCURSEL,
(WPARAM) -1, 0);
+ GetDlgItemText (hwnd, IDC0_SESSEDIT,
+ savedsession, sizeof(savedsession)-1);
+ savedsession[sizeof(savedsession)-1] = '\0';
+ }
break;
case IDC0_SESSSAVE:
if (HIWORD(wParam) == BN_CLICKED ||
SetDlgItemText (hwnd, IDC3_TTEDIT, cfg.termtype);
SetDlgItemText (hwnd, IDC3_LOGEDIT, cfg.username);
CheckDlgButton (hwnd, IDC3_NOPTY, cfg.nopty);
+ CheckDlgButton (hwnd, IDC3_AGENTFWD, cfg.agentfwd);
CheckRadioButton (hwnd, IDC3_CIPHER3DES, IDC3_CIPHERDES,
cfg.cipher == CIPHER_BLOWFISH ? IDC3_CIPHERBLOWF :
cfg.cipher == CIPHER_DES ? IDC3_CIPHERDES :
HIWORD(wParam) == BN_DOUBLECLICKED)
cfg.nopty = IsDlgButtonChecked (hwnd, IDC3_NOPTY);
break;
+ case IDC3_AGENTFWD:
+ if (HIWORD(wParam) == BN_CLICKED ||
+ HIWORD(wParam) == BN_DOUBLECLICKED)
+ cfg.agentfwd = IsDlgButtonChecked (hwnd, IDC3_AGENTFWD);
+ break;
case IDC3_CIPHER3DES:
case IDC3_CIPHERBLOWF:
case IDC3_CIPHERDES:
DialogBox(hinst, MAKEINTRESOURCE(IDD_ABOUTBOX),
GetParent(hwnd), AboutProc);
EnableWindow(hwnd, 1);
+ SetActiveWindow(hwnd);
}
return GenericMainDlgProc (hwnd, msg, wParam, lParam,
MAIN_NPANELS, mainp, &page);
int ret;
get_sesslist(TRUE);
+ savedsession[0] = '\0';
ret = DialogBox (hinst, MAKEINTRESOURCE(IDD_MAINBOX), NULL, MainDlgProc);
get_sesslist(FALSE);