From 820d44377e20c3a2ea31f848636c6f49877bdf7b Mon Sep 17 00:00:00 2001 From: Vincent Richard Date: Wed, 24 Jul 2013 13:30:57 +0200 Subject: Added SMTP service properties to allow disabling PIPELINING and CHUNKING extensions. --- src/net/smtp/SMTPTransport.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/net/smtp/SMTPTransport.cpp') diff --git a/src/net/smtp/SMTPTransport.cpp b/src/net/smtp/SMTPTransport.cpp index 46e47f35..c3431a43 100644 --- a/src/net/smtp/SMTPTransport.cpp +++ b/src/net/smtp/SMTPTransport.cpp @@ -169,7 +169,9 @@ void SMTPTransport::sendEnvelope const bool needReset = m_needReset; - const bool hasPipelining = m_connection->hasExtension("PIPELINING"); + const bool hasPipelining = m_connection->hasExtension("PIPELINING") && + getInfos().getPropertyValue (getSession(), + dynamic_cast (getInfos()).getProperties().PROPERTY_OPTIONS_PIPELINING); ref resp; ref commands = SMTPCommandSet::create(hasPipelining); @@ -334,7 +336,10 @@ void SMTPTransport::send // If CHUNKING is not supported, generate the message to a temporary // buffer then use the send() method which takes an inputStream - if (!m_connection->hasExtension("CHUNKING")) + if (!m_connection->hasExtension("CHUNKING") || + !getInfos().getPropertyValue (getSession(), + dynamic_cast (getInfos()).getProperties().PROPERTY_OPTIONS_CHUNKING)) + { std::ostringstream oss; utility::outputStreamAdapter ossAdapter(oss); -- cgit