OSDN Git Service

Modify copyrights.
authors_kawamoto <s_kawamoto@users.sourceforge.jp>
Wed, 31 Dec 2014 05:55:21 +0000 (14:55 +0900)
committers_kawamoto <s_kawamoto@users.sourceforge.jp>
Wed, 31 Dec 2014 05:55:21 +0000 (14:55 +0900)
Change the behavior of automatic software update.

FFFTP_Eng_Release/FFFTP.exe
FFFTP_Eng_Release_64/FFFTP.exe
Release/FFFTP.exe
Release_64/FFFTP.exe
Resource/FFFTP.rc
Resource_eng/ffftp.rc
common.h
doc/eng/FFFTP.txt
doc/jpn/FFFTP.txt
main.c
updater.c

index a900f3c..14e6493 100644 (file)
Binary files a/FFFTP_Eng_Release/FFFTP.exe and b/FFFTP_Eng_Release/FFFTP.exe differ
index 6e1d684..fecc348 100644 (file)
Binary files a/FFFTP_Eng_Release_64/FFFTP.exe and b/FFFTP_Eng_Release_64/FFFTP.exe differ
index 209dc79..e685dea 100644 (file)
Binary files a/Release/FFFTP.exe and b/Release/FFFTP.exe differ
index 236fedd..3a856cc 100644 (file)
Binary files a/Release_64/FFFTP.exe and b/Release_64/FFFTP.exe differ
index 4a7be91..0307012 100644 (file)
@@ -244,7 +244,7 @@ BEGIN
     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
@@ -2233,7 +2233,7 @@ BEGIN
             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
index 2dc41d6..f9ca6cd 100644 (file)
@@ -244,7 +244,7 @@ BEGIN
     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
@@ -2270,7 +2270,7 @@ BEGIN
             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
index 4a6a88e..920dfb3 100644 (file)
--- a/common.h
+++ b/common.h
@@ -81,7 +81,7 @@
 // ソフトウェア自動更新\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
index 5374360..44c3ca8 100644 (file)
@@ -1,7 +1,7 @@
 ============================================================\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
@@ -127,7 +127,7 @@ Warranty Disclaimer
 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
index 582d2bf..3756cf7 100644 (file)
@@ -173,7 +173,7 @@ jre32.dll -------- 
 \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
@@ -199,7 +199,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *** \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
diff --git a/main.c b/main.c
index 4083068..f927ab9 100644 (file)
--- a/main.c
+++ b/main.c
@@ -758,7 +758,7 @@ static int InitApp(LPSTR lpszCmdLine, int cmdShow)
                                        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
index fdd45f4..d60464d 100644 (file)
--- a/updater.c
+++ b/updater.c
@@ -43,6 +43,9 @@ typedef struct
        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
@@ -256,9 +259,9 @@ DWORD ListUpdateFile(UPDATE_LIST* pList, DWORD MaxCount, LPCTSTR ServerPath, LPC
                                                        {\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
@@ -307,13 +310,13 @@ BOOL BuildUpdates(LPCTSTR PrivateKeyFile, LPCTSTR Password, LPCTSTR ServerPath,
                {\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
@@ -355,9 +358,9 @@ BOOL CheckForUpdates(BOOL bDownload, LPCTSTR DownloadDir, DWORD* pVersion, LPTST
                                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
@@ -394,11 +397,13 @@ BOOL PrepareUpdates(void* pList, DWORD ListLength, LPCTSTR DownloadDir)
        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
@@ -408,8 +413,15 @@ BOOL PrepareUpdates(void* pList, DWORD ListLength, LPCTSTR DownloadDir)
                        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
@@ -422,16 +434,29 @@ BOOL PrepareUpdates(void* pList, DWORD ListLength, LPCTSTR DownloadDir)
                                        }\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