diff --git a/kioslave/curl/kio_curl.cpp b/kioslave/curl/kio_curl.cpp index 1fa3655b..be2f3044 100644 --- a/kioslave/curl/kio_curl.cpp +++ b/kioslave/curl/kio_curl.cpp @@ -20,6 +20,7 @@ #include "kcomponentdata.h" #include "kmimetype.h" #include "kremoteencoding.h" +#include "kconfiggroup.h" #include "kdebug.h" #include @@ -795,6 +796,17 @@ bool CurlProtocol::setupCurl(const KUrl &url) } } + if (m_isftp || m_issftp) { + // NOTE: this is stored in kio_ftprc + const long disablepassivemode = config()->readEntry("DisablePassiveMode", false); + kDebug(7103) << "Disable passive mode" << disablepassivemode; + curlresult = curl_easy_setopt(m_curl, CURLOPT_FTP_SKIP_PASV_IP, disablepassivemode); + if (curlresult != CURLE_OK) { + KIO_CURL_ERROR(curlresult); + return false; + } + } + return true; }