int Ret;\r
BOOL Sts;\r
\r
+ // プロセス保護\r
+#ifdef ENABLE_PROCESS_PROTECTION\r
+ DWORD ProtectLevel;\r
+ char* pCommand;\r
+ char Option[FMAX_PATH+1];\r
+ ProtectLevel = PROCESS_PROTECTION_NONE;\r
+ pCommand = lpszCmdLine;\r
+ while(pCommand = GetToken(pCommand, Option))\r
+ {\r
+ if(strcmp(Option, "--protect") == 0)\r
+ {\r
+ ProtectLevel = PROCESS_PROTECTION_DEFAULT;\r
+ break;\r
+ }\r
+ else if(strcmp(Option, "--protect-high") == 0)\r
+ {\r
+ ProtectLevel = PROCESS_PROTECTION_HIGH;\r
+ break;\r
+ }\r
+ else if(strcmp(Option, "--protect-medium") == 0)\r
+ {\r
+ ProtectLevel = PROCESS_PROTECTION_MEDIUM;\r
+ break;\r
+ }\r
+ else if(strcmp(Option, "--protect-low") == 0)\r
+ {\r
+ ProtectLevel = PROCESS_PROTECTION_LOW;\r
+ break;\r
+ }\r
+ }\r
+ if(ProtectLevel != PROCESS_PROTECTION_NONE)\r
+ {\r
+ SetProcessProtectionLevel(ProtectLevel);\r
+ if(!InitializeLoadLibraryHook())\r
+ {\r
+ MessageBox(NULL, MSGJPN321, "FFFTP", MB_OK | MB_ICONERROR);\r
+ return 0;\r
+ }\r
+#ifndef _DEBUG\r
+ if(IsDebuggerPresent())\r
+ {\r
+ MessageBox(NULL, MSGJPN322, "FFFTP", MB_OK | MB_ICONERROR);\r
+ return 0;\r
+ }\r
+#endif\r
+ if(!UnloadUntrustedModule())\r
+ {\r
+ MessageBox(NULL, MSGJPN323, "FFFTP", MB_OK | MB_ICONERROR);\r
+ return 0;\r
+ }\r
+#ifndef _DEBUG\r
+ if(RestartProtectedProcess(" --restart"))\r
+ return 0;\r
+#endif\r
+ if(!EnableLoadLibraryHook(TRUE))\r
+ {\r
+ MessageBox(NULL, MSGJPN324, "FFFTP", MB_OK | MB_ICONERROR);\r
+ return 0;\r
+ }\r
+ }\r
+ else\r
+ InitializeLoadLibraryHook();\r
+#endif\r
+\r
#ifdef DISABLE_MULTI_CPUS\r
SetProcessAffinityMask(GetCurrentProcess(), 1);\r
#endif\r
\r
InitCommonControls();\r
\r
+ // FTPS対応\r
#ifdef USE_OPENSSL\r
LoadOpenSSL();\r
#endif\r
Ret = Msg.wParam;\r
}\r
UnregisterClass(FtpClassStr, hInstFtp);\r
+ // FTPS対応\r
#ifdef USE_OPENSSL\r
FreeOpenSSL();\r
#endif\r
DispWindowTitle();\r
// SourceForge.JPによるフォーク\r
// SetTaskMsg("FFFTP Ver." VER_STR " Copyright(C) 1997-2010 Sota & cooperators.");\r
- SetTaskMsg("FFFTP Ver." VER_STR " Copyright(C) 1997-2010 Sota & cooperators.\r\nCopyright (C) 2011 Hiromichi Matsushima, Suguru Kawamoto.");\r
+ SetTaskMsg("FFFTP Ver." VER_STR " Copyright(C) 1997-2010 Sota & cooperators.\r\nCopyright (C) 2011 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, unarist, raido).");\r
\r
if(ForceIni)\r
SetTaskMsg("%s%s", MSGJPN283, IniPath);\r
{\r
hHelpWin = HtmlHelp(NULL, AskHelpFilePath(), HH_HELP_CONTEXT, IDH_HELP_TOPIC_0000024);\r
}\r
+ // プロセス保護\r
+#ifdef ENABLE_PROCESS_PROTECTION\r
+ else if(strcmp(Tmp, "--restart") == 0)\r
+ {\r
+ }\r
+ else if(strcmp(Tmp, "--protect") == 0)\r
+ {\r
+ }\r
+ else if(strcmp(Tmp, "--protect-high") == 0)\r
+ {\r
+ }\r
+ else if(strcmp(Tmp, "--protect-medium") == 0)\r
+ {\r
+ }\r
+ else if(strcmp(Tmp, "--protect-low") == 0)\r
+ {\r
+ }\r
+#endif\r
else\r
{\r
SetTaskMsg(MSGJPN180, Tmp);\r
int EnterMasterPasswordAndSet( int Res, HWND hWnd )\r
{\r
char buf[MAX_PASSWORD_LEN + 1];\r
+ // パスワードの入力欄を非表示\r
+ // 非表示にしたため新しいパスワードを2回入力させる\r
+ char buf1[MAX_PASSWORD_LEN + 1];\r
char *p;\r
int Flag;\r
\r
buf[0] = NUL;\r
if( InputDialogBox(Res, hWnd, NULL, buf, MAX_PASSWORD_LEN + 1,\r
&Flag, IDH_HELP_TOPIC_0000064) == YES){\r
+ // パスワードの入力欄を非表示\r
+ if(Res == newmasterpasswd_dlg)\r
+ {\r
+ buf1[0] = NUL;\r
+ if( InputDialogBox(Res, hWnd, NULL, buf1, MAX_PASSWORD_LEN + 1,\r
+ &Flag, IDH_HELP_TOPIC_0000064) != YES){\r
+ return 0;\r
+ }\r
+ if(strcmp(buf, buf1) != 0)\r
+ {\r
+ MessageBox(hWnd, MSGJPN325, "FFFTP", MB_OK | MB_ICONERROR);\r
+ return 0;\r
+ }\r
+ }\r
/* 末尾の空白を削除 */\r
RemoveTailingSpaces(buf);\r
/* 先頭の空白を削除 */\r