diff options
author | Dan Winship <danw@gnome.org> | 2010-05-22 16:59:21 -0400 |
---|---|---|
committer | Dan Winship <danw@gnome.org> | 2010-05-22 16:59:21 -0400 |
commit | e05f2ca2c316ce888af00ea4d8cc0fb86f92edaf (patch) | |
tree | 93604421aca6132284d28a092e5ab35a33c061d1 | |
parent | 2442fc7785487b12d1d674bb04c7f889b6d3b8ca (diff) | |
download | libsoup-e05f2ca2c316ce888af00ea4d8cc0fb86f92edaf.tar.gz |
soup-gnutls: return SOUP_SSL_ERROR, not G_IO_ERROR, on handshake failure
Part of https://bugzilla.gnome.org/show_bug.cgi?id=615535
-rw-r--r-- | libsoup/soup-gnutls.c | 7 | ||||
-rw-r--r-- | libsoup/soup-misc.h | 3 |
2 files changed, 6 insertions, 4 deletions
diff --git a/libsoup/soup-gnutls.c b/libsoup/soup-gnutls.c index ac22d952..79211f50 100644 --- a/libsoup/soup-gnutls.c +++ b/libsoup/soup-gnutls.c @@ -163,9 +163,10 @@ again: } if (result < 0) { - g_set_error (err, G_IO_CHANNEL_ERROR, - G_IO_CHANNEL_ERROR_FAILED, - "Unable to handshake"); + g_set_error (err, SOUP_SSL_ERROR, + SOUP_SSL_ERROR_HANDSHAKE_FAILED, + "SSL handshake failed: %s", + gnutls_strerror (result)); return G_IO_STATUS_ERROR; } diff --git a/libsoup/soup-misc.h b/libsoup/soup-misc.h index 9e7f00d0..45c88834 100644 --- a/libsoup/soup-misc.h +++ b/libsoup/soup-misc.h @@ -61,7 +61,8 @@ GQuark soup_ssl_error_quark (void); typedef enum { SOUP_SSL_ERROR_HANDSHAKE_NEEDS_READ, SOUP_SSL_ERROR_HANDSHAKE_NEEDS_WRITE, - SOUP_SSL_ERROR_CERTIFICATE + SOUP_SSL_ERROR_CERTIFICATE, + SOUP_SSL_ERROR_HANDSHAKE_FAILED } SoupSSLError; typedef enum { |