KManageSieve::Session: move network communication to separate thread
Review Request #125748 - Created Oct. 21, 2015 and submitted
This moves all code in KManageSieve::Session that deals with KTcpSocket and SASL to a separate thread. The reason for this is that when I'm on a very bad/slow internet connection, the initial SASL handshake blocks in sasl_client_new(), apparently due to synchronous DNS resolution. Handling the communication in the main thread then freezes KMail on start as the Sieve code tries to check for the Vacation script. Moving the SASL communication to a thread solves the problem.
I can still access my Sieve server from KMail and KMail no longer freezes after start.