OSDN Git Service

Enhance the security of routines for changing a master password.
[ffftp/ffftp.git] / common.h
index d1f7b5c..f21c08c 100644 (file)
--- a/common.h
+++ b/common.h
@@ -30,7 +30,7 @@
 #define __COMMON_H__\r
 \r
 #include "config.h"\r
-#ifndef ENGLISH\r
+#ifndef FFFTP_ENGLISH\r
 #include "mesg-jpn.h"\r
 #else\r
 #include "mesg-eng.h"\r
@@ -1118,6 +1118,8 @@ typedef struct filelist {
 /*===== コード変換情報パケット =====*/\r
 \r
 typedef char * (*funcptr)(struct codeconvinfo *, char , char *);\r
+// UTF-8対応\r
+typedef int (*convptr)(struct codeconvinfo *);\r
 \r
 typedef struct codeconvinfo {\r
        char *Str;                      /* 文字列 */\r
@@ -1132,8 +1134,11 @@ typedef struct codeconvinfo {
        char KanjiFst;          /* 漢字コード1バイト目保存用 (内部処理用ワーク) */\r
        char KanaPrev;          /* 半角カタカナ保存用 (内部処理用ワーク) */\r
        funcptr KanaProc;       /* 半角カタカナ処理ルーチン (内部処理用ワーク) */\r
-       char EscUTF8[8];\r
-       int EscUTF8Len;\r
+       // UTF-8対応\r
+       char EscUTF8[16];       /* エスケープシーケンス文字数 (0~) (内部処理用ワーク) */\r
+       int EscUTF8Len;         /* エスケープシーケンス文字保存用 (内部処理用ワーク) */\r
+       int EscFlush;           /* 残り情報を出力 (YES/NO) */\r
+       convptr FlushProc;      /* 残り情報処理ルーチン (内部処理用ワーク) */\r
 } CODECONVINFO;\r
 \r
 \r
@@ -1308,6 +1313,9 @@ BOOL LoadSSLRootCAFile();
 BOOL IsMainThread();\r
 // ファイルアイコン表示対応\r
 int AskDispFileIcon(void);\r
+// ポータブル版判定\r
+void CheckPortableVersion();\r
+int AskPortableVersion(void);\r
 \r
 /*===== filelist.c =====*/\r
 \r
@@ -1537,12 +1545,12 @@ void CountPrevFfftpWindows(void);
 \r
 /*===== ftpproc.c =====*/\r
 \r
-void DownLoadProc(int ChName, int ForceFile, int All);\r
-void DirectDownLoadProc(char *Fname);\r
-void InputDownLoadProc(void);\r
+void DownloadProc(int ChName, int ForceFile, int All);\r
+void DirectDownloadProc(char *Fname);\r
+void InputDownloadProc(void);\r
 void MirrorDownloadProc(int Notify);\r
-void UpLoadListProc(int ChName, int All);\r
-void UpLoadDragProc(WPARAM wParam);\r
+void UploadListProc(int ChName, int All);\r
+void UploadDragProc(WPARAM wParam);\r
 void MirrorUploadProc(int Notify);\r
 void DeleteProc(void);\r
 void RenameProc(void);\r
@@ -1599,9 +1607,15 @@ int DoSIZE(SOCKET cSkt, char *Path, LONGLONG *Size, int *CancelCheckWork);
 // 同時接続対応\r
 //int DoMDTM(char *Path, FILETIME *Time);\r
 int DoMDTM(SOCKET cSkt, char *Path, FILETIME *Time, int *CancelCheckWork);\r
-int DoQUOTE(char *CmdStr);\r
+// ホスト側の日時設定\r
+int DoMFMT(SOCKET cSkt, char *Path, FILETIME *Time, int *CancelCheckWork);\r
+// 同時接続対応\r
+//int DoQUOTE(char *CmdStr);\r
+int DoQUOTE(SOCKET cSkt, char *CmdStr, int *CancelCheckWork);\r
 SOCKET DoClose(SOCKET Sock);\r
-int DoQUIT(SOCKET ctrl_skt);\r
+// 同時接続対応\r
+//int DoQUIT(SOCKET ctrl_skt);\r
+int DoQUIT(SOCKET ctrl_skt, int *CancelCheckWork);\r
 int DoDirListCmdSkt(char *AddOpt, char *Path, int Num, int *CancelCheckWork);\r
 #if defined(HAVE_TANDEM)\r
 void SwitchOSSProc(void);\r
@@ -1634,7 +1648,7 @@ int AskTransferNow(void);
 int AskTransferFileNum(void);\r
 void GoForwardTransWindow(void);\r
 void InitTransCurDir(void);\r
-int DoDownLoad(SOCKET cSkt, TRANSPACKET *Pkt, int DirList, int *CancelCheckWork);\r
+int DoDownload(SOCKET cSkt, TRANSPACKET *Pkt, int DirList, int *CancelCheckWork);\r
 int CheckPathViolation(TRANSPACKET *packet);\r
 \r
 /*===== codecnv.c =====*/\r
@@ -1694,15 +1708,22 @@ int CheckFname(char *str, char *regexp);
 \r
 /*===== registory.c =====*/\r
 \r
-void SaveRegistory(void);\r
-int LoadRegistory(void);\r
-void ClearRegistory(void);\r
+void SaveRegistry(void);\r
+int LoadRegistry(void);\r
+void ClearRegistry(void);\r
+// ポータブル版判定\r
+void ClearIni(void);\r
 void SetMasterPassword( const char* );\r
+// セキュリティ強化\r
+void GetMasterPassword(char*);\r
 int GetMasterPasswordStatus(void);\r
 int ValidateMasterPassword(void);\r
-DWORD LoadHideDriveListRegistory(void);\r
+DWORD LoadHideDriveListRegistry(void);\r
 void SaveSettingsToFile(void);\r
 int LoadSettingsFromFile(void);\r
+// ポータブル版判定\r
+int IsRegAvailable();\r
+int IsIniAvailable();\r
 \r
 /*===== lvtips.c =====*/\r
 \r
@@ -1823,6 +1844,11 @@ char *AskLocalFreeSpace(char *Path);
 \r
 int MakeSocketWin(HWND hWnd, HINSTANCE hInst);\r
 void DeleteSocketWin(void);\r
+// ソケットにデータを付与\r
+int SetAsyncTableDataIPv4(SOCKET s, struct sockaddr_in* Host, struct sockaddr_in* Socks);\r
+int SetAsyncTableDataIPv6(SOCKET s, struct sockaddr_in6* Host, struct sockaddr_in6* Socks);\r
+int GetAsyncTableDataIPv4(SOCKET s, struct sockaddr_in* Host, struct sockaddr_in* Socks);\r
+int GetAsyncTableDataIPv6(SOCKET s, struct sockaddr_in6* Host, struct sockaddr_in6* Socks);\r
 // IPv6対応\r
 //struct hostent *do_gethostbyname(const char *Name, char *Buf, int Len, int *CancelCheckWork);\r
 struct hostent *do_gethostbynameIPv4(const char *Name, char *Buf, int Len, int *CancelCheckWork);\r
@@ -1837,7 +1863,8 @@ int do_send(SOCKET s, const char *buf, int len, int flags, int *TimeOutErr, int
 // 同時接続対応\r
 void RemoveReceivedData(SOCKET s);\r
 int CheckClosedAndReconnect(void);\r
-void CheckAllEventClosed(void);\r
+// 同時接続対応\r
+int CheckClosedAndReconnectTrnSkt(SOCKET *Skt, int *CancelCheckWork);\r
 \r
 /*===== updatebell.c =====*/\r
 \r