[libsoup/f20] Fix spurious "Invalid Password" errors in evolution with NTLM (#1088458)

Dan Winship danw at fedoraproject.org
Tue Oct 21 15:33:21 UTC 2014


commit 3ee318228c78bf2d9ab60ff31070927f7e221c85
Author: Dan Winship <danw at gnome.org>
Date:   Wed Jul 23 12:24:44 2014 -0400

    Fix spurious "Invalid Password" errors in evolution with NTLM (#1088458)

 libsoup.spec             |    7 ++++++-
 rh1088458-ntlm-fix.patch |   23 +++++++++++++++++++++++
 2 files changed, 29 insertions(+), 1 deletions(-)
---
diff --git a/libsoup.spec b/libsoup.spec
index 4832e1d..167f02f 100644
--- a/libsoup.spec
+++ b/libsoup.spec
@@ -4,13 +4,14 @@
 
 Name: libsoup
 Version: 2.44.2
-Release: 1%{?dist}
+Release: 2%{?dist}
 License: LGPLv2
 Group: Development/Libraries
 Summary: Soup, an HTTP library implementation
 URL: http://live.gnome.org/LibSoup
 #VCS: git:git://git.gnome.org/libsoup
 Source: http://download.gnome.org/sources/libsoup/2.44/libsoup-%{version}.tar.xz
+Patch1: rh1088458-ntlm-fix.patch
 Requires: glib-networking >= %{glib2_version}
 
 ### Build Dependencies ###
@@ -47,6 +48,7 @@ you to develop applications that use the libsoup library.
 
 %prep
 %setup -q
+%patch1 -p1 -b .ntlm-fix
 
 %build
 %configure --disable-static
@@ -81,6 +83,9 @@ rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la
 %{_datadir}/gtk-doc/html/%{name}-2.4
 
 %changelog
+* Tue Oct 21 2014 Dan Winship <danw at redhat.com> - 2.44.2-2
+- Fix spurious "Invalid Password" errors in evolution with NTLM (#1088458)
+
 * Tue Nov 12 2013 Richard Hughes <rhughes at redhat.com> - 2.44.2-1
 - Update to 2.44.2
 
diff --git a/rh1088458-ntlm-fix.patch b/rh1088458-ntlm-fix.patch
new file mode 100644
index 0000000..7b0fbde
--- /dev/null
+++ b/rh1088458-ntlm-fix.patch
@@ -0,0 +1,23 @@
+diff -up libsoup-2.44.2/libsoup/soup-auth-ntlm.c.ntlm-fix libsoup-2.44.2/libsoup/soup-auth-ntlm.c
+--- libsoup-2.44.2/libsoup/soup-auth-ntlm.c.ntlm-fix	2013-11-11 11:02:00.000000000 -0400
++++ libsoup-2.44.2/libsoup/soup-auth-ntlm.c	2014-04-29 11:52:15.974627250 -0400
+@@ -300,12 +300,14 @@ soup_auth_ntlm_update_connection (SoupCo
+ 	if (conn->state > SOUP_NTLM_SENT_REQUEST) {
+ 		if (priv->password_state == SOUP_NTLM_PASSWORD_ACCEPTED) {
+ 			/* We know our password is correct, so a 401
+-			 * means "permission denied". Since the conn
+-			 * state is now FAILED, the auth is no longer
+-			 * is_ready() for this message, so this will
+-			 * cause a "retrying" authenticate signal.
++			 * means "permission denied". The code can't deal
++			 * with re-authenticating correctly, so make sure
++			 * we don't try.
+ 			 */
+-			conn->state = SOUP_NTLM_FAILED;
++			if (soup_message_is_keepalive (msg)) {
++				soup_message_headers_append (msg->response_headers,
++							     "Connection", "close");
++			}
+ 			return TRUE;
+ 		}
+ 


More information about the scm-commits mailing list