lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 16 Mar 2009 13:13:00 -0400
From:	Vlad Yasevich <vladislav.yasevich@...com>
To:	Chuck Lever <chuck.lever@...cle.com>
CC:	netdev@...r.kernel.org
Subject: Re: IPv6 address printf format specifier

Chuck Lever wrote:
> The NFS and RPC code in the kernel now uses the new printf format
> specifier for IPv6 addresses.  In some cases, the generated address
> string is sent out of the kernel (for example, it is used to build a
> universal address for RPCB_SET requests, and used as the mon_name in
> some SM_MON upcalls to our rpc.statd).
> 
> The problem is that outside the kernel, applications generally use
> getnameinfo(3) or inet_ntop(3) to do this conversion.  The library
> follows the RFC suggestion of shortening these address strings by
> replacing the longest series of zeroes in the IPv6 address with "::".
> 
> Since the kernel doesn't do that, string comparisons don't work when
> comparing address strings that came from our kernel.  Since these
> address strings appear to other hosts (via the rpcbind registry) this
> is, or could become, an interoperability issue for Linux.
> 
> How should I fix this?
> 
> 1.  Copy glibc's code to the printf logic for %pI6

I think this is the optimum solution.  This normalizes kernel output
with that of user-space thus creating a uniform format.

My $0.02
-vlad
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ