OSDN Git Service

Change to ask if a user wants to disable unused encryption method.
authors_kawamoto <s_kawamoto@users.sourceforge.jp>
Mon, 14 Nov 2011 14:59:35 +0000 (23:59 +0900)
committers_kawamoto <s_kawamoto@users.sourceforge.jp>
Mon, 14 Nov 2011 14:59:35 +0000 (23:59 +0900)
FFFTP_Eng_Release/FFFTP.exe
Release/FFFTP.exe
Resource/FFFTP.rc
Resource/resource.h
Resource_eng/FFFTP-eng.rc
Resource_eng/resource.h
common.h
connect.c
hostman.c

index 5a7bf91..b53e809 100644 (file)
Binary files a/FFFTP_Eng_Release/FFFTP.exe and b/FFFTP_Eng_Release/FFFTP.exe differ
index e7a66aa..a02bae6 100644 (file)
Binary files a/Release/FFFTP.exe and b/Release/FFFTP.exe differ
index e45b8e7..7be4eb3 100644 (file)
@@ -1367,6 +1367,16 @@ BEGIN
     CONTROL         "\83\81\83C\83\93\83E\83B\83\93\83h\83E\82Ì\83\\83P\83b\83g\82ð\8dÄ\97\98\97p",HSET_REUSE_SOCKET,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,27,131,10\r
 END\r
 \r
+savecrypt_dlg DIALOG  0, 0, 146, 50\r
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION\r
+CAPTION "\83p\83X\83\8f\81[\83h\82Ì\95Û\91¶"\r
+FONT 9, "\82l\82\82o\83S\83V\83b\83N"\r
+BEGIN\r
+    LTEXT           "\8c»\8dÝ\82Ì\88Ã\8d\86\89»\82Ì\8fó\91Ô\82ð\95Û\91\82µ\82Ü\82·\82©\81H",-1,7,7,132,17\r
+    DEFPUSHBUTTON   "\82Í\82¢",IDOK,17,29,50,14\r
+    PUSHBUTTON      "\82¢\82¢\82¦",IDCANCEL,78,29,50,14\r
+END\r
+\r
 \r
 /////////////////////////////////////////////////////////////////////////////\r
 //\r
@@ -1998,6 +2008,14 @@ BEGIN
         TOPMARGIN, 7\r
         BOTTOMMARGIN, 132\r
     END\r
+\r
+    savecrypt_dlg, DIALOG\r
+    BEGIN\r
+        LEFTMARGIN, 7\r
+        RIGHTMARGIN, 139\r
+        TOPMARGIN, 7\r
+        BOTTOMMARGIN, 43\r
+    END\r
 END\r
 #endif    // APSTUDIO_INVOKED\r
 \r
index 86786ff..b8b7d24 100644 (file)
 #define masterpasswd_dlg                188\r
 #define hset_crypt_dlg                  189\r
 #define hset_adv3_dlg                   190\r
+#define savecrypt_dlg                   191\r
 #define TRANS_TIME_BAR                  1002\r
 #define TRANS_TEXT                      1003\r
 #define TRANS_REMOTE                    1003\r
 // \r
 #ifdef APSTUDIO_INVOKED\r
 #ifndef APSTUDIO_READONLY_SYMBOLS\r
-#define _APS_NEXT_RESOURCE_VALUE        191\r
+#define _APS_NEXT_RESOURCE_VALUE        192\r
 #define _APS_NEXT_COMMAND_VALUE         40176\r
 #define _APS_NEXT_CONTROL_VALUE         1208\r
 #define _APS_NEXT_SYMED_VALUE           101\r
index 6f68c86..1b6644c 100644 (file)
@@ -1393,6 +1393,16 @@ BEGIN
     CONTROL         "Reuse socket of the main window",HSET_REUSE_SOCKET,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,27,131,10\r
 END\r
 \r
+savecrypt_dlg DIALOG  0, 0, 146, 50\r
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION\r
+CAPTION "\83p\83X\83\8f\81[\83h\82Ì\95Û\91¶"\r
+FONT 9, "MS Sans Serif"\r
+BEGIN\r
+    LTEXT           "Save current encryption status?",-1,7,7,132,17\r
+    DEFPUSHBUTTON   "Yes",IDOK,17,29,50,14\r
+    PUSHBUTTON      "No",IDCANCEL,78,29,50,14\r
+END\r
+\r
 \r
 /////////////////////////////////////////////////////////////////////////////\r
 //\r
@@ -2021,6 +2031,14 @@ BEGIN
         TOPMARGIN, 7\r
         BOTTOMMARGIN, 132\r
     END\r
+\r
+    savecrypt_dlg, DIALOG\r
+    BEGIN\r
+        LEFTMARGIN, 7\r
+        RIGHTMARGIN, 139\r
+        TOPMARGIN, 7\r
+        BOTTOMMARGIN, 43\r
+    END\r
 END\r
 #endif    // APSTUDIO_INVOKED\r
 \r
index da46ed0..aa76123 100644 (file)
 #define masterpasswd_dlg                188\r
 #define hset_crypt_dlg                  189\r
 #define hset_adv3_dlg                   190\r
+#define savecrypt_dlg                   191\r
 #define TRANS_TIME_BAR                  1002\r
 #define TRANS_TEXT                      1003\r
 #define TRANS_REMOTE                    1003\r
 // \r
 #ifdef APSTUDIO_INVOKED\r
 #ifndef APSTUDIO_READONLY_SYMBOLS\r
-#define _APS_NEXT_RESOURCE_VALUE        191\r
+#define _APS_NEXT_RESOURCE_VALUE        192\r
 #define _APS_NEXT_COMMAND_VALUE         40176\r
 #define _APS_NEXT_CONTROL_VALUE         1208\r
 #define _APS_NEXT_SYMED_VALUE           101\r
index 91832f4..1a867af 100644 (file)
--- a/common.h
+++ b/common.h
@@ -1387,6 +1387,8 @@ void SetCurrentHost(int Num);
 void CopyDefaultHost(HOSTDATA *Set);\r
 int SearchHostName(char *Name);\r
 void ImportFromWSFTP(void);\r
+// 暗号化通信対応\r
+int SetHostExcryption(int Num, int UseNoEncryption, int UseFTPES, int UseFTPIS, int UseSFTP);\r
 \r
 /*===== connect.c =====*/\r
 \r
index 9e79f94..e530013 100644 (file)
--- a/connect.c
+++ b/connect.c
@@ -185,15 +185,48 @@ void ConnectProc(int Type, int Num)
                        CmdCtrlSocket = DoConnect(&CurHost, CurHost.HostAdrs, CurHost.UserName, CurHost.PassWord, CurHost.Account, CurHost.Port, CurHost.FireWall, Save, CurHost.Security, &CancelFlg);\r
                        TrnCtrlSocket = CmdCtrlSocket;\r
 \r
-                       // UTF-8対応\r
-                       if(CurHost.CurNameKanjiCode == KANJI_AUTO)\r
-                       {\r
-                               if(DoDirListCmdSkt("", "", 999, &CancelFlg) == FTP_COMPLETE)\r
-                                       CurHost.CurNameKanjiCode = AnalyzeNameKanjiCode(999);\r
-                       }\r
-\r
                        if(CmdCtrlSocket != INVALID_SOCKET)\r
                        {\r
+                               // 暗号化通信対応\r
+                               switch(CurHost.CryptMode)\r
+                               {\r
+                               case CRYPT_NONE:\r
+                                       if(CurHost.UseFTPIS != NO || CurHost.UseSFTP != NO)\r
+                                       {\r
+                                               if(DialogBox(GetFtpInst(), MAKEINTRESOURCE(savecrypt_dlg), GetMainHwnd(), ExeEscDialogProc) == YES)\r
+                                                       SetHostExcryption(AskCurrentHost(), CurHost.UseNoEncryption, CurHost.UseFTPES, NO, NO);\r
+                                       }\r
+                                       break;\r
+                               case CRYPT_FTPES:\r
+                                       if(CurHost.UseNoEncryption != NO || CurHost.UseFTPIS != NO || CurHost.UseSFTP != NO)\r
+                                       {\r
+                                               if(DialogBox(GetFtpInst(), MAKEINTRESOURCE(savecrypt_dlg), GetMainHwnd(), ExeEscDialogProc) == YES)\r
+                                                       SetHostExcryption(AskCurrentHost(), NO, CurHost.UseFTPES, NO, NO);\r
+                                       }\r
+                                       break;\r
+                               case CRYPT_FTPIS:\r
+                                       if(CurHost.UseNoEncryption != NO || CurHost.UseFTPES != NO || CurHost.UseSFTP != NO)\r
+                                       {\r
+                                               if(DialogBox(GetFtpInst(), MAKEINTRESOURCE(savecrypt_dlg), GetMainHwnd(), ExeEscDialogProc) == YES)\r
+                                                       SetHostExcryption(AskCurrentHost(), NO, NO, CurHost.UseFTPIS, NO);\r
+                                       }\r
+                                       break;\r
+                               case CRYPT_SFTP:\r
+                                       if(CurHost.UseNoEncryption != NO || CurHost.UseFTPES != NO || CurHost.UseFTPIS != NO)\r
+                                       {\r
+                                               if(DialogBox(GetFtpInst(), MAKEINTRESOURCE(savecrypt_dlg), GetMainHwnd(), ExeEscDialogProc) == YES)\r
+                                                       SetHostExcryption(AskCurrentHost(), NO, NO, NO, CurHost.UseSFTP);\r
+                                       }\r
+                                       break;\r
+                               }\r
+\r
+                               // UTF-8対応\r
+                               if(CurHost.CurNameKanjiCode == KANJI_AUTO)\r
+                               {\r
+                                       if(DoDirListCmdSkt("", "", 999, &CancelFlg) == FTP_COMPLETE)\r
+                                               CurHost.CurNameKanjiCode = AnalyzeNameKanjiCode(999);\r
+                               }\r
+\r
                                strcpy(TitleHostName, CurHost.HostName);\r
                                DispWindowTitle();\r
                                SoundPlay(SND_CONNECT);\r
@@ -276,15 +309,15 @@ void QuickConnectProc(void)
                        CmdCtrlSocket = DoConnect(&CurHost, CurHost.HostAdrs, CurHost.UserName, CurHost.PassWord, CurHost.Account, CurHost.Port, CurHost.FireWall, NO, CurHost.Security, &CancelFlg);\r
                        TrnCtrlSocket = CmdCtrlSocket;\r
 \r
-                       // UTF-8対応\r
-                       if(CurHost.CurNameKanjiCode == KANJI_AUTO)\r
-                       {\r
-                               if(DoDirListCmdSkt("", "", 999, &CancelFlg) == FTP_COMPLETE)\r
-                                       CurHost.CurNameKanjiCode = AnalyzeNameKanjiCode(999);\r
-                       }\r
-\r
                        if(CmdCtrlSocket != INVALID_SOCKET)\r
                        {\r
+                               // UTF-8対応\r
+                               if(CurHost.CurNameKanjiCode == KANJI_AUTO)\r
+                               {\r
+                                       if(DoDirListCmdSkt("", "", 999, &CancelFlg) == FTP_COMPLETE)\r
+                                               CurHost.CurNameKanjiCode = AnalyzeNameKanjiCode(999);\r
+                               }\r
+\r
                                strcpy(TitleHostName, CurHost.HostAdrs);\r
                                DispWindowTitle();\r
                                SoundPlay(SND_CONNECT);\r
@@ -460,15 +493,15 @@ void DirectConnectProc(char *unc, int Kanji, int Kana, int Fkanji, int TrMode)
                CmdCtrlSocket = DoConnect(&CurHost, CurHost.HostAdrs, CurHost.UserName, CurHost.PassWord, CurHost.Account, CurHost.Port, CurHost.FireWall, NO, CurHost.Security, &CancelFlg);\r
                TrnCtrlSocket = CmdCtrlSocket;\r
 \r
-               // UTF-8対応\r
-               if(CurHost.CurNameKanjiCode == KANJI_AUTO)\r
-               {\r
-                       if(DoDirListCmdSkt("", "", 999, &CancelFlg) == FTP_COMPLETE)\r
-                               CurHost.CurNameKanjiCode = AnalyzeNameKanjiCode(999);\r
-               }\r
-\r
                if(CmdCtrlSocket != INVALID_SOCKET)\r
                {\r
+                       // UTF-8対応\r
+                       if(CurHost.CurNameKanjiCode == KANJI_AUTO)\r
+                       {\r
+                               if(DoDirListCmdSkt("", "", 999, &CancelFlg) == FTP_COMPLETE)\r
+                                       CurHost.CurNameKanjiCode = AnalyzeNameKanjiCode(999);\r
+                       }\r
+\r
                        strcpy(TitleHostName, CurHost.HostAdrs);\r
                        DispWindowTitle();\r
                        SoundPlay(SND_CONNECT);\r
@@ -548,15 +581,15 @@ void HistoryConnectProc(int MenuCmd)
                        CmdCtrlSocket = DoConnect(&CurHost, CurHost.HostAdrs, CurHost.UserName, CurHost.PassWord, CurHost.Account, CurHost.Port, CurHost.FireWall, NO, CurHost.Security, &CancelFlg);\r
                        TrnCtrlSocket = CmdCtrlSocket;\r
 \r
-                       // UTF-8対応\r
-                       if(CurHost.CurNameKanjiCode == KANJI_AUTO)\r
-                       {\r
-                               if(DoDirListCmdSkt("", "", 999, &CancelFlg) == FTP_COMPLETE)\r
-                                       CurHost.CurNameKanjiCode = AnalyzeNameKanjiCode(999);\r
-                       }\r
-\r
                        if(CmdCtrlSocket != INVALID_SOCKET)\r
                        {\r
+                               // UTF-8対応\r
+                               if(CurHost.CurNameKanjiCode == KANJI_AUTO)\r
+                               {\r
+                                       if(DoDirListCmdSkt("", "", 999, &CancelFlg) == FTP_COMPLETE)\r
+                                               CurHost.CurNameKanjiCode = AnalyzeNameKanjiCode(999);\r
+                               }\r
+\r
                                strcpy(TitleHostName, CurHost.HostAdrs);\r
                                DispWindowTitle();\r
                                SoundPlay(SND_CONNECT);\r
index 7e7026e..8f99611 100644 (file)
--- a/hostman.c
+++ b/hostman.c
@@ -2246,3 +2246,23 @@ static BOOL CALLBACK Adv3SettingProc(HWND hDlg, UINT iMessage, WPARAM wParam, LP
        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