diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..48a8fc3 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/libsoup-2.56.0.tar.xz diff --git a/.libsoup.metadata b/.libsoup.metadata new file mode 100644 index 0000000..625b2a6 --- /dev/null +++ b/.libsoup.metadata @@ -0,0 +1 @@ +faf72c678d013b8ad9d1d9eecc7e7da8a93c4dd1 SOURCES/libsoup-2.56.0.tar.xz diff --git a/README.md b/README.md deleted file mode 100644 index 0e7897f..0000000 --- a/README.md +++ /dev/null @@ -1,5 +0,0 @@ -The master branch has no content - -Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6 - -If you find this file in a distro specific branch, it means that no content has been checked in yet diff --git a/SOURCES/auth-try-all-available.patch b/SOURCES/auth-try-all-available.patch new file mode 100644 index 0000000..ff35469 --- /dev/null +++ b/SOURCES/auth-try-all-available.patch @@ -0,0 +1,51 @@ +From 6a1ab1eebb64f482a949f04fc1442c13ccb55e11 Mon Sep 17 00:00:00 2001 +From: Tomas Popela +Date: Wed, 27 Sep 2017 19:01:26 +0200 +Subject: [PATCH] Bug 788238 - Fallback to another authentication type if the + current failed + +Fallback to another authentication type if the current failed. More +specifically if the Negotiate failed (kerberos is not properly +configured), then libsoup should fallback to Basic auth (if server +supports it). Currently in such case it is not possible to load the +page at all (in WebKitGTK+). +--- + libsoup/soup-auth-manager.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/libsoup/soup-auth-manager.c b/libsoup/soup-auth-manager.c +index b32ba900..62fe9c40 100644 +--- a/libsoup/soup-auth-manager.c ++++ b/libsoup/soup-auth-manager.c +@@ -354,7 +354,7 @@ create_auth (SoupAuthManagerPrivate *priv, SoupMessage *msg) + const char *header; + SoupAuthClass *auth_class; + char *challenge = NULL; +- SoupAuth *auth; ++ SoupAuth *auth = NULL; + int i; + + header = auth_header_for_message (msg); +@@ -364,14 +364,14 @@ create_auth (SoupAuthManagerPrivate *priv, SoupMessage *msg) + for (i = priv->auth_types->len - 1; i >= 0; i--) { + auth_class = priv->auth_types->pdata[i]; + challenge = soup_auth_manager_extract_challenge (header, auth_class->scheme_name); +- if (challenge) ++ if (!challenge) ++ continue; ++ auth = soup_auth_new (G_TYPE_FROM_CLASS (auth_class), msg, challenge); ++ g_free (challenge); ++ if (auth) + break; + } +- if (!challenge) +- return NULL; + +- auth = soup_auth_new (G_TYPE_FROM_CLASS (auth_class), msg, challenge); +- g_free (challenge); + return auth; + } + +-- +2.14.2 + diff --git a/SOURCES/chunked-decoding-buffer-overrun-CVE-2017-2885.patch b/SOURCES/chunked-decoding-buffer-overrun-CVE-2017-2885.patch new file mode 100644 index 0000000..87970de --- /dev/null +++ b/SOURCES/chunked-decoding-buffer-overrun-CVE-2017-2885.patch @@ -0,0 +1,57 @@ +From 34d361188adc4b4a81457bcffb14588d84078e79 Mon Sep 17 00:00:00 2001 +From: Dan Winship +Date: Thu, 3 Aug 2017 09:56:43 -0400 +Subject: [PATCH] Fix chunked decoding buffer overrun (CVE-2017-2885) + +https://bugzilla.gnome.org/show_bug.cgi?id=785774 +--- + libsoup/soup-filter-input-stream.c | 22 +++++++++++----------- + 1 file changed, 11 insertions(+), 11 deletions(-) + +diff --git a/libsoup/soup-filter-input-stream.c b/libsoup/soup-filter-input-stream.c +index cde4d12..2c30bf9 100644 +--- a/libsoup/soup-filter-input-stream.c ++++ b/libsoup/soup-filter-input-stream.c +@@ -198,7 +198,7 @@ soup_filter_input_stream_read_until (SoupFilterInputStream *fstream, + GCancellable *cancellable, + GError **error) + { +- gssize nread; ++ gssize nread, read_length; + guint8 *p, *buf, *end; + gboolean eof = FALSE; + GError *my_error = NULL; +@@ -251,10 +251,11 @@ soup_filter_input_stream_read_until (SoupFilterInputStream *fstream, + } else + buf = fstream->priv->buf->data; + +- /* Scan for the boundary */ +- end = buf + fstream->priv->buf->len; +- if (!eof) +- end -= boundary_length; ++ /* Scan for the boundary within the range we can possibly return. */ ++ if (include_boundary) ++ end = buf + MIN (fstream->priv->buf->len, length) - boundary_length; ++ else ++ end = buf + MIN (fstream->priv->buf->len - boundary_length, length); + for (p = buf; p <= end; p++) { + if (*p == *(guint8*)boundary && + !memcmp (p, boundary, boundary_length)) { +@@ -268,10 +269,9 @@ soup_filter_input_stream_read_until (SoupFilterInputStream *fstream, + if (!*got_boundary && fstream->priv->buf->len < length && !eof) + goto fill_buffer; + +- /* Return everything up to 'p' (which is either just after the boundary if +- * include_boundary is TRUE, just before the boundary if include_boundary is +- * FALSE, @boundary_len - 1 bytes before the end of the buffer, or end-of- +- * file). +- */ +- return read_from_buf (fstream, buffer, p - buf); ++ if (eof && !*got_boundary) ++ read_length = MIN (fstream->priv->buf->len, length); ++ else ++ read_length = p - buf; ++ return read_from_buf (fstream, buffer, read_length); + } +-- +2.9.4 \ No newline at end of file diff --git a/SOURCES/coverity-scan-issues.patch b/SOURCES/coverity-scan-issues.patch new file mode 100644 index 0000000..ffa1d30 --- /dev/null +++ b/SOURCES/coverity-scan-issues.patch @@ -0,0 +1,74 @@ +diff --git a/libsoup/soup-auth-basic.c b/libsoup/soup-auth-basic.c +index 5f1e718..d8b3226 100644 +--- a/libsoup/soup-auth-basic.c ++++ b/libsoup/soup-auth-basic.c +@@ -74,7 +74,7 @@ soup_auth_basic_get_protection_space (SoupAuth *auth, SoupURI *source_uri) + + /* Strip filename component */ + p = strrchr (space, '/'); +- if (p == space && p[1]) ++ if (p && p == space && p[1]) + p[1] = '\0'; + else if (p && p[1]) + *p = '\0'; +diff --git a/libsoup/soup-auth-negotiate.c b/libsoup/soup-auth-negotiate.c +index 94863d6..f94760c 100644 +--- a/libsoup/soup-auth-negotiate.c ++++ b/libsoup/soup-auth-negotiate.c +@@ -268,7 +268,7 @@ soup_auth_negotiate_update_connection (SoupConnectionAuth *auth, SoupMessage *ms + } else { + /* FIXME: report further upward via + * soup_message_get_error_message */ +- g_warning ("gssapi step failed: %s", err->message); ++ g_warning ("gssapi step failed: %s", err ? err->message : "Unknown error"); + success = FALSE; + } + } else if (!strncmp (header, "Negotiate ", 10)) { +diff --git a/libsoup/soup-message-headers.c b/libsoup/soup-message-headers.c +index a180c6e..abef34c 100644 +--- a/libsoup/soup-message-headers.c ++++ b/libsoup/soup-message-headers.c +@@ -1324,7 +1324,7 @@ content_type_setter (SoupMessageHeaders *hdrs, const char *value) + { + g_free (hdrs->content_type); + if (value) { +- char *content_type, *p; ++ char *content_type = NULL, *p; + + parse_content_foo (hdrs, "Content-Type", &content_type, NULL); + p = strpbrk (content_type, " /"); +diff --git a/libsoup/soup-xmlrpc.c b/libsoup/soup-xmlrpc.c +index 42dcda9..2da6344 100644 +--- a/libsoup/soup-xmlrpc.c ++++ b/libsoup/soup-xmlrpc.c +@@ -588,7 +588,7 @@ signature_get_next_complete_type (const char **signature) + + (*signature)++; + +- if ( (*signature)[0] == stack[stack_len - 1]) ++ if ( stack_len > 0 && (*signature)[0] == stack[stack_len - 1]) + stack_len--; + } while (stack_len > 0); + +diff --git a/tests/test-utils.c b/tests/test-utils.c +index 9c74206..fc58362 100644 +--- a/tests/test-utils.c ++++ b/tests/test-utils.c +@@ -676,6 +678,8 @@ soup_test_request_read_all (SoupRequest *req, + + if (!SOUP_IS_SESSION_SYNC (soup_request_get_session (req))) + data.loop = g_main_loop_new (g_main_context_get_thread_default (), FALSE); ++ else ++ data.loop = NULL; + + do { + if (SOUP_IS_SESSION_SYNC (soup_request_get_session (req))) { +@@ -691,7 +695,7 @@ soup_test_request_read_all (SoupRequest *req, + } + } while (nread > 0); + +- if (!SOUP_IS_SESSION_SYNC (soup_request_get_session (req))) ++ if (data.loop) + g_main_loop_unref (data.loop); + + return nread == 0; diff --git a/SOURCES/crash-under-soup_socket_new.patch b/SOURCES/crash-under-soup_socket_new.patch new file mode 100644 index 0000000..ea511f2 --- /dev/null +++ b/SOURCES/crash-under-soup_socket_new.patch @@ -0,0 +1,52 @@ +diff -up libsoup-2.56.0/libsoup/soup-session.c.crash-under-soup_socket_new libsoup-2.56.0/libsoup/soup-session.c +--- libsoup-2.56.0/libsoup/soup-session.c.crash-under-soup_socket_new 2016-09-16 17:14:27.000000000 +0200 ++++ libsoup-2.56.0/libsoup/soup-session.c 2017-11-15 17:20:52.660392432 +0100 +@@ -369,6 +369,7 @@ soup_session_finalize (GObject *object) + G_OBJECT_CLASS (soup_session_parent_class)->finalize (object); + } + ++/* requires conn_lock */ + static void + ensure_socket_props (SoupSession *session) + { +@@ -784,11 +785,13 @@ soup_session_set_property (GObject *obje + break; + } + ++ g_mutex_lock (&priv->conn_lock); + if (priv->socket_props && socket_props_changed) { + soup_socket_properties_unref (priv->socket_props); + priv->socket_props = NULL; + ensure_socket_props (session); + } ++ g_mutex_unlock (&priv->conn_lock); + } + + static void +@@ -808,7 +811,9 @@ soup_session_get_property (GObject *obje + g_value_set_boxed (value, priv->proxy_uri); + break; + case PROP_PROXY_RESOLVER: ++ g_mutex_lock (&priv->conn_lock); + ensure_socket_props (session); ++ g_mutex_unlock (&priv->conn_lock); + g_value_set_object (value, priv->proxy_resolver); + break; + case PROP_MAX_CONNS: +@@ -829,12 +834,16 @@ soup_session_get_property (GObject *obje + break; + case PROP_SSL_USE_SYSTEM_CA_FILE: + tlsdb = g_tls_backend_get_default_database (g_tls_backend_get_default ()); ++ g_mutex_lock (&priv->conn_lock); + ensure_socket_props (session); ++ g_mutex_unlock (&priv->conn_lock); + g_value_set_boolean (value, priv->tlsdb == tlsdb); + g_clear_object (&tlsdb); + break; + case PROP_TLS_DATABASE: ++ g_mutex_lock (&priv->conn_lock); + ensure_socket_props (session); ++ g_mutex_unlock (&priv->conn_lock); + g_value_set_object (value, priv->tlsdb); + break; + case PROP_TLS_INTERACTION: diff --git a/SOURCES/get-leaks.patch b/SOURCES/get-leaks.patch new file mode 100644 index 0000000..67f77bd --- /dev/null +++ b/SOURCES/get-leaks.patch @@ -0,0 +1,19 @@ +diff -up libsoup-2.56.0/examples/get.c.get-leaks libsoup-2.56.0/examples/get.c +--- libsoup-2.56.0/examples/get.c.get-leaks 2016-09-16 17:14:27.000000000 +0200 ++++ libsoup-2.56.0/examples/get.c 2017-06-20 14:31:00.325517968 +0200 +@@ -90,6 +90,7 @@ get_url (const char *url) + fclose (output_file); + } + } ++ g_object_unref (msg); + } + + /* Inline class for providing a pre-configured client certificate */ +@@ -287,5 +288,7 @@ main (int argc, char **argv) + if (!synchronous) + g_main_loop_unref (loop); + ++ g_object_unref (session); ++ + return 0; + } diff --git a/SOURCES/negotiate-connection-close.patch b/SOURCES/negotiate-connection-close.patch new file mode 100644 index 0000000..0e22774 --- /dev/null +++ b/SOURCES/negotiate-connection-close.patch @@ -0,0 +1,46 @@ +diff -up libsoup-2.56.0/libsoup/soup-auth-negotiate.c.negotiate-connection-close libsoup-2.56.0/libsoup/soup-auth-negotiate.c +--- libsoup-2.56.0/libsoup/soup-auth-negotiate.c.negotiate-connection-close 2017-06-20 14:38:57.074528827 +0200 ++++ libsoup-2.56.0/libsoup/soup-auth-negotiate.c 2017-06-20 14:40:02.165257249 +0200 +@@ -188,7 +188,29 @@ soup_auth_negotiate_get_connection_autho + SoupNegotiateConnectionState *conn = state; + char *header = NULL; + +- if (conn->state == SOUP_NEGOTIATE_RECEIVED_CHALLENGE) { ++ if (conn->state == SOUP_NEGOTIATE_NEW) { ++ GError *err = NULL; ++ ++ if (!check_auth_trusted_uri (auth, msg)) { ++ conn->state = SOUP_NEGOTIATE_FAILED; ++ return NULL; ++ } ++ ++ if (!soup_gss_build_response (conn, SOUP_AUTH (auth), &err)) { ++ /* FIXME: report further upward via ++ * soup_message_get_error_message */ ++ if (conn->initialized) ++ g_warning ("gssapi step failed: %s", err ? err->message : "Unknown error"); ++ else ++ g_warning ("gssapi init failed: %s", err ? err->message : "Unknown error"); ++ conn->state = SOUP_NEGOTIATE_FAILED; ++ g_clear_error (&err); ++ ++ return NULL; ++ } ++ } ++ ++ if (conn->response_header) { + header = conn->response_header; + conn->response_header = NULL; + conn->state = SOUP_NEGOTIATE_SENT_RESPONSE; +@@ -251,7 +273,10 @@ soup_auth_negotiate_update_connection (S + } else { + /* FIXME: report further upward via + * soup_message_get_error_message */ +- g_warning ("gssapi step failed: %s", err ? err->message : "Unknown error"); ++ if (conn->initialized) ++ g_warning ("gssapi step failed: %s", err ? err->message : "Unknown error"); ++ else ++ g_warning ("gssapi init failed: %s", err ? err->message : "Unknown error"); + success = FALSE; + } + } else if (!strncmp (header, "Negotiate ", 10)) { diff --git a/SOURCES/negotiate-internals.patch b/SOURCES/negotiate-internals.patch new file mode 100644 index 0000000..9fd6d97 --- /dev/null +++ b/SOURCES/negotiate-internals.patch @@ -0,0 +1,205 @@ +diff -up libsoup-2.56.0/libsoup/soup-auth-negotiate.c.negotiate-internals libsoup-2.56.0/libsoup/soup-auth-negotiate.c +--- libsoup-2.56.0/libsoup/soup-auth-negotiate.c.negotiate-internals 2016-09-16 17:14:27.000000000 +0200 ++++ libsoup-2.56.0/libsoup/soup-auth-negotiate.c 2017-06-20 14:34:42.018592998 +0200 +@@ -83,11 +83,6 @@ typedef struct { + + typedef struct { + gboolean is_authenticated; +- +- gulong message_finished_signal_id; +- gulong message_got_headers_signal_id; +- +- SoupNegotiateConnectionState *conn_state; + } SoupAuthNegotiatePrivate; + + #define SOUP_AUTH_NEGOTIATE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SOUP_TYPE_AUTH_NEGOTIATE, SoupAuthNegotiatePrivate)) +@@ -108,7 +103,6 @@ static GSList *blacklisted_uris; + static void parse_uris_from_env_variable (const gchar *env_variable, GSList **list); + + static void check_server_response (SoupMessage *msg, gpointer auth); +-static void remove_server_response_handler (SoupMessage *msg, gpointer auth); + + static const char spnego_OID[] = "\x2b\x06\x01\x05\x05\x02"; + static const gss_OID_desc gss_mech_spnego = { sizeof (spnego_OID) - 1, (void *) &spnego_OID }; +@@ -116,12 +110,10 @@ static const gss_OID_desc gss_mech_spneg + static gpointer + soup_auth_negotiate_create_connection_state (SoupConnectionAuth *auth) + { +- SoupAuthNegotiatePrivate *priv = SOUP_AUTH_NEGOTIATE_GET_PRIVATE (auth); + SoupNegotiateConnectionState *conn; + + conn = g_slice_new0 (SoupNegotiateConnectionState); + conn->state = SOUP_NEGOTIATE_NEW; +- priv->conn_state = conn; + + return conn; + } +@@ -137,14 +129,11 @@ static void + soup_auth_negotiate_free_connection_state (SoupConnectionAuth *auth, + gpointer state) + { +- SoupAuthNegotiate *negotiate = SOUP_AUTH_NEGOTIATE (auth); +- SoupAuthNegotiatePrivate *priv = SOUP_AUTH_NEGOTIATE_GET_PRIVATE (negotiate); + SoupNegotiateConnectionState *conn = state; + + free_connection_state_data (conn); + + g_slice_free (SoupNegotiateConnectionState, conn); +- priv->conn_state = NULL; + } + + static GSList * +@@ -226,7 +215,6 @@ soup_auth_negotiate_update_connection (S + #ifdef LIBSOUP_HAVE_GSSAPI + gboolean success = TRUE; + SoupNegotiateConnectionState *conn = state; +- SoupAuthNegotiatePrivate *priv = SOUP_AUTH_NEGOTIATE_GET_PRIVATE (auth); + GError *err = NULL; + + if (!check_auth_trusted_uri (auth, msg)) { +@@ -245,24 +233,19 @@ soup_auth_negotiate_update_connection (S + + conn->state = SOUP_NEGOTIATE_RECEIVED_CHALLENGE; + if (soup_gss_build_response (conn, SOUP_AUTH (auth), &err)) { +- /* Register the callbacks just once */ +- if (priv->message_finished_signal_id == 0) { +- gulong id = 0; +- id = g_signal_connect (msg, +- "finished", +- G_CALLBACK (remove_server_response_handler), +- auth); +- priv->message_finished_signal_id = id; +- } +- +- if (priv->message_got_headers_signal_id == 0) { +- gulong id = 0; ++ /* Connect the signal only once per message */ ++ if (!g_object_get_data (G_OBJECT (msg), "negotiate-got-headers-connected")) { + /* Wait for the 2xx response to verify server response */ +- id = g_signal_connect (msg, ++ g_signal_connect_data (msg, + "got_headers", + G_CALLBACK (check_server_response), +- auth); +- priv->message_got_headers_signal_id = id; ++ g_object_ref (auth), ++ (GClosureNotify) g_object_unref, ++ 0); ++ /* Mark that the signal was connected */ ++ g_object_set_data (G_OBJECT (msg), ++ "negotiate-got-headers-connected", ++ GINT_TO_POINTER (1)); + } + goto out; + } else { +@@ -333,7 +316,11 @@ check_server_response (SoupMessage *msg, + GError *err = NULL; + SoupAuthNegotiate *negotiate = auth; + SoupAuthNegotiatePrivate *priv = SOUP_AUTH_NEGOTIATE_GET_PRIVATE (negotiate); +- SoupNegotiateConnectionState *conn = priv->conn_state; ++ SoupNegotiateConnectionState *conn; ++ ++ conn = soup_connection_auth_get_connection_state_for_message (SOUP_CONNECTION_AUTH (auth), msg); ++ if (!conn) ++ return; + + if (auth != soup_message_get_auth (msg)) + return; +@@ -365,19 +352,6 @@ check_server_response (SoupMessage *msg, + g_clear_error (&err); + } + +-static void +-remove_server_response_handler (SoupMessage *msg, gpointer auth) +-{ +- SoupAuthNegotiate *negotiate = auth; +- SoupAuthNegotiatePrivate *priv = SOUP_AUTH_NEGOTIATE_GET_PRIVATE (negotiate); +- +- g_signal_handler_disconnect (msg, priv->message_got_headers_signal_id); +- priv->message_got_headers_signal_id = 0; +- +- g_signal_handler_disconnect (msg, priv->message_finished_signal_id); +- priv->message_finished_signal_id = 0; +-} +- + /* Check if scheme://host:port from message matches the given URI. */ + static gint + match_base_uri (SoupURI *list_uri, SoupURI *msg_uri) +diff -up libsoup-2.56.0/libsoup/soup-connection-auth.c.negotiate-internals libsoup-2.56.0/libsoup/soup-connection-auth.c +--- libsoup-2.56.0/libsoup/soup-connection-auth.c.negotiate-internals 2016-02-05 16:05:33.000000000 +0100 ++++ libsoup-2.56.0/libsoup/soup-connection-auth.c 2017-06-20 14:31:00.333517935 +0200 +@@ -71,12 +71,31 @@ soup_connection_auth_finalize (GObject * + G_OBJECT_CLASS (soup_connection_auth_parent_class)->finalize (object); + } + +-static gpointer +-get_connection_state_for_message (SoupConnectionAuth *auth, SoupMessage *msg) ++ ++/** ++ * soup_connection_auth_get_connection_state_for_message: ++ * @auth: a #SoupConnectionAuth ++ * @msg: a #SoupMessage ++ * ++ * Returns an associated connection state object for the given @auth and @msg. ++ * ++ * This function is only useful from within implementations of SoupConnectionAuth ++ * subclasses. ++ * ++ * Return value: (transfer none): the connection state ++ * ++ * Since: 2.56 ++ **/ ++gpointer ++soup_connection_auth_get_connection_state_for_message (SoupConnectionAuth *auth, ++ SoupMessage *msg) + { + SoupConnection *conn; + gpointer state; + ++ g_return_val_if_fail (SOUP_IS_CONNECTION_AUTH (auth), NULL); ++ g_return_val_if_fail (SOUP_IS_MESSAGE (msg), NULL); ++ + conn = soup_message_get_connection (msg); + state = g_hash_table_lookup (auth->priv->conns, conn); + if (state) +@@ -98,7 +117,7 @@ soup_connection_auth_update (SoupAuth + GHashTable *auth_params) + { + SoupConnectionAuth *cauth = SOUP_CONNECTION_AUTH (auth); +- gpointer conn = get_connection_state_for_message (cauth, msg); ++ gpointer conn = soup_connection_auth_get_connection_state_for_message (cauth, msg); + GHashTableIter iter; + GString *auth_header; + gpointer key, value; +@@ -140,7 +159,7 @@ soup_connection_auth_get_authorization ( + SoupMessage *msg) + { + SoupConnectionAuth *cauth = SOUP_CONNECTION_AUTH (auth); +- gpointer conn = get_connection_state_for_message (cauth, msg); ++ gpointer conn = soup_connection_auth_get_connection_state_for_message (cauth, msg); + + return SOUP_CONNECTION_AUTH_GET_CLASS (auth)-> + get_connection_authorization (cauth, msg, conn); +@@ -151,7 +170,7 @@ soup_connection_auth_is_ready (SoupAuth + SoupMessage *msg) + { + SoupConnectionAuth *cauth = SOUP_CONNECTION_AUTH (auth); +- gpointer conn = get_connection_state_for_message (cauth, msg); ++ gpointer conn = soup_connection_auth_get_connection_state_for_message (cauth, msg); + + return SOUP_CONNECTION_AUTH_GET_CLASS (auth)-> + is_connection_ready (SOUP_CONNECTION_AUTH (auth), msg, conn); +diff -up libsoup-2.56.0/libsoup/soup-connection-auth.h.negotiate-internals libsoup-2.56.0/libsoup/soup-connection-auth.h +--- libsoup-2.56.0/libsoup/soup-connection-auth.h.negotiate-internals 2016-09-16 17:14:27.000000000 +0200 ++++ libsoup-2.56.0/libsoup/soup-connection-auth.h 2017-06-20 14:31:00.333517935 +0200 +@@ -46,6 +46,10 @@ typedef struct { + + GType soup_connection_auth_get_type (void); + ++SOUP_AVAILABLE_IN_2_56 ++gpointer soup_connection_auth_get_connection_state_for_message ++ (SoupConnectionAuth *auth, ++ SoupMessage *message); + G_END_DECLS + + #endif /* SOUP_CONNECTION_AUTH_H */ diff --git a/SOURCES/tcms-site-warning.patch b/SOURCES/tcms-site-warning.patch new file mode 100644 index 0000000..e13bd2e --- /dev/null +++ b/SOURCES/tcms-site-warning.patch @@ -0,0 +1,36 @@ +diff -up libsoup-2.56.0/libsoup/soup-auth-negotiate.c.tcms-site-warning libsoup-2.56.0/libsoup/soup-auth-negotiate.c +--- libsoup-2.56.0/libsoup/soup-auth-negotiate.c.tcms-site-warning 2017-06-20 14:41:20.593930021 +0200 ++++ libsoup-2.56.0/libsoup/soup-auth-negotiate.c 2017-06-20 14:41:20.601929988 +0200 +@@ -364,13 +364,28 @@ check_server_response (SoupMessage *msg, + + ret = soup_gss_client_step (conn, auth_headers + 10, &err); + +- priv->is_authenticated = ret == AUTH_GSS_COMPLETE; +- +- if (ret == AUTH_GSS_CONTINUE) { ++ switch (ret) { ++ case AUTH_GSS_COMPLETE: ++ priv->is_authenticated = TRUE; ++ break; ++ case AUTH_GSS_CONTINUE: + conn->state = SOUP_NEGOTIATE_RECEIVED_CHALLENGE; +- } else if (ret == AUTH_GSS_ERROR) { ++ break; ++ case AUTH_GSS_ERROR: + if (err) + g_warning ("%s", err->message); ++ /* Unfortunately, so many programs (curl, Firefox, ..) ignore ++ * the return token that is included in the response, so it is ++ * possible that there are servers that send back broken stuff. ++ * Try to behave in the right way (pass the token to ++ * gss_init_sec_context()), show a warning, but don't fail ++ * if the server returned 200. */ ++ if (msg->status_code == SOUP_STATUS_OK) ++ priv->is_authenticated = TRUE; ++ else ++ conn->state = SOUP_NEGOTIATE_FAILED; ++ break; ++ default: + conn->state = SOUP_NEGOTIATE_FAILED; + } + out: diff --git a/SPECS/libsoup.spec b/SPECS/libsoup.spec new file mode 100644 index 0000000..197b89f --- /dev/null +++ b/SPECS/libsoup.spec @@ -0,0 +1,743 @@ +%define glib2_version 2.38.0 + +Name: libsoup +Version: 2.56.0 +Release: 6%{?dist} +Summary: Soup, an HTTP library implementation + +License: LGPLv2 +URL: https://wiki.gnome.org/Projects/libsoup +Source0: https://download.gnome.org/sources/%{name}/2.56/%{name}-%{version}.tar.xz + +Patch01: coverity-scan-issues.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=1439798 +# https://bugzilla.gnome.org/show_bug.cgi?id=782939 +Patch02: get-leaks.patch +# https://bugzilla.gnome.org/show_bug.cgi?id=782940 +Patch03: negotiate-internals.patch +# https://bugzilla.gnome.org/show_bug.cgi?id=783780 +Patch04: negotiate-connection-close.patch +# https://bugzilla.gnome.org/show_bug.cgi?id=783781 +Patch05: tcms-site-warning.patch +# https://bugzilla.gnome.org/show_bug.cgi?id=785774 +# https://bugzilla.redhat.com/show_bug.cgi?id=1479281 +Patch06: chunked-decoding-buffer-overrun-CVE-2017-2885.patch +# http://bugzilla.gnome.org/show_bug.cgi?id=788238 +# https://bugzilla.redhat.com/show_bug.cgi?id=1495552 +Patch07: auth-try-all-available.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=1513355 +Patch08: crash-under-soup_socket_new.patch + +BuildRequires: glib2-devel >= %{glib2_version} +BuildRequires: glib-networking +BuildRequires: intltool +BuildRequires: krb5-devel >= 1.11 +BuildRequires: pkgconfig(gobject-introspection-1.0) +BuildRequires: pkgconfig(libxml-2.0) +BuildRequires: pkgconfig(sqlite3) +BuildRequires: vala + +Requires: glib2%{?_isa} >= %{glib2_version} +Requires: glib-networking%{?_isa} >= %{glib2_version} + +%description +Libsoup is an HTTP library implementation in C. It was originally part +of a SOAP (Simple Object Access Protocol) implementation called Soup, but +the SOAP and non-SOAP parts have now been split into separate packages. + +libsoup uses the Glib main loop and is designed to work well with GTK +applications. This enables GNOME applications to access HTTP servers +on the network in a completely asynchronous fashion, very similar to +the Gtk+ programming model (a synchronous operation mode is also +supported for those who want it). + +%package devel +Summary: Header files for the Soup library +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +Libsoup is an HTTP library implementation in C. This package allows +you to develop applications that use the libsoup library. + +%prep +%setup -q +%patch01 -p1 -b .coverity-scan-issues +%patch02 -p1 -b .get-leaks +%patch03 -p1 -b .negotiate-internals +%patch04 -p1 -b .negotiate-connection-close +%patch05 -p1 -b .tcms-site-warning +%patch06 -p1 -b .cve-2017-2885 +%patch07 -p1 -b .auth-try-all +%patch08 -p1 -b .crash-under-soup_socket_new + +%build +%configure --disable-static + +# Omit unused direct shared library dependencies. +sed --in-place --expression 's! -shared ! -Wl,--as-needed\0!g' libtool + +make %{?_smp_mflags} + +%install +%make_install + +rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la + +%find_lang libsoup + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%files -f libsoup.lang +%license COPYING +%doc README NEWS AUTHORS +%{_libdir}/lib*.so.* +%{_libdir}/girepository-1.0/Soup*2.4.typelib + +%files devel +%{_includedir}/%{name}-2.4 +%{_includedir}/%{name}-gnome-2.4 +%{_libdir}/*.so +%{_libdir}/pkgconfig/*.pc +%{_datadir}/gir-1.0/Soup*2.4.gir +%{_datadir}/gtk-doc/html/%{name}-2.4 +%dir %{_datadir}/vala +%dir %{_datadir}/vala/vapi +%{_datadir}/vala/vapi/libsoup-2.4.deps +%{_datadir}/vala/vapi/libsoup-2.4.vapi + +%changelog +* Wed Nov 15 2017 Milan Crha - 2.56.0-6 +- Fix for crash under soup_socket_new() (rh #1513355) + +* Fri Sep 29 2017 Tomas Popela - 2.56.0-5 +- libsoup should fallback to another authentication type if the current failed (rh #1495552) + +* Wed Aug 09 2017 Tomas Popela - 2.56.0-4 +- Fix chunked decoding buffer overrun (CVE-2017-2885) (rh #1479321) + +* Thu Jun 22 2017 Tomas Popela - 2.56.0-3 +- libsoup stuck on infinite loop for kerberized pages (rh #1439798) + +* Wed Apr 26 2017 Milan Crha - 2.56.0-2 +- Add patch to address some of Coverity Scan and clang reported issues + +* Mon Sep 19 2016 Kalev Lember - 2.56.0-1 +- Update to 2.56.0 +- Resolves: #1387019 + +* Tue Apr 19 2016 Milan Crha - 2.48.1-6 +- NTLM auth failure with latest samba (rh #1328453) + +* Wed Apr 13 2016 Milan Crha - 2.48.1-5 +- soup_headers_parse: deal with NUL bytes in headers (rh #1302366) + +* Wed Apr 13 2016 Milan Crha - 2.48.1-4 +- Update ja.po translation file (rh #1304238) + +* Tue May 26 2015 Dan Winship - 2.48.1-3 +- Fix "make check" when LC_ALL is set (rh #1224989) + +* Mon Apr 27 2015 Dan Winship - 2.48.1-2 +- Update to 2.48.1 +- Resolves: #1174446 + +* Sun Oct 19 2014 Dan Winship - 2.46.0-3 +- Apply upstream patch to fix a crash in evolution (rh #1097202) + +* Thu Jul 24 2014 Dan Winship - 2.46.0-2 +- Apply upstream patch to add SoupSession:tls-interaction (rh #1104368) + +* Thu Jul 24 2014 Dan Winship - 2.46.0-1 +- Rebase to 2.46 (rh #1104368) + +* Fri Jan 24 2014 Daniel Mach - 2.42.2-3 +- Mass rebuild 2014-01-24 + +* Fri Dec 27 2013 Daniel Mach - 2.42.2-2 +- Mass rebuild 2013-12-27 + +* Mon Apr 29 2013 Kalev Lember - 2.42.2-1 +- Update to 2.42.2 + +* Tue Apr 16 2013 Richard Hughes - 2.42.1-1 +- Update to 2.42.1 + +* Tue Mar 26 2013 Kalev Lember - 2.42.0-1 +- Update to 2.42.0 + +* Tue Mar 19 2013 Richard Hughes - 2.41.92-1 +- Update to 2.41.92 + +* Thu Mar 7 2013 Matthias Clasen - 2.41.91-1 +- Update to 2.41.91 + +* Tue Feb 19 2013 Richard Hughes - 2.41.90-1 +- Update to 2.41.90 + +* Wed Feb 06 2013 Kalev Lember - 2.41.5-1 +- Update to 2.41.5 + +* Tue Jan 15 2013 Matthias Clasen - 2.41.4-1 +- Updat e to 2.41.4 + +* Thu Dec 20 2012 Kalev Lember - 2.41.3-1 +- Update to 2.41.3 +- Remove libgnome-keyring build dep; no longer used + +* Tue Nov 20 2012 Richard Hughes - 2.41.2-1 +- Update to 2.41.2 + +* Fri Nov 09 2012 Kalev Lember - 2.41.1-1 +- Update to 2.41.1 + +* Tue Oct 16 2012 Kalev Lember - 2.40.1-1 +- Update to 2.40.1 + +* Tue Oct 2 2012 Matthias Clasen - 2.40.0-1 +- Update to 2.40.0 + +* Fri Jul 27 2012 Fedora Release Engineering - 2.39.4.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue Jul 17 2012 Richard Hughes - 2.39.4.1-1 +- Update to 2.39.4.1 + +* Wed Jun 27 2012 Richard Hughes - 2.39.3-1 +- Update to 2.39.3 + +* Thu Jun 07 2012 Richard Hughes - 2.39.2-1 +- Update to 2.39.2 + +* Sat May 05 2012 Kalev Lember - 2.39.1-1 +- Update to 2.39.1 +- Package the translations + +* Tue Apr 17 2012 Kalev Lember - 2.38.1-1 +- Update to 2.38.1 + +* Wed Mar 28 2012 Richard Hughes - 2.38.0-1 +- Update to 2.38.0 + +* Wed Mar 21 2012 Kalev Lember - 2.37.92-1 +- Update to 2.37.92 + +* Mon Mar 5 2012 Matthias Clasen - 2.37.91-1 +- Update to 2.37.91 + +* Sat Feb 25 2012 Matthias Clasen - 2.37.90-1 +- Update to 2.37.90 + +* Mon Feb 13 2012 Matthias Clasen - 2.37.5.1-1 +- Update to 2.37.5.1 + +* Mon Feb 6 2012 Matthias Clasen - 2.37.5-1 +- Update to 2.37.5 + +* Tue Jan 17 2012 Matthias Clasen - 2.37.4-1 +- Update to 2.37.4 + +* Fri Jan 13 2012 Fedora Release Engineering - 2.37.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Dec 20 2011 Matthias Clasen - 2.37.3-1 +- Update to 2.37.3 + +* Mon Nov 21 2011 Matthias Clasen - 2.37.2-1 +- Update to 2.37.2 + +* Wed Nov 2 2011 Matthias Clasen - 2.37.1-1 +- Update to 2.37.1 + +* Wed Oct 26 2011 Fedora Release Engineering - 2.36.1-2 +- Rebuilt for glibc bug#747377 + +* Tue Oct 18 2011 Matthias Clasen - 2.36.1-1 +- Update to 2.36.1 + +* Mon Sep 26 2011 Ray - 2.36.0-1 +- Update to 2.36.0 + +* Mon Sep 19 2011 Matthias Clasen 2.35.92-1 +- Update to 2.35.92 + +* Tue Aug 30 2011 Matthias Clasen 2.35.90-1 +- Update to 2.35.90 + +* Wed Aug 17 2011 Matthias Clasen 2.35.5-1 +- Update to 2.35.5 + +* Tue Jul 05 2011 Bastien Nocera 2.35.3-1 +- Update to 2.35.3 + +* Tue Apr 26 2011 Matthias Clasen - 2.34.1-1 +- Update to 2.34.1 + +* Mon Apr 4 2011 Matthias Clasen - 2.34.0-1 +- Update to 2.34.0 + +* Tue Mar 22 2011 Matthias Clasen - 2.33.92-2 +- Clean up BRs + +* Tue Mar 22 2011 Matthias Clasen - 2.33.92-1 +- 2.33.92 + +* Tue Feb 22 2011 Matthias Clasen - 2.33.90-1 +- 2.33.90 + +* Tue Feb 08 2011 Fedora Release Engineering - 2.33.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Feb 2 2011 Christopher Aillon - 2.33.6-1 +- Update to 2.33.6 + +* Mon Jan 17 2011 Dan Winship - 2.33.5-2 +- Require glib-networking, for TLS support + +* Mon Jan 10 2011 Matthias Clasen - 2.33.5-1 +- Update to 2.33.5 + +* Thu Dec 2 2010 Dan Winship - 2.32.2-1 +- Update to 2.32.2 + +* Thu Nov 11 2010 Dan HorĂ¡k - 2.32.0-2 +- bump release to win over F-14 + +* Tue Sep 28 2010 Matthias Clasen - 2.32.0-1 +- Update to 2.32.0 + +* Tue Sep 21 2010 Matthias Clasen - 2.31.92-1 +- Update to 2.31.92 + +* Wed Aug 18 2010 Matthias Clasen - 2.31.90-1 +- Update to 2.31.90 + +* Tue Aug 3 2010 Matthias Clasen - 2.31.6-1 +- Update to 2.31.6 + +* Thu Jul 15 2010 Colin Walters - 2.31.2-5 +- Rebuild with new gobject-introspection + +* Fri Jul 2 2010 Matthias Clasen - 2.31.2-4 +- Rebuild for introspection format break + +* Wed Jun 23 2010 Matthew Barnes - 2.31.2-3 +- libsoup-devel doesn't need gtk-doc (RH bug #604396). + +* Mon Jun 21 2010 Peter Robinson - 2.31.2-2 +- enable introspection support + +* Thu May 27 2010 Matthias Clasen - 2.31.2-1 +- Update to 2.31.2 + +* Tue Apr 27 2010 Matthias Clasen - 2.30.1-1 +- Update to 2.30.1 + +* Mon Mar 29 2010 Matthias Clasen - 2.30.0-1 +- Update to 2.30.0 + +* Thu Mar 25 2010 Nils Philippsen - 2.29.91-2 +- rebuild for new libproxy + +* Mon Feb 22 2010 Matthias Clasen - 2.29.91-1 +- Update to 2.29.91 + +* Mon Feb 08 2010 Matthew Barnes - 2.29.90-1 +- Update to 2.29.90 + +* Tue Jan 26 2010 Matthias Clasen - 2.29.6-1 +- Update to 2.29.6 + +* Sat Jan 16 2010 Matthias Clasen - 2.29.5-1 +- Update to 2.29.5 + +* Wed Dec 9 2009 Dan Winship - 2.29.3-2 +- Add patch from git to fix gir-repository build + +* Tue Dec 01 2009 Bastien Nocera 2.29.3-1 +- Update to 2.29.3 + +* Mon Sep 21 2009 Matthias Clasen - 2.28.0-1 +- Update to 2.28.0 + +* Mon Sep 7 2009 Matthias Clasen - 2.27.92-1 +- Update to 2.27.92 + +* Mon Aug 24 2009 Matthias Clasen - 2.27.91-1 +- Update to 2.27.91 + +* Tue Aug 11 2009 Matthias Clasen - 2.27.90-1 +- Update to 2.27.90 + +* Tue Jul 28 2009 Matthias Clasen - 2.27.5-1 +- Update to 2.27.5 + +* Sat Jul 25 2009 Fedora Release Engineering - 2.27.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Mon Jul 13 2009 Matthew Barnes - 2.27.4-1 +- Update to 2.27.4 + +* Wed Jun 17 2009 Matthias Clasen - 2.27.2-1 +- Update to 2.27.2 + +* Mon May 18 2009 Bastien Nocera 2.27.1-1 +- Update to 2.27.1 + +* Mon Apr 13 2009 Matthias Clasen - 2.26.1-1 +- Update to 2.26.1 +- See http://download.gnome.org/sources/libsoup/2.26/libsoup-2.26.1.changes + +* Thu Apr 9 2009 Matthias Clasen - 2.26.0.9-1 +- Upate to 2.26.0.9 + +* Mon Mar 16 2009 Matthias Clasen - 2.26.0-1 +- Update to 2.26.0 + +* Wed Feb 25 2009 Fedora Release Engineering - 2.25.91-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Mon Feb 16 2009 Matthew Barnes - 2.25.91-1 +- Update to 2.25.91 + +* Mon Feb 02 2009 Matthew Barnes - 2.25.5-1 +- Update to 2.25.5 + +* Sun Jan 25 2009 Matthias Clasen - 2.25.4-2 +- Build against libproxy + +* Mon Jan 05 2009 Matthew Barnes - 2.25.4-1 +- Update to 2.25.4 + +* Tue Dec 16 2008 Matthew Barnes - 2.25.3-1 +- Update to 2.25.3 + +* Mon Dec 01 2008 Matthew Barnes - 2.25.2-1 +- Update to 2.25.2 + +* Wed Nov 12 2008 Matthias Clasen - 2.25.1-3 +- Fix BuildRequires + +* Fri Nov 07 2008 Matthew Barnes - 2.25.1-1 +- Update to 2.25.1 + +* Mon Oct 20 2008 Matthias Clasen - 2.24.1-1 +- Update to 2.24.1 + +* Wed Sep 24 2008 Matthias Clasen - 2.24.0.1-1 +- Update to 2.24.0.1 + +* Mon Sep 22 2008 Matthias Clasen - 2.24.0-1 +- Update to 2.24.0 + +* Mon Sep 8 2008 Matthias Clasen - 2.23.92-1 +- Update to 2.23.92 + +* Mon Sep 01 2008 Matthew Barnes - 2.23.91-1 +- Update to 2.23.91 + +* Mon Aug 04 2008 Matthew Barnes - 2.23.6-1 +- Update to 2.23.6 + +* Wed Jul 30 2008 Matthew Barnes - 2.23.1-6 +- Omit unused direct shared library dependencies (RH bug #226046). + +* Tue Jun 24 2008 Tomas Mraz - 2.23.1-5 +- rebuild with new gnutls + +* Sun Jun 22 2008 Matthew Barnes - 2.23.1-4 +- Remove unnecessary pkgconfig build requirement. + +* Mon Jun 16 2008 Matthew Barnes - 2.23.1-3 +- Incorporate package review feedback (RH bug #226046). + +* Sun May 4 2008 Matthias Clasen - 2.23.1-2 +- Fix source url + +* Mon Apr 21 2008 Matthew Barnes - 2.23.1-1 +- Update to 2.23.1 + +* Mon Apr 07 2008 Matthew Barnes - 2.4.1-1 +- Update to 2.4.1 + +* Mon Mar 10 2008 Matthias Clasen - 2.4.0-1 +- Update to 2.4.0 + +* Mon Feb 25 2008 Matthew Barnes - 2.3.4-1 +- Update to 2.3.4 + +* Wed Feb 13 2008 Matthew Barnes - 2.3.2-1 +- Update to 2.3.2 + +* Mon Jan 28 2008 Matthew Barnes - 2.3.0-1 +- Update to 2.3.0 +- Bump glib2 requirement to >= 2.15.3. +- Clean up some redundant dependencies. +- Remove patch for RH bug #327871 (fixed in glibc). + +* Mon Nov 26 2007 Matthew Barnes - 2.2.104-1 +- Update to 2.2.104 + +* Sun Oct 28 2007 Jeremy Katz - 2.2.103-1 +- update to 2.2.103 to fix a rhythmbox crasher (#343561) + +* Mon Oct 15 2007 Matthew Barnes - 2.2.102-1 +- Update to 2.2.102 + +* Thu Oct 11 2007 Matthew Barnes - 2.2.101-2 +- Add patch for RH bug #327871 (broken Rhythmbox build). +- Suspect this is really a glibc bug. + +* Fri Oct 05 2007 Matthew Barnes - 2.2.101-1 +- Update to 2.2.101 + +* Wed Aug 8 2007 Matthias Clasen - 2.2.100-3 +- Update the license field + +* Sat Apr 21 2007 Matthias Clasen - 2.2.100-2 +- Don't install INSTALL + +* Mon Feb 12 2007 Matthew Barnes - 2.2.100-1 +- Update to 2.2.100 + +* Mon Jan 08 2007 Matthew Barnes - 2.2.99-1 +- Update to 2.2.99 + +* Tue Nov 21 2006 Matthew Barnes - 2.2.98-1 +- Update to 2.2.98 +- Remove patch for RH bug #215919 (fixed upstream). + +* Fri Nov 17 2006 Matthias Clasen - 2.2.97-2 +- Avoid accidentally exported symbols (#215919) + +* Mon Nov 06 2006 Matthew Barnes - 2.2.97-1 +- Update to 2.2.97 +- Remove patch for Gnome.org bug #356809 (fixed upstream). + +* Fri Nov 03 2006 Matthew Barnes - 2.2.96-5 +- Revised patch for Gnome.org bug #356809 to match upstream. + +* Sun Oct 01 2006 Jesse Keating - 2.2.96-4 +- rebuilt for unwind info generation, broken in gcc-4.1.1-21 + +* Wed Sep 20 2006 Matthew Barnes - 2.2.96-3.fc6 +- Add patch for Gnome.org bug #356809 (lingering file on uninstall). + +* Tue Aug 15 2006 Matthew Barnes - 2.2.96-2.fc6 +- Rebuild + +* Tue Jul 25 2006 Matthew Barnes - 2.2.96 +- Update to 2.2.96 +- Bump glib2 requirement to >= 2.6. + +* Wed Jul 12 2006 Matthew Barnes - 2.2.95.1-1 +- Update to 2.2.95.1 + +* Wed Jul 12 2006 Jesse Keating - 2.2.94-3.1 +- rebuild + +* Wed Jun 14 2006 Tomas Mraz - 2.2.94-3 +- rebuilt with new gnutls + +* Tue Jun 13 2006 Matthias Clasen - 2.2.94-1 +- Update to 2.2.94 + +* Mon Apr 10 2006 Matthias Clasen - 2.2.92-2 +- Update to 2.2.92 + +* Sat Mar 4 2006 Matthias Clasen - 2.2.91-1 +- Update to 2.2.91 + +* Wed Feb 15 2006 Matthias Clasen - 2.2.7-2 +- Remove excessive Requires for the -devel package + +* Fri Feb 10 2006 Jesse Keating - 2.2.7-1.2.1 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Jesse Keating - 2.2.7-1.2 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Tue Nov 29 2005 David Malcolm - 2.2.7-1 +- 2.2.7 +- Remove static library + +* Tue Aug 23 2005 David Malcolm - 2.2.6.1-1 +- 2.2.6.1 + +* Tue Aug 9 2005 David Malcolm - 2.2.5-1 +- 2.2.5 +- Removed gnome-bug-306877-soup-connection-ntlm.c.patch (#160071) as this is + now in upstream tarball + +* Mon Aug 8 2005 Tomas Mraz - 2.2.3-5 +- rebuild with new gnutls + +* Tue Jun 14 2005 David Malcolm - 2.2.3-4 +- add patch for NTLM domains (#160071) + +* Sun Apr 24 2005 Florian La Roche +- rebuild for new gnutls + +* Thu Mar 17 2005 David Malcolm - 2.2.3-2 +- explicitly enable gtk-doc support + +* Thu Mar 17 2005 David Malcolm - 2.2.3-1 +- 2.2.3 + +* Wed Mar 2 2005 David Malcolm - 2.2.2-3 +- rebuild with GCC 4 + +* Wed Jan 26 2005 David Malcolm - 2.2.2-2 +- actually uploaded the source this time + +* Wed Jan 26 2005 David Malcolm - 2.2.2-1 +- update from 2.2.1 to 2.2.2 +- add explicit devel requirements on glib2-devel, pkgconfig, gtk-doc, gnutls-devel and libxml2-devel + +* Tue Oct 12 2004 David Malcolm - 2.2.1-1 +- update from 2.2.0 to 2.2.1 + +* Wed Oct 6 2004 David Malcolm - 2.2.0-3 +- added requirement on libxml2 (#134700) + +* Wed Sep 22 2004 David Malcolm - 2.2.0-2 +- added requirement on gnutls, so that we build with SSL support +- fixed source download path + +* Tue Aug 31 2004 David Malcolm - 2.2.0-1 +- update from 2.1.13 to 2.2.0 + +* Mon Aug 16 2004 David Malcolm - 2.1.13-1 +- 2.1.13 + +* Tue Jul 20 2004 David Malcolm - 2.1.12-1 +- 2.1.12 + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Mon Jun 7 2004 David Malcolm - 2.1.11-1 +- 2.1.11 + +* Thu May 20 2004 David Malcolm - 2.1.10-2 +- added missing md5 file + +* Thu May 20 2004 David Malcolm - 2.1.10-1 +- 2.1.10 + +* Tue Apr 20 2004 David Malcolm - 2.1.9-1 +- Update to 2.1.9; added gtk-doc to BuildRequires and the generated files to the devel package + +* Wed Mar 10 2004 Jeremy Katz - 2.1.8-1 +- 2.1.8 + +* Tue Mar 02 2004 Elliot Lee +- rebuilt + +* Tue Feb 17 2004 Jeremy Katz - 2.1.7-1 +- 2.1.7 + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Mon Jan 26 2004 Jeremy Katz 2.1.5-1 +- 2.1.5 + +* Wed Jan 14 2004 Jeremy Katz 2.1.4-0 +- update to 2.1.4 + +* Sat Jan 3 2004 Jeremy Katz 2.1.3-0 +- update to 2.1.3 + +* Tue Sep 23 2003 Jeremy Katz 1.99.26-2 +- rebuild + +* Fri Sep 19 2003 Jeremy Katz 1.99.26-1 +- 1.99.26 + +* Tue Jul 15 2003 Jeremy Katz 1.99.23-3 +- rebuild to pickup ppc64 + +* Mon Jun 9 2003 Jeremy Katz 1.99.23-2 +- rebuild +- no openssl on ppc64 yet, excludearch + +* Mon Jun 9 2003 Jeremy Katz 1.99.23-1 +- 1.99.23 + +* Thu Jun 5 2003 Elliot Lee +- rebuilt + +* Thu Jun 5 2003 Jeremy Katz 1.99.22-2 +- rebuild + +* Sun May 25 2003 Jeremy Katz 1.99.22-1 +- 1.99.22 + +* Tue May 6 2003 Jeremy Katz 1.99.20-1 +- 1.99.20 + +* Sun May 4 2003 Jeremy Katz 1.99.17-3 +- include ssl proxy so that ssl urls work properly (#90165, #90166) + +* Wed Apr 16 2003 Jeremy Katz 1.99.17-2 +- forward port patch to use a union initializer to fix build on x86_64 + +* Wed Apr 16 2003 Jeremy Katz 1.99.17-1 +- rename package to libsoup +- update to 1.99.17 +- don't obsolete soup for now, it's parallel installable + +* Sun Apr 6 2003 Jeremy Katz 0.7.11-1 +- update to 0.7.11 + +* Wed Apr 2 2003 Matt Wilson 0.7.10-5 +- added soup-0.7.10-64bit.patch to fix 64 bit platforms (#86347) + +* Sat Feb 01 2003 Florian La Roche +- only runtime libs in normal rpm + +* Wed Jan 22 2003 Tim Powers +- rebuilt + +* Tue Jan 21 2003 Jeremy Katz +- update url (#82347) + +* Tue Jan 7 2003 Nalin Dahyabhai 0.7.10-2 +- use pkgconfig's openssl configuration information, if it exists + +* Fri Dec 13 2002 Jeremy Katz 0.7.10-1 +- update to 0.7.10 + +* Thu Dec 12 2002 Jeremy Katz 0.7.9-4 +- fix fpic patch +- soup-devel should require soup + +* Thu Dec 12 2002 Jeremy Katz 0.7.9-3 +- better lib64 patch +- fix building of libwsdl-build to use libtool so that it gets built + with -fPIC as needed + +* Tue Dec 10 2002 Jeremy Katz 0.7.9-2 +- change popt handling in configure slightly so that it will work on + multilib arches + +* Tue Dec 10 2002 Jeremy Katz 0.7.9-1 +- update to 0.7.9, pulling the tarball out of Ximian packages + +* Wed Oct 23 2002 Jeremy Katz 0.7.4-3 +- fix to not try to include non-existent doc files and remove all + unwanted files from the build +- include api docs +- don't build the apache module + +* Wed Sep 25 2002 Jeremy Katz 0.7.4-2 +- various specfile tweaks to include in Red Hat Linux +- include all the files + +* Tue Jan 23 2001 Alex Graveley +- Inital RPM config.