OSDN Git Service

Change OpenSSL context mode flags.
[ffftp/ffftp.git] / getput.c
index ea83dde..fb0e1f6 100644 (file)
--- a/getput.c
+++ b/getput.c
@@ -436,6 +436,15 @@ void AddTransFileList(TRANSPACKET *Pkt)
 }\r
 \r
 \r
+// バグ対策\r
+void AddNullTransFileList()\r
+{\r
+       TRANSPACKET Pkt;\r
+       memset(&Pkt, 0, sizeof(TRANSPACKET));\r
+       strcpy(Pkt.Cmd, "NULL");\r
+       AddTransFileList(&Pkt);\r
+}\r
+\r
 /*----- 転送ファイル情報を転送ファイルリストに追加する ------------------------\r
 *\r
 *      Parameter\r
@@ -912,6 +921,14 @@ static ULONG WINAPI TransferThread(void *Dummy)
 //                                                     DoUpload(AskTrnCtrlSkt(), TransPacketBase);\r
                                                        DoUpload(TrnSkt, Pos);\r
 //                                     }\r
+\r
+                                       // ホスト側の日時設定\r
+                                       /* ファイルのタイムスタンプを合わせる */\r
+                                       if((SaveTimeStamp == YES) &&\r
+                                          ((Pos->Time.dwLowDateTime != 0) || (Pos->Time.dwHighDateTime != 0)))\r
+                                       {\r
+                                               DoMFMT(TrnSkt, Pos->RemoteFile, &Pos->Time, &Canceled[Pos->ThreadCount]);\r
+                                       }\r
                                }\r
                                // 一部TYPE、STOR(RETR)、PORT(PASV)を並列に処理できないホストがあるため\r
                                ReleaseMutex(hListAccMutex);\r
@@ -4051,7 +4068,7 @@ static int GetAdrsAndPortIPv6(SOCKET Skt, char *Str, char *Adrs, int *Port, int
        char *Pos;\r
        char *Btm;\r
        int Sts;\r
-       int i;\r
+//     int i;\r
        struct sockaddr_in6 SockAddr;\r
 \r
        Sts = FFFTP_FAIL;\r
@@ -4080,8 +4097,9 @@ static int GetAdrsAndPortIPv6(SOCKET Skt, char *Str, char *Adrs, int *Port, int
                                                }\r
                                                else\r
                                                {\r
-                                                       i = sizeof(SockAddr);\r
-                                                       if(getpeername(Skt, (struct sockaddr*)&SockAddr, &i) != SOCKET_ERROR)\r
+//                                                     i = sizeof(SockAddr);\r
+//                                                     if(getpeername(Skt, (struct sockaddr*)&SockAddr, &i) != SOCKET_ERROR)\r
+                                                       if(GetAsyncTableDataIPv6(Skt, &SockAddr, NULL) == YES)\r
                                                                AddressToStringIPv6(Adrs, &SockAddr.sin6_addr);\r
                                                }\r
 \r