diff options
author | Daniel Wilhelm <shieldwed@outlook.com> | 2019-10-04 10:13:35 +0000 |
---|---|---|
committer | Daniel Wilhelm <shieldwed@outlook.com> | 2019-10-04 10:13:35 +0000 |
commit | 765fa925865bcf8a359d55b7c2ccb3913b4805c8 (patch) | |
tree | 81cc22424cbc7a16280c629306e150b2b3be753e /Bugs.txt | |
parent | Merge branch '10.15' into 'master' (diff) | |
parent | update bugs.txt after re-release from upstream (diff) | |
download | FreeFileSync-765fa925865bcf8a359d55b7c2ccb3913b4805c8.tar.gz FreeFileSync-765fa925865bcf8a359d55b7c2ccb3913b4805c8.tar.bz2 FreeFileSync-765fa925865bcf8a359d55b7c2ccb3913b4805c8.zip |
Merge branch '10.16' into 'master'10.16
add upstream 10.16
See merge request opensource-tracking/FreeFileSync!13
Diffstat (limited to 'Bugs.txt')
-rw-r--r--[-rwxr-xr-x] | Bugs.txt | 198 |
1 files changed, 131 insertions, 67 deletions
@@ -1,23 +1,76 @@ -When manually compiling FreeFileSync, you should also fix the following bugs in its dependent libraries: +When manually compiling FreeFileSync, you should also fix the following bugs in its dependent libraries. +FreeFileSync generally uses the latest library versions and works with upstream to get the bugs fixed +that affect FreeFileSync. Therefore it is not recommended to compile against older library versions than +the ones mentioned below. The remaining issues that are yet to be fixed are listed in the following: ----------------- -| libssh2 Bugs | ----------------- +------------------ +| libcurl 7.66.0 | +------------------ __________________________________________________________________________________________________________ -Amazons SFTP server returns legitimate package sizes of ~100kb! -https://freefilesync.org/forum/viewtopic.php?t=5999 +/lib/setopt.c +https://github.com/curl/curl/pull/4321 -/src/sftp.c: +- if ((arg < CURLFTPMETHOD_DEFAULT) || (arg > CURLFTPMETHOD_SINGLECWD)) ++ if ((arg < CURLFTPMETHOD_DEFAULT) || (arg >= CURLFTPMETHOD_LAST)) -- #define LIBSSH2_SFTP_PACKET_MAXLEN 80000 -+ #define LIBSSH2_SFTP_PACKET_MAXLEN 160000 __________________________________________________________________________________________________________ +https://github.com/curl/curl/pull/4331 + +/include/curl/curl.h + + CURLFTPMETHOD_SINGLECWD, /* one CWD to full dir, then work on file */ ++ CURLFTPMETHOD_FULLPATH, //AKA "CURLFTPMETHOD_NOCWD_BUT_THIS_TIME_FOR_REAL" + + +/lib/ftp.h + + FTPFILE_SINGLECWD = 3 /* make one CWD, then SIZE / RETR / STOR on the + file */ ++ FTPFILE_FULLPATH = 4 //AKA "FTPFILE_NOCWD_BUT_THIS_TIME_FOR_REAL" + + +/lib/ftp.c + +- if ((data->set.ftp_filemethod == FTPFILE_NOCWD) && ++ if ((data->set.ftp_filemethod == FTPFILE_NOCWD || ++ data->set.ftp_filemethod == FTPFILE_FULLPATH) && + ++ if (data->set.ftp_filemethod == FTPFILE_FULLPATH) ++ { ++ //no CWDs happened => remember old working dir ++ //ftpc->prevmethod = ++ //ftpc->prevpath = ++ } ++ else ++ { + /* now store a copy of the directory we are in */ + free(ftpc->prevpath); + + [...] + + else + { + ftpc->prevpath = NULL; /* no path */ + free(path); + } + } + ++ } + + + switch (data->set.ftp_filemethod) + { + case FTPFILE_NOCWD: ++ case FTPFILE_FULLPATH: + + ++ if (data->set.ftp_filemethod == FTPFILE_FULLPATH) ++ ftpc->cwddone = TRUE; ++ else + if (ftpc->prevpath) ----------------- -| libcurl Bugs | ----------------- __________________________________________________________________________________________________________ https://github.com/curl/curl/issues/1455 @@ -51,69 +104,67 @@ Replace with: } if (skipIp) + __________________________________________________________________________________________________________ +/lib/ftp.c +https://github.com/curl/curl/pull/4332 -"wrong dir listing because libcurl remembers wrong CWD": https://github.com/curl/curl/issues/1782 +- else if (conn->bits.reuse && ftpc->entrypath) ++ else if (conn->bits.reuse && ftpc->entrypath && ++ !(ftpc->dirdepth && ftpc->dirs[0][0] == '/')) //no need to go to entrypath when we have an absolute path -=> "fixed" by adding only the "if (data->set.ftp_filemethod == FTPFILE_NOCWD)" below: https://github.com/curl/curl/issues/1811 -=> this is NOT enough! consider what happens for a reused connection that first used CURLFTPMETHOD_MULTICWD, now CURLFTPMETHOD_NOCWD: - - the code in ftp_state_cwd() will issue a CWD sequence that ends with "ftpc->cwdcount == 1"!!! See "if (++ftpc->cwdcount <= ftpc->dirdepth)" - => this skips the previous "fix" in https://github.com/curl/curl/issues/1718 with - if ((conn->data->set.ftp_filemethod == FTPFILE_NOCWD) && !ftpc->cwdcount) +__________________________________________________________________________________________________________ +/lib/ftp.c +https://github.com/curl/curl/issues/4342 -/lib/ftp.c: +- result = ftp_nb_type(conn, TRUE, FTP_LIST_TYPE); ++ result = ftp_nb_type(conn, data->set.prefer_ascii, FTP_LIST_TYPE); - if (ftpc->prevpath) - { -+ if (data->set.ftp_filemethod == FTPFILE_NOCWD) -+ { -+ /* -+ CURLFTPMETHOD_NOCWD -+ if the connection is used for the first time, *no* CWD takes place -+ if the connection is reused, ftp_state_cwd() issues a single "CWD ftpc->entrypath" before the operation -+ in both cases ftp_done() sets ftpc->prevpath to "" after a successfull FTP operation -+ ergo: "" corresponds to ftpc->entrypath, so we only ever need CWD if ftpc->prevpath != "" -+ => avoid needless "CWD /" and reduce folder traversal time with CURLFTPMETHOD_NOCWD by 15-20% -+ */ -+ if (strcmp(ftpc->prevpath, "") == 0) -+ { -+ infof(data, "Request has same path (\"%s\") as previous transfer\n", ftpc->prevpath); -+ ftpc->cwddone = TRUE; -+ } -+ } -+ else -+ { - /* prevpath is "raw" so we convert the input path before we compare the - strings */ - size_t dlen; - char* path; - CURLcode result = - Curl_urldecode(conn->data, data->state.path, 0, &path, &dlen, FALSE); - if (result) - { - freedirs(ftpc); - return result; - } - - dlen -= ftpc->file?strlen(ftpc->file):0; - if ((dlen == strlen(ftpc->prevpath)) && - !strncmp(path, ftpc->prevpath, dlen) && -- (ftpc->prevmethod == data->set.ftp_filemethod)) -+ true) //(ftpc->prevmethod == data->set.ftp_filemethod)) - { - infof(data, "Request has same path as previous transfer\n"); - ftpc->cwddone = TRUE; - } - free(path); -+ } - } +__________________________________________________________________________________________________________ +/lib/ftp.c +https://github.com/curl/curl/pull/4348 + + +- size_t n = strlen(inpath); +- /* Check if path does not end with /, as then we cut off the file part */ +- if (inpath[n - 1] != '/') +- { +- /* chop off the file part if format is dir/dir/file */ +- slashPos = strrchr(inpath, '/'); +- n = slashPos - inpath; +- } + ++ /* chop off the file part if format is dir/file ++ otherwise remove the trailing slash for dir/dir/ ++ and full paths like %2f/ except for / */ ++ size_t n = strrchr(inpath, '/') - inpath; ++ if(n == 0) ++ ++n; +__________________________________________________________________________________________________________ + +/lib/vtls/openssl.c +https://github.com/curl/curl/issues/4329 + + case SSL_ERROR_ZERO_RETURN: /* no more data */ + /* close_notify alert */ ++ if(num == FIRSTSOCKET) + connclose(conn, "TLS close_notify"); +__________________________________________________________________________________________________________ + + +----------------- +| libssh2 1.9.0 | +----------------- +__________________________________________________________________________________________________________ +move the following constants from src/sftp.h to include/libssh2_sftp.h: + #define MAX_SFTP_OUTGOING_SIZE 30000 + #define MAX_SFTP_READ_SIZE 30000 __________________________________________________________________________________________________________ ------------------- -| wxWidgets Bugs | ------------------- +------------------------------- +| wxWidgets master 2019-07-22 | +------------------------------- __________________________________________________________________________________________________________ Fix incorrect pane height calculations: @@ -215,3 +266,16 @@ Backspace not working in filter dialog: http://www.freefilesync.org/forum/viewto +// g_source_attach(source, NULL); +// } __________________________________________________________________________________________________________ + +wxWidgets/GTK2 on some Linux systems incorrectly detects high DPI: https://freefilesync.org/forum/viewtopic.php?t=6114 +=> hack away high-DPI support for GTK2 (= pretend GTK2 has device independent pixels, which it clearly has not!) + +/include/wx/window.h: + + #include "wx/gtk/window.h" +- #ifdef __WXGTK3__ ++ //#ifdef __WXGTK3__ + #define wxHAVE_DPI_INDEPENDENT_PIXELS +- #endif ++ //#endif +__________________________________________________________________________________________________________ |