diff options
-rw-r--r-- | common/gdm-address.c | 12 | ||||
-rw-r--r-- | daemon/gdm-xdmcp-display-factory.c | 2 | ||||
-rw-r--r-- | gui/simple-chooser/gdm-host-chooser-widget.c | 2 |
3 files changed, 12 insertions, 4 deletions
diff --git a/common/gdm-address.c b/common/gdm-address.c index dc9e8b3c..a39724fd 100644 --- a/common/gdm-address.c +++ b/common/gdm-address.c @@ -330,10 +330,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; diff --git a/daemon/gdm-xdmcp-display-factory.c b/daemon/gdm-xdmcp-display-factory.c index 06fafae6..f62fdfbb 100644 --- a/daemon/gdm-xdmcp-display-factory.c +++ b/daemon/gdm-xdmcp-display-factory.c @@ -2889,7 +2889,7 @@ decode_packet (GIOChannel *source, return TRUE; } - ss_len = (int)gdm_sockaddr_len (&clnt_ss); + ss_len = (int) sizeof (clnt_ss); res = XdmcpFill (factory->priv->socket_fd, &factory->priv->buf, (XdmcpNetaddr)&clnt_ss, &ss_len); if G_UNLIKELY (! res) { diff --git a/gui/simple-chooser/gdm-host-chooser-widget.c b/gui/simple-chooser/gdm-host-chooser-widget.c index 352c1e27..3e8a2e26 100644 --- a/gui/simple-chooser/gdm-host-chooser-widget.c +++ b/gui/simple-chooser/gdm-host-chooser-widget.c @@ -208,7 +208,7 @@ decode_packet (GIOChannel *source, return TRUE; } - ss_len = (int)gdm_sockaddr_len (&clnt_ss); + ss_len = (int) sizeof (clnt_ss); res = XdmcpFill (widget->priv->socket_fd, &buf, (XdmcpNetaddr)&clnt_ss, &ss_len); if G_UNLIKELY (! res) { |