+// 暗号化通信対応\r
+static INT_PTR CALLBACK CryptSettingProc(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam)\r
+{\r
+ NMHDR *pnmhdr;\r
+// int Num;\r
+\r
+ switch (iMessage)\r
+ {\r
+ case WM_INITDIALOG :\r
+ SendDlgItemMessage(hDlg, HSET_NO_ENCRYPTION, BM_SETCHECK, TmpHost.UseNoEncryption, 0);\r
+ if(IsOpenSSLLoaded())\r
+ {\r
+ SendDlgItemMessage(hDlg, HSET_FTPES, BM_SETCHECK, TmpHost.UseFTPES, 0);\r
+ SendDlgItemMessage(hDlg, HSET_FTPIS, BM_SETCHECK, TmpHost.UseFTPIS, 0);\r
+ }\r
+ else\r
+ {\r
+ SendDlgItemMessage(hDlg, HSET_FTPES, BM_SETCHECK, BST_UNCHECKED, 0);\r
+ EnableWindow(GetDlgItem(hDlg, HSET_FTPES), FALSE);\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
+ return(TRUE);\r
+\r
+ case WM_NOTIFY:\r
+ pnmhdr = (NMHDR FAR *)lParam;\r
+ switch(pnmhdr->code)\r
+ {\r
+ case PSN_APPLY :\r
+ TmpHost.UseNoEncryption = SendDlgItemMessage(hDlg, HSET_NO_ENCRYPTION, BM_GETCHECK, 0, 0);\r
+ if(IsOpenSSLLoaded())\r
+ {\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
+ Apply = YES;\r
+ break;\r
+\r
+ case PSN_RESET :\r
+ break;\r
+\r
+ case PSN_HELP :\r
+ hHelpWin = HtmlHelp(NULL, AskHelpFilePath(), HH_HELP_CONTEXT, IDH_HELP_TOPIC_0000065);\r
+ break;\r
+ }\r
+ break;\r
+ }\r
+ return(FALSE);\r
+}\r
+\r
+// 同時接続対応\r
+static INT_PTR CALLBACK Adv3SettingProc(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam)\r
+{\r
+ NMHDR *pnmhdr;\r
+// int Num;\r
+\r
+ // UTF-8対応\r
+ static const RADIOBUTTON KanjiButton[] = {\r
+ { HSET_NO_CNV, KANJI_NOCNV },\r
+ { HSET_SJIS_CNV, KANJI_SJIS },\r
+ { HSET_JIS_CNV, KANJI_JIS },\r
+ { HSET_EUC_CNV, KANJI_EUC },\r
+ { HSET_UTF8N_CNV, KANJI_UTF8N },\r
+ { HSET_UTF8BOM_CNV, KANJI_UTF8BOM }\r
+ };\r
+ #define KANJIBUTTONS (sizeof(KanjiButton)/sizeof(RADIOBUTTON))\r
+\r
+ switch (iMessage)\r
+ {\r
+ case WM_INITDIALOG :\r
+ SendDlgItemMessage(hDlg, HSET_THREAD_COUNT, EM_LIMITTEXT, (WPARAM)1, 0);\r
+ SetDecimalText(hDlg, HSET_THREAD_COUNT, TmpHost.MaxThreadCount);\r
+ SendDlgItemMessage(hDlg, HSET_THREAD_COUNT_SPN, UDM_SETRANGE, 0, (LPARAM)MAKELONG(MAX_DATA_CONNECTION, 1));\r
+ SendDlgItemMessage(hDlg, HSET_REUSE_SOCKET, BM_SETCHECK, TmpHost.ReuseCmdSkt, 0);\r
+ SendDlgItemMessage(hDlg, HSET_NOOP_INTERVAL, EM_LIMITTEXT, (WPARAM)3, 0);\r
+ SetDecimalText(hDlg, HSET_NOOP_INTERVAL, TmpHost.NoopInterval);\r
+ SendDlgItemMessage(hDlg, HSET_NOOP_INTERVAL_SPN, UDM_SETRANGE, 0, (LPARAM)MAKELONG(300, 0));\r
+ SendDlgItemMessage(hDlg, HSET_ERROR_MODE, CB_ADDSTRING, 0, (LPARAM)MSGJPN335);\r
+ SendDlgItemMessage(hDlg, HSET_ERROR_MODE, CB_ADDSTRING, 0, (LPARAM)MSGJPN336);\r
+ SendDlgItemMessage(hDlg, HSET_ERROR_MODE, CB_ADDSTRING, 0, (LPARAM)MSGJPN337);\r
+ SendDlgItemMessage(hDlg, HSET_ERROR_MODE, CB_ADDSTRING, 0, (LPARAM)MSGJPN338);\r
+ if(TmpHost.TransferErrorNotify == YES)\r
+ SendDlgItemMessage(hDlg, HSET_ERROR_MODE, CB_SETCURSEL, 0, 0);\r
+ else if(TmpHost.TransferErrorMode == EXIST_OVW)\r
+ SendDlgItemMessage(hDlg, HSET_ERROR_MODE, CB_SETCURSEL, 1, 0);\r
+ else if(TmpHost.TransferErrorMode == EXIST_RESUME)\r
+ SendDlgItemMessage(hDlg, HSET_ERROR_MODE, CB_SETCURSEL, 2, 0);\r
+ else if(TmpHost.TransferErrorMode == EXIST_IGNORE)\r
+ SendDlgItemMessage(hDlg, HSET_ERROR_MODE, CB_SETCURSEL, 3, 0);\r
+ else\r
+ SendDlgItemMessage(hDlg, HSET_ERROR_MODE, CB_SETCURSEL, 0, 0);\r
+ return(TRUE);\r
+\r
+ case WM_NOTIFY:\r
+ pnmhdr = (NMHDR FAR *)lParam;\r
+ switch(pnmhdr->code)\r
+ {\r
+ case PSN_APPLY :\r
+ TmpHost.MaxThreadCount = GetDecimalText(hDlg, HSET_THREAD_COUNT);\r
+ CheckRange2(&TmpHost.MaxThreadCount, MAX_DATA_CONNECTION, 1);\r
+ TmpHost.ReuseCmdSkt = SendDlgItemMessage(hDlg, HSET_REUSE_SOCKET, BM_GETCHECK, 0, 0);\r
+ TmpHost.NoopInterval = GetDecimalText(hDlg, HSET_NOOP_INTERVAL);\r
+ CheckRange2(&TmpHost.NoopInterval, 300, 0);\r
+ switch(SendDlgItemMessage(hDlg, HSET_ERROR_MODE, CB_GETCURSEL, 0, 0))\r
+ {\r
+ case 0:\r
+ TmpHost.TransferErrorMode = EXIST_OVW;\r
+ TmpHost.TransferErrorNotify = YES;\r
+ break;\r
+ case 1:\r
+ TmpHost.TransferErrorMode = EXIST_OVW;\r
+ TmpHost.TransferErrorNotify = NO;\r
+ break;\r
+ case 2:\r
+ TmpHost.TransferErrorMode = EXIST_RESUME;\r
+ TmpHost.TransferErrorNotify = NO;\r
+ break;\r
+ case 3:\r
+ TmpHost.TransferErrorMode = EXIST_IGNORE;\r
+ TmpHost.TransferErrorNotify = NO;\r
+ break;\r
+ }\r
+ Apply = YES;\r
+ break;\r
+\r
+ case PSN_RESET :\r
+ break;\r
+\r
+ case PSN_HELP :\r
+ hHelpWin = HtmlHelp(NULL, AskHelpFilePath(), HH_HELP_CONTEXT, IDH_HELP_TOPIC_0000066);\r
+ break;\r
+ }\r
+ break;\r
+ }\r
+ return(FALSE);\r
+}\r
+\r
+// 暗号化通信対応\r
+// ホストの暗号化設定を更新\r
+int SetHostExcryption(int Num, int UseNoEncryption, int UseFTPES, int UseFTPIS, int UseSFTP)\r
+{\r
+ int Sts;\r
+ HOSTLISTDATA *Pos;\r
+\r
+ Sts = FFFTP_FAIL;\r
+ if((Num >= 0) && (Num < Hosts))\r
+ {\r
+ Pos = GetNodeByNum(Num);\r
+ Pos->Set.UseNoEncryption = UseNoEncryption;\r
+ Pos->Set.UseFTPES = UseFTPES;\r
+ Pos->Set.UseFTPIS = UseFTPIS;\r
+ Pos->Set.UseSFTP = UseSFTP;\r
+ Sts = FFFTP_SUCCESS;\r
+ }\r
+ return(Sts);\r
+}\r
+\r