[libsoup] Fix error propagation on SSL cert errors
- From: Dan Winship <danw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libsoup] Fix error propagation on SSL cert errors
- Date: Sun, 21 Feb 2010 15:07:32 +0000 (UTC)
commit e25d2020015656efb36825fc189e84b04c5f6593
Author: Dan Winship <danw gnome org>
Date: Sun Feb 21 09:55:07 2010 -0500
Fix error propagation on SSL cert errors
libsoup/soup-message-io.c | 25 ++++++++++++-------------
1 files changed, 12 insertions(+), 13 deletions(-)
---
diff --git a/libsoup/soup-message-io.c b/libsoup/soup-message-io.c
index a804f43..73c8ae6 100644
--- a/libsoup/soup-message-io.c
+++ b/libsoup/soup-message-io.c
@@ -193,21 +193,20 @@ io_error (SoupSocket *sock, SoupMessage *msg, GError *error)
SoupMessagePrivate *priv = SOUP_MESSAGE_GET_PRIVATE (msg);
SoupMessageIOData *io = priv->io_data;
- if (io->mode == SOUP_MESSAGE_IO_CLIENT &&
- io->read_state <= SOUP_MESSAGE_IO_STATE_HEADERS &&
- io->read_meta_buf->len == 0 &&
- !g_error_matches (error, G_IO_ERROR, G_IO_ERROR_TIMED_OUT) &&
- request_is_idempotent (msg)) {
+ if (error && error->domain == SOUP_SSL_ERROR) {
+ soup_message_set_status_full (msg,
+ SOUP_STATUS_SSL_FAILED,
+ error->message);
+ } else if (io->mode == SOUP_MESSAGE_IO_CLIENT &&
+ io->read_state <= SOUP_MESSAGE_IO_STATE_HEADERS &&
+ io->read_meta_buf->len == 0 &&
+ !g_error_matches (error, G_IO_ERROR, G_IO_ERROR_TIMED_OUT) &&
+ request_is_idempotent (msg)) {
/* Connection got closed, but we can safely try again */
priv->io_status = SOUP_MESSAGE_IO_STATUS_QUEUED;
- } else if (!SOUP_STATUS_IS_TRANSPORT_ERROR (msg->status_code)) {
- if (error && error->domain == SOUP_SSL_ERROR) {
- soup_message_set_status_full (msg,
- SOUP_STATUS_SSL_FAILED,
- error->message);
- } else
- soup_message_set_status (msg, SOUP_STATUS_IO_ERROR);
- }
+ } else if (!SOUP_STATUS_IS_TRANSPORT_ERROR (msg->status_code))
+ soup_message_set_status (msg, SOUP_STATUS_IO_ERROR);
+
if (error)
g_error_free (error);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]