summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorJosselin Mouette <joss@debian.org>2010-12-17 20:43:36 +0100
committerJosselin Mouette <joss@debian.org>2010-12-17 20:43:36 +0100
commit13bf767bfbdeca3850874b1ef9fea9bb59ebc551 (patch)
treecad5854e8dde066a933263b2e9edd06eade4f355 /common
parent375920671b95591a6b01d7c88ca93520bc2ca65f (diff)
downloadgdm-13bf767bfbdeca3850874b1ef9fea9bb59ebc551.tar.gz
Strip ::ffff: in front of IPv4 addresses
This fixes XDMCP using IPv4 on IPv6-enabled networks.
Diffstat (limited to 'common')
-rw-r--r--common/gdm-address.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/common/gdm-address.c b/common/gdm-address.c
index 0ed5e8d8..edc6d3c1 100644
--- a/common/gdm-address.c
+++ b/common/gdm-address.c
@@ -324,10 +324,18 @@ gdm_address_get_numeric_info (GdmAddress *address,
}
if (servp != NULL) {
- *servp = g_strdup (serv);
+ if (g_str_has_prefix (serv, "::ffff:")) {
+ *servp = g_strdup (serv + 7);
+ } else {
+ *servp = g_strdup (serv);
+ }
}
if (hostp != NULL) {
- *hostp = g_strdup (host);
+ if (g_str_has_prefix (host, "::ffff:")) {
+ *hostp = g_strdup (host + 7);
+ } else {
+ *hostp = g_strdup (host);
+ }
}
return ret;