Change the behavior of automatic software update.
ICON ffftp,-1,7,4,20,20\r
CTEXT "FFFTP Ver 1.99",-1,113,11,90,8\r
CTEXT "FFFTP\82Ífreeware\82Å\82·",-1,7,279,305,8\r
- CTEXT "Copyright(C) 1997-2010 Sota & \82²\8b¦\97Í\82¢\82½\82¾\82¢\82½\95û\81X\nCopyright (C) 2011-2014 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, \82¤\82È\81[, Asami, fortran90, tomo1192, Yuji Tanaka, Moriguchi Hirokazu, \82Ó\82¤\82¹\82ñ)",-1,7,25,305,44,SS_NOPREFIX\r
+ CTEXT "Copyright(C) 1997-2010 Sota & \82²\8b¦\97Í\82¢\82½\82¾\82¢\82½\95û\81X\nCopyright (C) 2011-2015 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, \82¤\82È\81[, Asami, fortran90, tomo1192, Yuji Tanaka, Moriguchi Hirokazu, \82Ó\82¤\82¹\82ñ)",-1,7,25,305,44,SS_NOPREFIX\r
CTEXT "",ABOUT_JRE,7,96,305,8\r
EDITTEXT ABOUT_URL,7,76,305,12,ES_CENTER | ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\r
CTEXT "OLE D&&D\8b@\94\ by \95½\93c\96L\82³\82ñ\81Anakka\82³\82ñ\n\83z\83X\83g\93à\82Å\82Ì\83t\83@\83C\83\8b\88Ú\93®\8b@\94\ by \95½\93c\96L\82³\82ñ\n\82¢\82\82Â\82©\82Ì\8b@\94\ by miau\82³\82ñ\n\83}\83X\83^\81[\83p\83X\83\8f\81[\83h\8b@\94\ by \82°\82ñ\82°\82ñ\82³\82ñ\nAES\88Ã\8d\86\89» by Moca\82³\82ñ\n\n\91¼\81A\91½\82\82Ì\95û\82Ì\82²\8b¦\97Í\82ð\82¢\82½\82¾\82«\82Ü\82µ\82½\81B",-1,7,143,305,60\r
VALUE "FileDescription", "FFFTP"\r
VALUE "FileVersion", "1, 99, 0, 0"\r
VALUE "InternalName", "FFFTP"\r
- VALUE "LegalCopyright", "Copyright (C) 1997-2010 Sota & \82²\8b¦\97Í\82¢\82½\82¾\82¢\82½\95û\81X\nCopyright (C) 2011-2014 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, \82¤\82È\81[, Asami, fortran90, tomo1192, Yuji Tanaka, Moriguchi Hirokazu, \82Ó\82¤\82¹\82ñ)."\r
+ VALUE "LegalCopyright", "Copyright (C) 1997-2010 Sota & \82²\8b¦\97Í\82¢\82½\82¾\82¢\82½\95û\81X\nCopyright (C) 2011-2015 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, \82¤\82È\81[, Asami, fortran90, tomo1192, Yuji Tanaka, Moriguchi Hirokazu, \82Ó\82¤\82¹\82ñ)."\r
VALUE "OriginalFilename", "FFFTP.exe"\r
VALUE "ProductName", "FFFTP"\r
VALUE "ProductVersion", "1, 99, 0, 0"\r
ICON ffftp,-1,7,4,20,20\r
CTEXT "FFFTP Ver 1.99",-1,110,11,90,8\r
CTEXT "FFFTP is freeware",-1,7,281,301,8\r
- CTEXT "Copyright(C) 1997-2010 Sota && cooperators\nCopyright (C) 2011-2014 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, unarist, Asami, fortran90, tomo1192, Yuji Tanaka, Moriguchi Hirokazu, Fu-sen)",-1,7,25,301,44\r
+ CTEXT "Copyright(C) 1997-2010 Sota && cooperators\nCopyright (C) 2011-2015 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, unarist, Asami, fortran90, tomo1192, Yuji Tanaka, Moriguchi Hirokazu, Fu-sen)",-1,7,25,301,44\r
CTEXT "",ABOUT_JRE,7,93,301,8\r
EDITTEXT ABOUT_URL,7,76,301,12,ES_CENTER | ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\r
CTEXT "OLE D&&D by Yutaka Hirata-san, nakka-san\nIn site file mover by Hirata-san\nAny issues by miau-san\nMaster Password by Gengen-san\nAES encryption by Moca-san\n\nI had cooperation of many other one.",-1,7,142,301,59\r
VALUE "FileDescription", "FFFTP"\r
VALUE "FileVersion", "1, 99, 0, 0"\r
VALUE "InternalName", "FFFTP"\r
- VALUE "LegalCopyright", "Copyright (C) 1997-2010 Sota & cooperators\nCopyright (C) 2011-2014 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, unarist, Asami, fortran90, tomo1192, Yuji Tanaka, Moriguchi Hirokazu, Fu-sen)."\r
+ VALUE "LegalCopyright", "Copyright (C) 1997-2010 Sota & cooperators\nCopyright (C) 2011-2015 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, unarist, Asami, fortran90, tomo1192, Yuji Tanaka, Moriguchi Hirokazu, Fu-sen)."\r
VALUE "OriginalFilename", "FFFTP.exe"\r
VALUE "ProductName", "FFFTP"\r
VALUE "ProductVersion", "1, 99, 0, 0"\r
// ソフトウェア自動更新\r
// リリースバージョンはリリース予定年(10進数4桁)+月(2桁)+日(2桁)+通し番号(0スタート2桁)とする\r
// 2014年7月31日中の30個目のリリースは2014073129\r
-#define RELEASE_VERSION_NUM 2014061500 /* リリースバージョン */\r
+#define RELEASE_VERSION_NUM 2015010100 /* リリースバージョン */\r
\r
\r
// SourceForge.JPによるフォーク\r
============================================================\r
[Software Name] FFFTP Ver.1.99 (FTP Client software)\r
[Copyright] Copyright(C) 1997-2010 Sota & cooperators\r
- Copyright (C) 2011-2014 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, unarist, Asami, fortran90, tomo1192, Yuji Tanaka, Moriguchi Hirokazu, Fu-sen).\r
+ Copyright (C) 2011-2015 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, unarist, Asami, fortran90, tomo1192, Yuji Tanaka, Moriguchi Hirokazu, Fu-sen).\r
[Environment] Windows 8.1, 8, 7, Vista, XP, 2000\r
============================================================\r
\r
License Agreement\r
-----------------\r
Copyright(C) 1997-2010, Sota & cooperators. All rights reserved.\r
-Copyright (C) 2011-2014 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, unarist, Asami, fortran90, tomo1192, Yuji Tanaka, Moriguchi Hirokazu, Fu-sen).\r
+Copyright (C) 2011-2015 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, unarist, Asami, fortran90, tomo1192, Yuji Tanaka, Moriguchi Hirokazu, Fu-sen).\r
\r
Redistribution and use in source and binary forms, with or without \r
modification, are permitted provided that the following conditions \r
\82µ\82Ü\82·\81B\r
\r
Copyright(C) 1997-2010, Sota & cooperators. All rights reserved.\r
-Copyright (C) 2011-2014 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, unarist, Asami, fortran90, tomo1192, Yuji Tanaka, Moriguchi Hirokazu, Fu-sen).\r
+Copyright (C) 2011-2015 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, unarist, Asami, fortran90, tomo1192, Yuji Tanaka, Moriguchi Hirokazu, Fu-sen).\r
\r
Redistribution and use in source and binary forms, with or without \r
modification, are permitted provided that the following conditions \r
*** \88È\89º\82Í\93ú\96{\8cê\96ó(\8eQ\8dl) ***\r
\r
Copyright(C) 1997-2010 Sota & \82²\8b¦\97Í\82¢\82½\82¾\82¢\82½\95û\81X. All rights reserved.\r
-Copyright (C) 2011-2014 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, unarist, Asami, fortran90, tomo1192, Yuji Tanaka, Moriguchi Hirokazu, Fu-sen).\r
+Copyright (C) 2011-2015 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, unarist, Asami, fortran90, tomo1192, Yuji Tanaka, Moriguchi Hirokazu, Fu-sen).\r
\r
\83\\81[\83X\83R\81[\83h\8c`\8e®\82Å\82à\83o\83C\83i\83\8a\8c`\8e®\82Å\82à\81A\95Ï\8dX\82Ì\97L\96³\82É\8aÖ\82í\82ç\82¸\81A\88È\89º\82Ì\8fð\8c\8f\82ð\r
\96\9e\82½\82·\8fê\8d\87\82É\81A\8dÄ\94z\95z\82¨\82æ\82Ñ\8eg\97p\82ð\8b\96\89Â\82µ\82Ü\82·\81B\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-2015 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
UPDATE_LIST_FILE File[1];\r
} UPDATE_LIST;\r
\r
+#define UPDATE_MAX_LIST_SIZE 1048576\r
+#define UPDATE_MAX_FILE_SIZE 16777216\r
+\r
BOOL ReadFileViaHTTPW(void* pOut, DWORD Length, DWORD* pLength, LPCWSTR UserAgent, LPCWSTR ServerName, LPCWSTR ObjectName)\r
{\r
BOOL bResult;\r
{\r
if(pList)\r
{\r
- if(pBuf = malloc(16777216))\r
+ if(pBuf = malloc(UPDATE_MAX_FILE_SIZE))\r
{\r
- if(LoadMemoryFromFileWithTimestamp(Temp3, pBuf, 16777216, &Length, &Time))\r
+ if(LoadMemoryFromFileWithTimestamp(Temp3, pBuf, UPDATE_MAX_FILE_SIZE, &Length, &Time))\r
{\r
if(GetHashSHA512(pBuf, Length, &Hash))\r
{\r
{\r
if(p = _tcsrchr(Name, _T('\\')))\r
*p = _T('\0');\r
- if(pList = (UPDATE_LIST*)malloc(1048576))\r
+ if(pList = (UPDATE_LIST*)malloc(UPDATE_MAX_LIST_SIZE))\r
{\r
- memset(pList, 0, 1048576);\r
+ memset(pList, 0, UPDATE_MAX_LIST_SIZE);\r
pList->Version = Version;\r
_tcscpy(pList->VersionString, VersionString);\r
_tcscpy(pList->Description, Description);\r
- ListUpdateFile(pList, (1048576 - sizeof(UPDATE_LIST)) / sizeof(UPDATE_LIST_FILE) + 1, ServerPath, Name, NULL);\r
+ ListUpdateFile(pList, (UPDATE_MAX_LIST_SIZE - sizeof(UPDATE_LIST)) / sizeof(UPDATE_LIST_FILE) + 1, ServerPath, Name, NULL);\r
Length = (pList->FileCount - 1) * sizeof(UPDATE_LIST_FILE) + sizeof(UPDATE_LIST);\r
if(SaveMemoryToFileWithTimestamp(ListFile, pList, Length, NULL))\r
{\r
memcpy(&UpdateHash, &Buf2, sizeof(UPDATE_HASH));\r
if(memcmp(&UpdateHash.Signature, UPDATE_SIGNATURE, 64) == 0)\r
{\r
- if(pBuf = malloc(1048576))\r
+ if(pBuf = malloc(UPDATE_MAX_LIST_SIZE))\r
{\r
- if(ReadFileViaHTTP(pBuf, 1048576, &Length, HTTP_USER_AGENT, UPDATE_SERVER, UPDATE_LIST_PATH))\r
+ if(ReadFileViaHTTP(pBuf, UPDATE_MAX_LIST_SIZE, &Length, HTTP_USER_AGENT, UPDATE_SERVER, UPDATE_LIST_PATH))\r
{\r
if(GetHashSHA512(pBuf, Length, &Hash))\r
{\r
BOOL bResult;\r
UPDATE_LIST* pUpdateList;\r
void* pBuf;\r
+ TCHAR LocalDir[MAX_PATH];\r
+ TCHAR* p;\r
DWORD i;\r
BOOL b;\r
+ TCHAR Path[MAX_PATH];\r
DWORD Length;\r
BYTE Hash[64];\r
- TCHAR Path[MAX_PATH];\r
bResult = FALSE;\r
if(ListLength >= sizeof(UPDATE_LIST))\r
{\r
bResult = TRUE;\r
DeleteDirectoryAndContents(DownloadDir);\r
CreateDirectory(DownloadDir, NULL);\r
- if(pBuf = malloc(16777216))\r
+ if(pBuf = malloc(UPDATE_MAX_FILE_SIZE))\r
{\r
+ if(GetModuleFileName(NULL, LocalDir, MAX_PATH) > 0)\r
+ {\r
+ if(p = _tcsrchr(LocalDir, _T('\\')))\r
+ *p = _T('\0');\r
+ }\r
+ else\r
+ _tcscpy(LocalDir, _T("."));\r
for(i = 0; i < pUpdateList->FileCount; i++)\r
{\r
b = FALSE;\r
}\r
if(strlen(pUpdateList->File[i].SrcPath) > 0)\r
{\r
- if(ReadFileViaHTTP(pBuf, 16777216, &Length, HTTP_USER_AGENT, UPDATE_SERVER, pUpdateList->File[i].SrcPath))\r
+ _tcscpy(Path, LocalDir);\r
+ _tcscat(Path, pUpdateList->File[i].DstPath);\r
+ if(LoadMemoryFromFileWithTimestamp(Path, pBuf, UPDATE_MAX_FILE_SIZE, &Length, NULL))\r
{\r
if(GetHashSHA512(pBuf, Length, &Hash))\r
{\r
if(memcmp(&Hash, &pUpdateList->File[i].SrcHash, 64) == 0)\r
+ b = TRUE;\r
+ }\r
+ }\r
+ if(!b)\r
+ {\r
+ if(ReadFileViaHTTP(pBuf, UPDATE_MAX_FILE_SIZE, &Length, HTTP_USER_AGENT, UPDATE_SERVER, pUpdateList->File[i].SrcPath))\r
+ {\r
+ if(GetHashSHA512(pBuf, Length, &Hash))\r
{\r
- _tcscpy(Path, DownloadDir);\r
- _tcscat(Path, pUpdateList->File[i].DstPath);\r
- if(SaveMemoryToFileWithTimestamp(Path, pBuf, Length, &pUpdateList->File[i].Timestamp))\r
- b = TRUE;\r
+ if(memcmp(&Hash, &pUpdateList->File[i].SrcHash, 64) == 0)\r
+ {\r
+ _tcscpy(Path, DownloadDir);\r
+ _tcscat(Path, pUpdateList->File[i].DstPath);\r
+ if(SaveMemoryToFileWithTimestamp(Path, pBuf, Length, &pUpdateList->File[i].Timestamp))\r
+ b = TRUE;\r
+ }\r
}\r
}\r
}\r