Subject: bug#23982: [master] Treat errno EINPROGRESS and ENOTCONN as EAGAIN for async connection

From: Ted Zlatanov <[email-masked]>
Date: Tue, 26 Jul 2016 10:48:28 -0400

On Tue, 26 Jul 2016 09:35:04 +0200 Paul Eggert <[email-masked]> wrote: 

PE> * The proposed patch uses gnutls_transport_set_errno_function, introduced in
PE> GnuTLS 2.12.0. Emacs master currently requires only GnuTLS 2.6.6 or later. Would
PE> it be wise to bump the prerequisite version from 2.6.6 to 2.12.0? I'll CC: this
PE> to Ted Zlanatov to see what he thinks.

2.12.2 was released on 2011-04-08 so I think 5 years is long enough, we
can bump the required version. From a security standpoint I think it's a
good upgrade and the majority of the users will see it as a good change.

If we do, however, we should also review the API changes and see if our
usage in gnutls.c and gnutls.el can be improved or simplified with new
features like `gnutls_transport_set_errno_function'.

Similarly, we should consider migrating to GnuTLS 3.x if anyone is
interested, it should be a fun project (especially if it maintains 2.12
compatibility).

Ted