Re: ntpd IPv6 support on Windows?



We do have code for this. I won't use Microsoft's code though except the
standard API code. It's a matter of getting it back in. There is one
item that may yet cause me grief but that's a matter of figuring
everything out.

Danny
Dave Hart wrote:


On Tue, Jan 6, 2009 at 7:19 PM, Danny Mayer <mayer@xxxxxxxxxxx> wrote
to questions@xxxxxxxxxxxxx and me:

Not yet. It's on my list of things to complete in the near future. There
are two pieces that need to be changed and one of them may be tricky
though I seem to remember that Martin had put something together to help
with this since we need to support people without IPv6 support and don't
have getaddrinfo() and friends available. getaddinfo() is necessary for
IPv6 support. Now's the time to get that in.

It sounds like late-binding the required syscalls/APIs with LoadModule
and GetProcAddress is in order. One way to minimize the source
disturbance when late-binding is to provide your own wrapper
implementations for each function and use a macro to redirect ntp's
calls to the conditionally-available functions through the
corresponding runtime-binding wrappers. In this case Microsoft has
already done the legwork, including support for the Windows 2000 IPv6
download (which implements these in a different DLL than WinXP and
later). Quoting from their getaddrinfo documentation at
http://msdn.microsoft.com/en-us/library/ms738520(VS.85).aspx

---------------- begin quote
The getaddrinfo function was added to the Ws2_32.dll on Windows XP and
later. To execute an application that uses this function on earlier
versions of Windows (Windows 2000, Windows NT, and Windows Me/98/95),
then you need to include the Ws2tcpip.h and Wspiapi.h files. When the
Wspiapi.h include file is added, the getaddrinfo function is defined
to the WspiapiGetAddrInfo inline function in the Wspiapi.h file. At
runtime, the WspiapiGetAddrInfo function is implemented in such a way
that if the Ws2_32.dll or the Wship6.dll (the file containing
getaddrinfo in the IPv6 Technology Preview for Windows 2000) does not
include getaddrinfo, then a version of getaddrinfo is implemented
inline based on code in the Wspiapi.h header file. This inline code
will be used on older Windows platforms that do not natively support
the getaddrinfo function.
The IPv6 protocol is supported on Windows 2000 when the IPv6
Technology Preview for Windows 2000 is installed. Otherwise
getaddrinfo support on versions of Windows earlier than Windows XP is
limited to handling IPv4 name resolution.
---------------- end quote

That sounds pretty darned painless, I hope it is indeed that easy for
you. Now, ask me why I care about IPv6 when it'll apparently be years
before my IPv6 service isn't tunnelled over IPv4 using one lovely hack
or another guaranteed to add overhead and latency. I don't have a
good answer. I just want to break and enter into a few ipmasq and NAT
pioneers' homes and disable every telephone ringer.

Dave Hart

_______________________________________________
questions mailing list
questions@xxxxxxxxxxxxx
https://lists.ntp.org/mailman/listinfo/questions


.



Relevant Pages

  • RE: Incorrect IPv6 link local address assigned to adapter
    ... My understanding of your issue is that: ... and you found that the link-local IPv6 ... Per my knowledge, in most cases, Windows will configure a link-local ... Support Services via telephone so that a dedicated Support ...
    (microsoft.public.win32.programmer.networks)
  • Re: Doubt about Syncronization of GPS SPECTRACOM(2)
    ... transport support for IPv6 for Windows now)! ... We had to emulate getaddrinfo() for older platforms. ... Sounds like stuffing those checks into the emulation of getaddrinfo ...
    (comp.protocols.time.ntp)
  • Re: ntpd IPv6 support on Windows?
    ... with this since we need to support people without IPv6 support and don't ... including support for the Windows 2000 IPv6 ... Quoting from their getaddrinfo documentation at ...
    (comp.protocols.time.ntp)
  • Re: ntpd IPv6 support on Windows?
    ... it's just too difficult to deal with from a support point of view. ... Windows NT and Windows 2000 support problems for good. ... I won't support Windows 2000 and IPv6. ... Then no IPv6 interfaces are found, so no IPv6 interfaces are used. ...
    (comp.protocols.time.ntp)
  • Re: ipv6 Follies
    ... IPV6 support was made available in Windows XP SP1, however, it is NOT turned ... The original support was done via the IPV6.EXE command. ... My notebook came with Windows ...
    (comp.sys.hp.mpe)