[libsoup/carlosgc/remove-old-api: 1/4] session: set message status in case of TLS errors




commit 22c23f958e9ecd2baceb2091e33b8ae528d4ff3d
Author: Carlos Garcia Campos <cgarcia igalia com>
Date:   Wed Sep 30 07:15:52 2020 +0200

    session: set message status in case of TLS errors
    
    We are not doing it when using the new api

 libsoup/soup-session.c | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)
---
diff --git a/libsoup/soup-session.c b/libsoup/soup-session.c
index 16fd4db2..7752cc30 100644
--- a/libsoup/soup-session.c
+++ b/libsoup/soup-session.c
@@ -3436,6 +3436,11 @@ try_run_until_read (SoupMessageQueueItem *item)
        }
 
        if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_WOULD_BLOCK)) {
+               if (error->domain == G_TLS_ERROR) {
+                        soup_message_set_status_full (item->msg,
+                                                      SOUP_STATUS_SSL_FAILED,
+                                                      error->message);
+               }
                if (item->state != SOUP_MESSAGE_FINISHED) {
                        if (soup_message_io_in_progress (item->msg))
                                soup_message_io_finished (item->msg);
@@ -3824,8 +3829,14 @@ soup_session_send (SoupSession   *session,
                                soup_message_io_finished (item->msg);
                                g_clear_error (&my_error);
                                continue;
-                       } else
-                               break;
+                       }
+
+                       if (my_error->domain == G_TLS_ERROR) {
+                               soup_message_set_status_full (msg,
+                                                             SOUP_STATUS_SSL_FAILED,
+                                                             my_error->message);
+                       }
+                       break;
                }
 
                stream = soup_message_io_get_response_istream (msg, &my_error);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]