static int Apply; /* プロパティシートでOKを押したフラグ */\r
static WNDPROC HostListProcPtr;\r
\r
+// ホスト共通設定機能\r
+HOSTDATA DefaultHost;\r
+\r
\r
\r
/*----- ホスト一覧ウインドウ --------------------------------------------------\r
static INT_PTR CALLBACK SelectHostProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
{\r
static DIALOGSIZE DlgSize = {\r
- { HOST_NEW, HOST_FOLDER, HOST_SET, HOST_COPY, HOST_DEL, HOST_DOWN, HOST_UP, IDHELP, HOST_SIZEGRIP, -1 },\r
+ // ホスト共通設定機能\r
+// { HOST_NEW, HOST_FOLDER, HOST_SET, HOST_COPY, HOST_DEL, HOST_DOWN, HOST_UP, IDHELP, HOST_SIZEGRIP, -1 },\r
+ { HOST_NEW, HOST_FOLDER, HOST_SET, HOST_COPY, HOST_DEL, HOST_DOWN, HOST_UP, HOST_SET_DEFAULT, IDHELP, HOST_SIZEGRIP, -1 },\r
{ IDOK, IDCANCEL, HOST_SIZEGRIP, -1 },\r
{ HOST_LIST, -1 },\r
{ 0, 0 },\r
}\r
break;\r
\r
+ // ホスト共通設定機能\r
+ case HOST_SET_DEFAULT :\r
+ CopyDefaultHost(&TmpHost);\r
+ if(DispHostSetDlg(hDlg) == YES)\r
+ SetDefaultHost(&TmpHost);\r
+ break;\r
+\r
case HOST_LIST :\r
if(HIWORD(wParam) == LBN_DBLCLK)\r
PostMessage(hDlg, WM_COMMAND, MAKEWORD(IDOK, 0), 0);\r
Set->UseFTPES = Pos->Set.UseFTPES;\r
Set->UseFTPIS = Pos->Set.UseFTPIS;\r
Set->UseSFTP = Pos->Set.UseSFTP;\r
+ strcpy(Set->PrivateKey, Pos->Set.PrivateKey);\r
+ Set->NoWeakEncryption = Pos->Set.NoWeakEncryption;\r
// 同時接続対応\r
Set->MaxThreadCount = Pos->Set.MaxThreadCount;\r
Set->ReuseCmdSkt = Pos->Set.ReuseCmdSkt;\r
// 再転送対応\r
Set->TransferErrorMode = Pos->Set.TransferErrorMode;\r
Set->TransferErrorNotify = Pos->Set.TransferErrorNotify;\r
+ // セッションあたりの転送量制限対策\r
+ Set->TransferErrorReconnect = Pos->Set.TransferErrorReconnect;\r
Sts = FFFTP_SUCCESS;\r
}\r
return(Sts);\r
\r
void CopyDefaultHost(HOSTDATA *Set)\r
{\r
+ // ホスト共通設定機能\r
+// Set->Level = 0;\r
+// strcpy(Set->HostName, "");\r
+// strcpy(Set->HostAdrs, "");\r
+// strcpy(Set->UserName, "");\r
+// strcpy(Set->PassWord, "");\r
+// strcpy(Set->Account, "");\r
+// strcpy(Set->LocalInitDir, DefaultLocalPath);\r
+// strcpy(Set->RemoteInitDir, "");\r
+// memcpy(Set->BookMark, "\0\0", 2);\r
+// strcpy(Set->ChmodCmd, CHMOD_CMD_NOR);\r
+// strcpy(Set->LsName, LS_FNAME);\r
+// strcpy(Set->InitCmd, "");\r
+// Set->Port = PORT_NOR;\r
+// Set->Anonymous = NO;\r
+// Set->KanjiCode = KANJI_NOCNV;\r
+// Set->KanaCnv = YES;\r
+// Set->NameKanjiCode = KANJI_NOCNV;\r
+// Set->NameKanaCnv = NO;\r
+// Set->Pasv = YES;\r
+// Set->FireWall = NO;\r
+// Set->ListCmdOnly = YES;\r
+// Set->UseNLST_R = YES;\r
+// Set->LastDir = NO;\r
+// Set->TimeZone = 9; /* GMT+9 (JST) */\r
+// Set->HostType = HTYPE_AUTO;\r
+// Set->SyncMove = NO;\r
+// Set->NoFullPath = NO;\r
+// Set->Sort = SORT_NOTSAVED;\r
+// Set->Security = SECURITY_AUTO;\r
+// Set->Dialup = NO;\r
+// Set->DialupAlways = NO;\r
+// Set->DialupNotify = YES;\r
+// strcpy(Set->DialEntry, "");\r
+ memcpy(Set, &DefaultHost, sizeof(HOSTDATA));\r
+ return;\r
+}\r
+\r
+\r
+// ホスト共通設定機能\r
+void ResetDefaultHost(void)\r
+{\r
+ CopyDefaultDefaultHost(&DefaultHost);\r
+ return;\r
+}\r
+\r
+void SetDefaultHost(HOSTDATA *Set)\r
+{\r
+ memcpy(&DefaultHost, Set, sizeof(HOSTDATA));\r
+ return;\r
+}\r
+\r
+void CopyDefaultDefaultHost(HOSTDATA *Set)\r
+{\r
+ // 国際化対応\r
+ TIME_ZONE_INFORMATION tzi;\r
Set->Level = 0;\r
strcpy(Set->HostName, "");\r
strcpy(Set->HostAdrs, "");\r
Set->ListCmdOnly = YES;\r
Set->UseNLST_R = YES;\r
Set->LastDir = NO;\r
- Set->TimeZone = 9; /* GMT+9 (JST) */\r
+ // 国際化対応\r
+// Set->TimeZone = 9; /* GMT+9 (JST) */\r
+ GetTimeZoneInformation(&tzi);\r
+ Set->TimeZone = (int)(tzi.Bias / -60);\r
Set->HostType = HTYPE_AUTO;\r
Set->SyncMove = NO;\r
Set->NoFullPath = NO;\r
Set->UseFTPIS = YES;\r
Set->UseSFTP = YES;\r
strcpy(Set->PrivateKey, "");\r
+ Set->NoWeakEncryption = YES;\r
// 同時接続対応\r
Set->MaxThreadCount = 1;\r
Set->ReuseCmdSkt = YES;\r
Set->NetType = NTYPE_AUTO;\r
Set->CurNetType = NTYPE_AUTO;\r
// 自動切断対策\r
- Set->NoopInterval = 0;\r
+ Set->NoopInterval = 60;\r
// 再転送対応\r
Set->TransferErrorMode = EXIST_OVW;\r
Set->TransferErrorNotify = YES;\r
+ // セッションあたりの転送量制限対策\r
+ Set->TransferErrorReconnect = YES;\r
return;\r
}\r
\r
-\r
/*----- 設定名一覧をウィンドウに送る ------------------------------------------\r
*\r
* Parameter\r
{ HSET_FN_EUC_CNV, KANJI_EUC },\r
{ HSET_FN_SMH_CNV, KANJI_SMB_HEX },\r
{ HSET_FN_SMC_CNV, KANJI_SMB_CAP },\r
- { HSET_FN_UTF8N_CNV, KANJI_UTF8N } // UTF-8対応\r
+ // UTF-8 HFS+対応\r
+// { HSET_FN_UTF8N_CNV, KANJI_UTF8N } // UTF-8対応\r
+ { HSET_FN_UTF8N_CNV, KANJI_UTF8N }, // UTF-8対応\r
+ { HSET_FN_UTF8HFSX_CNV, KANJI_UTF8HFSX }\r
};\r
#define NAMEKANJIBUTTONS (sizeof(NameKanjiButton)/sizeof(RADIOBUTTON))\r
\r
SetRadioButtonByValue(hDlg, TmpHost.KanjiCode, KanjiButton, KANJIBUTTONS);\r
SendDlgItemMessage(hDlg, HSET_HANCNV, BM_SETCHECK, TmpHost.KanaCnv, 0);\r
SetRadioButtonByValue(hDlg, TmpHost.NameKanjiCode, NameKanjiButton, NAMEKANJIBUTTONS);\r
+ // UTF-8 HFS+対応\r
+ if(IsUnicodeNormalizationDllLoaded() == NO)\r
+ EnableWindow(GetDlgItem(hDlg, HSET_FN_UTF8HFSX_CNV), FALSE);\r
SendDlgItemMessage(hDlg, HSET_FN_HANCNV, BM_SETCHECK, TmpHost.NameKanaCnv, 0);\r
return(TRUE);\r
\r
case HSET_FN_SMH_CNV :\r
case HSET_FN_SMC_CNV :\r
case HSET_FN_UTF8N_CNV : // UTF-8対応\r
+ // UTF-8 HFS+対応\r
+ case HSET_FN_UTF8HFSX_CNV :\r
EnableWindow(GetDlgItem(hDlg, HSET_FN_HANCNV), FALSE);\r
break;\r
}\r
SendDlgItemMessage(hDlg, HSET_FTPIS, BM_SETCHECK, BST_UNCHECKED, 0);\r
EnableWindow(GetDlgItem(hDlg, HSET_FTPIS), FALSE);\r
}\r
- if(IsPuTTYLoaded())\r
- {\r
- SendDlgItemMessage(hDlg, HSET_SFTP, BM_SETCHECK, TmpHost.UseSFTP, 0);\r
- SendDlgItemMessage(hDlg, HSET_PRIVATE_KEY, WM_SETTEXT, 0, (LPARAM)TmpHost.PrivateKey);\r
- }\r
- else\r
- {\r
- SendDlgItemMessage(hDlg, HSET_SFTP, BM_SETCHECK, BST_UNCHECKED, 0);\r
- EnableWindow(GetDlgItem(hDlg, HSET_SFTP), FALSE);\r
- EnableWindow(GetDlgItem(hDlg, PKEY_FILE_BR), FALSE);\r
- EnableWindow(GetDlgItem(hDlg, HSET_PRIVATE_KEY), FALSE);\r
- }\r
+ SendDlgItemMessage(hDlg, HSET_SFTP, BM_SETCHECK, BST_UNCHECKED, 0);\r
+ EnableWindow(GetDlgItem(hDlg, HSET_SFTP), FALSE);\r
+ EnableWindow(GetDlgItem(hDlg, PKEY_FILE_BR), FALSE);\r
+ EnableWindow(GetDlgItem(hDlg, HSET_PRIVATE_KEY), FALSE);\r
+ SendDlgItemMessage(hDlg, HSET_NO_WEAK, BM_SETCHECK, TmpHost.NoWeakEncryption, 0);\r
return(TRUE);\r
\r
case WM_NOTIFY:\r
TmpHost.UseFTPES = SendDlgItemMessage(hDlg, HSET_FTPES, BM_GETCHECK, 0, 0);\r
TmpHost.UseFTPIS = SendDlgItemMessage(hDlg, HSET_FTPIS, BM_GETCHECK, 0, 0);\r
}\r
- if(IsPuTTYLoaded())\r
- {\r
- TmpHost.UseSFTP = SendDlgItemMessage(hDlg, HSET_SFTP, BM_GETCHECK, 0, 0);\r
- SendDlgItemMessage(hDlg, HSET_PRIVATE_KEY, WM_GETTEXT, PRIVATE_KEY_LEN+1, (LPARAM)TmpHost.PrivateKey);\r
- }\r
+ TmpHost.NoWeakEncryption = SendDlgItemMessage(hDlg, HSET_NO_WEAK, BM_GETCHECK, 0, 0);\r
Apply = YES;\r
break;\r
\r
SendDlgItemMessage(hDlg, HSET_ERROR_MODE, CB_SETCURSEL, 3, 0);\r
else\r
SendDlgItemMessage(hDlg, HSET_ERROR_MODE, CB_SETCURSEL, 0, 0);\r
+ SendDlgItemMessage(hDlg, HSET_ERROR_RECONNECT, BM_SETCHECK, TmpHost.TransferErrorReconnect, 0);\r
return(TRUE);\r
\r
case WM_NOTIFY:\r
TmpHost.TransferErrorNotify = NO;\r
break;\r
}\r
+ TmpHost.TransferErrorReconnect = SendDlgItemMessage(hDlg, HSET_ERROR_RECONNECT, BM_GETCHECK, 0, 0);\r
Apply = YES;\r
break;\r
\r
\r
// 暗号化通信対応\r
// ホストの暗号化設定を更新\r
-int SetHostExcryption(int Num, int UseNoEncryption, int UseFTPES, int UseFTPIS, int UseSFTP)\r
+int SetHostEncryption(int Num, int UseNoEncryption, int UseFTPES, int UseFTPIS, int UseSFTP)\r
{\r
int Sts;\r
HOSTLISTDATA *Pos;\r