\r
char TitleHostName[HOST_ADRS_LEN+1];\r
char FilterStr[FILTER_EXT_LEN+1] = { "*" };\r
+// タイトルバーにユーザー名表示対応\r
+char TitleUserName[USER_NAME_LEN+1];\r
\r
int CancelFlg;\r
\r
int AutoApplyUpdates = NO;\r
int AutoCheckForUptatesInterval = 7;\r
time_t LastAutoCheckForUpdates = 0;\r
+// ファイル一覧バグ修正\r
+int AbortOnListError = YES;\r
+// ミラーリング設定追加\r
+int MirrorNoTransferContents = NO; \r
+// FireWall設定追加\r
+int FwallNoSaveUser = NO; \r
\r
\r
\r
LoadOpenSSL();\r
#endif\r
\r
- // SFTP対応\r
- LoadPuTTY();\r
-\r
// ソフトウェア自動更新\r
ImmediateExit = NO;\r
pCommand = lpszCmdLine;\r
if(pCommand = GetToken(pCommand, ListFile))\r
{\r
if(pCommand = GetToken(pCommand, Description))\r
+ {\r
+ DecodeLineFeed(Description);\r
BuildUpdates(PrivateKeyFile, Password, ServerPath, HashFile, ListFile, RELEASE_VERSION_NUM, VER_STR, Description);\r
+ }\r
}\r
}\r
}\r
{\r
Sleep(1000);\r
if(ApplyUpdates(UpdateDir, "updatebackup"))\r
- MessageBox(NULL, MSGJPN359, "FFFTP", MB_OK);\r
+ MessageBox(NULL, MSGJPN358, "FFFTP", MB_OK);\r
else\r
- MessageBox(NULL, MSGJPN360, "FFFTP", MB_OK | MB_ICONERROR);\r
+ MessageBox(NULL, MSGJPN359, "FFFTP", MB_OK | MB_ICONERROR);\r
}\r
}\r
ImmediateExit = YES;\r
#ifdef USE_OPENSSL\r
FreeOpenSSL();\r
#endif\r
- // SFTP対応\r
- FreePuTTY();\r
// タスクバー進捗表示\r
FreeTaskbarList3();\r
// UPnP対応\r
}\r
}\r
if(!Sts)\r
- MessageBox(NULL, MSGJPN360, "FFFTP", MB_OK | MB_ICONERROR);\r
+ MessageBox(NULL, MSGJPN359, "FFFTP", MB_OK | MB_ICONERROR);\r
}\r
return(Ret);\r
}\r
}\r
}\r
// バージョン確認\r
- if(ReadSettingsVersion() > VER_NUM)\r
+ if(PortableVersion == NO)\r
{\r
- if(IsRegAvailable() == YES && IsIniAvailable() == NO)\r
+ if(ReadSettingsVersion() > VER_NUM)\r
{\r
- switch(MessageBox(GetMainHwnd(), MSGJPN351, "FFFTP", MB_YESNOCANCEL | MB_DEFBUTTON2))\r
+ if(IsRegAvailable() == YES && IsIniAvailable() == NO)\r
{\r
- case IDCANCEL:\r
- ReadOnlySettings = YES;\r
- break;\r
- case IDYES:\r
- break;\r
- case IDNO:\r
- ImportPortable = YES;\r
- break;\r
+ switch(MessageBox(GetMainHwnd(), MSGJPN350, "FFFTP", MB_YESNOCANCEL | MB_DEFBUTTON2))\r
+ {\r
+ case IDCANCEL:\r
+ ReadOnlySettings = YES;\r
+ break;\r
+ case IDYES:\r
+ break;\r
+ case IDNO:\r
+ ImportPortable = YES;\r
+ break;\r
+ }\r
}\r
}\r
}\r
\r
if(masterpass != 0)\r
{\r
+ // ホスト共通設定機能\r
+ ResetDefaultHost();\r
+\r
LoadRegistry();\r
\r
// ポータブル版判定\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-2014 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, unarist, Asami, fortran90, tomo1192, Yuji Tanaka, Moriguchi Hirokazu, Fu-sen).");\r
+ SetTaskMsg("FFFTP Ver." VER_STR " Copyright(C) 1997-2010 Sota & cooperators.\r\nCopyright (C) 2011-2016 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, unarist, Asami, fortran90, tomo1192, Yuji Tanaka, Moriguchi Hirokazu, Fu-sen).");\r
\r
if(ForceIni)\r
SetTaskMsg("%s%s", MSGJPN283, IniPath);\r
DispTransferFiles();\r
\r
// ソフトウェア自動更新\r
- if(AutoCheckForUptatesInterval == 0)\r
+ if(AutoCheckForUpdates == YES && AutoCheckForUptatesInterval == 0)\r
UpdateSoftware(YES, YES, AutoApplyUpdates);\r
\r
StartupProc(lpszCmdLine);\r
\r
if(AskConnecting() == YES)\r
// 暗号化通信対応\r
+ // タイトルバーにユーザー名表示対応\r
// sprintf(Tmp, "%s (%s) - FFFTP", TitleHostName, FilterStr);\r
{\r
switch(AskCryptMode())\r
{\r
case CRYPT_NONE:\r
- sprintf(Tmp, "%s (%s) %s - FFFTP", TitleHostName, FilterStr, MSGJPN352);\r
+ sprintf(Tmp, "%s@%s (%s) %s - FFFTP", TitleUserName, TitleHostName, FilterStr, MSGJPN351);\r
break;\r
case CRYPT_FTPES:\r
- sprintf(Tmp, "%s (%s) %s - FFFTP", TitleHostName, FilterStr, MSGJPN353);\r
+ sprintf(Tmp, "%s@%s (%s) %s - FFFTP", TitleUserName, TitleHostName, FilterStr, MSGJPN352);\r
break;\r
case CRYPT_FTPIS:\r
- sprintf(Tmp, "%s (%s) %s - FFFTP", TitleHostName, FilterStr, MSGJPN354);\r
+ sprintf(Tmp, "%s@%s (%s) %s - FFFTP", TitleUserName, TitleHostName, FilterStr, MSGJPN353);\r
break;\r
case CRYPT_SFTP:\r
- sprintf(Tmp, "%s (%s) %s - FFFTP", TitleHostName, FilterStr, MSGJPN355);\r
+ sprintf(Tmp, "%s@%s (%s) %s - FFFTP", TitleUserName, TitleHostName, FilterStr, MSGJPN354);\r
break;\r
}\r
}\r
case 3:\r
if(AskUserOpeDisabled() == NO && AskTransferNow() == NO)\r
{\r
- if(AutoCheckForUptatesInterval > 0 && time(NULL) - LastAutoCheckForUpdates >= AutoCheckForUptatesInterval * 86400)\r
+ if(AutoCheckForUpdates == YES && AutoCheckForUptatesInterval > 0 && time(NULL) - LastAutoCheckForUpdates >= AutoCheckForUptatesInterval * 86400)\r
UpdateSoftware(YES, YES, AutoApplyUpdates);\r
}\r
break;\r
// 同時接続対応\r
// 中断後に受信バッファに応答が残っていると次のコマンドの応答が正しく処理できない\r
if(CancelFlg == YES)\r
- RemoveReceivedData(AskCmdCtrlSkt());\r
+ AbortRecoveryProc();\r
switch(LOWORD(wParam))\r
{\r
case MENU_CONNECT :\r
PostMessage(hWnd, WM_COMMAND, MAKEWPARAM(REFRESH_REMOTE, 0), 0);\r
break;\r
\r
+ // UPnP対応\r
+ case WM_ADDPORTMAPPING :\r
+ ((ADDPORTMAPPINGDATA*)lParam)->r = AddPortMapping(((ADDPORTMAPPINGDATA*)lParam)->Adrs, ((ADDPORTMAPPINGDATA*)lParam)->Port, ((ADDPORTMAPPINGDATA*)lParam)->ExtAdrs);\r
+ SetEvent(((ADDPORTMAPPINGDATA*)lParam)->h);\r
+ break;\r
+\r
+ case WM_REMOVEPORTMAPPING :\r
+ ((REMOVEPORTMAPPINGDATA*)lParam)->r = RemovePortMapping(((REMOVEPORTMAPPINGDATA*)lParam)->Port);\r
+ SetEvent(((REMOVEPORTMAPPINGDATA*)lParam)->h);\r
+ break;\r
+\r
case WM_PAINT :\r
BeginPaint(hWnd, (LPPAINTSTRUCT) &ps);\r
EndPaint(hWnd, (LPPAINTSTRUCT) &ps);\r
\r
CancelFlg = YES;\r
\r
+ // バグ対策\r
+ DisableUserOpe();\r
+\r
CloseTransferThread();\r
\r
if(SaveExit == YES)\r
MainTransPkt.KanjiCodeDesired = AskLocalKanjiCode();\r
MainTransPkt.KanaCnv = AskHostKanaCnv();\r
MainTransPkt.Mode = EXIST_OVW;\r
+ // ミラーリング設定追加\r
+ MainTransPkt.NoTransfer = NO;\r
MainTransPkt.ExistSize = 0;\r
MainTransPkt.hWndTrans = NULL;\r
MainTransPkt.Next = NULL;\r
for(i = 0; i < 5; i++)\r
Hash[i] = _byteswap_ulong(Hash[i]);\r
// 同梱する"ssl.pem"に合わせてSHA1ハッシュ値を変更すること\r
- if(memcmp(&Hash, &SSLRootCAFileHash, 20) == 0 || memcmp(&Hash, "\xC8\xF6\x0B\x07\x10\x42\x55\xE7\x57\x7F\xE9\x52\xE0\x3F\xA8\xE4\x08\x2B\xB0\xE2", 20) == 0\r
+ if(memcmp(&Hash, &SSLRootCAFileHash, 20) == 0 || memcmp(&Hash, "\xDF\x8E\xE2\x5A\xC7\x01\x03\x1C\x3A\x61\x00\xA2\x53\xCA\xF8\xDC\xA0\xC1\xA6\x3B", 20) == 0\r
|| DialogBox(GetFtpInst(), MAKEINTRESOURCE(updatesslroot_dlg), GetMainHwnd(), ExeEscDialogProc) == YES)\r
{\r
memcpy(&SSLRootCAFileHash, &Hash, 20);\r
return Sts;\r
}\r
\r
-void RestartAndTerminate()\r
+void Terminate()\r
{\r
- Restart();\r
exit(1);\r
}\r
\r
{\r
if(Version > RELEASE_VERSION_NUM)\r
{\r
- sprintf(Tmp, MSGJPN362, VER_STR, VersionString, Description);\r
+ sprintf(Tmp, MSGJPN361, VER_STR, VersionString, Description);\r
if(NoConfirm == YES || MessageBox(GetMainHwnd(), Tmp, "FFFTP", MB_YESNO) == IDYES)\r
{\r
strcpy(Tmp, TmpPath);\r
_mkdir(Tmp);\r
if(CheckForUpdates(TRUE, Tmp, &Version, VersionString, Description))\r
{\r
- MessageBox(GetMainHwnd(), MSGJPN365, "FFFTP", MB_OK);\r
+ MessageBox(GetMainHwnd(), MSGJPN364, "FFFTP", MB_OK);\r
ApplyUpdatesOnExit = YES;\r
}\r
else if(NoError == NO)\r
- MessageBox(GetMainHwnd(), MSGJPN363, "FFFTP", MB_OK | MB_ICONERROR);\r
+ MessageBox(GetMainHwnd(), MSGJPN362, "FFFTP", MB_OK | MB_ICONERROR);\r
}\r
}\r
else if(NoError == NO)\r
- MessageBox(GetMainHwnd(), MSGJPN364, "FFFTP", MB_OK);\r
+ MessageBox(GetMainHwnd(), MSGJPN363, "FFFTP", MB_OK);\r
}\r
else if(NoError == NO)\r
- MessageBox(GetMainHwnd(), MSGJPN363, "FFFTP", MB_OK | MB_ICONERROR);\r
+ MessageBox(GetMainHwnd(), MSGJPN362, "FFFTP", MB_OK | MB_ICONERROR);\r
}\r
}\r
}\r