static void EraseTransFileList(void);\r
static ULONG WINAPI TransferThread(void *Dummy);\r
static int MakeNonFullPath(TRANSPACKET *Pkt, char *CurDir, char *Tmp);\r
+// ミラーリング設定追加\r
+static int SetDownloadedFileTime(TRANSPACKET *Pkt);\r
static int DownloadNonPassive(TRANSPACKET *Pkt, int *CancelCheckWork);\r
static int DownloadPassive(TRANSPACKET *Pkt, int *CancelCheckWork);\r
static int DownloadFile(TRANSPACKET *Pkt, SOCKET dSkt, int CreateMode, int *CancelCheckWork);\r
// {\r
// if(ReConnectTrnSkt() == FFFTP_SUCCESS)\r
// DoDownload(AskTrnCtrlSkt(), TransPacketBase, NO, &Canceled);\r
+ // ミラーリング設定追加\r
+ if(Pos->NoTransfer == NO)\r
+ {\r
Sts = DoDownload(TrnSkt, Pos, NO, &Canceled[Pos->ThreadCount]) / 100;\r
if(Sts != FTP_COMPLETE)\r
LastError = YES;\r
-// }\r
+ }\r
+\r
+ // ミラーリング設定追加\r
+ if((SaveTimeStamp == YES) &&\r
+ ((Pos->Time.dwLowDateTime != 0) || (Pos->Time.dwHighDateTime != 0)))\r
+ {\r
+ SetDownloadedFileTime(Pos);\r
+ }\r
}\r
}\r
// 一部TYPE、STOR(RETR)、PORT(PASV)を並列に処理できないホストがあるため\r
// {\r
// if(ReConnectTrnSkt() == FFFTP_SUCCESS)\r
// DoUpload(AskTrnCtrlSkt(), TransPacketBase);\r
+ // ミラーリング設定追加\r
+ if(Pos->NoTransfer == NO)\r
+ {\r
Sts = DoUpload(TrnSkt, Pos) / 100;\r
if(Sts != FTP_COMPLETE)\r
LastError = YES;\r
-// }\r
+ }\r
\r
// ホスト側の日時設定\r
/* ファイルのタイムスタンプを合わせる */\r
\r
\r
\r
+// ミラーリング設定追加\r
+static int SetDownloadedFileTime(TRANSPACKET *Pkt)\r
+{\r
+ int Sts;\r
+ HANDLE hFile;\r
+ Sts = FFFTP_FAIL;\r
+ if((hFile = CreateFile(Pkt->LocalFile, GENERIC_WRITE | GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL)) != INVALID_HANDLE_VALUE)\r
+ {\r
+ if(SetFileTime(hFile, &Pkt->Time, &Pkt->Time, &Pkt->Time))\r
+ Sts = FFFTP_SUCCESS;\r
+ CloseHandle(hFile);\r
+ }\r
+ return Sts;\r
+}\r
+\r
/*----- ダウンロードを行なう --------------------------------------------------\r
*\r
* Parameter\r
DispTransFileInfo(Pkt, MSGJPN087, FALSE, NO);\r
}\r
\r
- // SFTP対応\r
-// if(BackgrndMessageProc() == NO)\r
- if(IsSFTPAttached(Pkt->ctrl_skt))\r
- {\r
- // TODO:\r
- }\r
- else if(BackgrndMessageProc() == NO)\r
+ if(BackgrndMessageProc() == NO)\r
{\r
if(AskPasvMode() != YES)\r
iRetCode = DownloadNonPassive(Pkt, CancelCheckWork);\r
// iRetCode = DownloadFile(Pkt, data_socket, CreateMode, CancelCheckWork);\r
if(IsSSLAttached(Pkt->ctrl_skt))\r
{\r
- if(AttachSSL(data_socket, Pkt->ctrl_skt, CancelCheckWork))\r
+ if(AttachSSL(data_socket, Pkt->ctrl_skt, CancelCheckWork, FALSE))\r
iRetCode = DownloadFile(Pkt, data_socket, CreateMode, CancelCheckWork);\r
else\r
iRetCode = 500;\r
// iRetCode = DownloadFile(Pkt, data_socket, CreateMode, CancelCheckWork);\r
if(IsSSLAttached(Pkt->ctrl_skt))\r
{\r
- if(AttachSSL(data_socket, Pkt->ctrl_skt, CancelCheckWork))\r
+ if(AttachSSL(data_socket, Pkt->ctrl_skt, CancelCheckWork, FALSE))\r
iRetCode = DownloadFile(Pkt, data_socket, CreateMode, CancelCheckWork);\r
else\r
iRetCode = 500;\r
}\r
\r
/* ファイルのタイムスタンプを合わせる */\r
- if((SaveTimeStamp == YES) &&\r
- ((Pkt->Time.dwLowDateTime != 0) || (Pkt->Time.dwHighDateTime != 0)))\r
- {\r
- SetFileTime(iFileHandle, &Pkt->Time, &Pkt->Time, &Pkt->Time);\r
- }\r
+ // ミラーリング設定追加\r
+// if((SaveTimeStamp == YES) &&\r
+// ((Pkt->Time.dwLowDateTime != 0) || (Pkt->Time.dwHighDateTime != 0)))\r
+// {\r
+// SetFileTime(iFileHandle, &Pkt->Time, &Pkt->Time, &Pkt->Time);\r
+// }\r
\r
CloseHandle(iFileHandle);\r
\r
if(Pkt->hWndTrans != NULL)\r
DispTransFileInfo(Pkt, MSGJPN104, TRUE, YES);\r
\r
- // SFTP対応\r
-// if(BackgrndMessageProc() == NO)\r
- if(IsSFTPAttached(Pkt->ctrl_skt))\r
- {\r
- // TODO:\r
- }\r
- else if(BackgrndMessageProc() == NO)\r
+ if(BackgrndMessageProc() == NO)\r
{\r
if(AskPasvMode() != YES)\r
iRetCode = UploadNonPassive(Pkt);\r
// iRetCode = UploadFile(Pkt, data_socket);\r
if(IsSSLAttached(Pkt->ctrl_skt))\r
{\r
- if(AttachSSL(data_socket, Pkt->ctrl_skt, &Canceled[Pkt->ThreadCount]))\r
+ if(AttachSSL(data_socket, Pkt->ctrl_skt, &Canceled[Pkt->ThreadCount], FALSE))\r
iRetCode = UploadFile(Pkt, data_socket);\r
else\r
iRetCode = 500;\r
// iRetCode = UploadFile(Pkt, data_socket);\r
if(IsSSLAttached(Pkt->ctrl_skt))\r
{\r
- if(AttachSSL(data_socket, Pkt->ctrl_skt, &Canceled[Pkt->ThreadCount]))\r
+ if(AttachSSL(data_socket, Pkt->ctrl_skt, &Canceled[Pkt->ThreadCount], FALSE))\r
iRetCode = UploadFile(Pkt, data_socket);\r
else\r
iRetCode = 500;\r