rpms/gdm/F-8 gdm-2.20.1-fix-xdmcp.patch, NONE, 1.1 gdm.spec, 1.309, 1.310

Ray Strode (rstrode) fedora-extras-commits at redhat.com
Thu Nov 15 14:41:55 UTC 2007


Author: rstrode

Update of /cvs/pkgs/rpms/gdm/F-8
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv27849

Modified Files:
	gdm.spec 
Added Files:
	gdm-2.20.1-fix-xdmcp.patch 
Log Message:
- Apply upstream patch to make xdmcp work better (bug 379511)


gdm-2.20.1-fix-xdmcp.patch:

--- NEW FILE gdm-2.20.1-fix-xdmcp.patch ---
--- gdm-2.20.1-orig/common/gdm-common.c	2007-10-15 14:42:43.000000000 -0700
+++ gdm-2.20.1/common/gdm-common.c	2007-11-07 03:47:39.743191000 -0800
@@ -107,7 +107,7 @@
 	host [0] = '\0';
 	serv [0] = '\0';
 	getnameinfo ((const struct sockaddr *)ss,
-		     sizeof (struct sockaddr_storage),
+		     gdm_sockaddr_len(ss),
 		     host, sizeof (host),
 		     serv, sizeof (serv),
		     NI_NUMERICHOST | NI_NUMERICSERV);
--- gdm-2.20.1-orig/common/gdm-common.h	2007-10-15 14:42:43.000000000 -0700
+++ gdm-2.20.1/common/gdm-common.h	2007-11-07 03:39:21.170717000 -0800
@@ -38,6 +38,7 @@
 
 G_BEGIN_DECLS
 
+#define		gdm_sockaddr_len(sa)	(((struct sockaddr *)sa)->sa_family == AF_INET6 ? sizeof(struct sockaddr_in6) : sizeof(struct sockaddr_in))
 
 gboolean     gdm_address_equal        (struct sockaddr_storage *sa,
                                        struct sockaddr_storage *sb);
--- gdm-2.20.1-orig/daemon/gdm-xdmcp-manager.c	2007-10-15 14:43:04.000000000 -0700
+++ gdm-2.20.1/daemon/gdm-xdmcp-manager.c	2007-11-07 03:39:02.292252000 -0800
@@ -762,7 +762,7 @@
 	XdmcpFlush (manager->priv->socket_fd,
 		    &manager->priv->buf,
 		    (XdmcpNetaddr)clnt_sa,
-		    (int)sizeof (struct sockaddr_storage));
+		    (int)gdm_sockaddr_len(clnt_sa));
 
 	g_free (status.data);
 }
@@ -805,7 +805,7 @@
 	XdmcpFlush (manager->priv->socket_fd,
 		    &manager->priv->buf,
 		    (XdmcpNetaddr)clnt_sa,
-		    (int)sizeof (struct sockaddr_storage));
+		    (int)gdm_sockaddr_len(clnt_sa));
 
 	last_time = time (NULL);
 }
@@ -907,7 +907,7 @@
 	XdmcpFlush (manager->priv->socket_fd,
 		    &manager->priv->buf,
 		    (XdmcpNetaddr) sa,
-		    (int)sizeof (struct sockaddr_storage));
+		    (int)gdm_sockaddr_len(clnt_sa));
 
 	g_free (port.data);
 	g_free (address.data);
@@ -1435,7 +1435,7 @@
 	XdmcpFlush (manager->priv->socket_fd,
 		    &manager->priv->buf,
 		    (XdmcpNetaddr)clnt_sa,
-		    (int)sizeof (struct sockaddr_storage));
+		    (int)gdm_sockaddr_len(clnt_sa));
 
 	g_free (address.data);
 }
@@ -1507,7 +1507,7 @@
 	XdmcpFlush (manager->priv->socket_fd,
 		    &manager->priv->buf,
 		    (XdmcpNetaddr)clnt_sa,
-		    (int)sizeof (struct sockaddr_storage));
+		    (int)gdm_sockaddr_len(clnt_sa));
 }
 
 static void
@@ -1655,7 +1655,7 @@
 	XdmcpFlush (manager->priv->socket_fd,
 		    &manager->priv->buf,
 		    (XdmcpNetaddr)clnt_sa,
-		    (int)sizeof (struct sockaddr_storage));
+		    (int)gdm_sockaddr_len(clnt_sa));
 
 	/* Send MANAGED_FORWARD to indicate that the connection
 	 * reached some sort of resolution */
@@ -1805,7 +1805,7 @@
 	XdmcpFlush (manager->priv->socket_fd,
 		    &manager->priv->buf,
 		    (XdmcpNetaddr)clnt_sa,
-		    (int)sizeof (struct sockaddr_storage));
+		    (int)gdm_sockaddr_len(clnt_sa));
 
 	gdm_address_get_info (clnt_sa, &host, NULL);
 	g_debug ("XDMCP: Sending ACCEPT to %s with SessionID=%ld",
@@ -2107,7 +2107,7 @@
 	XdmcpFlush (manager->priv->socket_fd,
 		    &manager->priv->buf,
 		    (XdmcpNetaddr)clnt_sa,
-		    (int)sizeof (struct sockaddr_storage));
+		    (int)gdm_sockaddr_len(clnt_sa));
 }
 
 static void
@@ -2131,7 +2131,7 @@
 	XdmcpFlush (manager->priv->socket_fd,
 		    &manager->priv->buf,
 		    (XdmcpNetaddr)clnt_sa,
-		    (int)sizeof (struct sockaddr_storage));
+		    (int)gdm_sockaddr_len(clnt_sa));
 
 	/*
 	 * This was from a forwarded query quite apparently so
@@ -2384,7 +2384,7 @@
 	XdmcpFlush (manager->priv->socket_fd,
 		    &manager->priv->buf,
 		    (XdmcpNetaddr)clnt_sa,
-		    (int)sizeof (struct sockaddr_storage));
+		    (int)gdm_sockaddr_len(clnt_sa));
 }
 
 static void
--- gdm-2.20.1-orig/daemon/misc.c	2007-10-15 14:43:04.000000000 -0700
+++ gdm-2.20.1/daemon/misc.c	2007-11-07 05:43:51.117408000 -0800
@@ -899,7 +899,6 @@
 	static GList *the_list = NULL;
 	static time_t last_time = 0;
 	char hostbuf[BUFSIZ];
-	struct addrinfo hints;
 	struct addrinfo *result;
 	struct addrinfo *res;
 
@@ -920,13 +919,7 @@
 		snprintf (hostbuf, BUFSIZ-1, "localhost");
 	}
 
-	memset (&hints, 0, sizeof (hints));
-	hints.ai_family = AF_INET;
-#ifdef ENABLE_IPV6
-	hints.ai_family |= AF_INET6;
-#endif
-
-	if (getaddrinfo (hostbuf, NULL, &hints, &result) != 0) {
+	if (getaddrinfo (hostbuf, NULL, NULL, &result) != 0) {
 		gdm_debug ("%s: Could not get address from hostname!", "gdm_peek_local_address_list");
 
 		return NULL;


Index: gdm.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gdm/F-8/gdm.spec,v
retrieving revision 1.309
retrieving revision 1.310
diff -u -r1.309 -r1.310
--- gdm.spec	6 Nov 2007 22:55:35 -0000	1.309
+++ gdm.spec	15 Nov 2007 14:41:21 -0000	1.310
@@ -16,7 +16,7 @@
 Summary: The GNOME Display Manager
 Name: gdm
 Version: 2.20.1
-Release: 6%{?dist}
+Release: 7%{?dist}
 Epoch: 1
 License: GPLv2+
 Group: User Interface/X
@@ -64,8 +64,12 @@
 # http://bugzilla.redhat.com/show_bug.cgi?id=246399
 Patch43: gdm-2.20.1-keymouselistener-segfault.patch
 
+# hack around broken tcp wrappers support
+# FIXME need to file upstream and get fixed in 2.20
 patch44: gdm-2.18.4-tcp-wrappers.patch
 
+Patch45: gdm-2.20.1-fix-xdmcp.patch
+
 Patch100: gdm-2.20.1-change-defaults.patch
 Patch101: stupid-bullets.patch
 
@@ -156,6 +160,7 @@
 %patch42 -p1 -b .allow-escape
 %patch43 -p1 -b .keymouselistener-segfault
 %patch44 -p1 -b .tcp-wrappers
+%patch45 -p1 -b .fix-xdmcp
 
 %patch100 -p1 -b .change-defaults
 %patch101 -p1 -b .stupid-bullets
@@ -369,6 +374,9 @@
 %{_datadir}/pixmaps/faces/extras/*.jpg
 
 %changelog
+* Thu Nov 15 2007 Ray Strode <rstrode at redhat.com> - 1:2.20.1-7
+- Apply upstream patch to make xdmcp work better (bug 379511)
+
 * Tue Nov  6 2007 Ray Strode <rstrode at redhat.com> - 1:2.20.1-6
 - link tcp wrappers in (bug 363021), CVE-2007-5079
 




More information about the fedora-extras-commits mailing list