diff --git a/src/server/services/transfers/UrlCopyCmd.cpp b/src/server/services/transfers/UrlCopyCmd.cpp index 8ff2a7c153da176af026092358837dc3e4e5fb61..09774c587f1ec05232a9140ad26a99b626e200df 100644 --- a/src/server/services/transfers/UrlCopyCmd.cpp +++ b/src/server/services/transfers/UrlCopyCmd.cpp @@ -122,9 +122,14 @@ void UrlCopyCmd::setProxy(const std::string &path) } -void UrlCopyCmd::setUDT(bool set) +void UrlCopyCmd::setUDT(boost::tribool set) { - setFlag("udt", set); + if (boost::indeterminate(set)) { + setFlag("udt", false); + } else { + bool value = (set.value == true); + setFlag("udt", value); + } } @@ -136,9 +141,10 @@ void UrlCopyCmd::setIPv6(boost::tribool set) setFlag("ipv4", false); } else { + bool value = (set.value == true); IPv6Explicit = true; - setFlag("ipv6", set); - setFlag("ipv4", !set); + setFlag("ipv6", value); + setFlag("ipv4", !value); } } diff --git a/src/server/services/transfers/UrlCopyCmd.h b/src/server/services/transfers/UrlCopyCmd.h index 00e110ade5c3484fe72e800004aaf7572673aabe..9624b498fc8a6746c4e51232cea3e3c3f8d888a9 100644 --- a/src/server/services/transfers/UrlCopyCmd.h +++ b/src/server/services/transfers/UrlCopyCmd.h @@ -61,7 +61,7 @@ public: void setOptimizerLevel(int); void setDebugLevel(int); void setProxy(const std::string&); - void setUDT(bool); + void setUDT(boost::tribool); void setIPv6(boost::tribool); bool isIPv6Explicit(void); void setFTSName(const std::string&); diff --git a/test/unit/db/SeConfig.cpp b/test/unit/db/SeConfig.cpp index 1c171874cee0e178e8e34f1f452c81c5b4b517b2..6f00bda0ed998f3c5df02750a0188dce0d00e677 100644 --- a/test/unit/db/SeConfig.cpp +++ b/test/unit/db/SeConfig.cpp @@ -34,7 +34,7 @@ BOOST_AUTO_TEST_CASE (SeConfigMerge) BOOST_CHECK_EQUAL(60, target.inboundMaxActive); BOOST_CHECK_EQUAL(100, target.outboundMaxActive); - BOOST_CHECK_EQUAL(true, target.udt); + BOOST_CHECK_EQUAL(true, target.udt.value); BOOST_CHECK(boost::indeterminate(target.ipv6)); }