Files
heimdal/lib/krb5
Rok Papež, ARNES 59b8f4ff84 ipv6 loopbacks fix for GNU libc getaddrinfo()
On any OS with a properly implemented getaddrinfo() this change is a
no-op. Passing NULL for the hint is supposed to be the same as an
addrinfo structure with all fields set to 0. There is no need to set
ai_family to AF_UNSPEC because that value is already 0.

GNU libc doesn't follow standard behaviour. Quoting from
http://man7.org/linux/man-pages/man3/getaddrinfo.3.html :

  "Specifying hints as NULL is equivalent to setting ai_socktype and
  ai_protocol to 0; ai_family to AF_UNSPEC; and ai_flags to
  (AI_V4MAPPED | AI_ADDRCONFIG). (POSIX specifies different defaults for
  ai_flags; see NOTES.)"

The NOTES section says:

  "According to POSIX.1-2001, specifying hints as NULL should cause
  ai_flags to be assumed as 0. The GNU C library instead assumes a value
  of (AI_V4MAPPED | AI_ADDRCONFIG) for this case, since this value is
  considered an improvement on the specification."

The patch makes sure that krb5_parse_address works consistently on both
GNU libc and systems that follow POSIX.1-2001 to the letter. Some
incorrect Fedora 17 patches managed to break IPv6 connectivity and were
later backed out (see discussion at https://bugzilla.redhat.com/808147).
This patch resolves the incompatibility.

Signed-off-by: Ken Dreyer <ktdreyer@ktdreyer.com>
2015-01-25 13:51:41 -07:00
..
2011-07-24 16:02:22 -07:00
2011-05-21 11:57:31 -07:00
2013-07-18 14:58:54 +02:00
2013-10-04 18:58:31 -04:00
2013-04-29 22:54:11 -07:00
2014-12-01 15:41:12 -08:00
2014-03-16 22:56:48 -05:00
2011-05-21 11:57:31 -07:00
2012-01-10 22:54:50 +01:00
2012-07-02 11:33:18 -04:00
2011-03-12 19:29:00 -08:00
2014-06-09 23:36:23 +02:00
2011-07-24 16:02:22 -07:00
2014-04-25 02:42:17 +02:00
2011-05-21 11:57:31 -07:00
2014-04-25 02:42:17 +02:00
2011-05-21 11:57:31 -07:00
2013-10-15 11:52:37 +02:00
2011-05-21 11:57:31 -07:00
2011-05-21 11:57:31 -07:00
2014-04-25 02:42:17 +02:00
2007-07-15 20:49:46 +00:00
2009-05-04 06:17:40 +00:00
2014-04-25 02:42:17 +02:00
2014-03-24 23:07:49 -05:00
2011-05-21 11:57:31 -07:00
2013-09-12 13:32:22 -05:00
2014-02-04 23:20:11 -05:00
2014-08-22 20:57:24 -07:00
2011-04-29 20:25:05 -07:00
2012-05-28 13:14:55 +01:00
2011-05-21 11:57:31 -07:00
2011-05-21 11:57:31 -07:00
2010-09-18 14:45:33 -07:00
2011-05-21 11:57:31 -07:00
2013-09-12 12:14:40 -05:00
2011-05-21 11:57:31 -07:00
2009-05-04 06:17:40 +00:00
2009-05-04 06:17:40 +00:00
2014-04-29 11:04:21 -06:00
2009-05-04 06:17:40 +00:00
2011-05-21 11:57:31 -07:00
2009-05-04 06:17:40 +00:00
2011-05-21 11:57:31 -07:00
2011-12-08 13:34:02 -06:00
2009-05-04 06:17:40 +00:00
2011-05-21 11:57:31 -07:00
2009-05-04 06:17:40 +00:00
2011-12-03 13:02:28 -08:00
2013-03-05 21:47:20 -06:00
2009-05-04 06:17:40 +00:00
2010-05-30 13:37:07 -07:00
2009-05-04 06:17:40 +00:00
2010-11-03 11:12:24 +00:00
2009-05-04 06:17:40 +00:00
2011-05-21 11:57:31 -07:00
2013-07-16 14:57:03 +02:00