Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:wolfi323:branches:openSUSE:13.2:Update
kdebase4-workspace
kdm-recognize-IPv6-loopback-addresses.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File kdm-recognize-IPv6-loopback-addresses.patch of Package kdebase4-workspace
--- kde-workspace-4.11.14/kdm/backend/auth.c.orig 2015-02-05 22:19:17.066768986 -0600 +++ kde-workspace-4.11.14/kdm/backend/auth.c 2015-02-07 14:24:36.089991571 -0600 @@ -1067,8 +1067,8 @@ #ifdef XDMCP /* - * Call convertAddr(), and if it returns an IPv4 localhost, convert it - * to a local display name. Meets the _XTransconvertAddress's localhost + * Call convertAddr(), and if it returns an IPv4 or IPv6 localhost, convert + * it to a local display name. Meets the _XTransconvertAddress's localhost * hack. */ @@ -1076,9 +1076,19 @@ convertAuthAddr(char *saddr, int *len, CARD8 **addr) { int ret = convertAddr(saddr, len, addr); - if (ret == FamilyInternet && - ((struct in_addr *)*addr)->s_addr == htonl(0x7F000001L)) - ret = FamilyLocal; + if (ret == FamilyInternet) { + const struct in_addr *in = (struct in_addr *)*addr; + if (in->s_addr == htonl(INADDR_LOOPBACK)) + ret = FamilyLocal; + } else if (ret == FamilyInternet6) { + const struct in6_addr *in6 = (struct in6_addr *)*addr; + if (IN6_IS_ADDR_V4MAPPED(in6)) { + const struct in_addr *in = (struct in_addr *)*addr; + if (in[3].s_addr == htonl(INADDR_LOOPBACK)) + ret = FamilyLocal; + } else if (IN6_IS_ADDR_LOOPBACK(in6)) + ret = FamilyLocal; + } return ret; }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor