Re: TLS connect error: "an EOF was observed that violates the protocol"

Rodrigo Arias <[email protected]> Wed, 28 Aug 2024 21:40:20 +0200
Newsgroups gmane.comp.web.dillo.devel
Message-ID <[email protected]>
Hi,

>This is enough for me to at least fix this case on Dillo side.

I see, I was trying to set the conn->in_connect = FALSE after conn was 
freed. Try this patch:

diff --git a/src/IO/tls_openssl.c b/src/IO/tls_openssl.c
index 3e68e928..5ad12b8c 100644
--- a/src/IO/tls_openssl.c
+++ b/src/IO/tls_openssl.c
@@ -1186,7 +1186,10 @@ static void Tls_connect(int fd, int connkey)
        if (a_Klist_get_data(conn_list, connkey)) {
           conn->connecting = FALSE;
           if (failed) {
+            conn->in_connect = FALSE;
              Tls_close_by_key(connkey);
+            /* conn is freed now */
+            conn = NULL;
           }
           a_IOwatch_remove_fd(fd, DIO_READ|DIO_WRITE);
           a_Http_connect_done(fd, failed ? FALSE : TRUE);
@@ -1195,7 +1198,8 @@ static void Tls_connect(int fd, int connkey)
        }
     }

-   conn->in_connect = FALSE;
+   if (conn)
+      conn->in_connect = FALSE;
  }

  static void Tls_connect_cb(int fd, void *vconnkey)
_______________________________________________
Dillo-dev mailing list -- dillo-dev-lx9mn2B4QYRWk0Htik3J/[email protected]
To unsubscribe send an email to dillo-dev-leave-lx9mn2B4QYRWk0Htik3J/[email protected]