aboutsummaryrefslogtreecommitdiffstats
path: root/x11/gdm
diff options
context:
space:
mode:
authorvs <vs@FreeBSD.org>2008-07-26 09:20:04 +0800
committervs <vs@FreeBSD.org>2008-07-26 09:20:04 +0800
commitc6fb09e90c1c86b8db45dc485dda5778ee76ae51 (patch)
tree013d7229d4d74a90643dffd081c7aea82208c4b5 /x11/gdm
parent3bf2340583377b76bbcc091cc0c1a671562acf2a (diff)
downloadfreebsd-ports-gnome-c6fb09e90c1c86b8db45dc485dda5778ee76ae51.tar.gz
freebsd-ports-gnome-c6fb09e90c1c86b8db45dc485dda5778ee76ae51.tar.zst
freebsd-ports-gnome-c6fb09e90c1c86b8db45dc485dda5778ee76ae51.zip
gdmchooser/XDMCP:
- fix harmless warning getting logged as CRITICAL when enumerating interfaces http://bugzilla.gnome.org/show_bug.cgi?id=544790 - unbreak XDMCP discovery on the IPv6-mapped IPv4 broadcast address by unsetting IPV6_V6ONLY socket option (obtained from NetBSD pkgsrc) http://bugzilla.gnome.org/show_bug.cgi?id=544730 Approved by: marcus@
Diffstat (limited to 'x11/gdm')
-rw-r--r--x11/gdm/Makefile3
-rw-r--r--x11/gdm/files/patch-gui_gdmchooser.c27
2 files changed, 29 insertions, 1 deletions
diff --git a/x11/gdm/Makefile b/x11/gdm/Makefile
index ffc63e19d4ff..70edda19b697 100644
--- a/x11/gdm/Makefile
+++ b/x11/gdm/Makefile
@@ -8,6 +8,7 @@
PORTNAME= gdm
PORTVERSION= 2.20.7
+PORTREVISION= 1
CATEGORIES= x11 gnome
MASTER_SITES= GNOME
DIST_SUBDIR= gnome2
@@ -45,7 +46,7 @@ GNOME_LOCALSTATEDIR= /var
MAN1= gdm.1
-OPTIONS= IPV6 "Enable IPv6 support" on \
+OPTIONS= IPV6 "Enable IPv6 support" off \
LOG_LIMIT "Limit ~/.xsession-errors size" on
.include <bsd.port.pre.mk>
diff --git a/x11/gdm/files/patch-gui_gdmchooser.c b/x11/gdm/files/patch-gui_gdmchooser.c
new file mode 100644
index 000000000000..acf5c7418414
--- /dev/null
+++ b/x11/gdm/files/patch-gui_gdmchooser.c
@@ -0,0 +1,27 @@
+
+$FreeBSD$
+
+--- gui/gdmchooser.c.orig
++++ gui/gdmchooser.c
+@@ -727,7 +727,7 @@
+ /* paranoia */
+ ifreq.ifr_name[sizeof (ifreq.ifr_name) - 1] = '\0';
+
+- if (ioctl (sock, SIOCGIFFLAGS, &ifreq) < 0)
++ if ((ioctl (sock, SIOCGIFFLAGS, &ifreq) < 0) && (errno != ENXIO))
+ gdm_common_error ("Could not get SIOCGIFFLAGS for %s", ifr[i].ifr_name);
+
+ if ((ifreq.ifr_flags & IFF_UP) == 0 ||
+@@ -1123,6 +1123,12 @@
+ have_ipv6 = FALSE;
+ else
+ have_ipv6 = TRUE;
++ /* Net- & FreeBSD default to V6ONLY */
++ {
++ int no = 0;
++ setsockopt(sockfd, IPPROTO_IPV6, IPV6_V6ONLY, &no, sizeof(no));
++ }
++
+ #endif
+ if ( ! have_ipv6) {
+ if ((sockfd = socket (AF_INET, SOCK_DGRAM, 0)) == -1) {