diff options
author | Josselin Mouette <joss@debian.org> | 2010-12-17 20:43:36 +0100 |
---|---|---|
committer | Josselin Mouette <joss@debian.org> | 2010-12-17 20:43:36 +0100 |
commit | 13bf767bfbdeca3850874b1ef9fea9bb59ebc551 (patch) | |
tree | cad5854e8dde066a933263b2e9edd06eade4f355 /common | |
parent | 375920671b95591a6b01d7c88ca93520bc2ca65f (diff) | |
download | gdm-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.c | 12 |
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; |