Martin Prikryl 15 years ago
parent
commit
3fc33282e8
11 changed files with 48 additions and 22 deletions
  1. 4 4
      Console.rc
  2. 4 4
      DragExt.rc
  3. 4 4
      DragExt64.rc
  4. 4 4
      WinSCP.rc
  5. 1 1
      core/FtpFileSystem.cpp
  6. 1 1
      core/SftpFileSystem.cpp
  7. 4 0
      filezilla/FtpListResult.cpp
  8. 4 1
      packages/filemng/DirView.pas
  9. 8 0
      putty/SSH.C
  10. 13 2
      putty/SSHRAND.C
  11. 1 1
      release/winscp.u3i

+ 4 - 4
Console.rc

@@ -1,6 +1,6 @@
 1 VERSIONINFO
-FILEVERSION 2,4,0,116
-PRODUCTVERSION 2,4,0,116
+FILEVERSION 2,4,0,118
+PRODUCTVERSION 2,4,0,118
 FILEOS 0x4
 FILETYPE 0x1
 {
@@ -10,13 +10,13 @@ FILETYPE 0x1
         {
             VALUE "CompanyName", "Martin Prikryl\0"
             VALUE "FileDescription", "Console interface for WinSCP\0"
-            VALUE "FileVersion", "2.4.0.116\0"
+            VALUE "FileVersion", "2.4.0.118\0"
             VALUE "InternalName", "console\0"
             VALUE "LegalCopyright", "(c) 2000-2010 Martin Prikryl\0"
             VALUE "LegalTrademarks", "\0"
             VALUE "OriginalFilename", "winscp.com\0"
             VALUE "ProductName", "WinSCP\0"
-            VALUE "ProductVersion", "4.2.6.0\0"
+            VALUE "ProductVersion", "4.2.7.0\0"
             VALUE "ReleaseType", "stable\0"
             VALUE "WWW", "http://winscp.net/\0"
         }

+ 4 - 4
DragExt.rc

@@ -1,6 +1,6 @@
 1 VERSIONINFO
-FILEVERSION 1,1,9,110
-PRODUCTVERSION 1,1,9,110
+FILEVERSION 1,1,9,112
+PRODUCTVERSION 1,1,9,112
 FILEOS 0x4
 FILETYPE 0x2
 {
@@ -10,13 +10,13 @@ FILETYPE 0x2
         {
             VALUE "CompanyName", "Martin Prikryl\0"
             VALUE "FileDescription", "Drag&Drop shell extension for WinSCP (32-bit)\0"
-            VALUE "FileVersion", "1.1.9.110\0"
+            VALUE "FileVersion", "1.1.9.112\0"
             VALUE "InternalName", "dragext32\0"
             VALUE "LegalCopyright", "(c) 2000-2010 Martin Prikryl\0"
             VALUE "LegalTrademarks", "\0"
             VALUE "OriginalFilename", "dragext.dll\0"
             VALUE "ProductName", "WinSCP\0"
-            VALUE "ProductVersion", "4.2.6.0\0"
+            VALUE "ProductVersion", "4.2.7.0\0"
             VALUE "ReleaseType", "stable\0"
             VALUE "WWW", "http://winscp.net/\0"
         }

+ 4 - 4
DragExt64.rc

@@ -1,6 +1,6 @@
 1 VERSIONINFO
-FILEVERSION 1,1,9,110
-PRODUCTVERSION 1,1,9,110
+FILEVERSION 1,1,9,112
+PRODUCTVERSION 1,1,9,112
 FILEOS 0x4
 FILETYPE 0x2
 {
@@ -10,13 +10,13 @@ FILETYPE 0x2
         {
             VALUE "CompanyName", "Martin Prikryl\0"
             VALUE "FileDescription", "Drag&Drop shell extension for WinSCP (64-bit)\0"
-            VALUE "FileVersion", "1.1.9.110\0"
+            VALUE "FileVersion", "1.1.9.112\0"
             VALUE "InternalName", "dragext64\0"
             VALUE "LegalCopyright", "(c) 2000-2010 Martin Prikryl\0"
             VALUE "LegalTrademarks", "\0"
             VALUE "OriginalFilename", "dragext64.dll\0"
             VALUE "ProductName", "WinSCP\0"
-            VALUE "ProductVersion", "4.2.6.0\0"
+            VALUE "ProductVersion", "4.2.7.0\0"
             VALUE "ReleaseType", "stable\0"
             VALUE "WWW", "http://winscp.net/\0"
         }

+ 4 - 4
WinSCP.rc

@@ -1,6 +1,6 @@
 1 VERSIONINFO
-FILEVERSION 4,2,6,721
-PRODUCTVERSION 4,2,6,721
+FILEVERSION 4,2,7,758
+PRODUCTVERSION 4,2,7,758
 FILEOS 0x4
 FILETYPE 0x1
 {
@@ -10,13 +10,13 @@ FILETYPE 0x1
         {
             VALUE "CompanyName", "Martin Prikryl\0"
             VALUE "FileDescription", "WinSCP: SFTP, FTP and SCP client\0"
-            VALUE "FileVersion", "4.2.6.721\0"
+            VALUE "FileVersion", "4.2.7.758\0"
             VALUE "InternalName", "winscp\0"
             VALUE "LegalCopyright", "(c) 2000-2010 Martin Prikryl\0"
             VALUE "LegalTrademarks", "\0"
             VALUE "OriginalFilename", "winscp.exe\0"
             VALUE "ProductName", "WinSCP\0"
-            VALUE "ProductVersion", "4.2.6.0\0"
+            VALUE "ProductVersion", "4.2.7.0\0"
             VALUE "ReleaseType", "stable\0"
             VALUE "WWW", "http://winscp.net/\0"
         }

+ 1 - 1
core/FtpFileSystem.cpp

@@ -2684,7 +2684,7 @@ bool __fastcall TFTPFileSystem::HandleStatus(const char * AStatus, int Type)
         }
       }
       // there can be multiple error messages associated with single failure
-      // (such as "cannot open local file..." followed by "download failed"
+      // (such as "cannot open local file..." followed by "download failed")
       Status = ExtractStatusMessage(Status);
       FLastError->Add(Status);
       LogType = llMessage;

+ 1 - 1
core/SftpFileSystem.cpp

@@ -121,7 +121,7 @@
 
 #define SSH_FILEXFER_ATTR_FLAGS_HIDDEN           0x00000004
 
-#define SFTP_MAX_PACKET_LEN   102400
+#define SFTP_MAX_PACKET_LEN   1024000
 //---------------------------------------------------------------------------
 #define SFTP_EXT_OWNER_GROUP "owner-group-query@generic-extensions"
 #define SFTP_EXT_OWNER_GROUP_REPLY "owner-group-query-reply@generic-extensions"

+ 4 - 0
filezilla/FtpListResult.cpp

@@ -435,7 +435,9 @@ t_directory::t_direntry *CFtpListResult::getList(int &num, CTime EntryTime)
 			if (tmp)
 				m_server.nServerType |= tmp;
 			if (direntry.name!="." && direntry.name!="..")
+			{
 				AddLine(direntry);
+			}
 			if (m_prevline)
 			{
 				delete [] m_prevline;
@@ -597,7 +599,9 @@ void CFtpListResult::AddData(char *data, int size)
 			if (tmp)
 				m_server.nServerType |= tmp;
 			if (direntry.name!="." && direntry.name!="..")
+			{
 				AddLine(direntry);
+			}
 			if (m_prevline)
 			{
 				delete [] m_prevline;

+ 4 - 1
packages/filemng/DirView.pas

@@ -1029,7 +1029,10 @@ var
 begin
   inherited;
 
-  Expanded := ExpandFileName(FPath);
+  // make sure to use PathName as Path maybe just X: what
+  // ExpandFileName resolves to current working directory
+  // on the drive, not to root path
+  Expanded := ExpandFileName(PathName);
   Assert(Pos(':', Expanded) = 2);
   FLastPath[UpCase(Expanded[1])] := Expanded;
 end;

+ 8 - 0
putty/SSH.C

@@ -9154,6 +9154,12 @@ static const char *ssh_init(void *frontend_handle, void **backend_handle,
 
     *backend_handle = ssh;
 
+#ifdef MPEXT
+    // random_unref is always called from ssh_free,
+    // so we must call random_ref also always, even if we fail, to match it
+    random_ref();
+#endif
+
 #ifdef MSCRYPTOAPI
     if (crypto_startup() == 0)
 	return "Microsoft high encryption pack not installed!";
@@ -9189,7 +9195,9 @@ static const char *ssh_init(void *frontend_handle, void **backend_handle,
     if (p != NULL)
 	return p;
 
+#ifndef MPEXT
     random_ref();
+#endif
 
     return NULL;
 }

+ 13 - 2
putty/SSHRAND.C

@@ -214,10 +214,10 @@ static void random_timer(void *ctx, long now)
 
 void random_ref(void)
 {
+    if (!random_active) {
 #ifdef MPEXT
-    EnterCriticalSection(&noise_section);
+        InitializeCriticalSection(&noise_section);
 #endif
-    if (!random_active) {
 	memset(&pool, 0, sizeof(pool));    /* just to start with */
 
 	noise_get_heavy(random_add_heavynoise_bitbybit);
@@ -227,6 +227,9 @@ void random_ref(void)
 	    schedule_timer(NOISE_REGULAR_INTERVAL, random_timer, &pool);
     }
 
+#ifdef MPEXT
+    EnterCriticalSection(&noise_section);
+#endif
     random_active++;
 #ifdef MPEXT
     LeaveCriticalSection(&noise_section);
@@ -240,7 +243,15 @@ void random_unref(void)
 #endif
     random_active--;
     assert(random_active >= 0);
+#ifdef MPEXT
+    if (random_active)
+    {
+        LeaveCriticalSection(&noise_section);
+        return;
+    }
+#else
     if (random_active) return;
+#endif
 
     expire_timer_context(&pool);
 #ifdef MPEXT

+ 1 - 1
release/winscp.u3i

@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 <u3manifest version="1.0">
-  <application uuid="48b341d1-d411-4b5a-a82c-f3b5d65602fc" version="4.2.6">
+  <application uuid="48b341d1-d411-4b5a-a82c-f3b5d65602fc" version="4.2.7">
     <icon>winscp.ico</icon>
     <name>WinSCP</name>
     <description>Freeware SFTP (SSH File Transfer Protocol), FTP (File Transfer Protocol) and SCP (Secure CoPy) client for Windows using SSH (Secure SHell). Its main function is safe copying of files between a local and a remote computer.</description>