Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package filezilla for openSUSE:Factory 
checked in at 2021-01-20 18:28:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/filezilla (Old)
 and      /work/SRC/openSUSE:Factory/.filezilla.new.28504 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "filezilla"

Wed Jan 20 18:28:05 2021 rev:90 rq:864587 version:3.52.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/filezilla/filezilla.changes      2021-01-11 
17:15:43.280560960 +0100
+++ /work/SRC/openSUSE:Factory/.filezilla.new.28504/filezilla.changes   
2021-01-20 18:28:32.971579609 +0100
@@ -1,0 +2,9 @@
+Wed Jan 20 07:55:54 UTC 2021 - ecsos <[email protected]>
+
+- Update to 3.52.2
+  - When restoring the main window position at startup, detect if 
+    the title bar would become hidden behind taskbars or global 
+    menu bars and reposition it appropriately
+  - SFTP: Fixed preserving of timestamps on downloads
+
+-------------------------------------------------------------------

Old:
----
  FileZilla_3.52.0.5_src.tar.bz2

New:
----
  FileZilla_3.52.2_src.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ filezilla.spec ++++++
--- /var/tmp/diff_new_pack.ozi9EZ/_old  2021-01-20 18:28:33.783580354 +0100
+++ /var/tmp/diff_new_pack.ozi9EZ/_new  2021-01-20 18:28:33.783580354 +0100
@@ -16,10 +16,10 @@
 #
 
 
-%define main_version 3.52.0
+%define main_version 3.52.2
 
 Name:           filezilla
-Version:        3.52.0.5
+Version:        3.52.2
 Release:        0
 Summary:        A GUI FTP and SFTP Client
 License:        GPL-2.0-or-later

++++++ FileZilla_3.52.0.5_src.tar.bz2 -> FileZilla_3.52.2_src.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/filezilla-3.52.0.5/NEWS new/filezilla-3.52.2/NEWS
--- old/filezilla-3.52.0.5/NEWS 2021-01-08 11:41:34.000000000 +0100
+++ new/filezilla-3.52.2/NEWS   2021-01-18 14:46:32.000000000 +0100
@@ -10,6 +10,11 @@
     *nix: Unix (e.g BSD) and Unix-like systems (e.g. Linux)
     macOS/OS X: Apple macOS
 
+3.52.2 (2021-01-18)
+
+- When restoring the main window position at startup, detect if the title bar 
would become hidden behind taskbars or global menu bars and reposition it 
appropriately
+- SFTP: Fixed preserving of timestamps on downloads
+
 3.52.0.5 (2021-01-08)
 
 - FTP: Fixed crash if downloading ASCII files with stray carriage returns
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/filezilla-3.52.0.5/configure 
new/filezilla-3.52.2/configure
--- old/filezilla-3.52.0.5/configure    2021-01-08 11:41:49.000000000 +0100
+++ new/filezilla-3.52.2/configure      2021-01-18 14:46:48.000000000 +0100
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for FileZilla 3.52.0.5.
+# Generated by GNU Autoconf 2.69 for FileZilla 3.52.2.
 #
 # Report bugs to <[email protected]>.
 #
@@ -590,8 +590,8 @@
 # Identity of this package.
 PACKAGE_NAME='FileZilla'
 PACKAGE_TARNAME='filezilla'
-PACKAGE_VERSION='3.52.0.5'
-PACKAGE_STRING='FileZilla 3.52.0.5'
+PACKAGE_VERSION='3.52.2'
+PACKAGE_STRING='FileZilla 3.52.2'
 PACKAGE_BUGREPORT='[email protected]'
 PACKAGE_URL='https://filezilla-project.org/'
 
@@ -1460,7 +1460,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures FileZilla 3.52.0.5 to adapt to many kinds of systems.
+\`configure' configures FileZilla 3.52.2 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1531,7 +1531,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of FileZilla 3.52.0.5:";;
+     short | recursive ) echo "Configuration of FileZilla 3.52.2:";;
    esac
   cat <<\_ACEOF
 
@@ -1707,7 +1707,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-FileZilla configure 3.52.0.5
+FileZilla configure 3.52.2
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2372,7 +2372,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by FileZilla $as_me 3.52.0.5, which was
+It was created by FileZilla $as_me 3.52.2, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3238,7 +3238,7 @@
 
 # Define the identity of the package.
  PACKAGE='filezilla'
- VERSION='3.52.0.5'
+ VERSION='3.52.2'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -22797,7 +22797,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by FileZilla $as_me 3.52.0.5, which was
+This file was extended by FileZilla $as_me 3.52.2, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -22864,7 +22864,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-FileZilla config.status 3.52.0.5
+FileZilla config.status 3.52.2
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/filezilla-3.52.0.5/configure.ac 
new/filezilla-3.52.2/configure.ac
--- old/filezilla-3.52.0.5/configure.ac 2021-01-08 11:41:34.000000000 +0100
+++ new/filezilla-3.52.2/configure.ac   2021-01-18 14:46:32.000000000 +0100
@@ -1,4 +1,4 @@
-AC_INIT([FileZilla],[3.52.0.5],[[email protected]],[],[https://filezilla-project.org/])
+AC_INIT([FileZilla],[3.52.2],[[email protected]],[],[https://filezilla-project.org/])
 AC_CONFIG_HEADERS([config/config.h])
 AC_CONFIG_MACRO_DIR([m4])
 AC_CONFIG_AUX_DIR(config)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/filezilla-3.52.0.5/locales/filezilla.pot 
new/filezilla-3.52.2/locales/filezilla.pot
--- old/filezilla-3.52.0.5/locales/filezilla.pot        2021-01-08 
11:42:02.000000000 +0100
+++ new/filezilla-3.52.2/locales/filezilla.pot  2021-01-18 14:47:01.000000000 
+0100
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: https://trac.filezilla-project.org/\n";
-"POT-Creation-Date: 2021-01-08 11:42+0100\n"
+"POT-Creation-Date: 2021-01-18 14:47+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <[email protected]>\n"
@@ -2096,7 +2096,7 @@
 msgid "Choose the local directory"
 msgstr ""
 
-#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:784
+#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:785
 msgid "Chunk data improperly terminated"
 msgstr ""
 
@@ -2390,10 +2390,10 @@
 msgstr ""
 
 #: ../../../source/FileZilla3/locales/../src/engine/ftp/ftpcontrolsocket.cpp:73
-#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:361
-#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:374
-#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:389
-#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:400
+#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:362
+#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:375
+#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:390
+#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:401
 msgid "Connection closed by server"
 msgstr ""
 
@@ -2493,8 +2493,8 @@
 msgstr ""
 
 #: ../../../source/FileZilla3/locales/../src/engine/reader.cpp:234
-#: ../../../source/FileZilla3/locales/../src/engine/reader.cpp:423
-#: ../../../source/FileZilla3/locales/../src/engine/reader.cpp:433
+#: ../../../source/FileZilla3/locales/../src/engine/reader.cpp:421
+#: ../../../source/FileZilla3/locales/../src/engine/reader.cpp:431
 #: ../../../source/FileZilla3/locales/../src/engine/string_reader.cpp:27
 #: ../../../source/FileZilla3/locales/../src/engine/string_reader.cpp:38
 #: ../../../source/FileZilla3/locales/../src/engine/string_reader.cpp:111
@@ -2503,8 +2503,8 @@
 msgid "Could not allocate memory to open '%s' for reading."
 msgstr ""
 
-#: ../../../source/FileZilla3/locales/../src/engine/writer.cpp:331
-#: ../../../source/FileZilla3/locales/../src/engine/writer.cpp:550
+#: ../../../source/FileZilla3/locales/../src/engine/writer.cpp:301
+#: ../../../source/FileZilla3/locales/../src/engine/writer.cpp:520
 #, c-format
 msgid "Could not allocate memory to open '%s' for writing."
 msgstr ""
@@ -2522,9 +2522,9 @@
 msgid "Could not connect to server: %s"
 msgstr ""
 
+#: 
../../../source/FileZilla3/locales/../src/engine/sftp/sftpcontrolsocket.cpp:351
 #: ../../../source/FileZilla3/locales/../src/engine/sftp/filetransfer.cpp:69
 #: ../../../source/FileZilla3/locales/../src/engine/sftp/filetransfer.cpp:90
-#: 
../../../source/FileZilla3/locales/../src/engine/sftp/sftpcontrolsocket.cpp:351
 #: 
../../../source/FileZilla3/locales/../src/engine/storj/storjcontrolsocket.cpp:228
 msgid "Could not convert command to server encoding"
 msgstr ""
@@ -2679,7 +2679,7 @@
 msgid "Could not obtain size of '%s'"
 msgstr ""
 
-#: ../../../source/FileZilla3/locales/../src/engine/reader.cpp:304
+#: ../../../source/FileZilla3/locales/../src/engine/reader.cpp:302
 #, c-format
 msgid "Could not obtain size of '%s'."
 msgstr ""
@@ -2694,7 +2694,7 @@
 msgid "Could not open '%s' for reading."
 msgstr ""
 
-#: ../../../source/FileZilla3/locales/../src/engine/writer.cpp:350
+#: ../../../source/FileZilla3/locales/../src/engine/writer.cpp:320
 #, c-format
 msgid "Could not open '%s' for writing."
 msgstr ""
@@ -2728,7 +2728,7 @@
 msgid "Could not read from '%s'"
 msgstr ""
 
-#: ../../../source/FileZilla3/locales/../src/engine/reader.cpp:363
+#: ../../../source/FileZilla3/locales/../src/engine/reader.cpp:361
 #, c-format
 msgid "Could not read from '%s'."
 msgstr ""
@@ -2738,7 +2738,7 @@
 msgstr ""
 
 #: ../../../source/FileZilla3/locales/../src/engine/ftp/ftpcontrolsocket.cpp:62
-#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:447
+#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:448
 #, c-format
 msgid "Could not read from socket: %s"
 msgstr ""
@@ -2755,19 +2755,21 @@
 msgid "Could not restore directory access"
 msgstr ""
 
-#: ../../../source/FileZilla3/locales/../src/engine/reader.cpp:309
-#: ../../../source/FileZilla3/locales/../src/engine/reader.cpp:467
+#: ../../../source/FileZilla3/locales/../src/engine/reader.cpp:307
+#: ../../../source/FileZilla3/locales/../src/engine/reader.cpp:463
+#: ../../../source/FileZilla3/locales/../src/engine/string_reader.cpp:72
+#: ../../../source/FileZilla3/locales/../src/engine/string_reader.cpp:155
 #, c-format
 msgid "Could not seek to offset %d in '%s' of size %d."
 msgstr ""
 
-#: ../../../source/FileZilla3/locales/../src/engine/reader.cpp:297
-#: ../../../source/FileZilla3/locales/../src/engine/writer.cpp:357
+#: ../../../source/FileZilla3/locales/../src/engine/reader.cpp:295
+#: ../../../source/FileZilla3/locales/../src/engine/writer.cpp:327
 #, c-format
 msgid "Could not seek to offset %d in '%s'."
 msgstr ""
 
-#: ../../../source/FileZilla3/locales/../src/engine/writer.cpp:481
+#: ../../../source/FileZilla3/locales/../src/engine/writer.cpp:451
 #, c-format
 msgid "Could not seek to offset %d within '%s'."
 msgstr ""
@@ -2780,12 +2782,12 @@
 msgid "Could not send command to fzstorj."
 msgstr ""
 
-#: ../../../source/FileZilla3/locales/../src/engine/reader.cpp:321
+#: ../../../source/FileZilla3/locales/../src/engine/reader.cpp:319
 #, c-format
 msgid "Could not spawn worker thread for reading '%s'."
 msgstr ""
 
-#: ../../../source/FileZilla3/locales/../src/engine/writer.cpp:371
+#: ../../../source/FileZilla3/locales/../src/engine/writer.cpp:341
 #, c-format
 msgid "Could not spawn worker thread for writing '%s'."
 msgstr ""
@@ -2794,12 +2796,12 @@
 msgid "Could not start transfer"
 msgstr ""
 
-#: ../../../source/FileZilla3/locales/../src/engine/writer.cpp:450
+#: ../../../source/FileZilla3/locales/../src/engine/writer.cpp:420
 #, c-format
 msgid "Could not sync '%s' to disk."
 msgstr ""
 
-#: ../../../source/FileZilla3/locales/../src/engine/writer.cpp:361
+#: ../../../source/FileZilla3/locales/../src/engine/writer.cpp:331
 #, c-format
 msgid "Could not truncate '%s' to offset %d."
 msgstr ""
@@ -2846,7 +2848,7 @@
 msgid "Could not write key file: %s"
 msgstr ""
 
-#: ../../../source/FileZilla3/locales/../src/engine/writer.cpp:412
+#: ../../../source/FileZilla3/locales/../src/engine/writer.cpp:382
 #, c-format
 msgid "Could not write to '%s'."
 msgstr ""
@@ -4663,11 +4665,11 @@
 msgstr ""
 
 #: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:175
-#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:686
+#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:687
 msgid "Invalid Content-Length"
 msgstr ""
 
-#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:565
+#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:566
 msgid "Invalid HTTP Response"
 msgstr ""
 
@@ -4677,7 +4679,7 @@
 "site manager to force UTF-8."
 msgstr ""
 
-#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:814
+#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:815
 msgid "Invalid chunk size"
 msgstr ""
 
@@ -4720,7 +4722,7 @@
 msgid "Invalid input"
 msgstr ""
 
-#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:593
+#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:594
 msgid "Invalid line"
 msgstr ""
 
@@ -4753,7 +4755,7 @@
 msgid "Invalid regular expression"
 msgstr ""
 
-#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:574
+#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:575
 msgid "Invalid response code"
 msgstr ""
 
@@ -4878,7 +4880,7 @@
 msgid "Limit:"
 msgstr ""
 
-#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:773
+#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:774
 msgid "Line length exceeded"
 msgstr ""
 
@@ -5031,11 +5033,11 @@
 msgid "Make sure the file can be accessed and is a well-formed XML document."
 msgstr ""
 
-#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:760
-#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:766
-#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:773
-#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:784
-#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:814
+#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:761
+#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:767
+#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:774
+#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:785
+#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:815
 #, c-format
 msgid "Malformed chunk data: %s"
 msgstr ""
@@ -5045,18 +5047,18 @@
 msgid "Malformed request header: %s"
 msgstr ""
 
-#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:534
-#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:540
-#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:593
-#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:649
-#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:686
+#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:535
+#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:541
+#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:594
+#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:650
+#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:687
 #, c-format
 msgid "Malformed response header: %s"
 msgstr ""
 
-#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:481
-#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:495
-#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:513
+#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:482
+#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:496
+#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:514
 #, c-format
 msgid "Malformed response: %s"
 msgstr ""
@@ -5407,8 +5409,8 @@
 msgid "Note: Using a generic proxy forces passive mode on FTP connections."
 msgstr ""
 
-#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:540
-#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:766
+#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:541
+#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:767
 msgid "Null character in line"
 msgstr ""
 
@@ -6933,7 +6935,7 @@
 "Manager"
 msgstr ""
 
-#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:534
+#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:535
 msgid "Server not sending proper line endings"
 msgstr ""
 
@@ -6957,7 +6959,7 @@
 "login type."
 msgstr ""
 
-#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:365
+#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:366
 msgid "Server sent data even before request headers were sent"
 msgstr ""
 
@@ -6971,9 +6973,9 @@
 "instead."
 msgstr ""
 
-#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:481
-#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:495
-#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:513
+#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:482
+#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:496
+#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:514
 msgid "Server sent too much data."
 msgstr ""
 
@@ -7889,7 +7891,7 @@
 msgid "Toggles the display of the transfer queue"
 msgstr ""
 
-#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:547
+#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:548
 msgid "Too long header line"
 msgstr ""
 
@@ -8082,7 +8084,7 @@
 "Unknown root element, the file does not appear to be generated by FileZilla."
 msgstr ""
 
-#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:649
+#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:650
 msgid "Unknown transfer encoding"
 msgstr ""
 
@@ -8408,7 +8410,7 @@
 msgid "Wrong external IP address"
 msgstr ""
 
-#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:760
+#: ../../../source/FileZilla3/locales/../src/engine/http/request.cpp:761
 msgid "Wrong line endings"
 msgstr ""
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/filezilla-3.52.0.5/src/engine/aio.cpp 
new/filezilla-3.52.2/src/engine/aio.cpp
--- old/filezilla-3.52.0.5/src/engine/aio.cpp   2021-01-08 11:41:34.000000000 
+0100
+++ new/filezilla-3.52.2/src/engine/aio.cpp     2021-01-16 05:30:02.000000000 
+0100
@@ -91,7 +91,7 @@
                        return false;
                }
 
-               if (s.st_size < memory_size_)
+               if (s.st_size < 0 || static_cast<size_t>(s.st_size) < 
memory_size_)
 #endif
                {
                        if (ftruncate(shm, memory_size_) != 0) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/filezilla-3.52.0.5/src/engine/http/httpcontrolsocket.h 
new/filezilla-3.52.2/src/engine/http/httpcontrolsocket.h
--- old/filezilla-3.52.0.5/src/engine/http/httpcontrolsocket.h  2021-01-06 
10:11:58.000000000 +0100
+++ new/filezilla-3.52.2/src/engine/http/httpcontrolsocket.h    2021-01-16 
05:30:02.000000000 +0100
@@ -109,7 +109,7 @@
 
        bool got_code() const { return flags_ & flag_got_code; }
        bool got_header() const { return flags_ & flag_got_header; }
-       bool got_body() const { return flags_ & flag_got_body; }
+       bool got_body() const { return (flags_ & (flag_got_body | flag_no_body 
| flag_ignore_body)) == flag_got_body; }
        bool no_body() const { return flags_ & flag_no_body; }
 
        // Called once the complete header has been received.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/filezilla-3.52.0.5/src/engine/http/request.cpp 
new/filezilla-3.52.2/src/engine/http/request.cpp
--- old/filezilla-3.52.0.5/src/engine/http/request.cpp  2020-12-22 
05:30:02.000000000 +0100
+++ new/filezilla-3.52.2/src/engine/http/request.cpp    2021-01-16 
05:30:02.000000000 +0100
@@ -333,17 +333,18 @@
        auto & shared_response = requests_.front();
        if (shared_response) {
                auto & response = shared_response->response();
-               response.flags_ |= HttpResponse::flag_got_body;
-               if (response.writer_) {
-                       fz::nonowning_buffer b;
-                       auto r = response.writer_->finalize(b);
-                       switch (r) {
-                       case aio_result::ok:
-                               return FZ_REPLY_OK;
-                       case aio_result::wait:
-                               return FZ_REPLY_WOULDBLOCK;
-                       default:
-                               return FZ_REPLY_ERROR;
+               if (!(response.flags_ & (HttpResponse::flag_ignore_body | 
HttpResponse::flag_no_body))) {
+                       response.flags_ |= HttpResponse::flag_got_body;
+                       if (response.success() && response.writer_) {
+                               auto r = 
response.writer_->finalize(read_state_.writer_buffer_);
+                               switch (r) {
+                               case aio_result::ok:
+                                       return FZ_REPLY_OK;
+                               case aio_result::wait:
+                                       return FZ_REPLY_WOULDBLOCK;
+                               default:
+                                       return FZ_REPLY_ERROR;
+                               }
                        }
                }
        }
@@ -723,7 +724,7 @@
 
        if (res == FZ_REPLY_CONTINUE) {
                if (!read_state_.responseContentLength_) {
-                       res = FZ_REPLY_OK;
+                       return FinalizeResponseBody();
                }
        }
 
@@ -839,18 +840,24 @@
                        if (response.success()) {
                                if (response.writer_) {
                                        while (remaining) {
-                                               aio_result r = 
response.writer_->write(data, remaining);
-                                               if (r == aio_result::ok) {
-                                                       remaining -= 
std::min(remaining, aio_base::buffer_size_);
-                                               }
-                                               else if (r == aio_result::wait) 
{
-                                                       res = 
FZ_REPLY_WOULDBLOCK;
-                                                       break;
-                                               }
-                                               else {
-                                                       res = FZ_REPLY_ERROR;
-                                                       break;
+                                               if 
(read_state_.writer_buffer_.size() >= read_state_.writer_buffer_.capacity()) {
+                                                       auto r = 
response.writer_->get_write_buffer(read_state_.writer_buffer_);
+                                                       if (r == 
aio_result::wait) {
+                                                               res = 
FZ_REPLY_WOULDBLOCK;
+                                                               break;
+                                                       }
+                                                       else if (r == 
aio_result::error) {
+                                                               res =  
FZ_REPLY_CRITICALERROR;
+                                                               break;
+                                                       }
+
+                                                       
read_state_.writer_buffer_ = r.buffer_;
                                                }
+
+                                               size_t s = std::min(remaining, 
read_state_.writer_buffer_.capacity() - read_state_.writer_buffer_.size());
+                                               
read_state_.writer_buffer_.append(data, s);
+                                               data += s;
+                                               remaining -= s;
                                        }
                                }
                                else {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/filezilla-3.52.0.5/src/engine/http/request.h 
new/filezilla-3.52.2/src/engine/http/request.h
--- old/filezilla-3.52.0.5/src/engine/http/request.h    2020-11-28 
05:30:03.000000000 +0100
+++ new/filezilla-3.52.2/src/engine/http/request.h      2021-01-12 
05:30:03.000000000 +0100
@@ -75,6 +75,8 @@
                int64_t responseContentLength_{-1};
                int64_t receivedData_{};
 
+               fz::nonowning_buffer writer_buffer_;
+
                bool keep_alive_{};
                bool eof_{};
        };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/filezilla-3.52.0.5/src/engine/reader.cpp 
new/filezilla-3.52.2/src/engine/reader.cpp
--- old/filezilla-3.52.0.5/src/engine/reader.cpp        2020-12-17 
05:30:03.000000000 +0100
+++ new/filezilla-3.52.2/src/engine/reader.cpp  2021-01-12 05:30:03.000000000 
+0100
@@ -261,7 +261,7 @@
                if (offset != start_offset_) {
                        change = true;
                }
-               if (max_size != aio_base::nosize && max_size != size_) {
+               if (max_size != max_size_) {
                        change = true;
                }
        }
@@ -287,9 +287,7 @@
 
        if (offset != aio_base::nosize) {
                start_offset_ = offset;
-       }
-       else {
-               max_size = aio_base::nosize;
+               max_size_ = max_size;
        }
 
        auto const ofs = static_cast<int64_t>(start_offset_);
@@ -311,8 +309,8 @@
                return aio_result::error;
        }
        size_ = static_cast<int64_t>(s) - start_offset_;
-       if (max_size != aio_base::nosize && max_size < size_) {
-               size_ = max_size;
+       if (max_size_ != aio_base::nosize && max_size_ < size_) {
+               size_ = max_size_;
        }
        remaining_ = size_;
 
@@ -458,9 +456,7 @@
 {
        if (offset != aio_base::nosize) {
                start_offset_ = offset;
-       }
-       else {
-               max_size = size_;
+               max_size_ = max_size;
        }
 
        if (start_offset_ > start_data_.size()) {
@@ -469,9 +465,9 @@
                return aio_result::error;
        }
        size_ = start_data_.size() - start_offset_;
-       if (max_size != aio_base::nosize) {
-               if (max_size < size_) {
-                       size_ = max_size;
+       if (max_size_ != aio_base::nosize) {
+               if (max_size_ < size_) {
+                       size_ = max_size_;
                }
        }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/filezilla-3.52.0.5/src/engine/sftp/filetransfer.cpp 
new/filezilla-3.52.2/src/engine/sftp/filetransfer.cpp
--- old/filezilla-3.52.0.5/src/engine/sftp/filetransfer.cpp     2020-12-17 
05:30:03.000000000 +0100
+++ new/filezilla-3.52.2/src/engine/sftp/filetransfer.cpp       2021-01-18 
14:46:32.000000000 +0100
@@ -128,6 +128,7 @@
 int CSftpFileTransferOpData::ParseResponse()
 {
        if (opState == filetransfer_transfer) {
+               writer_.reset();
                if (controlSocket_.result_ == FZ_REPLY_OK && 
engine_.GetOptions().get_int(OPTION_PRESERVE_TIMESTAMPS)) {
                        if (download()) {
                                if (!remoteFileTime_.empty()) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/filezilla-3.52.0.5/src/engine/string_reader.cpp 
new/filezilla-3.52.2/src/engine/string_reader.cpp
--- old/filezilla-3.52.0.5/src/engine/string_reader.cpp 2020-12-17 
14:50:15.000000000 +0100
+++ new/filezilla-3.52.2/src/engine/string_reader.cpp   2021-01-12 
05:30:03.000000000 +0100
@@ -65,19 +65,19 @@
 {
        if (offset != aio_base::nosize) {
                start_offset_ = offset;
+               max_size_ = max_size;
        }
 
        if (start_offset_ > start_data_.size()) {
+               engine_.GetLogger().log(logmsg::error, fztranslate("Could not 
seek to offset %d in '%s' of size %d."), start_offset_, name_, 
start_data_.size());
                error_ = true;
                return aio_result::error;
        }
        size_ = start_data_.size() - start_offset_;
-       if (max_size != aio_base::nosize) {
-               if (max_size > size_) {
-                       error_ = true;
-                       return aio_result::error;
+       if (max_size_ != aio_base::nosize) {
+               if (max_size_ < size_) {
+                       size_ = max_size_;
                }
-               size_ = max_size;
        }
 
        data_ = start_data_;
@@ -148,19 +148,19 @@
 {
        if (offset != aio_base::nosize) {
                start_offset_ = offset;
+               max_size_ = max_size;
        }
 
        if (start_offset_ > start_data_.size()) {
+               engine_.GetLogger().log(logmsg::error, fztranslate("Could not 
seek to offset %d in '%s' of size %d."), start_offset_, name_, 
start_data_.size());
                error_ = true;
                return aio_result::error;
        }
        size_ = start_data_.size() - start_offset_;
-       if (max_size != aio_base::nosize) {
-               if (max_size > size_) {
-                       error_ = true;
-                       return aio_result::error;
+       if (max_size_ != aio_base::nosize) {
+               if (max_size_ < size_) {
+                       size_ = max_size_;
                }
-               size_ = max_size;
        }
 
        data_ = std::string_view(reinterpret_cast<char 
const*>(start_data_.get() + start_offset_), size_);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/filezilla-3.52.0.5/src/engine/writer.cpp 
new/filezilla-3.52.2/src/engine/writer.cpp
--- old/filezilla-3.52.0.5/src/engine/writer.cpp        2020-12-17 
05:30:03.000000000 +0100
+++ new/filezilla-3.52.2/src/engine/writer.cpp  2021-01-12 05:30:03.000000000 
+0100
@@ -205,36 +205,6 @@
        return aio_result::ok;
 }
 
-aio_result writer_base::write(uint8_t* data, size_t len)
-{
-       fz::scoped_lock l(mtx_);
-       if (error_ || processing_) {
-               return aio_result::error;
-       }
-
-       if (!len) {
-                return aio_result::ok;
-       }
-
-       if (ready_count_ >= buffers_.size()) {
-               handler_waiting_ = true;
-               return aio_result::wait;
-       }
-
-       auto & b = buffers_[(ready_pos_ + ready_count_) % buffers_.size()];
-
-       len = std::min(len, buffer_size_);
-       memcpy(b.get(len), data, len);
-       b.add(len);
-
-       bool signal = !ready_count_;
-       ++ready_count_;
-       if (signal) {
-               signal_capacity(l);
-       }
-       return aio_result::ok;
-}
-
 aio_result writer_base::finalize(fz::nonowning_buffer & last_written)
 {
        fz::scoped_lock l(mtx_);
@@ -574,6 +544,7 @@
                        engine_.transfer_status_.SetMadeProgress();
                        engine_.transfer_status_.Update(b.size());
                }
+               b.resize(0);
        }
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/filezilla-3.52.0.5/src/include/reader.h 
new/filezilla-3.52.2/src/include/reader.h
--- old/filezilla-3.52.0.5/src/include/reader.h 2020-12-17 05:30:03.000000000 
+0100
+++ new/filezilla-3.52.2/src/include/reader.h   2021-01-12 05:30:03.000000000 
+0100
@@ -108,6 +108,7 @@
 
 protected:
        uint64_t start_offset_{};
+       uint64_t max_size_{aio_base::nosize};
        uint64_t size_{aio_base::nosize};
        bool called_read_{};
 };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/filezilla-3.52.0.5/src/include/writer.h 
new/filezilla-3.52.2/src/include/writer.h
--- old/filezilla-3.52.0.5/src/include/writer.h 2020-12-17 14:50:15.000000000 
+0100
+++ new/filezilla-3.52.2/src/include/writer.h   2021-01-12 05:30:03.000000000 
+0100
@@ -82,7 +82,7 @@
 {
 public:
        file_writer_factory(std::wstring const& file, bool fsync = false);
-       
+
        virtual std::unique_ptr<writer_base> open(uint64_t offset, 
CFileZillaEnginePrivate & engine, fz::event_handler * handler, 
aio_base::shm_flag shm, bool update_transfer_status = true) override;
        virtual std::unique_ptr<writer_factory> clone() const override;
 
@@ -97,6 +97,7 @@
 
 struct get_write_buffer_result {
        bool operator==(aio_result const t) const { return type_ == t; }
+       bool operator!=(aio_result const t) const { return type_ != t; }
 
        aio_result type_{aio_result::error};
        fz::nonowning_buffer buffer_;
@@ -117,9 +118,6 @@
 
        virtual aio_result retire(fz::nonowning_buffer & last_written);
 
-       // Writes _up to_ aio_base::buffer_size_ bytes.
-       virtual aio_result write(uint8_t* data, size_t len);
-
        virtual aio_result preallocate(uint64_t /*size*/) { return 
aio_result::ok; }
 
        void set_handler(fz::event_handler * handler);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/filezilla-3.52.0.5/src/interface/serverdata.cpp 
new/filezilla-3.52.2/src/interface/serverdata.cpp
--- old/filezilla-3.52.0.5/src/interface/serverdata.cpp 2020-10-20 
05:30:03.000000000 +0200
+++ new/filezilla-3.52.2/src/interface/serverdata.cpp   2021-01-12 
05:30:03.000000000 +0100
@@ -402,13 +402,13 @@
                }
 
                // Different key used. Try decrypting it
-               auto priv = CLoginManager::Get().GetDecryptor(key);
+               auto priv = CLoginManager::Get().GetDecryptor(encrypted_);
                if (!priv || !Unprotect(priv, true)) {
                        return;
                }
                // It succeeded, continue encrypting it with new key.
        }
-       
+
        auto plain = fz::to_utf8(password_);
        if (plain.size() < 16) {
                // Primitive length hiding
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/filezilla-3.52.0.5/src/interface/window_state_manager.cpp 
new/filezilla-3.52.2/src/interface/window_state_manager.cpp
--- old/filezilla-3.52.0.5/src/interface/window_state_manager.cpp       
2020-06-18 16:06:46.000000000 +0200
+++ new/filezilla-3.52.2/src/interface/window_state_manager.cpp 2021-01-18 
12:11:19.000000000 +0100
@@ -93,6 +93,28 @@
                position.y = screen_size.GetTop();
        }
 
+#if wxUSE_DISPLAY
+       // In a second step, adjust vertical again, but this time based on the 
screen at the assumed centerpoint of the titlebar
+       wxPoint title_center = wxPoint(position.x + size.x / 2, position.y + 4);
+       int const di = wxDisplay::GetFromPoint(title_center);
+       if (di != wxNOT_FOUND) {
+               wxDisplay d(di);
+               if (d.IsOk()) {
+                       wxRect const dr = d.GetClientArea();
+
+                       int dy = position.y - dr.GetTop();
+                       if (dy > -100 && dy < 0) {
+                               position.y = dr.GetTop();
+                       }
+
+                       dy = (dr.GetBottom() - 30) - position.y;
+                       if (dy > -100 && dy < 0) {
+                               position.y = dr.GetBottom() - 30;
+                       }
+               }
+       }
+#endif
+
        maximized = values[0] != 0;
 
        return true;
@@ -194,7 +216,7 @@
        // Get bounding rectangle of virtual screen
        for (unsigned int i = 0; i < wxDisplay::GetCount(); ++i) {
                wxDisplay display(i);
-               wxRect rect = display.GetGeometry();
+               wxRect rect = display.GetClientArea();
                screen_size.Union(rect);
        }
        if (screen_size.GetWidth() <= 0 || screen_size.GetHeight() <= 0) {

Reply via email to