Author: Brulhart, bgstack15 Date: 2022-03-09 Message: remove assertion for libcurl version >1.71 Version: FreeFileSync 11.18 Message: We have to omit checking for certain definitions. Distro: Fedora 34. File ffs_curl.patch is different between fc34 and devuan! On Devuan Ceres file /usr/include/x86_64-linux-gnu/curl/curl.h from libcurl 4-openssl-dev stops with CURLE_PROXY 97 For Devuan Ceres libcurl4-openssl-dev 7.74.0-1.3+b1 uses CURLE_TELNET_OPTION_SYNTAX and not CURLE_SETOPT_OPTION_SYNTAX which replaced the first at version 7.78.0 per https://github.com/curl/curl/blob/master/docs/libcurl/symbols-in-versions diff -r -u 10.17-0/FreeFileSync/Source/afs/ftp.cpp 10.17-1/FreeFileSync/Source/afs/ftp.cpp --- 10.21-0/FreeFileSync/Source/afs/ftp.cpp 2020-03-18 08:56:08.608066350 -0400 +++ 10.21-1/FreeFileSync/Source/afs/ftp.cpp 2020-03-18 09:23:46.882110499 -0400 @@ -635,7 +635,7 @@ curlRelPath += compFmt; } - static_assert(LIBCURL_VERSION_MAJOR > 7 || (LIBCURL_VERSION_MAJOR == 7 && LIBCURL_VERSION_MINOR >= 67)); + static_assert(LIBCURL_VERSION_MAJOR > 7 || (LIBCURL_VERSION_MAJOR == 7 && LIBCURL_VERSION_MINOR >= 71 )); /* 1. CURLFTPMETHOD_NOCWD requires absolute paths to unconditionally skip CWDs: https://github.com/curl/curl/pull/4382 2. CURLFTPMETHOD_SINGLECWD requires absolute paths to skip one needless "CWD entry path": https://github.com/curl/curl/pull/4332 => https://curl.haxx.se/docs/faq.html#How_do_I_list_the_root_dir_of_an diff -aur 11.18-{0,1}/libcurl/curl_wrap.cpp --- 11.18-0/libcurl/curl_wrap.cpp 2022-03-09 10:19:42.961942416 -0500 +++ 11.18-1/libcurl/curl_wrap.cpp 2022-03-09 10:37:44.702421086 -0500 @@ -330,7 +330,7 @@ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_OBSOLETE46); ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_TOO_MANY_REDIRECTS); ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_UNKNOWN_OPTION); - ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_SETOPT_OPTION_SYNTAX); + ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_TELNET_OPTION_SYNTAX); ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_OBSOLETE50); ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_OBSOLETE51); ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_GOT_NOTHING); @@ -343,7 +343,7 @@ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_SSL_CIPHER); ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_PEER_FAILED_VERIFICATION); ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_BAD_CONTENT_ENCODING); - ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_OBSOLETE62); + ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_LDAP_INVALID_URL); // < libcurl 7.82.0 ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_FILESIZE_EXCEEDED); ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_USE_SSL_FAILED); ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_SEND_FAIL_REWIND); @@ -357,7 +357,7 @@ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_REMOTE_FILE_EXISTS); ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_TFTP_NOSUCHUSER); ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_CONV_FAILED); - ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_OBSOLETE76); + ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_CONV_REQD); // < libcurl 7.82.0 ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_SSL_CACERT_BADFILE); ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_REMOTE_FILE_NOT_FOUND); ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_SSH); @@ -378,11 +378,8 @@ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_AUTH_ERROR); ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_HTTP3); ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_QUIC_CONNECT_ERROR); - ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_PROXY); - ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_SSL_CLIENTCERT); ZEN_CHECK_CASE_FOR_CONSTANT(CURL_LAST); } - static_assert(CURL_LAST == CURLE_SSL_CLIENTCERT + 1); return replaceCpy(L"Curl status %x", L"%x", numberTo(static_cast(sc))); }