#!/bin/cat
$Id: FAQ.SSL_errors.txt,v 1.6 2018/05/24 11:34:30 gilles Exp gilles $

This document is also available online at
https://imapsync.lamiral.info/FAQ.d/
https://imapsync.lamiral.info/FAQ.d/FAQ.SSL_errors.txt


=======================================================================
               Imapsync SSL errors
=======================================================================

Questions answered in this FAQ are:

Q. What are the errors
  DEBUG: .../IO/Socket/SSL.pm:1165: local error: SSL write error
  or
  DEBUG: .../IO/Socket/SSL.pm:1088: local error: SSL read error

Q. What can I do to avoid those "SSL read/write errors"?

Q. SSL connect attempt failed SSL 
   routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

=======================================================================
Q. What are the errors
  DEBUG: .../IO/Socket/SSL.pm:1165: local error: SSL write error
  or
  DEBUG: .../IO/Socket/SSL.pm:1088: local error: SSL read error


R1.Like they claim, those errors are SSL errors. SSL is not directly
   done by imapsync but by an underlying Perl module called
   IO::Socket::SSL. Those errors arise sometimes and sometimes
   they form a serie that ends with imapsync auto-abortion.
   Those errors happen with some hosts but not with others,
   it's often Exchange or Office365. I don't know what exactly happens.
   Those errors happen more often on Windows than on Linux.


=======================================================================
Q. What can I do to avoid those "SSL read/write errors"?

R0. Windows users: upgrade to imapsync.exe release 1.836 (or next ones)
    Those errors don't appear with recent releases, post 1.836

R1. Remove all ssl/tls encryption

  imapsync ...   --nossl1 --notls1 --nossl2 --notls2

R2. If you don't want to quit encryption, rerun imapsync until the 
    complete sync is over. Those errors are not at the same place 
    each time, so imapsync will sync remaining messages at each run
    until none remains.

R3. Run imapsync on a Linux machine, a VM is ok, there are less
    SSL errors on Unix.
    
R4. Use https://imapsync.lamiral.info/X/
    It's a Linux host so response R3 applies there.

R5. Set up a ssltunnel proxy to the host.
    Read the file FAQ.Security.txt for an example to set up
    a ssltunnel proxy.

=======================================================================
Q. SSL connect attempt failed SSL 
   routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

R. Use: 

   imapsync ... --sslargs1 'SSL_cipher_list=DEFAULT' 
   or    
   imapsync ... --sslargs2 'SSL_cipher_list=DEFAULT' 

   depending on where the error occurs, host1 or host2 or both.
   
=======================================================================
=======================================================================





